复权之后数据变得连续,但是有些品种长期复权之后,价格 严重变形,对交易结果测试会产生较大的影响。
问题一:当前为非除权状态,想要调用另一个品种的除权状态的数据以及指标,怎么?
问题二:测试连续合约时,发现今天有除权,于是对前合约平仓,对今合约开仓,进行移仓,对策略进行业绩测试,怎么实现?
谢谢!
1.数据引用的时候 当前图表使用了复权那么引用的也是复权的。就是说复权这个不是在代码中进行控制的。
2.问题二具体需求可否再详细说明下。品种换月的时候移仓换月,并且要在测评中体现出来?
第一个问题:那就是说要在不复权权状态下引用复权数据,必须自己用除权系数来算?
第二个问题:就是在不复权的情况下进行连续合约来测试,如果不考虑除权问题,那么测试结果肯定有问题。于是在公式代码中进行换月开平仓,消除换月缺口造成的测试偏差。开新仓很简单,平老仓要如何实现?
[此贴子已经被作者于2018/7/25 16:17:01编辑过]
1.是的。如果非要在代码中设置的话,只能自行计算了。但是一般指标要么在图表上用要么在后台上。如果当前图表上的品种复权了,你代码里面引用的其他品种的时候,数据也会自动复权。至于后台也有选择复权的选项的。
2.目前根据主力的变换进行移仓换月,这个在代码里面是无法处理的,也就是无法对历史上的换月进行移仓换月的处理。因为现有的函数只能获取最新主力的那个具体品种。历史上的是无法获取的。所以不好判断历史换月的情况了。
要用代码解决换月移仓问题,只需要在换月前一天知道第二天会进行换月处理就可以了,这个应该没有问题。因为金字塔是在头一天收盘后比较前后合约的成交量或者持仓量,来决定第二天是否换合约。所以能不能增加一个函数,表示第二天是否换月,这样就可以在头一天以收盘价进行平仓,第二天以开盘价开仓,从而用代码实现移仓换月了。
可以把需求提交给开发,但是最终处理由开发那边决定。
另外:实际交易中软件本身有换月功能,只是在回测中无法体现换月操作而已。

此主题相关图片如下:temp.png

金字塔越搞越好了,增加了很多除权函数,这个实盘中的自动换月移仓功能很好,。但是我觉得回测的时候,换月前提示第二天需要换月,这个功能非常必要,避免回测时价格失真,有很多好处。这对金字塔不难,期待开发部解决。
你看一下金字塔有提供相关的函数,可以通过这个来判断出现换月,然后自行做平仓后再开仓操作。