沪深300ETF 时序 CTA 入场信号逐步计算审计

510300.XSHG|RQData 前复权日频 + 1 分钟执行数据|样本 2020-01-02 至 2026-05-29

1. 结果与数据审计入口

本页把模型点估计、bootstrap 推断和信号过滤严格分开。mu/rho/sigma/rho_t 是原窗口 AR(1)-GARCH 拟合,tsi_low/tsi_high 是1000次残差抽样的分位数。

年化收益 最大回撤 卡玛比率 交易次数 胜率 盈亏比
策略
composite -2.24% -27.41% -0.08 64 59.38% 0.66
trend_only 4.60% -32.19% 0.14 39 35.90% 2.54
range_only -2.28% -31.46% -0.07 68 61.76% 0.60
no_atr_stop -4.25% -34.52% -0.12 64 60.94% 0.52
buy_hold 4.73% -42.16% 0.11 0 - -
指标 研报 当前
年化收益 14.29% -2.24%
最大回撤 -12.75% -27.41%
卡玛比率 1.12 -0.08
交易次数 44 64
胜率 70.45% 59.38%
盈亏比 1.64 0.66

下载全部逐日计算明细 CSV 完整 Bootstrap 样本为本地大文件 全部模型窗口输入为本地大文件 下载完整GARCH重拟合对账 CSV 下载运行参数 CSV 下载状态校准网格 CSV

审计边界:当前日常回测采用标准化 GARCH 残差有放回抽样、按 GARCH 方差方程递推路径,再向量化重估 AR 参数。关键日期另做1000次完整非线性 GARCH 重拟合;完整重拟合在边界日期会改变 TSI 区间,但个别路径会收敛到近零方差边界,不能不加诊断地用于全样本。
状态着色与策略净值
状态着色与策略净值
策略对比
策略对比

2. 分层修订与研报差异

以下阶段严格按“预热 → 模型与Bootstrap → 入场与再入场”的顺序单独修改。穿越和再入场锁均经过实测,但因同时恶化收益、回撤或交易次数而没有作为最终默认;这避免为了贴单个目标值隐式调参。

阶段 策略 年化 回撤 卡玛 交易次数 胜率
仅加入预热 复合 -4.39% -40.08% -0.11 67 59.70%
仅加入预热 恒趋势 4.60% -32.19% 0.14 39 35.90%
仅加入预热 恒震荡 -2.28% -31.46% -0.07 68 61.76%
窗口内清洗+GARCH残差Bootstrap 复合 -1.86% -32.74% -0.06 63 55.56%
窗口内清洗+GARCH残差Bootstrap 恒趋势 4.60% -32.19% 0.14 39 35.90%
窗口内清洗+GARCH残差Bootstrap 恒震荡 -2.28% -31.46% -0.07 68 61.76%
均线穿越事件 复合 -1.86% -32.74% -0.06 63 55.56%
均线穿越事件 恒趋势 1.38% -48.01% 0.03 33 36.36%
均线穿越事件 恒震荡 -2.28% -31.46% -0.07 68 61.76%
价格MAD+向下取整+水平入场 复合 -2.24% -27.41% -0.08 64 59.38%
价格MAD+向下取整+水平入场 恒趋势 4.60% -32.19% 0.14 39 35.90%
价格MAD+向下取整+水平入场 恒震荡 -2.28% -31.46% -0.07 68 61.76%
止损后再入场复位 复合 -2.24% -27.41% -0.08 64 59.38%
止损后再入场复位 恒趋势 -0.21% -42.37% -0.00 41 29.27%
止损后再入场复位 恒震荡 -2.28% -31.46% -0.07 68 61.76%
最终公开口径 复合 -2.24% -27.41% -0.08 64 59.38%
最终公开口径 恒趋势 4.60% -32.19% 0.14 39 35.90%
最终公开口径 恒震荡 -2.28% -31.46% -0.07 68 61.76%

当前状态过滤通过率

过滤条件 通过日数 占全部交易日
TSI置信区间同侧 103 6.65%
TSI综合条件 658 42.45%
rho>0 659 42.52%
风险条件 1517 97.87%
最终趋势状态 159 10.26%

当前最终状态仍有约九成交易日被判为震荡,研报图像近似提取约一半为趋势。修订后的 TSI 在研报上涨区间方向已基本一致,剩余主要差异集中在 rho>0 的连续性。

直接使用研报图的状态区间作为诊断 oracle 时,当前订单引擎可得到约10%年化和46–48笔交易,说明状态识别解释了大部分差距,但仍不能完全解释研报14.29%的收益和-12.75%的回撤。

3. 入场信号计算链条

步骤 1自适应窗口价格
MAD+Huber清洗
步骤 230 日 ER
映射 GARCH/均线窗口
步骤 3滚动 AR(1)-GARCH
取得 mu/rho/sigma
步骤 41000 次 bootstrap
取得 TSI 区间
步骤 5三项条件过滤
连续 10 日确认状态
步骤 6趋势均线或 RSI
生成入场信号

步骤 1:窗口内价格离群检测与 Huber 替换

modified_z[i] = 0.6745 * (close[i] - median(window_close)) / MAD(window_close)
每个交易日均在当日自适应 GARCH 价格窗口内重新计算。若 |modified_z| > 3.5,用该窗口 Huber 价格趋势预测值替换离群价,再从清洗后的连续价格计算建模收益。

步骤 2:ER 与自适应窗口

direction = |close[t] - close[t-30]|path = Σ|close[i]-close[i-1]|ER = clip(direction/path, 0, 1)
garch_window = round(250 - ER * (250-21))ma_window = round(20 - ER * (20-5))

步骤 3:原始 AR-GARCH 点估计

r[t] = mu + rho*r[t-1] + epsilon[t]h[t] = omega + alpha*epsilon[t-1]^2 + beta*h[t-1]sigma[t] = sqrt(h[t])TSI[t] = mu/sigmarho_t = rho / SE(rho),点估计来自当前滚动窗口。

步骤 4:1000 次 bootstrap 推断

将原模型残差除以条件波动率得到标准化冲击,从冲击序列有放回抽样;随后按 h[t]=omega+alpha*epsilon[t-1]^2+beta*h[t-1] 递推每条路径,并重新估计 mu_bootstrap/rho_bootstrap/sigma_bootstrap。第2.5%和97.5%分位数写入 TSI 区间,全部抽样保存在 bootstrap_samples.csv

步骤 5:趋势过滤与 10 日确认

condition_tsi = (TSI CI 完全同侧) OR (|TSI| 历史分位数 > 50%)condition_rho = rho > 0condition_risk = (rho_t > 1.5) OR (sigma 历史分位数 < 95%)。三者同时满足后,按 TSI 符号累计连续天数;达到 10 日才从震荡切换为 trend_up/trend_down

步骤 6:入场信号

趋势状态:close > adaptive_ma 且 TSI 为正开多,close < adaptive_ma 且 TSI 为负开空。震荡状态:RSI(14) < 30 开多,RSI(14) > 70 开空。entry_signal 在 t 日收盘确认,统一在 t+1 日开盘成交。

4. 任意交易日逐步审计

选择日期后,下面每一行都显示该步骤的输入、代入公式和输出。日期必须在模型计算明细范围内。

步骤 1|价格、收益、MAD、Huber

步骤 2|ER、窗口、均线、RSI、ATR

步骤 3|GARCH 原始拟合

步骤 4|Bootstrap TSI 推断

步骤 5|状态条件与连续确认

步骤 6|最终入场信号

5. 所选日期的 GARCH 输入窗口

页面表格显示选定范围内的逐日审计快照。由于每个信号日都会独立执行窗口内 Huber 清洗,真正送入该日模型的全部逐点价格、预测值、z-score、替换标志和收益请查看 全部模型窗口输入为本地大文件;窗口不足时不会产生模型或信号。

6. 全部逐日计算明细

页面内置全部交易日记录,不是只保留信号日。为保持浏览器流畅,表格每页显示 50 行;CSV 链接包含相同数据的完整列。

7. 字段与公式字典

字段 计算公式或定义 在策略中的作用
close / open / high / low RQData 前复权日频 OHLC 原始行情输入,信号使用收盘价,成交使用下一交易日开盘价
raw_return close[t] / close[t-1] - 1 原始价格收益,仅用于审计
mad_return_median median(price in current adaptive window) 当前自适应窗口价格中位数
mad_return_mad median(abs(price - median)) 窗口价格 MAD 尺度
modified_zscore 0.6745 * (price - median) / MAD 绝对值超过配置阈值才标记价格离群
model_close 非离群日为原始收盘;离群日为 Huber 预测值 只供 AR-GARCH 状态模型使用
er_direction abs(close[t] - close[t-30]) Kaufman ER 分子
er_path_length sum(abs(close[i] - close[i-1])) Kaufman ER 分母
er er_direction / er_path_length 截断到 0 至 1
garch_window round(250 - ER * 229) 限制在 21 至 250 日
ma_window round(20 - ER * 15) 限制在 5 至 20 日
adaptive_ma sum(close[t-window+1:t]) / window 趋势入场均线
rsi_gain_sum / rsi_loss_sum 14 日正收益/负收益绝对值滚动和 RSI 的两个分量
rsi 100 * gain_sum / (gain_sum + loss_sum) RSI<30 做多,RSI>70 做空
true_range max(high-low, |high-prev_close|, |low-prev_close|) ATR 原始 TR
tr_clipped clip(TR, rolling 5% quantile, rolling 95% quantile) 研报的截尾 TR
atr mean(tr_clipped over 14 days) 趋势单止损使用前一日 ATR
mu / rho / sigma AR(1)-GARCH(1,1) 原始滚动拟合点估计 不是 bootstrap 的最终点估计
rho_t rho / standard_error(rho) 趋势过滤阈值 > 1.5
tsi mu / sigma TSI 点估计
tsi_low / tsi_high bootstrap TSI 的 2.5% / 97.5% 分位数 1000 次有放回抽样的置信区间
condition_tsi CI 同侧于零 或 |TSI| 历史分位数 > 50% 趋势条件 1
condition_rho rho > 0 趋势条件 2
condition_risk rho_t > 1.5 或 sigma 历史分位数 < 95% 趋势条件 3
trend_up_run / trend_down_run raw_trend_up/down 连续计数 连续 10 日才确认方向
trend_entry / range_entry 趋势均线突破 / RSI 反转 最终由当前 state 选择 entry_signal

本次运行固定参数

parameter value
code 510300.XSHG
warmup_start_date 20180101
start_date 20200101
end_date 20260531
minute_frequency 1min
er_window 30
garch_window_min 21
garch_window_max 250
ma_window_min 5
ma_window_max 20
rsi_window 14
atr_window 14
atr_multiplier 4.5
bootstrap_samples 1000
bootstrap_confidence 0.95
bootstrap_method garch_residual
rolling_window_cleaning True
outlier_zscore_basis price
adaptive_window_rounding round
trend_entry_mode level
require_signal_reset_after_stop False
confirmation_days 10
rho_t_threshold 1.5
sigma_percentile_threshold 0.95
mad_threshold 3.5
huber_epsilon 1.35
huber_window 30
transaction_fee 0.001
slippage 0.001
seed 20260721

8. 复合策略逐笔交易对账

入场状态、信号日、成交日、止损触发分钟、止损价和退出原因由订单引擎写入下表;分钟止损细节以 CSV 为准。

entry_date exit_date entry_regime side entry_price exit_price net_return reason trigger_time stop_level
2020-01-03 2020-01-23 trend long 3.714511 3.577449 -0.037862 intraday_atr_stop 2020-01-23 13:09:00 3.581030
2020-02-24 2020-03-02 range short 3.677719 3.528625 0.040045 rsi_logic_exit 2020-03-02 09:31:00 NaN
2020-03-23 2020-04-07 range long 3.163961 3.353943 0.058986 rsi_logic_exit 2020-04-07 09:31:00 NaN
2020-04-14 2020-04-28 range short 3.353943 3.414211 -0.019244 rsi_logic_exit 2020-04-28 09:31:00 NaN
2020-05-07 2020-05-25 range short 3.494802 3.407104 0.023867 rsi_logic_exit 2020-05-25 09:31:00 NaN
2020-06-12 2020-07-27 range short 3.534062 4.096192 -0.148372 rsi_logic_exit 2020-07-27 09:31:00 NaN
2020-08-18 2020-08-20 range short 4.354741 4.263359 0.020154 rsi_logic_exit 2020-08-20 09:31:00 NaN
2020-09-18 2020-09-21 range long 4.196292 4.295001 0.022499 rsi_logic_exit 2020-09-21 09:31:00 NaN
2020-10-23 2020-10-27 range short 4.310086 4.233830 0.016871 rsi_logic_exit 2020-10-27 09:31:00 NaN
2020-11-05 2021-02-24 trend long 4.397393 4.911805 0.115864 intraday_atr_stop 2021-02-24 13:56:00 4.916722
2021-03-09 2021-03-19 range long 4.597593 4.583912 -0.003973 rsi_logic_exit 2021-03-19 09:31:00 NaN
2021-03-24 2021-03-29 range long 4.517012 4.559536 0.008405 rsi_logic_exit 2021-03-29 09:31:00 NaN
2021-05-27 2021-06-09 range short 4.808087 4.738934 0.013235 rsi_logic_exit 2021-06-09 09:31:00 NaN
2021-06-16 2021-06-25 range long 4.686382 4.693302 0.000475 rsi_logic_exit 2021-06-25 09:31:00 NaN
2021-07-28 2021-08-04 range long 4.349545 4.504391 0.034565 rsi_logic_exit 2021-08-04 09:31:00 NaN
2021-12-09 2021-12-21 range short 4.589306 4.485381 0.021385 rsi_logic_exit 2021-12-21 09:31:00 NaN
2021-12-30 2022-01-11 range long 4.491687 4.439356 -0.012639 rsi_logic_exit 2022-01-11 09:31:00 NaN
2022-02-07 2022-02-10 range long 4.253649 4.268128 0.002400 rsi_logic_exit 2022-02-10 09:31:00 NaN
2022-02-15 2022-02-22 range long 4.182879 4.213083 0.006214 rsi_logic_exit 2022-02-22 09:31:00 NaN
2022-03-08 2022-03-28 range long 3.997994 3.794502 -0.051848 rsi_logic_exit 2022-03-28 09:31:00 NaN
2022-04-07 2022-04-08 range short 3.889007 3.870166 0.003819 rsi_logic_exit 2022-04-08 09:31:00 NaN
2022-04-26 2022-05-05 range long 3.509606 3.653143 0.039857 rsi_logic_exit 2022-05-05 09:31:00 NaN
2022-06-07 2022-07-12 range short 3.819277 4.030226 -0.056368 rsi_logic_exit 2022-07-12 09:31:00 NaN
2022-07-21 2022-08-12 range long 3.968565 3.902793 -0.017556 rsi_logic_exit 2022-08-12 09:31:00 NaN
2022-09-02 2022-09-14 range long 3.779976 3.794502 0.002839 rsi_logic_exit 2022-09-14 09:31:00 NaN
2022-09-19 2022-10-17 range long 3.673370 3.575121 -0.027719 rsi_logic_exit 2022-10-17 09:31:00 NaN
2022-10-25 2022-11-03 range long 3.395592 3.411785 0.003764 rsi_logic_exit 2022-11-03 09:31:00 NaN
2022-11-18 2022-11-23 range short 3.563233 3.513310 0.013114 rsi_logic_exit 2022-11-23 09:31:00 NaN
2022-12-12 2022-12-20 range short 3.712784 3.628225 0.021960 rsi_logic_exit 2022-12-20 09:31:00 NaN
2022-12-27 2023-01-06 range long 3.623620 3.698997 0.019781 rsi_logic_exit 2023-01-06 09:31:00 NaN
2023-01-11 2023-02-07 range short 3.742154 3.816913 -0.021944 rsi_logic_exit 2023-02-07 09:31:00 NaN
2023-03-13 2023-03-27 range long 3.700096 3.752444 0.013133 rsi_logic_exit 2023-03-27 09:31:00 NaN
2023-04-07 2023-04-14 range short 3.811085 3.806603 0.000022 rsi_logic_exit 2023-04-14 09:31:00 NaN
2023-04-18 2023-04-24 range short 3.863333 3.763660 0.025036 rsi_logic_exit 2023-04-24 09:31:00 NaN
2023-05-12 2023-05-17 range long 3.719716 3.702094 -0.005733 rsi_logic_exit 2023-05-17 09:31:00 NaN
2023-05-25 2023-06-13 range long 3.594591 3.579916 -0.005078 rsi_logic_exit 2023-06-13 09:31:00 NaN
2023-06-19 2023-06-26 range short 3.709487 3.611408 0.025896 rsi_logic_exit 2023-06-26 09:31:00 NaN
2023-07-31 2023-08-14 range short 3.822274 3.660857 0.042044 rsi_logic_exit 2023-08-14 09:31:00 NaN
2023-08-18 2023-09-04 range long 3.646843 3.626570 -0.006554 rsi_logic_exit 2023-09-04 09:31:00 NaN
2023-10-23 2023-10-31 range long 3.333030 3.398099 0.018503 rsi_logic_exit 2023-10-31 09:31:00 NaN
2023-11-13 2023-11-17 range short 3.411185 3.390887 0.004825 rsi_logic_exit 2023-11-17 09:31:00 NaN
2023-11-27 2023-12-19 range long 3.366663 3.166930 -0.060267 state_invalidation_exit 2023-12-19 09:31:00 NaN
2023-12-21 2024-02-19 trend short 3.127769 3.230438 -0.038346 intraday_atr_stop 2024-02-19 13:35:00 3.227211
2024-05-08 2024-05-24 range short 3.469028 3.465462 -0.000429 rsi_logic_exit 2024-05-24 09:31:00 NaN
2024-06-11 2024-07-12 range long 3.403400 3.343253 -0.018655 rsi_logic_exit 2024-07-12 09:31:00 NaN
2024-08-08 2024-08-19 range long 3.240237 3.246151 0.000823 rsi_logic_exit 2024-08-19 09:31:00 NaN
2024-08-21 2024-08-26 range long 3.235432 3.232864 -0.001793 rsi_logic_exit 2024-08-26 09:31:00 NaN
2024-09-09 2024-09-25 range long 3.141038 3.322374 0.056674 rsi_logic_exit 2024-09-25 09:31:00 NaN
2024-09-27 2024-10-25 range short 3.523273 3.828024 -0.105553 rsi_logic_exit 2024-10-25 09:31:00 NaN
2024-11-06 2024-11-13 range short 3.939357 3.959656 -0.008817 rsi_logic_exit 2024-11-13 09:31:00 NaN
2024-11-28 2024-12-06 range long 3.801297 3.815581 0.002754 rsi_logic_exit 2024-12-06 09:31:00 NaN
2024-12-13 2024-12-17 range short 3.896500 3.809906 0.021392 rsi_logic_exit 2024-12-17 09:31:00 NaN
2025-01-03 2025-01-23 range long 3.729726 3.727968 -0.001471 rsi_logic_exit 2025-01-23 09:31:00 NaN
2025-02-10 2025-03-03 range short 3.798498 3.811808 -0.005233 rsi_logic_exit 2025-03-03 09:31:00 NaN
2025-04-07 2025-04-25 range long 3.625722 3.701295 0.019823 rsi_logic_exit 2025-04-25 09:31:00 NaN
2025-04-29 2025-05-28 range short 3.688907 3.765962 -0.022172 rsi_logic_exit 2025-05-28 09:31:00 NaN
2025-07-04 2025-08-04 range short 3.905591 4.021718 -0.030620 rsi_logic_exit 2025-08-04 09:31:00 NaN
2025-08-21 2025-09-15 range short 4.253143 4.509505 -0.061175 rsi_logic_exit 2025-09-15 09:31:00 NaN
2025-09-25 2025-10-13 range short 4.540455 4.486082 0.009611 rsi_logic_exit 2025-10-13 09:31:00 NaN
2026-01-07 2026-01-20 range short 4.790705 4.739735 0.009408 rsi_logic_exit 2026-01-20 09:31:00 NaN
2026-02-03 2026-02-05 range long 4.644640 4.675320 0.005599 rsi_logic_exit 2026-02-05 09:31:00 NaN
2026-03-24 2026-03-26 range long 4.467463 4.531464 0.013312 rsi_logic_exit 2026-03-26 09:31:00 NaN
2026-04-01 2026-04-09 range long 4.524520 4.568427 0.008695 rsi_logic_exit 2026-04-09 09:31:00 NaN
2026-04-17 2026-05-18 range short 4.732263 4.859855 -0.028706 rsi_logic_exit 2026-05-18 09:31:00 NaN

已导出 1,550,000 条抽样记录,覆盖 1,550 个交易日。