Basic for loop and Function

2 Ansichten (letzte 30 Tage)
Andrew Czeizler
Andrew Czeizler am 12 Feb. 2019
Bearbeitet: Andrew Czeizler am 15 Feb. 2019
Hi All,
I am trying to do a basic for loop over stock tickers to download data.
The data should be kept in seperate tables in the workspace.
my attempt -
tickers = {'SPY', 'AAPL'};
for i = length(tickers);
T(i)=F_Alphavantage('time_series_daily_adjusted', 'symbol', tickers{i}, 'outputsize', 'full')
end
  3 Kommentare
Bob Thompson
Bob Thompson am 12 Feb. 2019
Is F_AlphaVantage a script that you wrote, something you found elsewhere, or a built-in MATLAB function? I'm not familiar with it.
Based on the error message, it seems that the error is with the warning function. I would suggest looking up the documentation for that to troubleshoot why it's rejecting the input. There may be a small error with parenthesis, or quotes.
Andrew Czeizler
Andrew Czeizler am 13 Feb. 2019
Bearbeitet: Stephen23 am 13 Feb. 2019
F_Alphavantage is a function that downloads data from an api.
i want to loop over a set of tickers and download the data to workspace.
>> tickers = {'SPY', 'AAPL'};
for i = tickers;
T(i)=F_Alphavantage('time_series_daily_adjusted', 'symbol', tickers, 'outputsize', 'full')
end
Error using warning
The message must be specified as either a character vector, string scalar, or a message structure.
Error in F_Alphavantage (line 90)
warning(['!!!!! Attempt ', num2str(Tries), ' unsuccessful for ', Query]);
I get the above error.
I'm not sure how to run the function and download the array to the workspace.
The function on its own works fine.
Its only when i try and put it in a
for loop that it does not produce the desired output.
when im at home, il put some more information .
many thanks,
best
Andrew

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Andrew Czeizler
Andrew Czeizler am 15 Feb. 2019
Thank you!
worked like a charm.
symbols = {'^GSPC', 'DAX', '^N225', 'GLD', 'QQQ'};
for k = 1:length(symbols)
data{k} = table2timetable(F_Alphavantage('time_series_daily_adjusted', 'symbol', ...
symbols{k}, 'outputsize', 'full'));
end
disp(head(data{1}))
  1 Kommentar
Andrew Czeizler
Andrew Czeizler am 15 Feb. 2019
Bearbeitet: Andrew Czeizler am 15 Feb. 2019
Thank you!
Worked like a charm.
Best,
Andrew

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Andrew Czeizler
Andrew Czeizler am 13 Feb. 2019
The below command -
Outputs the correct table. All i want to do is use a for loop, to loop over symbols.
I am running into difficulties when i try to wrap it in a for loop.
The alphavantage function is located here -
https://au.mathworks.com/matlabcentral/fileexchange/64803-fetch-financial-price-series-from-alphavantage
SPY_Daily_Close_Adj = F_Alphavantage('time_series_daily_adjusted', 'symbol', 'AMZN', 'outputsize', 'full');
  2 Kommentare
Bob Thompson
Bob Thompson am 13 Feb. 2019
My best suggestion is to include cell indexing on your output.
SPY_Daily_Close_Adj{index} = ...
If you are doing that already then please elaborate more on what difficulties you're having.
Andrew Czeizler
Andrew Czeizler am 15 Feb. 2019
how do i accept your answer?
Best,
Andrew

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by