专享策略No.3 | 商品截面交易策略
创始人
2024-03-18 23:42:38
0次

量化策略开发,高质量社群,交易思路分享等相关内容

『正文』

ˇ

大家好,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做了一个变色处理,红,黄,绿三色。具体逻辑如下:

  1. 多头换品种,MACD值大于0且黄红状态转换。

  2. 空头换品种,MACD值小于0且黄绿状态转换。

黄绿转换或黄红转换,是描述了震荡转到趋势的一个点状态。在这个时点我们去调整强弱品种的持仓,这个就是截面策略的核心,择时换仓。还有另一个条件,俱乐部内直播的时候我展开说吧。

趋势模块

我们使用supertrend指标作为趋势的择时模块。

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

  1. KG>0为多头趋势

  2. KG<0为空头趋势

出场模块

出场模块由俩个出场条件构成,一个是万金油TRS移动出场,另一个是 superTrend技术出场。

整个模型并不复杂,麻烦的是将各个模块嵌到一起。

模块如下:

  1. 趋势模块-superTrend.

  2. 品种筛选-波动变化率.

  3. 换仓择时-AMAmacd.

  4. 出场模块-移动出场及技术出场。

测试绩效

RB-J-i

EB-EG

FG-SA

JD-LH-AP-CJ

PTA-PVC

PF-UR-SP

SM-SF

本策略仅作学习交流使用,实盘交易盈亏投资者个人负责。

  你要的干货都在这里→关注V V“松鼠宽客”

松鼠宽客:研究04丨波动率与CTA盈利关键https://blog.csdn.net/m0_56236921/article/details/126655526?spm=1001.2014.3001.5502

松鼠宽客:Pro08丨累计概率密度突破策略https://blog.csdn.net/m0_56236921/article/details/126637398?spm=1001.2014.3001.5502松鼠宽客:KD01策略丨SuperTrend+空头波段https://blog.csdn.net/m0_56236921/article/details/126504676?spm=1001.2014.3001.5502

松鼠宽客:加降息与BTC流动性事件策略研究https://blog.csdn.net/m0_56236921/article/details/126136104?spm=1001.2014.3001.5502

 松鼠宽客:Pro_06丨重心拐点与高低波出场https://blog.csdn.net/m0_56236921/article/details/126704447?spm=1001.2014.3001.5502

松鼠宽客:基于订单流工具,我们能看到什么?https://blog.csdn.net/m0_56236921/article/details/125478268?spm=1001.2014.3001.5502


松鼠宽客:LM11丨重构K线构建择时交易策略https://blog.csdn.net/m0_56236921/article/details/125632587?spm=1001.2014.3001.5502

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...