购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

5.3 扩展阅读

免费获取股票数据的方法除上文介绍的使用MATLAB的Datafeed工具箱中的fetch函数外,还可以通过网页抓取的方式从雅虎网站获取股票历史数据和从新浪网站获取股票实时数据。使用MATLAB通过网络爬虫的方式直接从网络上获取数据的大体过程为分析网址的URL形式,使用MATLAB中的urlread函数获取网址内容,使用正则方法提取需要的数据。

5.3.1 MATLAB通过网页抓取从雅虎网站获取股票历史数据

通过雅虎财经网站获取股票的历史数据,首先需要分析其URL形式。结合MATLAB字符串表达式,雅虎财经网址的URL形式为:

img

其中,StockName表示雅虎网站格式的股票代码,代码格式为上交所股票代码后添加 .ss,深交所股票代码后添加 .sz;ys、ms、ds表示起始日期年、月、日(月份的起始索引为0);ye、me、de表示结束日期年、月、日(月份的起始索引为0);Freq表示时间周期,可选参数为d=每日、w=每周、m=每月、v=只返回除权数据。

有了雅虎财经网址的URL形式后,就可以编写函数实现从雅虎网站获取股票历史数据了。下面的YahooData.m函数可以实现该功能,函数代码如下:

img
img
img

测试上述函数获取某只股票的历史数据并进行K线展示,代码如下:

img

运行结果如图5-17所示。

img

图5-17 从雅虎网站获取股票数据样例

注: 雅虎财经虽然是不错的免费数据源,但其数据质量不是特别好,使用时需要注意。

5.3.2 MATLAB通过网页抓取从新浪网站获取股票实时数据

通过新浪网站获取股票的实时数据,首先需要分析其URL形式。结合MATLAB字符串表达式,新浪网址的URL形式为:

img

其中,StockCode表示新浪网站格式的股票代码,代码格式为上交所股票代码前添加sh,深交所股票代码前添加sz。

有了新浪网址的URL形式,就可以编写函数实现从新浪网站获取股票实时数据了。下面的SinaData.m函数可以实现该功能,函数代码如下:

img
img
img
img

测试上述函数获取某只股票的实时数据,代码如下:

img

运行结果如下:

img
img

注: 上面是历史上某个时间的运行结果,由于获取的是股票的实时数据,不同的时间运行结果会有所不同。通过上述方法可以获取股票的实时数据,再结合MATLAB中的timer函数就可以获取某只股票当天的实时行情,这里不展开介绍。 Z1SnRSaMof+XwnceTZABzH4qs6Sx6VV5xycIByR3i3Tyzm80k+ol4phHYhJ/s4HB

点击中间区域
呼出菜单
上一章
目录
下一章
×