Basic for loop and Function

조회 수: 2 (최근 30일)
Andrew Czeizler
Andrew Czeizler 2019년 2월 12일
편집: Andrew Czeizler 2019년 2월 15일
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
Bob Thompson
Bob Thompson 2019년 2월 12일
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 2019년 2월 13일
편집: Stephen23 2019년 2월 13일
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

댓글을 달려면 로그인하십시오.

채택된 답변

Andrew Czeizler
Andrew Czeizler 2019년 2월 15일
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
Andrew Czeizler
Andrew Czeizler 2019년 2월 15일
편집: Andrew Czeizler 2019년 2월 15일
Thank you!
Worked like a charm.
Best,
Andrew

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Andrew Czeizler
Andrew Czeizler 2019년 2월 13일
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
Bob Thompson
Bob Thompson 2019년 2월 13일
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 2019년 2월 15일
how do i accept your answer?
Best,
Andrew

댓글을 달려면 로그인하십시오.

Community Treasure Hunt

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

Start Hunting!

Translated by