万事俱备只缺数据?看看如何在策略中引用外部数据源

​虽然真格量化提供了大量的行情数据,但金融市场如此广大,总会有一些标的的行情或经济数据我们尚未提供。与其坐等数据“从天而降”或自己手工上传,用户可以灵活运用各种数据API来快速获取这些外部数据。

诸葛亮数据

比如我们想做原油的内外盘套利,需要监控原油的内外盘价差,比如上海国际能源交易中心INE原油和CME WTI原油的价差。我们知道有一些可以通过网页调用的免费的外盘行情源,可以提供WTI原油价格和人民币美元汇率。

我们在OnStart部分可以先定义外部行情源网址:

定义外部行情源

比如,我们的外部行情格式是这样的:

外部行情源格式

我们可以通过urllib2.urlopen来读取网页信息,并用re.split来拆分字符串,从中读取我们需要的数据,比如最新价格:

读取行情源

对于这个行情源字符串,我们只需要根据引号和逗号就可将其拆分为数组:

拆分字符串

从数组中取得数据后,我们就可以计算其价差,并进行价差提醒或驱动交易。

计算价差

从外盘标的价格到宏观经济数据、天气信息、舆情数据,现在有越来越多的数据API可供我们使用,用户可以自己探索,我们以后也会分享一些我们最喜爱的免费数据API。

各种api

当然在调用外部数据API时还应注意:

1,该行情源是否是实时数据,如果该外部数据源存在延时,那需要自己处理延时的状况,或寻找其他实时的行情源。

2,该外部API支持多高频率的查询请求。对于有查询限流的API过于频繁的查询(比如在实盘中进行tick级别交易或回测中频繁查询),可能导致该外部API停止响应。

当您关注一些交易机会,但我们恰好没提供其中某些部分的数据时,不妨试试这个方法来“呼叫外援”。

请求外援

猜你喜欢

转载自blog.51cto.com/14258357/2380529