海龟策略深入研究-策略回测系列-16 单位头寸限制检验

19 篇文章 4 订阅

vn.py实现了2个维度上的单位头寸限制,分别是单品种头寸上限是4,单个方向整体头寸上限是10。那么现在测试一下适用于国内期货品种的新海龟策略,其最优单位头寸限制数值是否与原版海龟策略一致。

 

实现步骤:

  • 对单品种头寸上限分类,直接分成3、4、5,
  • 然后基于各自的单品种头寸上限再对当个方向的整体头寸上限进行细分,分别是8、9、10、12、14、无限大。
  • 故一共构成了3*6 = 18个测试组合。

 

在回测中修改单位头寸设置:打开海龟策略文件turtleStrategy.py找到第10、第11行代码,直接修改其数值即可。

MAX_PRODUCT_POS = 4 # 单品种最大持仓
MAX_DIRECTION_POS = 10 # 单方向最大持仓

 
 

1)分类1:单品种头寸上限等于3

基于该分类一共得到6个测试组合,其回测效果如图所示。
enter image description here
enter image description here
 

这六个备选组合,按照从左到右,从高到低顺序,其夏普比率分别是1.68、1.68、1.6、1.5、1.44、1.4。可以观察到,其数据变化呈现倒“U”型,在单个方向整体头寸上限为9时,夏普比率达到顶峰,然后不管是头寸上限增加还是降低,夏普比率都会下降。

另外,从单方向头寸从14增大至无穷大(即限制取消)时,夏普比率降低得并不严重,仅仅为0.04,这说明针对国内期货品种的海龟策略,其自然达到的单方向头寸单位是大于14的,但是其差距并不是很大。

 
 

2)分类2:单品种头寸上限等于4

然后对单品种头寸上限为4的类型进行测试,其回测效果如图所示。

enter image description here
enter image description here

这六个备选组合,按照同样的观察顺序,其夏普比率分别是1.67、1.69、1.65、1.61、1.61、1.61。其夏普比率变化同样呈现倒“U”型,但是较单位头寸上限为3的更加扁平。在单个方向整体头寸上限为9时,夏普比率达到顶峰,然后不管是头寸上限增加还是降低,夏普比率都会下降。

另外,从单方向头寸从14增大至无穷大(即限制取消)时,夏普比率降低了0.14。

 
 

3)分类3:单品种头寸上限等于5

最后对单品种头寸上限为5的类型进行测试,其回测效果如图所示。

enter image description here
enter image description here
 

可以观察到,分类3的所有组合与分类2的完全一致,这表明单品种头寸单位自然到达的上限是4,再往上增加其限制已无任何意义。

综上所述,基于海龟组合,单品种头寸单位上限为4,单个方向整体头寸为9时效果最优,其最终版本的海龟策略夏普比率达到1.69。

海龟策略是一种基于技术分析的交易策略,它通过追随市场趋势进行交易,具有较强的适应性和风险控制能力。在Python中,可以使用多种工具和库来实现完整的海龟策略。 首先,我们需要使用Python中的数据获取库,如pandas_datareader,来获取股票或期货的历史行情数据。通过这些数据,我们可以分析和判断市场的趋势。 接下来,我们可以使用技术分析库,如TA-Lib,来计算一些常用的技术指标,如移动平均线、布林带等。这些指标可以帮助我们识别市场的趋势和价格的超买超卖情况。 然后,我们可以根据海龟策略的规则来制定交易规则。海龟策略的核心是根据市场的趋势进行买入和卖出操作。具体的规则包括,当价格穿越移动平均线向上时,买入;当价格穿越移动平均线向下时,卖出。此外,还可以设置止损和止盈的条件来控制风险。 最后,我们需要编写一个回测框架来模拟和评估海龟策略的表现。回测框架可以记录每次交易的详细信息,包括交易的时间、价格、交易量等。通过回测框架,我们可以评估策略的盈亏情况、胜率和风险回报比等指标,进而对策略进行优化和调整。 总结起来,Python中实现完整的海龟策略主要包括数据获取、技术分析、交易规则制定和回测框架等几个步骤。通过使用Python的相关库和工具,我们可以实现一个简但有效的海龟策略,并进行策略回测和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值