专享策略No.3 | 商品截面交易策略

大家好,2022松鼠俱乐部临近收官。前面发布了#专享策略01V3 | 小短波策略,#专享策略No.2 | 套利策略-自动换仓-出场加速。今天我们交付第三个专享策略:商品截面交易策略。
这个策略11月15号就做好了源码及样本外测试,因不可抗力的缘故拖到今天才发布,实在抱歉。
OK,我们先来看一下策略结构:

拟合指数
For i=0 To DataSourceSize-1 { If(Data[i].Vol>0) { N = N+1; PctC_Open = PctC_Open + ( Data[i].Open -Data[i].Close[1] )/ Data[i].Close[1] ; // 每一个品种的开盘价涨幅 PctC_High = PctC_High + ( Data[i].High -Data[i].Close[1] )/ Data[i].Close[1] ; // 每一个品种的最高价涨幅 PctC_Low = PctC_Low + ( Data[i].Low -Data[i].Close[1] )/ Data[i].Close[1] ; // 每一个品种的最低价涨幅 PctC_Close = PctC_Close + ( Data[i].Close -Data[i].Close[1] )/ Data[i].Close[1];// 每一个品种的收盘价涨幅 PctC_Open = PctC_Open/N; PctC_High = PctC_High/N; PctC_Low = PctC_Low/N; PctC_Close = PctC_Close/N; } }
这个比较简单,利用收盘价归一化所有品种的(CHLO)涨跌幅,然后再一个基点(BasePoint)上拟合成指数。这个吕总在另类策略里讲过就不再赘述,效果如下图:
PlotKline(Ind_Open,Ind_High,Ind_Low,Ind_Close);

品种的筛选及择时
计算出每个品种的波动变化率,同时算出他们的高低值。
//标尺化计算幅度 Range[0:DataSourceSize-1] { sumdt=Average((close-close[1])/close[1],FastLength)*1000; high_sumdt=Highest(sumdt,FastLength); low_sumdt=Lowest(sumdt,FastLength); }
通过变化率得到最强的和最弱的品种。

OK,我们得到了排序之后,要通过择时的手段来完成强弱换仓。这里我使用了AMA_MACD,即基于考夫曼均线的MACD指标。这个在俱乐部培训视频里讲过,也给了大家源码。如下图:

这个指标是用在指数上面的,可以看到AMA_MACD做了一个变色处理,红,黄,绿三色。具体逻辑如下:
- 多头换品种,MACD值大于0且黄红状态转换。
- 空头换品种,MACD值小于0且黄绿状态转换。
黄绿转换或黄红转换,是描述了震荡转到趋势的一个点状态。在这个时点我们去调整强弱品种的持仓,这个就是截面策略的核心,择时换仓。还有另一个条件,俱乐部内直播的时候我展开说吧。
趋势模块
我们使用supertrend指标作为趋势的择时模块。

SuperTrend指标在拟合的指数上使用,目的是跟踪截面所有品种的大致趋势。比如3个品种里有涨有跌,但是指数趋势只会指向一边,我们只要选择出顺势的品种进行交易。比如下图:

- KG>0为多头趋势
- KG<0为空头趋势
出场模块
出场模块由俩个出场条件构成,一个是万金油TRS移动出场,另一个是 superTrend技术出场。

整个模型并不复杂,麻烦的是将各个模块嵌到一起。
模块如下:
- 趋势模块-superTrend.
- 品种筛选-波动变化率.
- 换仓择时-AMAmacd.
- 出场模块-移动出场及技术出场。
测试绩效



RB-J-i

EB-EG

FG-SA

JD-LH-AP-CJ

PTA-PVC

PF-UR-SP

SM-SF

本策略仅作学习交流使用,实盘交易盈亏投资者个人负责。
你要的干货都在这里→关注V V“松鼠宽客”
#松鼠宽客:研究04丨波动率与CTA盈利关键#松鼠宽客:Pro08丨累计概率密度突破策略#松鼠宽客:KD01策略丨SuperTrend+空头波段#松鼠宽客:加降息与BTC流动性事件策略研究#松鼠宽客:Pro_06丨重心拐点与高低波出场#松鼠宽客:基于订单流工具,我们能看到什么?#松鼠宽客:LM11丨重构K线构建择时交易策略#松鼠宽客:Pro_05丨基于波动率因子的择时分析#松鼠宽客:Pro04丨我是如何改造SF21及VWAP出场模式的#松鼠宽客:Pro02丨加强版超级趋势线加减仓策略迭代
whole 0 Comments