量化研究体系:以7大模块为核心
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2 期货成交持仓排名数据下载脚本

1.1节中的代码是调用WSD类型的数据的案例,在万得量化接口中还有一种数据集类型的数据是通过WSET函数来下载的。我们以下载期货的成交持仓排名数据为案例来讲解。整个程序的逻辑是:首先从数据库查询最后更新日期,在万得量化接口获取未下载数据的日期列表,然后遍历三大商品期货交易所的板块、调用WSET函数获取商品期货合约列表,并遍历下载每个商品期货品种的成交持仓排名数据,之后整理数据的结构,最后上传到数据库。对于金融期货模块也是一样的,只是只下载中金所金融期货板块而已。具体代码如下。

首先需要做更新数据之前的准备工作,包括清空上一程序遗留在workspace的变量、启动量化接口、发送提示邮件等。

接下来开始具体的数据下载,包括下载日期、期货合约代码的获取、合约列表的初始化、参数的设定、合约代码的处理、品种名称的处理。

在以上两步准备工作完成之后,下面正式开始数据的下载和保存。

在下载完数据后,将所获得的数据上传到数据库。在上传之前,同样需要做一些准备工作,包括获得品种名称、初始化上传变量、清洗数据等。

下面进行数据的上传,首先将数据库中的日期序列和交易所的日期序列做差集,获得未更新的日期序列,可以通过下面的代码实现。

在获取未更新的日期序列后,接下来通过遍历对应日期,对未更新的日期进行数据更新,并保存数据。

数据上传完毕后,可以再进行一些收尾的工作,比如发送数据更新完毕的通知,最后不要忘记关闭万得量化接口。