期盼好久的vn.py 2.0.7版上架已经有一两年了,此次预览最小的变动是减少了python3版的SpreadTrading组件,这样就使买卖的形式无须只是双向买卖,一些如前所述基差的思路如张佩佩买卖或是统计数据套利策略的思路的同时实现成为可能。即使我对基差买卖方面颇感兴趣,因此也有时常打探vn.py的SpreadTrading什么时候上架,而后也是听陈晓优元老说过三月上旬会上架,因此在那个组件上架后就急于对SpreadTrading组件展开重新整理了,即使时间的原故因此始终拖到现在。vn.py的非官方目前也有对SpreadingTrading展开了单纯如是说,下面就以非官方的讲义为例展开对那个组件展开自学和采用。
SpreadTrading组件如是说
此次先不预测源标识符,却是以VN Station影像化介面的操作形式为例,展开SpreadTrading组件的采用。
具体来说却是须要开启VN Station,在VN Trader的开启栏中将SpreadTrading组件展开键入,接着相连CTP,步入SpreadTrading的介面。
展开基差买卖以后,须要展开三步操作形式,其一建立基差,也是要展开撰稿买卖种类、买卖数目、价格的无限小数等重要信息;并有建立基差思路,也是对下面建立的基差展开以这种思路展开买卖。下面是这两个部分:
建立基差
点选建立基差即能展开基差的建立,下面的范例是以焦炭rb2001和rb2002为例展开建立基差,进而能同时实现一个单纯Seiches套利策略。
须要特别注意的是:
1、积极主动腿以及其他腿的标识符须要依照vn.py中明确规定的文件格式展开撰稿。
2、积极主动腿指的是当基差任一时,火速收到的合同,积极主动腿须要在下面的腿1-5内。
3、产品价格无限小数也是形成基差式子的相关联合同产品价格的常数,图中的基差即 spread = 1 × rb2001 – 1 × rb2002。
4、买卖无限小数也是执行买卖时的手数,正数意味着多头,负数意味着空头。
关于下面的“腿”的说法没有接触过基差套利策略的人可能会比较陌生,即使在做一些基差套利策略时,通常须要在相关的合同上展开两个方向的多空买卖,此时就能理解为一个人的两条腿,缺少了哪一条都无法正常行走,因此在基差买卖中多空部分分别被称为腿(或是“边“)。有时候,套利策略的对象可能会有多个,如大豆、豆粕和豆油三者,这时候就会有多条腿,这也是vnpy在建立基差时设置了下面的腿1-5。
在建立了基差之后,介面就对刚刚建立的价差展开了预览:
基差思路
在建立基差后,就能建立针对这些基差的思路了。通过点选添加思路,能将vnpy自带的基础基差思路BasicSpreadStrategy展开添加。
在建立思路的时候,须要特别注意的是:
1、思路名称能根据基差买卖的对象展开设置,但是spread_name须要和下面建立的基差保持一致。
2、buy、sell、cover、short产品价格分别是对基差展开相应操作形式的触发价位。
3、max_pos指的是基差合同的最小持仓量。
4、payup是下单时的超价。
5、interval指的是下单到撤单能等待的时间,单位是秒。
在建立思路后,介面就预览出类似CTA思路一样的开启栏,须要做的同样是初始化和开启的操作形式:
总结和展望
由于SpreadTrading组件只是刚刚上架,因此功能上并不是很完善,像现在自带的基差思路只是一个单纯的到价撮合成交的思路,开平仓的产品价格也是须要自己手动去设置,并不能随着行情的改变而展开自适应的调整,因此,想必后期的基差思路也会在此方面展开改进吧。
另一方面,手动设置多空种类的产品价格无限小数或是买卖无限小数也为买卖者提供了一些便利,这样,我们就能根据自己预测得到的一些规律,如协整常数或是回归常数等来设置相应的数值。
除此之外,对比与CTA思路,SpreadTrading组件还缺少相关联的基差思路回测组件,因此这也将是后期预览的一部分。
总而言之,SpreadTrading组件的加入,为vnpy增色不少,后面也会继续对其源标识符展开预测,同时也希望vnpy后续增添更多亮点,为买卖者提供更多便利。