美股日线RSI按趋势划分的回测|市场环境带来的结果差异
用ENTRIQ回测100只美股的日线数据(各股5~56年),比较RSI跌破30买入在上升、下降和区间环境下的盈利平仓比例、平均盈亏和MAE。
关于本文
本文是用ENTRIQ对100只股票(数据期间因股票而异,为5~56年)进行回测的结果(Dataset v2.0)。3种离场方式的整体比较已整理在RSI跌破30买入的回测|3种离场方式与风险整理中。本文在此基础上更进一步,聚焦于“结果如何随市场环境(趋势)而变化”进行整理。
如何定义市场环境
RSI是衡量超买超卖程度的振荡指标,但即使同样是“RSI跌破30”,股价所处的背景不同,之后走势的倾向也会不同。本文对市场环境作如下定义。
- 上升趋势:信号日(RSI跌破30当日)的收盘价高于SMA200,且SMA200高于其20个交易日前的数值
- 下降趋势:收盘价低于SMA200,且SMA200低于其20个交易日前的数值
- 区间:既不属于上升趋势也不属于下降趋势的阶段
通过组合“价格位置”和“SMA200的方向”这两个条件,不仅能反映短期的位置,也能反映大的趋势。用20个交易日衡量SMA200的斜率,是为了在减少噪音的同时,较早地捕捉到方向的转变。
回测条件
- 标的股票:从S&P500现有成分股中,按市值靠前、每个板块最多15只选出的美股(100只)
- 期间:各股票可获取的全部期间,仅限拥有至少5年数据的股票(最短5年,最长56年)
- 时间周期:日线(已对股票拆分进行复权调整)
- RSI设置:周期14,Wilder平滑法
- 入场:在RSI(14)向下跌破30当日的下一个交易日,以开盘价买入
- 同一股票持仓期间出现的下一次条件一律跳过(同一时间只持有1笔)
离场方式(3种):
- A_rsi50:在RSI回升至50或以上后的下一个交易日以开盘价离场(若未回升,则在第60个交易日以收盘价离场)。不设止损
- B_10bars:在入场后第10个交易日以收盘价离场。不设止损
- C_stop5:在-5%处止损。若未触及止损,则在第10个交易日以收盘价离场。若开盘跳空低开,则以该开盘价成交,因此单笔亏损可能超过-5%
关于幸存者偏差: 本次回测使用的是S&P500现有成分股,不包含过去已退市的股票,也不包含被剔除出指数的股票。由于只观察了“得以存续”的股票,回测结果可能显得比实际的投资环境更好。
按趋势划分的回测结果
方式A(持有至RSI回升至50)
| 环境 | N | 盈利平仓比例 | 平均盈亏 | 平均亏损 | MAE中位数 | 盈利因子 | 最大连败(单只股票内) | 平均持仓时间 |
|---|---|---|---|---|---|---|---|---|
| 上升趋势 | 1,088 | 75.6% | +2.47% | -7.56% | -3.66% | 2.36 | 4 | 17.5个交易日 |
| 区间 | 2,171 | 72.0% | +2.08% | -7.98% | -4.61% | 1.94 | 7 | 19.7个交易日 |
| 下降趋势 | 1,906 | 70.5% | +2.04% | -10.32% | -5.42% | 1.69 | 6 | 19.7个交易日 |
※以上为过去的样本(整体N=5,318),不代表未来的结果。
在方式A中,盈利平仓比例、平均盈亏和盈利因子的数值均按上升趋势、区间、下降趋势的顺序从高到低排列。MAE中位数(入场后浮亏一度扩大到什么程度)和平均亏损在下降趋势中最大(数值更负),在上升趋势中最小。
下降趋势中包含不设止损、持续持有期间大幅下跌的阶段,下降趋势的最大亏损也大于上升趋势(数值更负)。单只股票内的最大连败,也观察到下降趋势多于上升趋势。
方式B(10个交易日后离场)
| 环境 | N | 盈利平仓比例 | 平均盈亏 | 平均亏损 | MAE中位数 | 盈利因子 | 最大连败(单只股票内) |
|---|---|---|---|---|---|---|---|
| 上升趋势 | 1,121 | 59.3% | +1.18% | -5.11% | -2.88% | 1.58 | 7 |
| 区间 | 2,700 | 59.2% | +1.20% | -5.24% | -3.37% | 1.57 | 8 |
| 下降趋势 | 3,014 | 53.8% | +1.17% | -5.91% | -4.12% | 1.44 | 12 |
※以上为过去的样本(整体N=7,029),不代表未来的结果。
在方式B中,同样观察到上升趋势的盈利平仓比例和盈利因子最高、下降趋势最低的倾向。MAE中位数和平均亏损在下降趋势中最大(数值更负),在上升趋势中最小。最大亏损也是下降趋势最大(数值更负),单只股票内的最大连败也是下降趋势最多。
至于平均盈亏,区间的数值略高于上升趋势。由于持仓期间固定为10个交易日,下降趋势中既有尚未充分回升就离场的情况,也有较早结束交易的情况,这可能部分反映在了数字上。
方式C(-5%止损+10个交易日离场)
| 环境 | N | 盈利平仓比例 | 平均盈亏 | 平均亏损 | MAE中位数 | 盈利因子 | 最大连败(单只股票内) |
|---|---|---|---|---|---|---|---|
| 上升趋势 | 1,161 | 52.2% | +0.89% | -4.10% | -2.95% | 1.46 | 7 |
| 区间 | 3,027 | 48.1% | +0.51% | -4.36% | -3.54% | 1.23 | 13 |
| 下降趋势 | 3,464 | 42.0% | +0.46% | -4.49% | -4.27% | 1.18 | 15 |
※以上为过去的样本(整体N=7,865),不代表未来的结果。
在方式C中,同样可以看到上升趋势的盈利平仓比例、平均盈亏和盈利因子最高、下降趋势最低的倾向。平均亏损和MAE中位数在下降趋势中最大(数值更负)。单只股票内的最大连败也是下降趋势最多。
此外,在方式C中,最大亏损按趋势划分的顺序是上升趋势最大(数值更负),其次是区间、下降趋势,与其他方式的排列不同。这可能部分是因为设置-5%止损后,下降趋势中的大幅亏损受到了抑制,而在上升趋势中,也出现了因开盘跳空而越过止损水平的情况。
并列解读3种方式
3种方式按趋势划分后,结果均呈现相同的变化规律。也就是说,观察到的结果是:在回测中,上升趋势中RSI跌破30时的盈利平仓比例和盈利因子在各趋势中最高,下降趋势最低。
另一方面,下降趋势的样本数多于上升趋势这一点也不容忽视(3种方式均是如此;在方式B和C中,下降趋势的样本数在3种环境中最多)。这反映出RSI跌破30恰恰在下降趋势中更常出现的结构性倾向。也就是说,“条件容易出现的环境”与“结果较好的环境”并不一致。
MAE中位数在所有环境和方式中均为负值。入场后出现暂时的浮亏本身是无法避免的,因此将这一数字与自己的风险承受能力对照思考很重要。
在自己的图表上判断市场环境的步骤
你可以在ENTRIQ的图表回放中,按照以下步骤练习判断并记录市场环境。
- 显示SMA200:在图表上添加200日简单移动平均线
- 确认价格位置:查看收盘价位于SMA200之上还是之下
- 确认SMA200的斜率:查看当前的SMA200高于还是低于其20个交易日前的数值(也可以在图表上目视确认其是向右上方倾斜还是向右下方倾斜)
- 对环境进行分类:①收盘价高于SMA200且SMA200向上→上升趋势;②收盘价低于SMA200且SMA200向下→下降趋势;③其他情况→区间
- 确认RSI(14)是否跌破30:若条件出现,就把当时的环境记入交易记录
- 用策略标签按环境分别记录:例如分别使用“RSI30_上升”“RSI30_下降”“RSI30_区间”这样的标签,之后就能按趋势汇总自己的记录
本次回测的局限与注意事项
- 幸存者偏差:如前所述,仅以现有S&P500成分股为对象,不包含过去已退市或被剔除出指数的股票
- 依赖SMA200的定义:改变趋势的定义(例如使用SMA50、改变斜率的计算期间等),结果也会改变。本文的定义只是一个例子
- 环境边界附近:在价格穿越SMA200的阶段,或SMA200几乎走平的阶段,上升趋势、下降趋势和区间的分类可能在短期内切换
- 股票和年代的差异:本次回测包含5~56年的长期数据,特定的行情阶段可能影响了结果
- 财报数据仅从2008年起可用:本文按趋势划分的分析未考虑与财报期间的重叠。关于财报前后的影响,请参阅跨财报持仓的回测|用财报标记复盘股价走势
总结
在本次回测(用ENTRIQ对100只股票进行回测,Dataset v2.0)中,观察到RSI跌破30买入按趋势划分的以下倾向。
- 上升趋势中:3种方式(A/B/C)的盈利平仓比例和盈利因子均在各趋势中最高,MAE中位数和平均亏损最小(更接近零)
- 下降趋势中:同样在3种方式中,盈利平仓比例和盈利因子最低,平均亏损和MAE中位数最大(数值更负)。但其样本数多于上升趋势,RSI跌破30恰恰在这种环境中更常出现
- 区间:盈利平仓比例和盈利因子有位于上升趋势与下降趋势之间的倾向
这些观察结果不能直接套用于未来,但记录“入场条件是在哪种环境中出现的”,是复盘自己交易时有效的视角之一。请在ENTRIQ的图表回放中一边显示SMA200一边练习,亲手确认按环境划分的倾向。
常见问题(FAQ)
Q. 用SMA200以外的方法判断趋势,也会出现同样的倾向吗?
A. 本文报告的是用SMA200及其在20个交易日内的变化来定义市场环境后观察到的结果。使用SMA50或SMA100等其他移动平均线,或改变斜率的计算期间时,被分类的行情阶段会改变,因此结果也会改变。
Q. 在下降趋势中,是不是最好不要使用RSI跌破30?
A. 回测中观察到下降趋势中的结果低于上升趋势的倾向。但这是过去的观察结果,无法得知未来是否会延续相同的倾向。此外,在下降趋势中也有许多以盈利平仓的交易。如何解读,请对照自己的规则进行判断。
Q. 上升趋势是在哪个时间点判断的?
A. 本次回测以“RSI向下跌破30当日”的收盘价与SMA200的关系来判断。判断的不是在下一个交易日入场时的环境,而是条件成立当日收盘时的环境。
Q. 3种离场方式的整体比较在哪里可以看到?
A. 在RSI跌破30买入的回测|3种离场方式与风险整理中有详细说明。
Q. 如何在自己的交易中用标签管理市场环境?
A. 使用ENTRIQ的策略标签功能,可以像“RSI30_上升”“RSI30_下降”这样按环境分别记录交易。详情请参阅交易记录怎么做|用策略标签坚持复盘。
相关文章
本文旨在对历史数据进行验证和整理,仅供参考,并不推荐任何特定交易。文中数值均为过去的样本,不代表未来的结果。投资决策请自行承担责任。
用历史 K线验证自己的手法
本文的验证,你的手法也能重现。在历史 K线上,主流打法是否真的有效。
- ✓ 用历史 K线回放
- ✓ 用 AI 分析获得反馈
- ✓ 用统计验证手法
无需注册或绑定银行卡,在浏览器中即可试用。