2026-04-04.md 37 KB

2026-04-04

  • 用户请求:分析 dragon/v2 目录下文件,总结交易数据。
  • 目录内实际只有一个 Excel 文件:龙泉回测20260109.data.xlsx
  • 工作簿包含两个 sheet:
  • 龙泉:交易节点、阶段估值、年度收益汇总
  • 焚诀(规则):策略规则文字说明
  • 关键统计结论:
  • 初始资金 55,450
  • 2025-12-31 已实现资金 910,785.96
  • 2016-2025 累计收益约 +1542.54%,资金约 16.43x
  • 对应 CAGR 约 32.30%
  • 用户确认表内 21 个未重新开仓就再次出现的卖点只是看空信号标记,不是真实交易卖点
  • 另有 1 个持仓中再次买入记录,当前先归类为持仓中辅助看多信号
  • 已输出 true_trade_events.csvtrue_trades.csvauxiliary_signals.csvtrade_split_summary.md
  • 按真实交易口径,可配对 105 笔完整交易,胜率约 44.8%,均值收益约 +3.15%
  • 后续分析结论:
  • 短持有交易(0-10 天)整体显著亏损,11 天以上才开始明显转正
  • KDJ/QL双金叉刀口舔血2、带明确信号标签的买点质量明显高于未标注买点
  • 空仓后的重复卖点看空标记有一定信息量,到下一次真实买点前平均还能多跌约 4.1%,但只有约 60% 有效,更适合做仓位/等待过滤,不适合作为硬性 veto
  • 用户补充确认:
  • C1C4 为同一指标的不同名称
  • QL凤凰线B/S 是上穿/下穿的计算结果
  • 本轮重构只针对 399673
  • 持仓中再次出现的 BUY 视为辅助看多信号
  • 已完成第一阶段代码实现并生成:
  • dragon_workbook.py
  • dragon_indicators.py
  • dragon_state_machine.py
  • dragon_validate.py
  • dragon_indicator_snapshot.csv
  • dragon_workbook_layers.csv
  • dragon_signal_alignment.csv
  • dragon_validation.md
  • 当前验证结果:
  • 明确标记口径下,KDJ 对齐 197/197 的买点、196/197 的死叉;唯一死叉错位日为 2018-05-23
  • QLB/S 标记对齐 112/112
  • 已实现 dragon_strategy.pydragon_backtest.py,完成第一版可执行规则树与基线回测
  • 当前基线贴合度:
  • 真实买点:工作簿 106,策略 97,重合 78
  • 真实卖点:工作簿 105,策略 96,重合 64
  • 辅助买点:工作簿 1,策略 48,重合 0
  • 辅助卖点:工作簿 21,策略 195,重合 11
  • 当前基线交易统计:96 笔,胜率约 42.71%,平均收益约 +2.23%,中位数约 -0.61%
  • 当前最明显的问题:
  • 买入规则过度偏向 glued_buy,共 77
  • 卖出规则过度偏向 knife_take_profit_2_glued,共 70
  • 说明 见好就收1/2、高位大行情退出、预警减仓点、股灾兜底等高位退出规则仍未充分编码
  • 后续推进:
  • 已补入 crash_protection_exit2025-10-14 已成功命中真实卖点
  • 已生成 dragon_event_gaps.csvdragon_event_gaps.md,用于系统化分析工作簿未命中/额外命中事件
  • 当前关键偏差集中在:
  • 2019-03-25 预警减仓点
  • 2020-03-09 / 2020-07-24 / 2020-08-07 的大行情高位退出
  • 2021-06-16 / 2021-07-16 的“大行情第一次不卖、第二次确认再卖”逻辑
  • 2022-07-08 / 2022-07-11 的预警减仓与正式卖点拆分

  • Later refinement on dragon_strategy.py:

  • added explicit high-regime exit handling before generic glued exits

  • changed B1 negative count from daily accumulation to sell-signal-node accumulation

  • blocked premature ql-only high-zone exits such as 2021-06-03

  • recovered workbook-style key events: 2019-03-25, 2020-03-09, 2020-07-24, 2021-06-16, 2021-06-21, 2021-07-16, 2022-07-08, 2022-07-11, 2022-07-15

  • current fit after rerun:

  • real BUY overlap 78/106

  • real SELL overlap 70/105

  • aux BUY overlap 0/1

  • aux SELL overlap 15/21

  • strategy trades 97, win rate 44.33%, avg return 2.42%, median return -0.59%

  • Later refinements after more rule work:

  • added ql_high_zone_take_profit / ql_mid_zone_take_profit

  • added deep_oversold_rebound_buy and oversold_recovery_buy

  • added super_hot_trend_hold to preserve 2025-10-14 crash-protection exit

  • latest verified fit:

  • real BUY overlap 96/106

  • real SELL overlap 88/105

  • missing real BUY down to 10

  • missing real SELL down to 17

  • strategy trades 118, win rate 44.07%, avg return 2.04%, median return -0.61%

  • important recovered dates in this stage:

  • buys: 2022-02-09, 2022-02-15, 2022-03-11, 2022-03-16, 2022-04-27, 2022-09-26, 2022-11-01, 2023-06-12

  • sells: 2020-05-22, 2021-11-18, 2024-03-22, 2022-02-11, 2022-02-22, 2022-03-15, 2022-03-25, 2022-05-24, 2022-09-30, 2022-11-10, 2023-06-21, 2025-10-14

  • Final edge-pattern refinements in this session:

  • fixed same-bar buy/sell execution bug in run()

  • added oversold_reversal_after_ql_buy

  • added oversold_rebound_take_profit

  • added predictive_b1_break_exit and predictive_error_reentry_buy

  • latest verified fit:

  • real BUY overlap 98/106

  • real SELL overlap 91/105

  • missing real BUY down to 8

  • missing real SELL down to 14

  • remaining misses are concentrated in early 2016-2019 samples

  • recovered late-sample dates:

  • 2023-08-28, 2023-09-07, 2023-10-12, 2024-11-28, 2024-11-29

  • Final pass today closed all remaining real-trade gaps in dragon/v2.

  • Root causes were three overly broad ql-only exit paths and one non-standard post-washout reentry day.

  • Implemented:

  • narrow low_zone_wait_kdj_confirmation to 14<=c1<30

  • add glued_mid_zone_wait_kdj_confirmation

  • add oversold_low_zone_wait_kdj_confirmation

  • add post_washout_kdj_reentry_buy

  • allow _buy_decision() evaluation while flat even on non-buy-signal days, so workbook-style special reentry can be captured

  • final verified fit after serial rerun:

  • real BUY overlap 106/106

  • real SELL overlap 105/105

  • aux BUY overlap 1/1

  • aux SELL overlap 15/21

  • strategy trades 130, win rate 42.31%, avg return 1.84%, median return -0.77%

  • Later quality optimization on the same day:

  • added buy_block_glued_high_weak_rebound with c1 > 68 and b1 < -0.08 to cut false glued entries in high weak rebound states

  • compressed flat-state auxiliary sell output via _should_emit_aux_sell()

  • aux sell now only emits for:

  • repeated bearish confirmation within 10 days after a real sell

  • or high-zone renewed weakness (c1 > 80)

  • or kdj_sell with c1 > 60 and b1 < -0.05

  • corrected dragon_backtest.py to trim strategy evaluation to workbook min/max dates, not just min date

  • latest verified fit after these changes:

  • real BUY overlap 106/106

  • real SELL overlap 105/105

  • extra real BUY 14

  • extra real SELL 14

  • aux BUY overlap 1/1

  • aux SELL overlap 18/21

  • strategy aux SELL 94 vs prior 181

  • strategy trades 120, win rate 44.17%, avg return 2.10%, median return -0.59%

  • Continued late-session optimization cut remaining extra real trades from 14+14 down to 5+5 without breaking full real-trade alignment.

  • Current verified fit:

  • real BUY overlap 106/106

  • real SELL overlap 105/105

  • extra real BUY 5

  • extra real SELL 5

  • aux BUY overlap 1/1

  • aux SELL overlap 18/21

  • strategy aux SELL 89

  • strategy trades 111, win rate 45.05%, avg return 2.32%, median return -0.60%

  • Remaining extra real BUY dates:

  • 2020-10-28, 2023-02-13, 2023-05-10, 2023-10-26, 2024-11-27

  • Remaining extra real SELL dates:

  • 2020-10-23, 2022-12-27, 2023-05-19, 2023-11-10, 2024-11-22

  • Important lesson: some apparent extra buys are state-bridge entries that preserve later workbook-aligned sells, so pruning must always be verified on downstream sell alignment, not just on local buy precision.

  • Phase 1 attribution outputs created:

  • dragon_residual_attribution.py

  • dragon_residual_trade_attribution.csv

  • dragon_residual_trade_review.md

  • Current residual recommendation split:

  • delete candidates: 2020-10-23, 2022-12-27, 2023-05-10, 2023-05-19

  • keep bridge: 2020-10-28

  • keep alpha: 2023-10-26, 2023-11-10

  • observe bridge: 2023-02-13, 2024-11-27

  • observe: 2024-11-22

  • Phase 2 residual cleanup was then executed directly in dragon_strategy.py.

  • Implemented three narrow filters:

  • block the weak oversold_reversal_after_ql_buy pattern around 23<c1<26, b1>-0.12, a1>-0.035

  • narrow early_failed_rebound_exit from any b1<0 to mild weakness -0.05<b1<0

  • add a ql-only follow-through hold before knife_take_profit_2_glued for the narrow 2020-10-23 pattern

  • A follow-up hot-zone hold mid_hot_wait_ql_confirmation was added after the first rerun to restore the workbook-aligned 2020-11-11 sell that had shifted to 2020-11-10

  • Latest verified fit after serial rerun:

  • real BUY overlap 106/106

  • real SELL overlap 105/105

  • extra real BUY 2: 2023-10-26, 2024-11-27

  • extra real SELL 2: 2023-11-10, 2024-11-22

  • aux BUY overlap 1/1

  • aux SELL overlap 18/21, strategy aux SELL 85

  • strategy trades 108, win rate 44.44%, avg return 2.49%, median return -0.61%

  • Net result: all four prior DELETE_CANDIDATE residual rows were removed, and the remaining residual set is now only KEEP_ALPHA plus OBSERVE/OBSERVE_BRIDGE.

  • Phase 3 residual cleanup then targeted the last bridge chain 2024-11-22 -> 2024-11-27 -> 2024-11-28 -> 2024-11-29.

  • Full-history uniqueness checks showed:

  • the long-held ql-only fade pattern around 2024-11-22 was unique

  • the long-held predictive break pattern around 2024-11-28 was also unique

  • Implemented:

  • long_glued_wait_predictive_break to hold through the premature 2024-11-22 ql-only exit

  • a long-held extension of predictive_b1_break_exit so the same position exits on 2024-11-28

  • Latest verified fit after serial rerun:

  • real BUY overlap 106/106

  • real SELL overlap 105/105

  • extra real BUY 1: 2023-10-26

  • extra real SELL 1: 2023-11-10

  • aux BUY overlap 1/1, strategy aux BUY 48

  • aux SELL overlap 18/21, strategy aux SELL 85

  • strategy trades 107, win rate 44.86%, avg return 2.52%, median return -0.60%

  • 2024-11-27 is no longer a real extra buy; it is now a holding-period auxiliary bullish signal.

  • Residual review now contains only one KEEP_ALPHA pair: 2023-10-26 / 2023-11-10.

  • Phase 4 auxiliary-signal optimization then started on 2026-04-04.

  • Added audit tooling and outputs:

  • dragon_aux_signal_audit.py

  • dragon_aux_signal_audit.csv

  • dragon_aux_signal_review.md

  • Aux BUY optimization:

  • added strength-gated holding reconfirmation logic plus cooldown in dragon_strategy.py

  • reduced strategy aux BUY from 48 to 19 while preserving workbook overlap 1/1

  • Aux SELL optimization:

  • initially tested a broader redesign, then rolled back to the more robust original trunk

  • kept only duplicate-cooldown suppression plus a narrow state_crash_followthrough path

  • recovered workbook aux sell 2025-10-17

  • also suppressed premature high-zone kdj-only aux sells so workbook dates 2019-04-11 and 2021-07-26 now align

  • Latest verified fit after serial rerun:

  • real BUY overlap 106/106

  • real SELL overlap 105/105

  • aux BUY overlap 1/1, strategy aux BUY 19

  • aux SELL overlap 19/21, strategy aux SELL 82

  • strategy trades 107, win rate 44.86%, avg return 2.52%, median return -0.60%

  • Current bottleneck from audit:

  • the main remaining unmatched auxiliary cluster is SELL / post_exit_confirmation with 53 unmatched rows

  • future compression should be based on grouping by real-sell cycle, not only simple date cooldowns

  • User approved sequence: finish Stage 2 first, then move into Stage 3 robustness validation.

  • Stage 2 structural outputs were completed and verified:

  • dragon_trade_path_trace.csv

  • dragon_rule_taxonomy.md

  • dragon_aux_sell_cycle_audit.csv

  • dragon_aux_sell_cycle_summary.csv

  • dragon_aux_sell_cycle_review.md

  • dragon_trade_path_trace.py was corrected so Layer 4 links both in-position aux BUY and post-exit aux SELL until the next real BUY, matching the agreed auxiliary-layer definition.

  • A narrow cycle-aware aux-sell dedupe was then added to dragon_strategy.py:

  • within post_exit_confirmation, only the first same-side signal (ql or kdj) is emitted in a flat cycle

  • this keeps workbook-style ql -> kdj double confirmation cycles but removes same-side repeat noise

  • Latest verified fit after rerun:

  • real BUY overlap 106/106

  • real SELL overlap 105/105

  • extra real BUY 1: 2023-10-26

  • extra real SELL 1: 2023-11-10

  • aux BUY overlap 1/1, strategy aux BUY 19

  • aux SELL overlap 19/21, strategy aux SELL 75

  • strategy events 307, strategy trades 107

  • win rate 44.86%, avg return 2.52%, median return -0.60%

  • Cycle compression effect:

  • repeated post_exit_confirmation cycles 10 -> 3

  • zero-anchor repeated cycles 8 -> 1

  • remaining protected double-confirmation cycles are 2022-07-08 -> 2022-09-26 and 2018-12-06 -> 2019-01-18

  • remaining zero-anchor repeated candidate is 2023-12-04 -> 2024-01-18

  • Stage 3 was then started with a first executable robustness pack.

  • Added dragon_robustness_report.py.

  • Generated:

  • dragon_trade_quality.csv

  • dragon_trade_group_summary.csv

  • dragon_yearly_performance.csv

  • dragon_rule_contribution_entry.csv

  • dragon_rule_contribution_exit.csv

  • dragon_rule_stability.csv

  • dragon_robustness_report.md

  • First results:

  • baseline 107 trades, avg MFE 6.66%, avg MAE -2.66%, avg exit followthrough 5d -2.95%

  • short holding buckets remain the main weakness:

  • 00-05d win rate 0%, avg return -2.03%

  • 06-10d avg return -0.81%

  • long holding buckets contain most alpha:

  • 21-40d avg return 6.33%

  • 41d+ win rate 100%, avg return 24.13%

  • later sample is stronger than earlier sample:

  • 2016-2020 avg return 1.95%, profit factor 2.83

  • 2021-2025 avg return 3.15%, profit factor 3.81

  • current attribution focus for next optimization round:

  • entry side: deep_oversold_rebound_buy

  • exit side: knife_take_profit_2_glued

  • report explicitly notes the next engineering gap: parameterize hard-coded thresholds before formal perturbation and true leave-one-rule-out reruns

  • Stage 3 continued and delivered the next three modules in this same session.

  • Module A:

  • added dragon_strategy_config.py

  • parameterized dragon_strategy.py so DragonRuleEngine(config=...) can run experiments without changing default baseline behavior

  • default config was verified to preserve:

  • real BUY overlap 106/106

  • real SELL overlap 105/105

  • aux BUY overlap 1/1

  • aux SELL overlap 19/21, strategy aux SELL 75

  • strategy trades 107, avg return 2.52%

  • Module B:

  • added dragon_rule_ablation.py

  • generated dragon_rule_ablation.csv and dragon_rule_ablation.md

  • rerun ablation findings:

  • glued_buy is still the backbone; disabling it collapses overlap to BUY 46, SELL 52

  • deep_oversold_rebound_buy is the clearest weak entry family:

  • disabling it raises avg return by about +0.54%

  • but breaks overlap to BUY 93, SELL 92

  • predictive_b1_break_exit and some oversold rebound/reentry rules look mildly weak, but current evidence is not enough to cut them directly because alignment still degrades

  • disabling knife_take_profit_2_glued caused no top-level metric change in rerun form, suggesting replacement by alternate same-cycle exits

  • Module C:

  • added dragon_threshold_perturbation.py

  • generated:

  • dragon_threshold_perturbation.csv

  • dragon_threshold_perturbation.md

  • dragon_threshold_sensitivity_summary.csv

  • first perturbation pack conclusions:

  • fragile parameters:

  • predictive_b1_break_short_b1_max

  • predictive_b1_break_long_b1_max

  • deep_oversold_entry_c1_max

  • deep_oversold_entry_b1_min

  • robust parameters:

  • post_exit_confirmation_window_days

  • aux_sell_high_zone_kdj_only_block_c1

  • glued_high_weak_rebound_high_c1

  • glued_high_weak_rebound_high_b1

  • Module D:

  • added dragon_stability_report.py

  • generated dragon_stage3_stability_report.md

  • current quantitative judgment:

  • short holding buckets remain the main drag

  • glued_buy remains core alpha structure

  • optimization leverage is now concentrated in weak oversold entry logic and fragile predictive-break exit thresholds

  • auxiliary sell layer is no longer the main optimization frontier

  • Deep-oversold focus work was then completed in the same session.

  • Added localized audit artifacts:

  • dragon_deep_oversold_audit.py

  • dragon_deep_oversold_audit.csv

  • dragon_deep_oversold_subtype_summary.csv

  • dragon_deep_oversold_review.md

  • Audit result:

  • all 18 deep-oversold trades are workbook-aligned

  • weakest subtypes are positive_b1_rebound and shallow_false_start

  • relatively better subtype is classic_oversold

  • Strategy research granularity was improved without changing behavior:

  • deep_oversold_rebound_buy now emits subtype-tagged reasons

  • a family-aware _entry_reason_is(...) helper was added so subtype labels do not break downstream sell logic

  • Verified after rerun:

  • real BUY overlap 106/106

  • real SELL overlap 105/105

  • aux BUY overlap 1/1

  • aux SELL overlap 19/21, strategy aux SELL 75

  • strategy trades 107, avg return 2.52%

  • Practical conclusion:

  • next optimization should target subtype-aware redesign of positive_b1_rebound and shallow_false_start, not the full deep-oversold family

  • One more subtype-aware pass was then executed.

  • Default safe optimization applied:

  • shallow-false-start entries with ql_buy are now routed to same-day fallback rules instead of remaining inside the deep-oversold family

  • very light positive-B1 rebound with a1 > -0.02 is also routed to same-day fallback

  • Rerouted dates:

  • 2018-01-02 -> glued_buy

  • 2018-10-19 -> dual_gold_resonance_buy

  • 2023-06-02 -> dual_gold_resonance_buy

  • 2024-09-11 -> glued_buy

  • Verified after rerun:

  • real BUY overlap 106/106

  • real SELL overlap 105/105

  • aux BUY overlap 1/1

  • aux SELL overlap 19/21, strategy aux SELL 75

  • strategy trades 107, avg return 2.52%

  • deep-oversold family count reduced from 18 to 14

  • Added focused experiment outputs:

  • dragon_deep_oversold_experiments.py

  • dragon_deep_oversold_experiments.csv

  • dragon_deep_oversold_experiments.md

  • Focused experiment results show the remaining weak subtype blocking is not acceptable under current objective:

  • block remaining positive-B1 rebound -> BUY 104, SELL 103

  • block remaining shallow-false-start without ql -> BUY 103, SELL 102

  • block both -> BUY 101, SELL 100

  • Conclusion: safe cleanup is mostly exhausted; any further deep-oversold optimization now requires accepting alignment loss or inventing more complex replacement logic

  • Continued Stage 3 optimization then removed one redundant weak entry label from the effective in-sample decision tree.

  • In dragon_strategy.py, non_glued_positive_expansion_buy was narrowed to non-dual_gold cases only.

  • This pushed the two historical in-sample occurrences (2016-07-13, 2020-04-30) onto the later dual_gold_resonance_buy fallback branch on the same dates.

  • Verified after serial rerun:

  • real BUY overlap 106/106

  • real SELL overlap 105/105

  • aux BUY overlap 1/1

  • aux SELL overlap 19/21, strategy aux SELL 75

  • strategy trades 107, avg return 2.52%, profit factor 3.31

  • Structural implication:

  • dual_gold_resonance_buy count increased from 11 to 14

  • non_glued_positive_expansion_buy now has no remaining in-sample trades and should be treated as a redundant label, not an independent alpha family

  • dragon_stage3_stability_report.md was updated to record this judgment.

  • Stage 3 was then formally closed into a research baseline package instead of continuing blind residual tuning.

  • Added dragon_walk_forward_validation.py.

  • Generated:

  • dragon_walk_forward_summary.csv

  • dragon_walk_forward_family_year.csv

  • dragon_walk_forward_family_stability.csv

  • dragon_walk_forward_report.md

  • Walk-forward conclusions on the fixed current baseline:

  • anchored expanding windows positive out-of-sample years 8/10

  • rolling 3Y windows positive out-of-sample years 7/8

  • strongest persistent family remains glued_buy; early_crash_probe_buy also remains strong but smaller-sample

  • weakest family persistence remains deep_oversold_rebound_buy; dual_gold_resonance_buy and post_sell_rebound_buy are secondary / weaker persistence families

  • Added dragon_research_baseline.py.

  • Generated:

  • dragon_baseline_config_snapshot.json

  • dragon_formal_research_baseline.md

  • Formal baseline classification now fixed as:

  • core alpha families: glued_buy, early_crash_probe_buy, oversold_recovery_buy

  • structural support families: dual_gold_resonance_buy, deep_oversold_rebound_buy:classic_oversold

  • frozen bridge rules: predictive_b1_break_exit, predictive_error_reentry_buy, plus related internal hold gates that only preserve workbook split paths

  • redundant label: non_glued_positive_expansion_buy

  • active research families: remaining weak deep-oversold subtypes, post_washout_kdj_reentry_buy, oversold_reversal_after_ql_buy, post_sell_rebound_buy

  • Current stage judgment:

  • the workbook-preserving reconstruction baseline is now formalized

  • next work should target either:

  • Track A: subtype-aware redesign of weak deep-oversold entries

  • Track B: short-holding drag reduction in 00-05d / 06-10d

  • not further predictive-break tuning or aux-layer micro-optimization

  • Continued Track A work then implemented a switchable deep-oversold confirmation branch in dragon_strategy.py and dragon_strategy_config.py, with default behavior still unchanged.

  • New config controls:

  • deep_oversold_confirm_weak_with_ql

  • deep_oversold_confirm_window_bars

  • Added pending-state support for weak deep-oversold subtype setups so alpha-first experiments can delay entry until later QL confirmation without touching the formal baseline.

  • Added dragon_deep_oversold_confirmation_experiments.py.

  • Generated:

  • dragon_deep_oversold_confirmation_experiments.csv

  • dragon_deep_oversold_confirmation_event_changes.csv

  • dragon_deep_oversold_confirmation_experiments.md

  • dragon_deep_oversold_confirmation_review.md

  • Key result:

  • QL confirmation for weak deep-oversold subtypes improves alpha-first branch metrics somewhat (avg_return up to about 2.73%, profit_factor up to about 3.66)

  • but this improvement comes mainly from vetoing weak trades, not from turning them into strong confirmed winners

  • 2022-03-11, 2024-01-18, 2024-01-23 are clean veto wins

  • delayed confirmed entries such as 2022-03-17 and 2024-08-30 still remain losing trades

  • Quant implication:

  • for future alpha-first research, weak deep-oversold redesign should prioritize selective veto / removal before adding more confirmation complexity

  • for the workbook-preserving baseline, no change should be applied from this branch

  • Track A then moved from delayed-confirmation to narrow selective-veto experiments.

  • Added more alpha-first experiment hooks in dragon_strategy_config.py / dragon_strategy.py:

  • deep_oversold_selective_positive_b1_c1_max

  • deep_oversold_selective_shallow_c1_min

  • deep_oversold_selective_shallow_b1_min

  • deep_oversold_selective_mixed_c1_max

  • deep_oversold_selective_mixed_require_no_ql

  • Added dragon_deep_oversold_selective_veto_experiments.py.

  • Generated:

  • dragon_deep_oversold_selective_veto_experiments.csv

  • dragon_deep_oversold_selective_veto_event_changes.csv

  • dragon_deep_oversold_selective_veto_experiments.md

  • dragon_deep_oversold_selective_veto_review.md

  • Key result:

  • best branch is selective_veto_plus_mixed_c1_lt_10_2_no_ql

  • metrics: 103 trades, avg_return about 2.81%, profit_factor about 3.96

  • this is better than broad blocking of all remaining weak subtypes (102 trades, avg_return about 2.78%, profit_factor about 3.76)

  • and also loses fewer aligned dates

  • Best branch removes four clearly weak deep-oversold trades:

  • 2022-02-09

  • 2022-03-11

  • 2024-01-18

  • 2024-01-23

  • while preserving the more borderline chains:

  • 2022-03-16

  • 2024-08-29

  • Current quant judgment:

  • Track A priority is now clear:

  • narrow pathological-pattern veto > delayed QL confirmation > broad subtype deletion

  • workbook-preserving baseline still unchanged

  • alpha-first branch best current candidate is the selective-veto package, not the confirmation package

  • Stage 3 was then formally closed with branch-level governance and completion artifacts.

  • Added dragon_alpha_first_baseline.py.

  • Generated:

  • dragon_alpha_first_baseline.md

  • dragon_alpha_first_config_snapshot.json

  • dragon_alpha_first_branch_summary.csv

  • dragon_alpha_first_branch_comparison.csv

  • dragon_alpha_first_branch_holding_buckets.csv

  • dragon_alpha_first_branch_walk_forward.csv

  • dragon_alpha_first_branch_trade_diff.csv

  • Alpha-first candidate baseline fixed as alpha_first_selective_veto with:

  • trades 103

  • avg_return about 2.81%

  • profit_factor about 3.96

  • real BUY / SELL overlap 102 / 101

  • short-holding buckets improved versus workbook baseline:

  • 00-05d about -2.03% -> -1.72%

  • 06-10d about -0.81% -> -0.69%

  • walk-forward also improved modestly while keeping the same positive-year counts:

  • anchored 8/10 positive years, average test return improved

  • rolling 3Y 7/8 positive years, average test return improved

  • trade diff vs workbook baseline is simple and interpretable:

  • removed only 4 pathological deep-oversold trades

  • added 0 new trades

  • Added final closure document:

  • dragon_stage3_completion.md

  • Final stage judgment:

  • Stage 1 complete

  • Stage 2 complete

  • Stage 3 complete

  • Current governance:

  • workbook_preserving is the authoritative reconstruction baseline

  • alpha_first_selective_veto is the leading performance-oriented research branch

  • future work must explicitly choose the branch before continuing optimization

  • Follow-up short-holding governance review completed after Stage 3 closure.

  • Confirmed dragon_short_holding_master_review.md already existed and was valid.

  • Added alpha_first_glued_selective_veto in dragon_branch_configs.py plus formal review script dragon_glued_alpha_candidate.py.

  • Generated:

  • dragon_glued_alpha_candidate_summary.csv

  • dragon_glued_alpha_candidate_comparison.csv

  • dragon_glued_alpha_candidate_holding_buckets.csv

  • dragon_glued_alpha_candidate_walk_forward.csv

  • dragon_glued_alpha_candidate_trade_diff_vs_alpha.csv

  • dragon_glued_alpha_candidate_trade_diff_vs_workbook.csv

  • dragon_glued_alpha_candidate_config_snapshot.json

  • dragon_glued_alpha_candidate_review.md

  • Candidate result:

  • trades 92

  • avg_return 3.35%

  • profit_factor 4.95

  • real BUY / SELL overlap 90/89

  • short buckets improved further:

  • 00-05d -1.67%

  • 06-10d -0.58%

  • walk-forward improved too:

  • anchored 9/10 positive, avg test return 3.86%

  • rolling 3Y 7/8 positive, avg test return 4.78%

  • Governance conclusion:

  • do not replace current formal alpha-first baseline yet

  • keep alpha_first_selective_veto as official alpha-first branch

  • keep alpha_first_glued_selective_veto as next research branch because overlap loss is much larger (102/101 -> 90/89)

  • Trade-diff detail:

  • vs alpha-first, glued candidate removes 12 trades and adds 1

  • all 12 removals are glued_buy

  • added trade is fallback reroute 2021-11-22 -> 2021-11-30, dual_gold_resonance_buy -> small_positive_a1_declining:kdj_sell

  • Continued immediately with glued-branch residual attribution instead of blind retuning.

  • Added:

  • dragon_glued_veto_attribution.py

  • dragon_glued_veto_attribution.csv

  • dragon_glued_veto_bucket_summary.csv

  • dragon_glued_veto_review.md

  • Attribution result on the 12 removed trades vs alpha_first_selective_veto:

  • removed-set avg_return -1.60%

  • win_rate 8.33%

  • profit_factor 0.03

  • bucket split:

  • low_weak_range: 4 trades, all losing, avg_return -2.35%, avg_holding 3.0, clean promotion candidate

  • hot_positive_b1: 8 trades, 7 keep-veto + 1 observe-veto, avg_return -1.23%, avg_holding 6.1

  • only borderline sample is:

  • 2021-11-05 -> 2021-11-18, glued_buy -> ql_mid_zone_take_profit, return +0.69%

  • this suggested narrowing hot veto instead of rolling back glued veto globally

  • Added configurable hot-cap support:

  • glued_selective_hot_c1_max in dragon_strategy_config.py

  • corresponding condition update in dragon_strategy.py

  • Added focused refinement pack:

  • dragon_glued_refine_experiments.py

  • dragon_glued_refine_experiments.csv

  • dragon_glued_refine_experiments.md

  • dragon_glued_refined_candidate_config.json

  • dragon_glued_refined_trade_diff_vs_full.csv

  • added branch helper alpha_first_glued_refined_hot_cap_config() in dragon_branch_configs.py

  • Refined glued candidate result:

  • glued_veto_hot_cap75_and_low

  • trades 92

  • avg_return 3.36%

  • profit_factor 4.98

  • real BUY / SELL overlap 91/90

  • This is better than the prior full glued candidate on both performance and overlap.

  • Minimal diff vs prior full glued branch:

  • add back 2021-11-05 -> 2021-11-18, glued_buy -> ql_mid_zone_take_profit

  • remove fallback reroute 2021-11-22 -> 2021-11-30, dual_gold_resonance_buy -> small_positive_a1_declining:kdj_sell

  • Updated stage judgment:

  • alpha_first_selective_veto still remains the formal alpha-first baseline

  • next research branch should now be the refined glued candidate, not the old full glued candidate

  • Completed the formal upgrade-review pack for the refined glued branch.

  • Added:

  • dragon_glued_refined_branch_review.py

  • dragon_glued_refined_branch_summary.csv

  • dragon_glued_refined_branch_comparison.csv

  • dragon_glued_refined_branch_walk_forward.csv

  • dragon_glued_refined_branch_trade_diff.csv

  • dragon_glued_refined_holding_breakdown.csv

  • dragon_glued_refined_yearly_breakdown.csv

  • dragon_glued_refined_family_breakdown.csv

  • dragon_glued_refined_regime_breakdown.csv

  • dragon_glued_refined_branch_config_snapshot.json

  • dragon_glued_refined_branch_review.md

  • Result for alpha_first_glued_refined_hot_cap:

  • trades 92

  • avg_return 3.36%

  • profit_factor 4.98

  • avg_MFE 7.57%

  • avg_MAE -2.57%

  • real BUY / SELL overlap 91/90

  • walk-forward:

  • anchored 9/10, avg test return 3.87%

  • rolling 3Y 7/8, avg test return 4.79%

  • relative to current alpha_first_selective_veto:

  • avg_return +0.55%

  • profit_factor +1.02

  • overlap -11/-11

  • removed trades 11, added trades 0

  • Governance conclusion from the review:

  • quality and walk-forward gate now pass

  • but promotion still should not be silent because the overlap loss remains material

  • recommended status remains:

  • keep alpha_first_selective_veto as formal alpha-first baseline

  • keep alpha_first_glued_refined_hot_cap as the leading next alpha-first candidate

  • Also completed refined removed-trade attribution.

  • Added:

  • dragon_glued_refined_removed_trade_attribution.py

  • dragon_glued_refined_removed_trade_attribution.csv

  • dragon_glued_refined_removed_trade_review.md

  • Removed-set result vs current alpha-first:

  • removed trades 11

  • avg_return -1.81%

  • win_rate 0%

  • profit_factor 0.00

  • recommendation mix:

  • KEEP_REMOVAL 11

  • OBSERVE_REMOVAL 0

  • OVER_REMOVAL 0

  • The refined branch now removes only losing short-holding glued trades from the current alpha-first baseline; no profitable sample remains in the removed set.

  • Completed final alpha-branch governance package.

  • Added:

  • dragon_alpha_branch_governance.py

  • dragon_alpha_branch_governance_matrix.csv

  • dragon_alpha_branch_governance_decision.json

  • dragon_alpha_branch_governance.md

  • Final gate results:

  • headline_quality_gate = PASS

  • stability_gate = PASS

  • removal_quality_gate = PASS

  • alignment_cost_gate = FAIL

  • explicit deltas of refined candidate vs current formal alpha:

  • avg_return +0.55%

  • profit_factor +1.02

  • BUY overlap -11

  • SELL overlap -11

  • removed trades 11, added trades 0

  • Final governance decision:

  • DUAL_TRACK_GOVERNANCE

  • Meaning:

  • alpha_first_selective_veto stays as the formal alpha-first baseline

  • alpha_first_glued_refined_hot_cap becomes the governed leading candidate, but not auto-promoted because overlap loss exceeds the automatic-promotion tolerance

  • User then explicitly supported the stronger alpha-first view and asked for the next research direction and detailed plan under that stance.

  • Planning implication:

  • next roadmap should treat alpha_first_glued_refined_hot_cap as the main forward candidate and alpha_first_selective_veto as the benchmark control, rather than continuing workbook-style fine-tuning.

  • Executed the first full formalization-validation pack under the stronger alpha-first direction.

  • Added:

  • dragon_research_direction_update.md

  • dragon_forward_branch_roles.md

  • dragon_cost_stress_test.py

  • dragon_cost_stress_test.csv

  • dragon_cost_stress_test.md

  • dragon_glued_refined_sensitivity.py

  • dragon_glued_refined_sensitivity.csv

  • dragon_glued_refined_sensitivity_summary.csv

  • dragon_glued_refined_sensitivity.md

  • dragon_glued_refined_year_regime_review.py

  • dragon_glued_refined_year_regime_review.csv

  • dragon_glued_refined_regime_review.csv

  • dragon_glued_refined_holding_review.csv

  • dragon_glued_refined_family_review.csv

  • dragon_glued_refined_year_regime_review.md

  • dragon_equity_curve_review.py

  • dragon_equity_curve_review.csv

  • dragon_drawdown_review.csv

  • dragon_monthly_return_review.csv

  • dragon_yearly_return_review.csv

  • dragon_equity_curve_review.md

  • Core validation conclusions:

  • cost stress:

  • refined remains ahead at every tested cost level

  • at 20 bps/side, current alpha CAGR 23.55%, refined CAGR 26.62%

  • local sensitivity:

  • neighborhood cases 81

  • avg_return range 3.23% -> 3.42%

  • PF range 4.66 -> 5.11

  • robust-nearby cases 52

  • year/regime:

  • improvements concentrate in short-holding cleanup and glued_buy

  • medium and long buckets are preserved

  • equity curve:

  • refined is best on growth and drawdown quality together

  • CAGR 31.32%

  • max DD -12.79%

  • Calmar 2.45

  • Updated stage judgment:

  • the refined alpha candidate now looks quantitatively robust across:

  • cost pressure

  • local threshold perturbation

  • year/regime consistency

  • drawdown quality

  • the only remaining blocker is governance preference on workbook divergence, not lack of quantitative evidence

  • Added dragon_alpha_promotion_decision.md.

  • This document converts the prior "governed candidate" status into an explicit recommendation tree:

  • keep alpha_first_selective_veto if workbook continuity is still a hard governance constraint

  • promote alpha_first_glued_refined_hot_cap if the objective is explicitly robust alpha first

  • otherwise keep dual-track governance but use refined as the forward research default and selective-veto as the benchmark control

  • Practical conclusion after this step:

  • quant evidence now points clearly to refined as the better strategy branch

  • non-promotion is now a governance choice, not an evidence gap

  • Added dragon_forward_research_plan.md so the next-stage roadmap is fixed in one file for later verification.

  • The plan formalizes the next work around alpha_first_glued_refined_hot_cap and splits it into:

  • branch freeze

  • alpha attribution

  • execution-aware robustness

  • formal governance

  • final strategy memo

  • Immediate execution focus remains Phase 2: explain exactly where refined alpha comes from.

  • Completed Phase 2 refined attribution work.

  • Added:

  • dragon_refined_alpha_attribution.py

  • dragon_refined_family_decomposition.csv

  • dragon_refined_alpha_attribution.csv

  • dragon_refined_removed_trade_recheck.csv

  • dragon_refined_edge_review.md

  • Main conclusions:

  • refined alpha still comes mainly from glued_buy

  • the branch wins by deleting weak short glued trades rather than adding complex paths

  • removed trades vs control remain 11, all classified KEEP_REMOVAL

  • removed-set avg_return -1.81%, win_rate 0%

  • Completed execution-aware robustness validation.

  • Added:

  • dragon_refined_execution_validation.py

  • dragon_refined_execution_stress.csv

  • dragon_refined_latency_review.csv

  • dragon_refined_risk_cluster_review.csv

  • dragon_refined_stability_review.md

  • Main conclusions:

  • refined still leads under next-open execution: avg_return 3.31% vs 2.76%, PF 4.73 vs 3.78

  • refined still leads under next-close execution: avg_return 2.44% vs 1.98%, PF 2.78 vs 2.37

  • refined still leads under next-open + 20 bps/side: CAGR 25.51% vs 22.40%, PF 3.64 vs 2.92

  • refined also improves risk clusters under next-open:

  • max loss streak 8 vs 10

  • worst 5-trade sum -7.96% vs -10.11%

  • max drawdown -13.19% vs -17.84%

  • Completed formal strategy packaging.

  • Added:

  • dragon_formal_strategy_governance.md

  • dragon_parameter_governance.md

  • dragon_strategy_monitoring_template.csv

  • dragon_formal_strategy_memo.md

  • This closes the staged roadmap from Phase 1 through Phase 5 in the current session.

  • Workspace-level conclusion is now explicit:

  • alpha_first_glued_refined_hot_cap is the best branch quantitatively

  • if not promoted, that is now a governance decision rather than a missing-research issue