Skip to content

Commit 75d6944

Browse files
Improved tr...catch clause when 'yfinance.py' module is missing.
1 parent 2021049 commit 75d6944

1 file changed

Lines changed: 22 additions & 27 deletions

File tree

toolbox/utilities/getTickers.m

Lines changed: 22 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
% series, and finally to the extraction of their fundamental financial
1010
% information.
1111
% For background on financial data and market analysis, see:
12-
% Yahoo Finance API documentation https://finance.yahoo.com/
12+
% Yahoo Finance API documentation https://finance.yahoo.com/
1313
%
1414
% Required input arguments:
1515
%
@@ -284,7 +284,7 @@
284284
end
285285

286286
% Rank constituents
287-
U.MarketCap = localGetMarketCaps(U.ticker, msg);
287+
U.MarketCap = localGetMarketCaps(U.ticker);
288288

289289
[~,ord] = sort(U.MarketCap, 'descend', 'MissingPlacement','last');
290290
U = U(ord,:);
@@ -1119,39 +1119,34 @@
11191119

11201120
end
11211121
% -------------------------------------------------------------------------
1122-
function mc = localGetMarketCaps(symbols, msg)
1122+
function mc = localGetMarketCaps(symbols)
11231123

11241124
n = numel(symbols);
11251125
mc = nan(n,1);
11261126

1127-
try
1128-
F = getFundamentals(symbols,'Fields',{'TickerSymbol','marketCap'});
1129-
if ismember('TickerSymbol', F.Properties.VariableNames) && ...
1130-
ismember('marketCap', F.Properties.VariableNames)
1131-
1132-
fsym = string(F.TickerSymbol);
1133-
fmc = F.marketCap;
1134-
1135-
for i = 1:n
1136-
idx = find(fsym == string(symbols(i)),1,'first');
1137-
if ~isempty(idx)
1138-
if isnumeric(fmc)
1139-
mc(i) = fmc(idx);
1140-
elseif iscell(fmc)
1141-
if isempty(fmc{idx})
1142-
mc(i) = NaN;
1143-
elseif isnumeric(fmc{idx}) || islogical(fmc{idx})
1144-
mc(i) = double(fmc{idx});
1145-
end
1127+
1128+
F = getFundamentals(symbols,'Fields',{'TickerSymbol','marketCap'});
1129+
if ismember('TickerSymbol', F.Properties.VariableNames) && ...
1130+
ismember('marketCap', F.Properties.VariableNames)
1131+
1132+
fsym = string(F.TickerSymbol);
1133+
fmc = F.marketCap;
1134+
1135+
for i = 1:n
1136+
idx = find(fsym == string(symbols(i)),1,'first');
1137+
if ~isempty(idx)
1138+
if isnumeric(fmc)
1139+
mc(i) = fmc(idx);
1140+
elseif iscell(fmc)
1141+
if isempty(fmc{idx})
1142+
mc(i) = NaN;
1143+
elseif isnumeric(fmc{idx}) || islogical(fmc{idx})
1144+
mc(i) = double(fmc{idx});
11461145
end
11471146
end
11481147
end
1149-
return
1150-
end
1151-
catch
1152-
if msg
1153-
fprintf('getFundamentals unavailable or failed. Falling back to individual retrieval.\n');
11541148
end
1149+
return
11551150
end
11561151

11571152
for i = 1:n

0 commit comments

Comments
 (0)