Quant03~量化投资之海龟交易法(期货)

发布于: 修改于:雪球转发:1回复:2喜欢:3

海龟交易法 #量化#    #量化投资#    #量化交易#   

1. 原理

1.1 起源

海龟交易思想起源于上世纪八十年代的美国。理查德丹尼斯与好友比尔打赌,主题是一个成功的交易员是天生的还是后天的。理查德用十年时间证明了通过日常系统培训,交易员可以通过后天培训成为一名优秀的交易者。这套培训系统就是海龟交易系统。

海龟交易系统是一个完整的、机械的交易思想,可以系统地完成整个交易过程。它包括了买卖什么、头寸规模、何时买卖、何时退出等一系列交易策略,是一个趋势交易策略。它最显著的特点是捕捉中长期趋势,力求在短期内获得最大的收益。

1.2 建仓资金

海龟交易法将建仓资金按照一定比例划分为若干个小部分,每次建仓头寸和加仓规模都与波动量N(又称平均真实波动振幅average true range ATR)有关。ATR是日内指数最大波动的平均振幅,由当日最高、最低价和上一交易日的收盘价决定。

其中PDC是前一交易日的收盘价,ATR就是TR在N天内的均值。

值波动量

利用N值来体现价值波动量DV:

其中每点代表的价值量是指每一个指数点数所代表的价格。

每一次开仓交易合约数unit的确定是将总资产的1%除以DV得到。

1.3 入市信号

海龟交易法使用的是以一个理查德唐奇安的通道突破系统为基础的入市系统。唐奇安通道分为系统一和系统二,对应短期突破和中长期突破。其中,短期突破系统是以20日(最高价或最低价)突破为基础,当价格突破20日价格即为入市信号;中长期系统是当盘中价格突破过去55日价格为入市信号。

1.4 加仓和止损

海龟交易法的加仓规则是当捕捉到入市信号后建立第一个交易单位的头寸,市价继续向盈利方向突破1/2N时加仓。

止损位为2N,同加仓一样采用平均真实振幅N值为止损单位。每加仓一次,止损位就提高1/2N。

1.5 止盈

短期:多头头寸在突破过去10日最低价处止盈离市,空头头寸在突破过去10日最高价处止盈离市。

中长期:多头头寸在突破过去20日最低价处止盈离市,空头头寸在突破过去20日最高价处止盈离市。

2. 策略思路

第一步:获取历史数据,计算唐奇安通道和ATR

第二步:当突破唐奇安通道时,开仓。

第三步:计算加仓和止损信号。

回测标的:DCE.i2012

回测时间:2020-02-15 至 2020-09-01

回测初始资金:100万

Tips:

ATR值是不断变化的,这就会导致在对期货平仓时,可能出现平仓数量 > 持仓数量的现象。比如前一交易日的持仓为10,今日的ATR值为22.假设当前价格触发平仓条件,平仓1/2ATR。

1/2ATR=11 > 10, 这样就会导致委托失败报错。所以要加入一个变量volume_hold用来记录当前持仓量,与1/2*ATR作比较。

注意:若修改回测期,需要修改对应的回测标的。

3. 策略代码

4. 回测结果与稳健性分析

设定初始资金100万,手续费率为0.01%,滑点比率为0.01%。回测结果如下图所示。

回测期累计收益率为18.75%,年化收益率为6.42%,沪深300收益率为18.75%,策略跑输沪深300指数。最大回撤为4.20%,胜率为48.15%。

为了检验策略的稳健性,改变策略标的和计算唐奇安通道的参数n,回测结果如下。

由上表可知,不同标的收益结果呈现差异。其中大商所的铁矿石收益情况最好,其他两个品种收益较差,整体收益情况较差。说明该策略在使用上存在一定风险。

注:此策略只用于学习、交流、演示,不构成任何投资建议。源代码使用请私信联系获取。@7X24快讯 @中国基金报

全部讨论

2021-08-30 00:00

学习了

2021-08-29 23:08

ZN