该策略具备了一个完整的交易系统的所有成分,包括了入市、加仓、止盈、止损的相关操作,其中入市对应我们的择时模块,加仓、止盈和止损则对应风控模块。
助教发现有些同学在学习海龟交易策略的时候容易陷入一些误区,所以今天我就来带大家一起排排雷,帮助大家更好地去理解这个策略。
首先,我们需要理解海龟策略中用到的两个技术面因子。
第一个因子是唐奇安通道,从外表来看它跟我们前面学过的布林带通道有些类似,不过一般我们只会用到它的上轨和下轨,中轨在这个策略中使用不到,所以我们也不用去关注它。
这里需要注意的是海龟策略提供的入场信号和止盈信号都分别有长周期和短周期两个版本,而且它们必须是配套使用的,也就是说当我们选择上轨的周期为20日的时候,下轨必须对应为10日;而选择上轨周期为55日时,下轨周期必须为20日,它们是不能混用的。
第二个因子则是平均真实波幅 ATR,我们需要注意的是每天都会有一个 ATR 值,在一个周期内这些 ATR 连在一起就组成了 ATR 曲线,通过曲线看的是价格的波动速率,所以如果要用 ATR 来进行计算的时候必须使用对应交易日的 ATR。
在计算头寸规模的时候,我们要摆脱一个误区:每次交易的头寸规模并不是不变的。
这里我们举一个真实的例子。某位同学说假设他第一次建仓的时候有10万的可用资金,买入价格为1.492,当天的 ATR 值为0.025,那么第一次买入的份额就是:100000*0.01/0.025=40000,第二次的买入价格就为:1.492+0.5*0.025=1.5045,买入份额:40000,这样的话看起来买入间隔相当的小,差不多在股价上涨不到一个点的情况下就开了两次仓,资金也基本用完了,很不合理。那么问题出在哪里呢?
首先,他第一次入市的时候买入的股数是正确的,但是第二次加仓的时候剩余的可用资金就不是100000了,因为入市的时候已经花掉了59680,所以加仓的时候剩余资金就只剩40320,这是第一个错误;
然后,按照代码的逻辑,他算出来的第二次买入的价格 1.5045 是用来判断是否加仓的价格,如果价格高于 1.5045 则加仓,那么加仓时候的价格应该是买入价格而不是 1.5045;
最后,我们前面说过,计算加仓头寸单位时,应该使用加仓当天的 ATR 并非入市时候的 ATR。这便是在上面的例子中存在的三个错误,这也是我们在刚刚接触海龟策略是容易陷入的理解误区。
那么,有没有什么办法可以让我们直接观察策略运行的过程呢?答案是有的,在 ForTrader 中,我们可以用 context.log() 去打印日志,作用类似于在基础语法学过的 print() 函数,这样我们就可以更直观的看到每次交易的头寸规模等数据,这样理解起来也会更加的方便。
这里我也给大家提供一份增加了打印日志功能的海龟策略代码,还不太理解海龟策略的同学可以调试看一看哦:
代码链接:https://prod.pandateacher.com/web/fortrader-web/#/home?share_code=z4YN7845rdoQ6ZlJ
提示:
本公司发布内容均为市场公开信息,不构成投资建议,投资者据此操作,风险自担。市场有风险,投资需谨慎!
联系客服