From ccfa22c0d4a7cc713b184d4ec3ae7d039d34e935 Mon Sep 17 00:00:00 2001 From: hmo Date: Thu, 23 Jul 2026 13:40:28 +0800 Subject: [PATCH] =?UTF-8?q?fix(per=5Fstock):=20prompt=E8=A1=A5=E9=BD=90?= =?UTF-8?q?=E6=8A=80=E6=9C=AF=E4=BD=8D=E9=94=9A=E5=AE=9A=EF=BC=88=E4=B8=8E?= =?UTF-8?q?batch=E5=90=8C=E6=BA=90=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - per_stock的12维prompt是独立实现,无【技术位锚】无买入区间输出无参数自检 → 今日35只重评中26只经per_stock路径,锚定纪律缺失(双prompt漂移) - 注入同款锚定段+买入区间输出+参数自检+输出纪律第4条 --- deploy/profile-scripts/per_stock_reassess.py | 26 +++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/deploy/profile-scripts/per_stock_reassess.py b/deploy/profile-scripts/per_stock_reassess.py index 734af548..bd3a3354 100644 --- a/deploy/profile-scripts/per_stock_reassess.py +++ b/deploy/profile-scripts/per_stock_reassess.py @@ -471,6 +471,21 @@ def main(): except: pass + # ── 确定性技术位锚(与 batch 同源,2026-07-23:双 prompt 曾漂移导致per_stock无锚)── + _ta_sec_ps = "【技术位锚】本次计算不可用,仍须满足:止损<区间下沿<区间上沿<止盈。" + try: + import technical_analysis as _ta_mod + _ta_ps = _ta_mod.full_analysis(code) + if _ta_ps and "error" not in _ta_ps: + _sr_ps = _ta_ps.get("support_resistance", {}) or {} + if _sr_ps.get("weak_support"): + _ta_sec_ps = f"""【技术位锚】(系统基于K线确定性计算,客观事实,非估计值) +强撑={_sr_ps.get('strong_support')} 弱撑={_sr_ps.get('weak_support')} 枢轴={_sr_ps.get('pivot')} +弱压={_sr_ps.get('weak_resist')} 强压={_sr_ps.get('strong_resist')} 有效区间={_sr_ps.get('effective_range')} +⚠️ 参数锚定纪律:买入区下沿参考弱撑/强撑;止损必须严格低于买入区下沿(放弱撑下方1-3%或强撑附近,严禁止损≥区间下沿);止盈参考弱压/强压;偏离须在【修改点及理由】明确说明。""" + except Exception: + pass + _prompt = f"""你是一个资深股票分析师。请对股票{code}评估现有策略是否仍然有效,并输出完整的新策略。 ╔══════════════════════════════════════════════╗ @@ -498,6 +513,8 @@ def main(): ⚠️ 重要:12个维度必须交叉对比,找出矛盾/共振点,给出综合判断。 +{_ta_sec_ps} + 当前实时数据(每条标注时间窗口,禁止使用模型训练数据): 大盘={_macro_desc or "震荡"}(当日实时) | PE/市值={_pe_val} {_pb_val}(最新财报) 资金流={_flow_note}(近5日累计) @@ -525,14 +542,17 @@ def main(): 最后必须输出: 【综合结论】(买入/关注/观望/卖出) 【操作建议】 -【建议止损】 -【建议止盈】 +【买入区间】最低价~最高价(锚定技术位:下沿参考弱撑/强撑,上沿参考枢轴/弱压) +【建议止损】(必须严格低于买入区下沿,放弱撑下方1-3%或强撑附近) +【建议止盈】(参考弱压/强压) +【参数自检】一行,格式"止损X < 区下沿Y < 区上沿Z < 止盈W:通过/不通过+原因" 【建议仓位】⚠️不可省略,非"买入"时写"不新建仓" ⚠️ 输出纪律(必须遵守): 1. 直接以【维持或修改】开头,禁止任何寒暄、开场白、分隔线 2. 禁止输出 或任何 XML/JSON/代码块 -3. 所有【】节标题一个都不能少""" +3. 所有【】节标题一个都不能少 +4. 止损<区间下沿<区间上沿<止盈,违反任一条=输出作废重想""" _full_analysis_text = None try: _llm_result = call_llm(_prompt, max_tokens=4096, timeout=150, retries=1, backoff=20)