From 8066d39f7c9447617073b1d4b8f4dd79add19c59 Mon Sep 17 00:00:00 2001 From: hmo Date: Sat, 15 Aug 2026 03:23:05 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B8=AF=E8=82=A1=E8=A1=A5mcap=5Fq?= =?UTF-8?q?=E5=B8=82=E5=80=BC=E5=88=86=E4=BD=8D=E5=9B=A0=E5=AD=90(+2.84pp)?= =?UTF-8?q?=E2=80=94=E2=80=94hk=5Fpe=5Fmom=E5=8A=A0=E4=BD=8EPE+=E5=B0=8F?= =?UTF-8?q?=E5=B8=82=E5=80=BC+=E8=A1=8C=E4=B8=9A=E5=8A=A8=E9=87=8F?= =?UTF-8?q?=E4=B8=89=E5=9B=A0=E5=AD=90=E7=BB=84=E5=90=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deploy/profile-scripts/hk_backtest.py | 2 ++ deploy/profile-scripts/hk_strategies.py | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/deploy/profile-scripts/hk_backtest.py b/deploy/profile-scripts/hk_backtest.py index d1a247a7..556aebdb 100644 --- a/deploy/profile-scripts/hk_backtest.py +++ b/deploy/profile-scripts/hk_backtest.py @@ -53,6 +53,8 @@ def gen_trades(panel, strat): cond = pd.Series(True, index=panel.index) if "pe_q_max" in e: cond &= panel["pe_q"] < e["pe_q_max"] + if "mcap_q_max" in e: + cond &= panel["mcap_q"] < e["mcap_q_max"] if "sec_ret20_min" in e: cond &= panel["sec_ret20"] > e["sec_ret20_min"] if "rsi_max" in e: diff --git a/deploy/profile-scripts/hk_strategies.py b/deploy/profile-scripts/hk_strategies.py index a6787802..112adeae 100644 --- a/deploy/profile-scripts/hk_strategies.py +++ b/deploy/profile-scripts/hk_strategies.py @@ -21,8 +21,9 @@ HK_STRATEGIES = { "regime": "trend_up", "summary": "低PE(<0.2分位)+行业20日动量>10%。由果及因:大涨率10.28%(基线4.37%)。低PE+1.24pp(step27港股扫描)、行业动量高+1.47pp", "entry": { - "pe_q_max": 0.2, # PE分位<0.2(低估值) - "sec_ret20_min": 10, # 行业20日动量>10% + "pe_q_max": 0.2, # PE分位<0.2(低估值,+3.24pp) + "mcap_q_max": 0.2, # 市值分位<0.2(小市值,+2.84pp) + "sec_ret20_min": 10, # 行业20日动量>10%(+1.47pp) }, "exit": {"tp_pct": 0.30, "sl_pct": 0.12, "max_hold_days": 40}, },