作者:老余捞鱼
原创不易,转载请标明出处及原作者。

写在前面的话:本文详细介绍了一种基于股票10天低点的交易策略,即在股票达到新的10日低点并且交易价格高于其50日和200日移动平均线时买入。当价格达到新的10日高点、跌破50日移动平均线或已连续10天未平仓时卖出。并会通过数据和图表展示了这种策略的盈利能力。
我最近测试了一种由Larry Connors和Cesar Alvarez提出的交易策略,该策略在股票触及10日低点时买入。测试数据似乎支持这一假设,即这种策略是有利可图的。
大约一个月前,我发布了一篇详细介绍在低点买入、高点卖出的交易策略的文章,我进行了更深入的分析,涉及一个“基准案例”,最终得出了一些有趣的结果。我只是想看看大家对我的分析有什么看法。
1、信号
策略:当股票达到新的10日低点并且交易价格高于其50日和200日移动平均线时买入。当价格达到新的10日高点、跌破50日移动平均线或已连续10天未平仓时卖出。
基本案例:以随机价格买入一只股票,并随机持有1到10天的时间。
2、分析参数
- 初始投资:$5,000
- 交易费用:3.95(OptionsHouse)
- 滑点:目标价格的[99.5%,100.5%]
- 试验次数:10,000
3、图表图例说明
- 灰色:每次试验的交易结束时投资组合价值
- 蓝色:灰色值的中间25%
- 红色:买入并持有标普500的回报
4、数据比对实例
4.1、2007 年数据比对

4.1.1、策略执行(Strategy)
- 平均回报率:44.4%
- 样本标准差:29.8%
- 最大回报率:207%
- 最小回报率:-40%
- 胜场次数:9,552
- 败场次数:448
- 胜率:95%
4.1.2、基础案例(Base Case)
- 平均回报率:1.41%
- 样本标准差:24.5%
- 最大回报率:195%
- 最小回报率:-74%
- 胜场次数:4,581
- 败场次数:5,149
- 胜率:48 %
4.2、2008 年数据比对

4.2.1、策略执行(Strategy)
- 平均回报率:35.3%
- 样本标准差: 23.7%
- 最大回报率:160%
- 最小回报率:-23%
- 胜场次数:9,589
- 败场次数:411
- 胜率:95%
4.2.2、基础案例(Base Case)
- 平均回报率:65.6%
- 样本标准差:31.6%
- 最大回报率:272%
- 最小回报率:-96%
- 胜场次数:1,215
- 败场次数:8,785
- 胜率:12 %
4.3、2009 年数据比对

4.3.1、策略执行(Strategy)
- 平均回报率:87.5%
- 样本标准差: 40.4%
- 最大回报率:327%
- 最小回报率:- 21%
- 胜场次数:9,990
- 败场次数:10
- 胜率:99%
4.3.2、基础案例(Base Case)
- 平均回报率: 30.2%
- 样本标准差:56.6%
- 最大回报率:826%
- 最小回报率:-92%
- 胜场次数:6808
- 败场次数:3192
- 胜率:68%
4.4、2010 年数据比对

4.4.1、策略执行(Strategy)
- 平均回报率:44.4%
- 样本标准差: 25%
- 最大回报率:167%
- 最小回报率:- 27%
- 胜场次数:9,800
- 败场次数:200
- 胜率:98%
4.4.2、基础案例(Base Case)
- 平均回报率: 9.9%
- 样本标准差:25.9%
- 最大回报率:153%
- 最小回报率:-59%
- 胜场次数:6184
- 败场次数:3816
- 胜率:61%
4.5、2011 年数据比对

4.5.1、策略执行(Strategy)
- 平均回报率:6.2%
- 样本标准差:15.7%
- 最大回报率:78%
- 最小回报率:- 37%
- 胜场次数:6305
- 败场次数:3695
- 胜率:63%
4.5.2、基础案例(Base Case)
- 平均回报率: -7%
- 样本标准差:23.3%
- 最大回报率:142%
- 最小回报率:-75%
- 胜场次数:3392
- 败场次数:6608
- 胜率:33%
4.6、2012 年数据比对

4.6.1、策略执行(Strategy)
- 平均回报率:26%
- 样本标准差: 20.5%
- 最大回报率:137%
- 最小回报率:- 27%
- 胜场次数:9,143
- 败场次数:857
- 胜率:91%
4.6.2、基础案例(Base Case)
- 平均回报率: 6.1%
- 样本标准差:24.4%
- 最大回报率:193%
- 最小回报率:-69%
- 胜场次数:5621
- 败场次数:4379
- 胜率:56%
5、方法论
该程序首先通过使用上述买入和卖出信号对预定义的一组股票代码(在本例中为SP500)进行回测。为了减少偏差结果,我采用“逐日回测”的方式,即每天输入程序一个交易日的数据。每天我计算买入信号,如果条件满足,我就会购买该证券,持有它,并继续循环计算接下来的每一天的卖出信号。一旦证券被买入并卖出,我会记录下这笔交易,然后进入下一天。最终结果是一个在预定义日期范围内、与预定义股票代码列表相对应的所有潜在交易的清单。
我将这些条目按购买日期升序排序(最早的在前),所有在同一天的交易被放入一个列表,并存档在一个以购买日期为关键字的字典中。结果是一个我可以查询的数据结构,可以提取出在指定日期可能发生的所有交易列表。
然后,我获得了进行实际回测所需的所有信息。我从第一个可能的购买日期开始,搜索字典以获取当天可能发生的所有交易列表,随机选择一笔交易,记录下该交易的信息,然后进入下一个可用的购买日期。
一旦所有日期都用尽,我通过计算全年交易的乘积来得出年回报率。我进行了10,000次这样的计算,以获得年回报的平均值和标准差。由于我的数据并没有告诉我每笔交易的具体时间,因此我无法定义交易的确切顺序。我的想法是,如果我获得足够多的随机交易序列,我可以创建一个可能的场景,其中最可能的场景是最常见的——这是一种让我计算回报并同时覆盖所有基础的方法。
6、观点总结
策略盈利性:数据显示这种策略在大多数情况下都能获得正向回报,获胜交易的比例通常超过90%。
对比基准:与随机交易策略(基本情况)相比,本文提出的策略在平均回报率和获胜比例上都有显著优势。
数据分析方法:采用了一种随机抽样的回溯测试方法,通过大量的交易模拟来计算年收益率的平均值和标准偏差。
风险管理:策略中设定了卖出条件,包括股价创出新高、跌破50天移动平均线或持仓达到10天,以减少潜在风险。
本文内容仅仅是技术探讨和学习,并不构成任何投资建议。
转发请注明原作者和出处
Be First to Comment