一些困惑

  • 高频交易的回测指标应当如何使用数据?(分钟级?交易级?还是日频)
    • 首先从分钟级数据根据我的策略映射成一个交易维度的数据(得到交易表),然后根据交易表我可以获得如胜率、盈亏比等的微观层面的回测结果,然后我再把交易维度数据整合成日频的数据,然后根据日频的数据再获得一些回测结果,是这个意思吗?
  • 如果交易信号有重合(即加仓)应当如何处理?需要设置先进先出、后进先出等原则
  • 如果出现跨日交易如何应对,还是说就认为避免这种现象的发生
🎯
对511180,511380,000001的一分钟数据进行T0交易回测:
  1. 对数据进行基本的统计分析;
2)描述T0交易策略,和基本的交易评价指标(例如盈亏比、胜率、收益率、最大回撤、夏普比等)
3)搭建回测体系,说明不同的资金策略、交易策略对交易结果的影响;
4)训练交易策略参数,观察在一个品种上得到的参数,在另外一个品种上是否一样有效。

1)基本统计分析

  • 描述性统计分析
notion image

平稳性分析

  • ADF-价格检验
    • 文件 1 (511180.SH):未通过(adf_price_p = 0.413759),价格序列存在非平稳性。
    • 文件 2 (511380.SH):同样未通过(adf_price_p = 0.308768),价格序列呈现非平稳特征。
    • 分析:两者价格序列都显示出一定的非平稳性,意味着这些市场可能存在较强的趋势成分,而这通常不适合直接应用网格策略。
  • ADF-收益率检验
    • 文件 1 (511180.SH):收益率序列平稳(adf_ret_p = 0.0),具有均值回归特性。
    • 文件 2 (511380.SH):收益率序列也平稳(adf_ret_p = 0.0),同样显示出均值回归的特性。
    • 分析:两者的收益率序列都通过了平稳性检验,这说明在收益率方面,市场表现出均值回归的特征。

波动性分析

  • 滚动波动性均值
    • 文件 1 (511180.SH):波动性较弱(roll_vol_mean = 0.000527)。
    • 文件 2 (511380.SH):同样波动性较弱(roll_vol_mean = 0.000469)。
    • 分析:两者的波动性都偏弱,说明市场波动不大,这可能导致网格策略在这种环境下表现不佳。网格策略在低波动性环境下可能会受到限制,因为它依赖于较大的价格波动来实现盈利。

Hurst指数

  • 文件 1 (511180.SH):Hurst指数为0.41578,表示市场呈现反转特性(低于0.5,支持均值回归)。
  • 文件 2 (511380.SH):Hurst指数为0.377744,显示出相似的反转特性(同样低于0.5,支持均值回归)。
    • 分析:两者的Hurst指数都小于0.5,表明市场具有较强的反转特性,符合均值回归的特点。虽然这支持均值回归策略,但市场的波动性较弱,可能导致网格策略的效果有限。

反转密度分析

  • 文件 1 (511180.SH):反转密度较好(turn_density_mean = 0.085325)。
  • 文件 2 (511380.SH):反转密度同样较好(turn_density_mean = 0.084648)。
    • 分析:两者的反转密度较高,意味着市场存在较多的反转机会,进一步支持均值回归策略的有效性。

ATR归一化均值

  • 文件 1 (511180.SH):ATR归一化均值较低(atr_norm_mean = 0.000434)。
  • 文件 2 (511380.SH):ATR归一化均值相似(atr_norm_mean = 0.000338)。
    • 分析:ATR值较低,表明市场波动性有限,这可能使得网格策略面临挑战,因为网格策略通常依赖较大的波动来获取利润。
🎯
综合来看,无论是 511180.SH 还是 511380.SH,波动性较弱且价格趋势较强,均不适合直接使用静态网格策略。低波动性环境可能导致网格策略的效果不佳。可以考虑使用趋势跟踪策略,该策略能够更好地适应波动性较弱、存在长期趋势的市场。也可以通过去趋势处理或增强波动性来使网格策略变得更加适用。

2)策略描述

尝试了两种策略(默认参数),网格策略和 MACD 单因子驱动的策略:

1️⃣网格交易策略

网格策略是一种典型的均值回归类策略,其核心思想是——在价格上下波动的过程中,通过分层挂单来低买高卖,从而在震荡行情中获取价差收益。
在具体实现中,网格策略会根据历史波动区间将价格空间划分为若干网格,当价格下跌触及下方网格线时自动买入,当价格上涨触及上方网格线时自动卖出。通过这种方式,策略无需判断市场方向,只要标的在区间内震荡,就有可能实现稳定盈利。
然而,网格策略依赖于两个关键条件:
  1. 价格波动充足但总体无明显趋势(即具有较强的均值回归特性);
  1. 市场具备较高的反转频率,以保证挂单能被不断触发。
若标的长期单边上涨或下跌、波动性较低,则策略会积压仓位或缺乏成交,从而导致亏损或收益停滞。
metric
511180.SH
511380.SH
000001.SH
trades
2449
23096
10374
win_rate
0.194773377
0.345167994
0.214285714
profit_factor
0.676840581
0.19025678
0.051690165
avg_win
849.5393501
22.1136151
24.47379527
avg_loss
-522.8895983
-61.74786573
-129.1284613
avg_pnl
-79.00298898
-32.48608995
-96.21369202
avg_pnl_pct
-0.000158008
-0.000501774
-0.001637609
avg_hold_days
0.062456899
0.084263599
0.071906529
gross_profit
405230.27
176289.7396
54405.24688
gross_loss
-598708.59
-926588.4731
-1052526.088
CAGR
-0.200246746
-0.75706777
-0.338201981
Sharpe
-5.842658393
-15.48771
-4.953750879
Vol
0.038103905
0.090832505
0.08256188
MaxDD
-0.201247721
-0.750094719
-0.998100617
Calmar
-0.995026156
-1.009296228
-0.338845579
Days
245
245
3795
🎯
实证验证了网格策略在当前标的(511180.SH、511380.SH、000001.SH)上均不具备可行性。主要原因可能包括市场整体趋势性较强、波动性不足;策略参数对趋势行情敏感,容易积压仓位;高频震荡不足以支撑网格收益。

2️⃣MACD 驱动的策略

MACD(Moving Average Convergence Divergence,指数平滑异同移动平均线)是一种趋势跟踪型技术指标。它通过两条指数加权移动平均线(EMA)之间的差异来衡量价格动能的变化。
  • 当短期 EMA 上穿长期 EMA 时,视为金叉信号(买入)
  • 当短期 EMA 下穿长期 EMA 时,视为死叉信号(卖出)
在本策略中:
  1. 选取标准参数(12, 26, 9)构造 DIF 与 DEA;
  1. 以 DIF 上穿 DEA 作为开多信号,DIF 下穿 DEA 作为平仓信号;
  1. 不考虑杠杆与交易费用;
  1. 保持单因子驱动,不叠加其他滤波信号(如RSI、ATR等)。
这一策略旨在捕捉单边趋势,与前述网格策略的均值回归逻辑相反。理论上,当市场呈现持续上升或下降的方向性波动时,MACD 策略能较好地跟随趋势并实现正收益。
指标 (Metric)
000001.SH
511180.SH
511380.SH
交易次数 (Trades)
32,724
120
411
胜率 (Win Rate)
0.4487
0.1917
0.2457
盈亏比 (Profit Factor)
1.3739
0.6790
0.8522
平均盈利 (Avg Win)
2036.28
4644.40
2870.70
平均亏损 (Avg Loss)
-1206.29
-2497.10
-1575.08
平均单笔收益 (Avg PnL)
248.66
-420.80
-122.33
平均收益率 (Avg PnL %)
0.00026
-0.00044
-0.00013
平均持仓天数 (Avg Hold Days)
0.1084
0.0532
0.0624
总盈利 (Gross Profit)
2,989,662.75
106,821.3
289,940.4
总亏损 (Gross Loss)
-2,176,142.25
-157,317
-340,217
年化收益率 (CAGR)
0.1569
-0.0578
-0.0567
夏普比率 (Sharpe)
4.0290
-1.4526
-0.8577
年化波动率 (Vol)
0.0363
0.0404
0.0655
最大回撤 (MaxDD)
-0.0505
-0.0668
-0.0957
卡玛比率 (Calmar)
3.1077
-0.8651
-0.5921
回测天数 (Days)
3,795
245
245
🎯
实证结果表明:MACD 单因子策略显著优于网格策略,尤其在趋势性强的股票指数(000001.SH)上能实现稳定超额收益。然而,在低波动、均值回归特征明显的债券 ETF(511180/511380)上,MACD 信号噪声过大,难以形成持续盈利。

3)参数优化

采用参数网格搜索寻找最优参数:
  • 网格策略优化结果
    • 标的
      最优参数组合
      年化收益率
      夏普比
      卡玛比
      盈亏因子
      胜率
      交易数
      000001.SH
      ma=40, atr=40, band=1.5, step=0.24, grids=30, mode=rolling
      9.8%
      1.13
      1.45
      1.42
      0.53
      742
      511180.SH
      ma=60, atr=20, band=1.8, step=0.18, grids=40, mode=daily_close
      3.1%
      0.42
      0.39
      1.12
      0.49
      196
      511380.SH
      ma=90, atr=60, band=1.5, step=0.30, grids=20, mode=rolling
      2.4%
      0.37
      0.32
      1.07
      0.47
      234
    • 结果分析:
        1. 策略属性差异
          1. 网格策略在价格存在区间震荡时表现良好(000001.SH在中性震荡市取得最高夏普1.13),但在低波动债券ETF(511180/511380)上几乎失效。
        1. 参数稳定性有限
          1. 步长倍数(step_atr_mult)与ATR带宽对策略绩效影响最大,过大导致挂单稀疏、收益减少;过小则频繁交易、成本上升。结果可能存在过拟合情况。
        1. 跨品种迁移性弱
          1. 在股票指数上优化得到的最优参数(ma=40, step=0.24)用于债券ETF后,收益率下降约60%,说明网格策略的最优区间依赖于标的波动性结构,迁移性差。

  • MACD单因子策略优化结果
    • 标的
      最优参数组合
      年化收益率
      夏普比
      卡玛比
      盈亏因子
      胜率
      交易数
      000001.SH
      fast=8, slow=26, signal=9
      15.8%
      2.61
      3.12
      1.81
      0.46
      1320
      511180.SH
      fast=12, slow=20, signal=12
      1.2%
      0.18
      0.21
      1.04
      0.44
      380
      511380.SH
      fast=8, slow=26, signal=9
      0.8%
      0.13
      0.17
      1.02
      0.41
      412
    • 结果分析:
        1. 趋势策略表现突出
          1. MACD策略在趋势性明显的股票指数上表现显著优于网格策略,000001.SH的夏普比达到2.6、Calmar超3,风险调整后收益优异。
        1. 债券类ETF无趋势
          1. 由于债券ETF波动极低,MACD信号频繁假突破,交易次数虽多但整体收益接近零。
        1. 参数稳健性强
          1. fast=8, slow=26, signal=9 的经典配置在不同标的上均保持相近的盈亏因子与风险结构,表明MACD参数具备一定的跨品种稳定性

代码及计算公式

微观指标(交易层面)

指标
含义
计算原则 / 公式
Trades
总交易次数
回测期间累计交易数量(含开平仓)
Win Rate(胜率)
盈利交易占比
Avg Win / Avg Loss
单笔平均盈利 / 亏损金额
计算所有盈利/亏损交易均值
Avg PnL
每笔平均盈亏(绝对值)
Avg PnL %
单笔平均收益率(相对收益)
Avg Hold Days
单笔平均持仓周期
交易持有时间的均值
PnL Distribution
收益分布偏态与厚尾特征
可辅助判断风险偏好与极端亏损概率

宏观指标(日频)

指标
含义
计算原则 / 公式
CAGR(复合年化收益率)
衡量策略在回测期内的年化收益速度
,其中 ( ) 为年数
Sharpe Ratio(夏普比率)
单位风险下的超额收益能力
,常取
Vol(波动率)
策略收益的标准差,反映风险水平
(日频数据年化)
Max Drawdown(最大回撤)
历史最大净值回撤幅度
Calmar Ratio(卡玛比率)
每单位最大回撤带来的年化收益
Profit Factor(盈亏因子)
总盈利与总亏损之比,衡量整体盈亏结构
Gross Profit / Gross Loss
累计盈利与累计亏损
所有正收益/负收益交易的求和结果
Days
回测期总天数
Loading...