首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何利用vn.py记录指数行情?

如何利用vn.py记录指数行情?

作者头像
用Python的交易员
发布2018-07-26 11:57:59
8470
发布2018-07-26 11:57:59
举报

本文主要介绍了一个‘如何利用vn.py记录指数行情?’的思路。感谢‘图扬量化’在「维恩的派」论坛内的分享!(下为原贴)

由于众所周知的原因,一些中长线的期货交易策略不适合用某个月份的合约数据来计算,用主力连续也不恰当,那么这个时候一般都会考虑使用品种的指数来进行建模分析。而在实盘交易中,自然就也需要依照指数来进行多空决策。

交易所只会通过行情服务器向用户推送订阅合约的tick数据,所以品种指数的计算需要软件开发者自己完成。而品种指数的计算并没有一个绝对统一的标准,一般来讲,大多数的软件商(如文化、通达信等),都是使用某品种当前全部有效合约最新价的持仓量加权来计算,而少数软件商(如交易开拓者),其加权项除持仓量外,还加入了成交量的权重,如持仓量权重90%,成交量10%。

设计思路

搞清楚了指数计算的原理,开发这部分功能就非常简单了。设计思路如下: 1. 在软件启动时订阅品种的全部有效合约;具体实现中可以首先将交易服务器推送的当前所有有效合约信息全部保存于一个字典当中,然后通过品种名称遍历字典取到该品种对应的全部合约信息并将其分类存储。 2. 在dataEngine处理tick数据的方法中,根据收到的某合约的最新tick,实时计算对应品种的最新指数,进而可将其推送至策略引擎进行多空决策,此外,若需向用户展示指数,同时将其推送至GUI就可以了。

特别提醒

下面是几个比较重要的问题: 1. 维护合约信息时需要清除已到期交割合约; 2. 由于每个品种的最小跳价是不一样的,我们需要根据这个最小跳价(priceTick)来做舍入操作才能得到最终正确的指数。具体的做法如,将计算出来的指数先除以该品种的priceTick,舍入,再乘回这个priceTick。

效果展示

(可进入论坛查看更清晰的效果图。)

基于python的开源交易平台开发框架。截止目前,vn.py项目在Github上的Star已经达到5563,量化交易类开源项目第1,量化类项目第3(1、2依旧分别是Zipline和TuShare)。

项目官网:http://www.vnpy.org

论坛地址:www.vnpie.com

知乎专栏:https://zhuanlan.zhihu.com/vn-py

Developed by Traders,

for Traders

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-06-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 维恩的派VNPIE 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
流计算 Oceanus
流计算 Oceanus 是大数据产品生态体系的实时化分析利器,是基于 Apache Flink 构建的企业级实时大数据分析平台,具备一站开发、无缝连接、亚秒延时、低廉成本、安全稳定等特点。流计算 Oceanus 以实现企业数据价值最大化为目标,加速企业实时化数字化的建设进程。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档