1

Tickers (マトリックス 1 列 500 行) と呼ばれる xls シートに yahoo ティッカーが含まれています。私は、MATLAB が各株式ティッカーの過去 5 年間の履歴データを個別の xls スプレッドシートにダウンロードし、シート = ティッカーのタイトルで特定のディレクトリに保存したいと考えています。つまり、500 個のティッカーに相当するデータを 500 個の個別のスプレッドシートに作成して保存するコードが必要です :) 誰でも助けたり指示したりできますか?

4

1 に答える 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 に答える