在极智量化软件中,构建一个多空策略通常遵循一个清晰的框架:方向判断(硬条件)+信号过滤(软过滤)+风险控制(出场)。
下面是一个结合了双均线、ATR波动率和移动止损的经典多空策略示例,并附有详细的代码解析。
一、多空策略核心框架与示例
这个策略的逻辑是:用双均线判断市场大方向,用ATR指标过滤掉波动率过低的无效行情,最后使用移动止损来保护利润并控制亏损。
二、策略逻辑拆解
1、方向判断(硬条件)
做多条件:短期均线(如5日)上穿长期均线(如20日),形成“金叉”,表明短期趋势可能转强。
做空条件:短期均线下穿长期均线,形成“死叉”,表明短期趋势可能转弱。
2、信号过滤(软过滤)
为了避免在盘整行情中产生过多无效信号,可以加入ATR(平均真实波幅)指标进行过滤。
过滤条件:只有当当前市场的波动率(ATR值)大于过去某一时段波动率的一定比例(例如70%)时,才认为市场有足够的动能,允许开仓。这可以有效避免在“死水一潭”的行情中频繁交易。
3、风险控制(出场)
采用移动止损(TrailingStop)来动态管理持仓。当价格朝有利方向移动时,止损线也随之移动;当价格反向回调达到预设比例时,自动平仓离场,锁定利润或限制亏损。
三、策略代码示例(简语言)
以下代码展示了如何将上述逻辑用极智量化的简语言实现:
1//1.定义参数
2N_SHORT:=5;//短期均线周期
3N_LONG:=20;//长期均线周期
4N_ATR:=14;//ATR计算周期
5ATR_FILTER:=0.7;//ATR过滤系数
6
7//2.计算指标
8MA_SHORT:=MA(CLOSE,N_SHORT);
9MA_LONG:=MA(CLOSE,N_LONG);
10ATR_VAL:=ATR(N_ATR);
11
12//3.定义多空信号
13//金叉:短期均线上穿长期均线
14GOLDEN_CROSS:=CROSS(MA_SHORT,MA_LONG);
15//死叉:短期均线下穿长期均线
16DEAD_CROSS:=CROSS(MA_LONG,MA_SHORT);
17
18//4.应用波动率过滤
19//当前ATR大于昨日ATR的70%,才认为波动足够
20VOLATILITY_OK:=ATR_VAL>REF(ATR_VAL,1)*ATR_FILTER;
21
22//5.生成最终交易指令
23//开多仓:出现金叉且波动率满足条件
24BUY:=GOLDEN_CROSSANDVOLATILITY_OK;
25//开空仓:出现死叉且波动率满足条件
26SELL_SHORT:=DEAD_CROSSANDVOLATILITY_OK;
27
28//6.设置出场条件
29//使用移动止损,例如从最高点回撤2%时平仓
30EXIT_LONG:=TRAILINGSTOP(HIGH*0.98);
31EXIT_SHORT:=TRAILINGSTOP(LOW*1.02);
关键函数说明
MA(CLOSE,N):计算N周期的收盘价简单移动平均线。
CROSS(A,B):判断指标A是否上穿指标B。
ATR(N):计算N周期的平均真实波幅,用于衡量市场波动性。
REF(VALUE,N):获取VALUE在N个周期前的值。
TRAILINGSTOP(PRICE):极智量化的特色函数,用于实现移动止损。
四、重要提醒
这是一个用于教学演示的基础策略框架。在将其用于实盘交易前,请务必注意:
1、必须进行回测:使用至少3年以上的历史数据,检验策略在不同市场环境(牛市、熊市、震荡市)下的表现,重点关注胜率、盈亏比和最大回撤。
2、务必进行模拟交易:回测通过后,应在模拟账户中运行至少一个月,观察策略在实时行情下的执行情况,检查是否存在过度交易等问题。
3、参数需要优化:策略中的参数(如均线周期、ATR系数、止损比例)并非一成不变,需要根据交易品种的特性进行优化和调整,但也要警惕过度拟合。
4、实盘存在风险:实盘交易中还需考虑滑点、手续费、网络延迟等现实因素,这些都可能影响策略的最终收益。
如果你对量化策略调试和编写不太熟悉,或者希望跳过策略调试直接使用量化工具,可以通过其他渠道获取现成的指标,比如广发期货官方公众号【广发期货量化宝】,就提供了由专业投研团队开发的高级量化指标,这些指标经过实测信号清晰,用户无需自己编写和调试代码就能使用。
发布于22小时前 北京



分享
注册
1分钟入驻>
+微信
秒答
电话咨询
15103944474 

