用MATLAB從網頁中抓取金融數據
MATLAB不僅能用於數學計算,同時也能用於文本解析。

下面是用MATLAB從雅虎財經檢索股票歷史價格信息的例子:
clear;%刪除之前定義的變量
symbol='IBM';%股票代碼
%檢索網頁
historical PriceFile= ...
urlread(['http://finance.yahoo.com/q/hp? s=',symbol]);
%將日期存入單元格數組
dateField=…。
regexp(historicalPriceFile,…
'<td class= "yfnc_tabledatal”nowrap align="right">…
([\d\w-]+)</td>','tokens');
%將教值存入單元格數組
numField=regexp(historicalPriceFile,…
'<td class=”yfnc tabledatal”align=”right">…
([\d\.,]+)</td>’,'tokens');
%轉換爲字符串單元格數組
dates= [dateField {:}]’;
numField= [numField{:}]’;
%轉換爲雙精度浮點單元格數組
op=str2double (numField (1: 6: end));%開盤價
hi=str2double (numField (2: 6: end));%最高價
lo=str2double (numField (3: 6: end));%最低價
cl=str2double (numField (4: 6: end));%收盤價
vol=str2double (numField (5: 6: end));%成交量
adjCl=str2double (numField (6: 6 : end));%調整收盤價
這個程序文件可以從epchan. com/book/ example3_1.m下載,用戶名和密碼都是“sharperatio"。這個網頁抓取程序有一個侷限:每次只能抓取一個網頁上的信息。由於雅虎財經上的歷史數據顯示在好多頁上,所以使用MATLAB檢索IBM全部歷史價格數據並不十分有用。當然,這個程序只是MATLAB文本解析功能的簡單展示。