创建价差合约

查询合约

在创建价差合约前,用户可以通过【查询合约】功能,寻找可以组成价差的合约:

  • 在VN Trader菜单栏中点击【帮助】-> 【查询合约】按钮,弹出合约查询界面,如下图所示: https://vnpy-doc.oss-cn-shanghai.aliyuncs.com/spread_trading/3.png

  • 在界面中找到可用于组成价差交易的合约;

  • 本文档以豆油期货的跨期套利来展示,即交易y2105.DCE(豆油期货21年5月到期合约)和y2109.DCE(豆油期货21年12月到期合约)。

构建价差合约

在价差交易的界面左侧,点击【价差创建】按钮,弹出创建价差界面,如下图所示:

https://vnpy-doc.oss-cn-shanghai.aliyuncs.com/spread_trading/4.png

在创建价差合约时,需要配置相关参数,各参数要求如下:

  • 【价差名称】指用户定义的价差合约名称;

    • 价差名称不能重名;
  • 【主动腿代码】指价差盘口价格满足条件时,先发出的那条腿的本地代码。

    • 格式为vt_symbol(合约代码 + 交易所名称);

    • 必须是下面的【腿】选项中的一项;

  • 【最小交易量】指最小交易手数;

  • 【腿】包含构建价差合约的主动腿与被动腿,由【本地代码】,【价格乘数】,【交易乘数】,【合约模式】组成:

    • 合约代码格式为vt_symbol;

    • 一般来说,价差交易原则上是主动腿完成交易后,立刻用被动腿进行对冲,故主动腿一般选择较为不活跃的合约,价格乘数和交易乘数均为正;被动腿一般选择较为活跃的合约,价格乘数和交易乘数均为负;

    • 反向合约是只有数字货币市场才有的一种特殊衍生品合约规则,指用计价法币来标识价格,用数字货币来结算盈亏的衍生品合约。正向合约是指除反向合约外,其他所有的金融市场(股票、期货、期权等)采用的规则;

  • 设置好价差合约的参数后,点击下方的【创建价差】按钮。

在豆油期货跨期套利示例中,其价格乘数和交易乘数均为1:1,即价差= y2105 - y2019;买入1手价差等于买入1手y2105,同时卖出1手y2109完成对冲。

请注意,在多条腿并且期货合约规模不等时,构建价差合约会相对困难一些,如构建虚拟钢厂套利所用到的价差合约时,计算公式如下:

  • 螺纹钢生产技艺是16吨铁矿石加上5吨焦炭练成10吨螺纹钢。

  • 基于价格乘数的价差spread = 1* RB - 1.6*I - 0.5*O。

  • 但是由于螺纹是10吨/手,铁矿石和焦炭都是100吨/手,所以他们交易乘数是1:10:10;

  • 故基于最大公约数规则,其实际交易手数关系是每买入100手螺纹钢(1000吨),需要卖出16手铁矿石(1600吨)和5手焦炭(500吨)完成对冲。

构建灵活价差合约

2.1.8之后的版本中,价差交易模块支持更灵活的价差计算公式(例如A/B、A-B*C等),同时允许引入不参与交易的定价腿,满足复杂境内外套利价差需要考虑汇率和税率等因素的需求。

在价差交易的界面左侧,点击【灵活价差创建】按钮,弹出创建灵活价差的窗口,如下图所示:

https://vnpy-doc.oss-cn-shanghai.aliyuncs.com/spread_trading/5.png

其中,各参数的对应含义如下:

  • 【价差名称】指用户定义的价差合约名称;

    • 价差名称不能重名;
  • 【主动腿代码】指价差盘口价格满足条件时,先发出的那条腿的本地代码;

    • 格式为vt_symbol(合约代码 + 交易所名称);

    • 必须是下面的【A、B、C、D、E】选项中的一项;

  • 【最小交易量】指最小交易手数;

  • 【价格公式】指价差合约的计算公式;

    • 支持任何Python内置数学函数;

    • 注意其中的变量只能是A、B、C、D、E(不需要都用);

  • 【A、B、C、D、E】包含构建价差合约的主动腿与被动腿,也可以引入不参与交易的定价腿,由【合约代码】,【交易方向】,【交易乘数】,【合约模式】组成;

    • 合约代码为公式中的变量所对应的合约本地代码(vt_symbol);

    • 一般来说,价差交易原则上是主动腿完成交易后,立刻用被动腿进行对冲,故主动腿一般选择较为不活跃的合约,价格乘数和交易乘数均为正;被动腿一般选择较为活跃的合约,价格乘数和交易乘数均为负;

    • 反向合约是只有数字货币市场才有的一种特殊衍生品合约规则,指用计价法币来标识价格,用数字货币来结算盈亏的衍生品合约。正向合约是指除反向合约外,其他所有的金融市场(股票、期货、期权等)采用的规则;

    • 不用的变量留空即可;

  • 设置好灵活价差合约的参数后,点击下方的【创建价差】按钮,即可成功创建灵活价差合约。

监控价差合约

价差合约创建完毕,监控界面中的【日志】组件会输出”价差创建成功”;【价差】组件也会展示价差合约的实时行情,如下图所示:

https://vnpy-doc.oss-cn-shanghai.aliyuncs.com/spread_trading/6.png

在豆油期货价差交易示例中,【价差】组件的各字段含义如下所示:

  • 【买价】= y2105买一价 - y2109卖一价;

  • 【买量】= min(y2105买一量,y2109卖一量),取最小值用于保证各合约能均能成交;

  • 【卖价】= y2105卖一价 - y2109买一价;

  • 【卖量】= min(y2105卖一量,y2109买一量)。