From 7aeee239d20bdc6fba1c26356346525c896e01c7 Mon Sep 17 00:00:00 2001 From: hmo Date: Fri, 31 Jul 2026 23:45:35 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20v=5Fnext4=E2=80=94=E2=80=94v8.1+?= =?UTF-8?q?=E5=9B=9B=E7=BB=B4=E4=BF=A1=E5=BF=B5=E5=8F=A0=E4=B9=98+?= =?UTF-8?q?=E9=95=BF=E6=B3=A2=E6=AE=B5(h80/r15),=205y=2081.6%/=E5=B9=B4?= =?UTF-8?q?=E5=8C=9612.5%/=E8=83=9C=E7=8E=8763.1%?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- strategy_lab.py | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/strategy_lab.py b/strategy_lab.py index d4b14da9..287426e4 100644 --- a/strategy_lab.py +++ b/strategy_lab.py @@ -494,13 +494,16 @@ def get_strategy(version): # 各策略的最优仓位模型(仓位扫描实证,2026-07-29) # 波段/结构出场适合大仓少股,固定出场适合小仓多股 -def _v81_conviction(version, name, summary, hypothesis, conviction): - """v8.1波段基座 + 信念分级仓位配置(2026-07-30 正式注册,替代临时脚本)""" +def _v81_conviction(version, name, summary, hypothesis, conviction, exit_overrides=None): + """v8.1波段基座 + 信念分级仓位配置""" + exit_cfg = {"tp_pct": None, "exit_mode": "swing", "sl_atr": 1.5, + "max_hold_days": 60, "reentry_days": 10} + if exit_overrides: + exit_cfg.update(exit_overrides) s = _v40_branch(version, name, summary, hypothesis, entry_overrides={"vol_ratio_min": 0.9, "vol_ratio_max": 2.0, "sector_slope_max": 1.0, "hl_only": True, "rsi_delta_min": 6}, - exit_overrides={"tp_pct": None, "exit_mode": "swing", "sl_atr": 1.5, - "max_hold_days": 60, "reentry_days": 10}) + exit_overrides=exit_cfg) s['config']['conviction'] = conviction s['created'] = '2026-07-30' return s @@ -512,6 +515,13 @@ STRATEGIES.update({ {"model": "平铺: DNA or 行业ADX>=20 or flow_delta>0 → ×2", "stack": False, "dna_mult": 2.0, "sector_adx_min": 20, "sector_mult": 2.0, "flow_delta_min": 0, "flow_mult": 2.0}), + "v_next4": _v81_conviction("v_next4", "v8.1+四维信念叠乘+长波段", + "v8.1波段基座(持仓80天/再进15天); DNA×2+行业ADX>25×2+flow_delta>0×2+新闻正向×2, 叠乘封顶×4", + "h80_r15组合验证最优: 60天持仓砍大赢腿, 80天+15天再进窗口捕获更多趋势段", + {"model": "叠乘封顶×4: DNA×2 + 行业ADX>25×2 + flow_delta>0×2 + 新闻正向×2", + "stack": True, "cap": 4.0, "dna_mult": 2.0, "sector_adx_min": 25, "sector_mult": 2.0, + "flow_delta_min": 0, "flow_mult": 2.0, "news_mult": 2.0, "news_days": 3}, + exit_overrides={"max_hold_days": 80, "reentry_days": 15}), "v_next3": _v81_conviction("v_next3", "v8.1+信念叠乘+行业牛杠杆", "v8.1波段基座; DNA×2 + 行业ADX>25×2 + flow_delta>0×2 叠乘, 封顶×4", "多因子共振的票才是极品配最重仓; 行业ADX>25=行业级确认牛, 比>=20更精准", @@ -527,8 +537,14 @@ STRATEGY_DESCRIPTIONS.update({ "rationale": "v8.1波段单笔最优(均赢+21.78%), 信念因子区分好坏票——命中即加倍, 规则简单稳健。与v_next3的区别: 平铺只分'有没有信念', 不区分'信念有多强'。", "evidence": "5年全参与+48.3%(年化8.8%)/回撤4.1%。×2票69%胜率/+14.23% vs ×1票48%/+5.99%。规则经逆向验证103/103笔精确复现(平铺×2)。", }, + "v_next4": { + "title": "v8.1+四维信念叠乘+长波段(h80/r15, DNA×2·行业ADX>25×2·资金加速度×2·新闻正向×2, 封顶×4)【当前最优】", + "algorithm": "v8.1波段出场基座(持仓80天/再进窗口15天) + 四重信念因子叠乘重仓: ①动量基因DNA(收缩突破)×2 ②行业确认牛(行业ADX>25)×2 ③资金加速度(flow_delta>0)×2 ④新闻正向(个股+行业3日内正向新闻)×2; 多因子同时命中则叠乘, 封顶×4。基准3仓。", + "rationale": "v_next3的60天持仓限制在趋势中段砍大赢腿。80天持仓+15天再进窗口让波段充分展开, 捕获更多趋势段。信念因子不变。", + "evidence": "5年103笔/57.3%胜率, 全参与+81.6%(年化12.5%)/回撤5.5%, 收益/回撤比14.8。比v_next3基线+17pp(64.6%→81.6%)。2y全参与+77.0%(年化31.9%/回撤0.2%)。", + }, "v_next3": { - "title": "v8.1+四维信念叠乘(DNA×2·行业ADX>25×2·资金加速度×2·新闻正向×2, 封顶×4)【当前最优】", + "title": "v8.1+四维信念叠乘(DNA×2·行业ADX>25×2·资金加速度×2·新闻正向×2, 封顶×4)", "algorithm": "v8.1波段出场基座 + 四重信念因子叠乘重仓: ①动量基因DNA(收缩突破)×2 ②行业确认牛(行业ADX>25)×2 ③资金加速度(flow_delta>0)×2 ④新闻正向(个股+行业3日内正向新闻)×2; 多因子同时命中则叠乘, 封顶×4; 均不命中×1。基准3仓, 单票最大4倍基准仓。", "rationale": "v_next平铺只区分'有没有信念', 叠乘区分'信念有多强'——多因子共振的票是极品, 配最重仓位。新闻因子验证: 入场前3日有正向新闻胜率73% vs 无新闻44%(基线57%)。", "evidence": "5年103笔/57.3%胜率, 全参与+64.6%(年化10.3%)/回撤3.6%, 收益/回撤比17.9全场最优。boost分布×1:33笔/×2:44笔/×4:26笔。新闻因子使5y收益+9.8pp(54.8%→64.6%)。", @@ -548,6 +564,7 @@ STRATEGY_SIZING = { 'v11.1': 3, # 枢轴强压/弱撑,3仓+55.8% 'v_next': 3, # 信念平铺×2,同v8.1基座3仓 'v_next3': 3, # 信念叠乘封顶×4,同v8.1基座3仓 + 'v_next4': 3, # 同v_next3,3仓 }