虚拟货币双向开仓交易法
我们知道日线和分钟线的择时效果不同,分钟线反应更加迅速,日线择时能够去除噪声的干扰,从而择时更加准确。在不同框架和周期的数据上,切换择时信号和操作频率,往往能达到较好的择时效果。
长江证券研报《择时视角:多周期与多维度》依据这个理论,做了一个混频的模型实验:在小时线产生信号的时候利用日线来交易,在日线产生信号的时候利用下一期的小时线来交易,相对于日均线择时和小时均线择时,年化收益和夏普比率均得到较大的提升。也就是说,使用日线发出信号,而在小时线上寻找更加细腻的交易点位,这是一种跨频率引用方法,也被称作混频模型。
1.低频和高频各有优势
日线产生信号、日线交易的弊端在于操作过于滞后,在检验小时线产生信号、日线操作的有效性滞后,日线产生信号、小时线交易的择时含义是:在当天20日均线产生信号之后,利用第二天第一个一小时线进行交易。从择时效果来看,日线产生信号、用小时线操作的年化收益率高达37.24%,相对于原有的日线择时、日线交易来说,其操作更为提前,这也预示着利用择时在做仓位的增减时,在第二天9:30-10:30交易会比当日收盘价交易要好。
下面介绍一种跨频率的引用方法,依然主要在商品期货市场上实践其效果,因为对于股票市场我们将专门构建适应股票市场的模型,以及更加注重全市场的科学研究方法。大多数读者可能认为周期和频率在某种程度上是等价的,比如有读者认为12周(每周5日)均线和60日均线的择时效果相同。
但实际上二者并非一致,主要区别在于信息量和反应时间不一样。60日均线序列包括12周均线的信息,信息量更大,一旦发出买卖信号,小级别数据更容易产生反应,能及时利用信号进行操作。但信息量大就意味着干扰信息也多,所以在某种程度上,大级别数据相对于小级别数据来说,往往起到了一定的过滤作用。
我们认为判断失误和判断滞后是制约交易策略的两个核心问题。小周期更容易引起判断失误,大周期更容易引起判断滞后。但使用大级别K线数据(中低频)做模型的主逻辑,误检率可能会大幅减少,而漏检率只会略微增加。我们显然倾向于混频建模这种方式,尽可能地获取低频数据的信噪比,而在细致的相对高频数据上去下单交易。
在这里,要明确的是,低频率K线并非是对高频率K线的抽样。比如每天15:00的收盘价,在小时线上仅是每天4个1小时收盘价之一,但在日线上它是唯一一个,也是最准确、信息量最大的一个。我们可以每天抽取第一个(10:30),第二天(11:30)、第三个(14:00)收盘价,每隔4个1小时K线抽取一次,获得一组替代日线收盘价的时间序列做测试,你会发现性能一定不如15:00的那个真实收盘价,因为很多交易筹码要为了收盘价而博弈,在这里透露出的信息量是很大的。
所以接下来的工作就很明确了,我们尝试调用出每天15:00的日线收盘价,然后求出其MA20大周期均线值,或者做其他处理,作为模型的低频方向保护。具体的交易点位,在方向保护的情况下,依然在相对细致的周期下完成,比如30分钟线、1小时线。这就是本文的主要内容-对双均线系统进行跨频率引用改进。
我们的工具都是很简单的均线,规则也都是双均线金叉确定方向或者入场。另外,本策略不设置止损模块,不设置头寸自适应模块,仅观察最原始的改进前后的性能。所以大家不用在意最终组合绩效,而是应该关注我们在实战时,将哪些模块放在低频率均线的保护之下可以发挥出更显著的提升效果。
2.构建大小周期双频率均线模型
现我们构建一个双均线模型,将其部署在主要商品期货品种上,它拥有两个参数,一般我们用双均线模型构成的参数赢面来考察一个品种是否适合做趋势性动量交易,或者考察一个新加入品种的方法是否对原来的系统产生帮助。
比如在一篇券商研报中,原作者通过小波分析对局部的细节信号进行降噪处理,减少因短期价格频繁波动而引发的亏损交易行为,增加均线组合趋势交易系统的稳定性和可靠性。根据测试结果,我们总结出,在量化投资领域可以理解为更在乎均线组合的参数稳定性,而不是追求优化后的某些参数的极致性能。因为大部分均线参数组合拥有了获取正收益的可能性,而在处理前这些参数组合几乎是不可能盈利的。
添加过滤之后的交易逻辑如下:
// 多头过滤If (MA1 > MA2) // 大周期均线金叉,多头趋势{ if(MarketPosition == 0 && MA3 > MA4) { Buy(Lots, Open); // 大小周期都多头,买入多仓 }}// 空头过滤If (MA1 <= MA2) // 大周期均线死叉,空头趋势{ if(MarketPosition == 0 && MA3 < MA4) { SellShort(Lots, Open); // 大小周期都空头,卖出空仓 }}
我们设计了3种方式使用大周期过滤,分别是多头开仓过滤(long)、空头开仓过滤(short)和多空双向开仓过滤(双开仓)。
3.回测
我们测试了3个有代表性的品种,螺纹钢、橡胶、棕榈油,过滤后,夏普比率出来了大面积的提升,考虑到我们并不知道具体的期货品种在未来是上涨还是下跌,或者说我们无法确认涨跌的流畅度是否需要过滤,所以建议在开仓逻辑部分,无论多空都要过滤。
在这里,如果做更多品种的测试,并且是在更加合理的参数面上,搭配更加合理的规则,就会发现确实是需要双向开仓过滤的,且大小周期用多少天,也是需要迭代观察的。
我们构建的参数面:
短期均线:10 - 100,间隔 2
长期均线:10 - 200,间隔 2
大家在进行测试的时候,最好覆盖多品种,涵盖黑色工业品、能源化工品、农产品、有色金属等品种,大部分品种的参数赢面都获得了提升,交易可信度更高,显然大周期保护小周期有正面效果的信号过滤方式。
总之,我推荐在较大的周期(如1小时线以上)进行模型开发时,特别是针对于经验不足的开发者,核心原因在于信噪比。这里指的周期,在一些研报中也被称为”频率“,是建模所用的时间序列的最小划分块,如日频、分钟频。小周期纵然机会更多,但是噪声也更大,很容易产生过拟合,在实盘中这类模型或参数组合的绩效将衰减。如果我们做趋势类交易,则可以将Efficiency_Ratio效率系数取绝对值后(关于效率系数的文章在之前有介绍过),作为信噪比,这个值在0-1之间。