Tickers (マトリックス 1 列 500 行) と呼ばれる xls シートに yahoo ティッカーが含まれています。私は、MATLAB が各株式ティッカーの過去 5 年間の履歴データを個別の xls スプレッドシートにダウンロードし、シート = ティッカーのタイトルで特定のディレクトリに保存したいと考えています。つまり、500 個のティッカーに相当するデータを 500 個の個別のスプレッドシートに作成して保存するコードが必要です :) 誰でも助けたり指示したりできますか?
2578 次
1 に答える
0
Datafeed Toolboxをお持ちの場合は、これを使用して Yahoo から過去の財務データをダウンロードできます。
以下は 3 つのティッカーのみを使用した例ですが、ファイルから値を読み取るように簡単に変更でき、500 個のティッカーすべてに適用できます。
endDate = date; %# today
startDate = datestr(addtodate(datenum(endDate),-1,'year')); %# last year
tickers = {'GOOG' 'IBM' 'AAPL'};
headers = {'Date' 'Open' 'High' 'Low' 'Close' 'Volume' 'Adj Close'};
y = yahoo;
for i=1:numel(tickers)
%# fetch daily data
data = fetch(y, tickers{i}, startDate, endDate, 'd');
%# format dates, and add header row
A = [headers; cellstr(datestr(data(:,1))) num2cell(data(:,2:end))];
%# write to XLS file
xlswrite([tickers{i} '.xls'], A);
end
close(y);
取得するデータの例:
>> A
A =
'Date' 'Open' 'High' 'Low' 'Close' 'Volume' 'Adj Close'
'21-Nov-2011' [ 370.4] [371.68] [365.91] [369.01] [15999300] [ 369.01]
'18-Nov-2011' [378.92] [379.99] [374.88] [374.94] [13283500] [ 374.94]
'17-Nov-2011' [383.98] [384.58] [ 375.5] [377.41] [17139300] [ 377.41]
'16-Nov-2011' [389.25] [391.14] [384.32] [384.77] [12449900] [ 384.77]
'15-Nov-2011' [ 380.8] [ 389.5] [379.45] [388.83] [15386100] [ 388.83]
...
于 2011-11-22T18:19:44.913 に答える