vn.py量化社区
By Traders, For Traders.
Member
加入于:
帖子: 77
声望: 17

本文主要说说VNPY的价差模块的简单使用,至于自开发算法什么暂不涉及。

VNPY提供价差交易模块,其实还是挺好用的, 好像帮忙文档不多,这里先说说使用,有空再说说代码。
进入之后的界面如下图:
description

使用思路:

    • 定义价差组合:定义一组价差组合,可以是一个主动腿,一个或者多个被动腿
      |- -指定针对价差组合算法,系统默认是Sniper交易算法,VNPY提供算法模板,可以自己新增
      |-- 针对Sniper算法,选择模式,和填入参数。这个在后面细说。

价差组合定义文件在VnTrader/ST_setting.json

实例代码如下:

[
    {
        "name": "rb.1910-2001",
        "activeLeg": 
            {
                "vtSymbol": "rb1910",
                "ratio": 1,
                "multiplier": 1.0,
                "payup": 2
            },
        "passiveLegs": [
            {
                "vtSymbol": "rb2001",
                "ratio": -1,
                "multiplier": -1.0,
                "payup": 2
            }
        ]
    }
]

其中name是定义名称
activeLeg定义主动腿,passiveLegs填入被动腿,其中被动腿是队列,可以填入多个。
-- vtSymbol:指定期货品种
-- ratio:这个有点绕,是针对量Volume的比例,如果是1,就是rb1910直接的买卖量,如果是2的话,就是原理买卖量处于2的取整。
如上图所示,价差的买量和卖量其实是两个腿的期货可交易报单量取较小值。比如rb1910买量是3.0,rb2001是2.0,而且ratio都是1;那么价差就是较小值2.0。
同样,买入和计算持仓的时候,也会如此。
-- Multipier:这个是针对价格price的比例,就很好理解了。
-- payup: 这个是发单报价,是直接按照触发价格,还是加上一点,比如触发多单价格是3400,payup是2,那么报单价格是3402。

Sniper算法的参数:

首先看看下图,是6月20一日的价差走势,基本在价差上下限在258 / 245, 那么思路就是差值在245时候,应该反身扩大回去,到249这样位置,258时候反身回到253。
description
那么在sinper参数可以这样定义:

-- 模式:双向,多空都做
-- Buy price/ Sell price:这里填入都是差值,245看多,249平仓
-- Short price/ cover price: 258 差值看空,253空仓。

代码分析后面再写吧。。。

Member
avatar
加入于:
帖子: 163
声望: 18

好贴

Member
avatar
加入于:
帖子: 9
声望: 0

这是vnpy1.9版本中的价差模块吗?

Member
加入于:
帖子: 77
声望: 17

frankie wrote:

这是vnpy1.9版本中的价差模块吗?

shi

© 2015-2019 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号-3