Matlab在讀取雅虎資料時經常出現不穩定的現象,是以,為了能夠将更多精力集中到資料處理上不再每次花費漫長時間在等待連接配接上,可以将讀取資料的代碼單獨放置在一個m中,比如:
clear;
c=yahoo;
D=fetch(c,'600177.ss','05/18/09','06/18/09'); %雅戈爾
format long g %不以預設的科學計數法顯示資料
D %輸出資料
save testD D %儲存資料
上述程式處理後,編号為“600177.ss”深市的股票“雅戈爾”的相關資料被儲存在目前目錄下“testD”中D變量内,以後在需要的時候可以随時讀取。
fetch函數的含義為:
fetch Request data from Yahoo!.
D = fetch(C,S) returns data for all fields from the Yahoo's web site for
given securities, S, given the connection handle, C.
D = fetch(C,S,F) returns the data for the specified fields, F.
D = fetch(C,S,D1) returns all data fields for the given security for
the date D1. If D1 is today's date, the data from yesterday will
be returned.
D = fetch(C,S,F,D1) returns the data for the specified fields, F, for the
date D1.
D = fetch(C,S,D1,D2) returns the data for the given security
for the date range D1 to D2.
D = fetch(C,S,F,D1,D2) returns the data for the specified fields, F,
for the date range D1 to D2.
D = fetch(C,S,D1,D2,P) returns the data for the given security
for the date range D1 to D2 with a period of P. P can be
entered as:
'd' for daily values.
'w' for weekly values.
'm' for monthly values.
'v' for dividends.
可以看到,fetch支援多種參數設定形式,可以根據自己的需要進行設定。
下面看看如何讀取資料D,
clc;
load testD.mat %導入
format long g %顯示形式
datestr(D(:,1)) %日期顯示格式為可識别方式。
上述程式能夠輸出資料D的第一列,結果為:
ans =
18-Jun-2009
17-Jun-2009
16-Jun-2009
15-Jun-2009
12-Jun-2009
11-Jun-2009
10-Jun-2009
09-Jun-2009
08-Jun-2009
05-Jun-2009
04-Jun-2009
03-Jun-2009
02-Jun-2009
01-Jun-2009
29-May-2009
28-May-2009
27-May-2009
26-May-2009
25-May-2009
22-May-2009
21-May-2009
20-May-2009
19-May-2009
18-May-2009
其中,
datestr(D(:,1)) %日期顯示格式為可識别方式。
語句用來将第一列的資料進行格式轉換後輸出,否則輸出結果為:
ans =
733942
733941
733940
733939
733936
733935
733934
733933
733932
733929
733928
733927
733926
733925
733922
733921
733920
733919
733918
733915
733914
733913
733912
733911
當然,需要更多的開盤資料、收盤價、交易量等,可以通過