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
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. 入场信号计算链条
MAD+Huber清洗
映射 GARCH/均线窗口
取得 mu/rho/sigma
取得 TSI 区间
连续 10 日确认状态
生成入场信号
步骤 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/sigma。rho_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 > 0;condition_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. 任意交易日逐步审计
选择日期后,下面每一行都显示该步骤的输入、代入公式和输出。日期必须在模型计算明细范围内。
步骤 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 个交易日。