如何将雅虎历史股票数据下载到xls。 通过matlab格式?

我有一个名为蒂克斯(matrix1列500行)xahoo表与雅虎tickers。 我希望matlab能够将每个股票报价器的最近5年的历史数据下载到一个单独的xls电子表格中,并将其保存在具有sheet = ticker标题的给定目录中。 所以这意味着我想要一个代码,将创build并保存在500个单独的spreadhseets价值500代价值数据:)任何人都可以帮助或指导?

如果您拥有Datafeed工具箱 ,则可以使用它从Yahoo下载历史财务数据。

以下是一个仅使用三个代号的示例,但可以轻松更改为从文件中读取值并应用于您拥有的所有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] ...