Commit Graph
65 Commits
Author SHA1 Message Date
xxm 131d434079 feat: LLM并发模式统一——batch_reassess/trade_capture加concurrent=True(盘前批量4worker不再全压同一key,router round-robin分key), parallel_batch worker 4→6(6 key用满) 2026-08-24 16:47:37 +08:00
xxm 15edc92371 feat(加工层): 实时技术指标计算+price_monitor联动+collect_data改为读stock_indicators
- 新增realtime_indicators.py: 盘中实时计算MA/支撑阻力/RSI/bias60/dist_ma20/ATR/candle_pattern
- price_monitor: 更新价格后联动计算实时指标写入stock_indicators
- batch_reassess collect_data: 从stock_indicators读取(不再重新计算ta.full_analysis)
- stock_indicators表: 新增strong_support/weak_support/pivot/weak_resist/strong_resist/candle_pattern字段
2026-08-21 05:12:18 +08:00
xxm 8c880e1b7c fix(batch_reassess): 价格从stock_daily读,PE/市值从stock_fundamentals读,移除所有curl API调用 2026-08-20 22:17:19 +08:00
xxm 6e7e9ca061 fix(batch_reassess): 价格从stock_daily/live_prices读取,移除curl API直接调用 2026-08-20 18:22:36 +08:00
xxm 9899be4bcd fix(prompt): 修复stock_indicators查询—移除不存在的bias20列,补dist_ma20/vol_ratio 2026-08-20 16:18:26 +08:00
xxm cca20cf0e2 fix(prompt): 修复_sector_extra未定义(行业强度注入) 2026-08-20 16:14:58 +08:00
xxm f1d3862480 fix(prompt): 修复数据断裂——行业强度进LLM+移除死数据
- collect_data(): 从sector_snapshots读取行业涨跌/排名
- build_prompt(): 注入行业强度数据(行业涨跌%+排名)
- 移除current_regime_strategies死数据(旧策略名不匹配strategy_defs)
- 港股缺资金流(数据采集层限制,非代码问题)
2026-08-20 16:07:54 +08:00
xxm 228fefd328 feat(prompt): 技术指标注入LLM prompt——collect_data增加ta/mtf/factor,build_prompt增加_tech_str
- collect_data(): 从ta.full_analysis获取支撑阻力/MA/形态,从mtf获取多周期趋势/RSI,从stock_indicators获取mcap_q/pe_q/bias60
- build_prompt(): 在技术面段注入_tech_str(MA/dist_ma20/RSI/多周期趋势/基本面分位)
- LLM现在能看到11个策略所需的全部输入数据
2026-08-20 15:51:42 +08:00
xxm 118bcebb1b feat(prompt): 技术指标注入LLM prompt——collect_data增加ta/mtf/factor,Build_prompt增加_tech_str数据段
- collect_data(): 从ta.full_analysis获取支撑阻力/MA/形态/量价,从mtf获取多周期趋势/RSI,从stock_indicators获取mcap_q/pe_q/bias60等
- build_prompt(): 在技术面段注入_tech_str(MA20/dist_ma20/RSI/多周期趋势/基本面分位)
- LLM现在能看到11个策略所需的全部输入数据(之前只有tech_snapshot文本摘要)
- 语法验证通过(176脚本OK)
2026-08-20 15:49:25 +08:00
xxm 47e6890bba feat: 换仓决策模块——资金不足时E_new(新票预期)vs E_hold(持仓深套查表)对比,卖E最低的凑钱(老莫:能代码算的不让LLM拍脑袋)。重评注入换仓方案 2026-08-19 00:06:02 +08:00
xxm 6dd4373898 feat: collect_data补全——①switched用attributed策略定义评估(600262切v8.1后按v8.1评)②无策略/失效持仓用position_management框架③当前温区合格策略注入(regime_active) 2026-08-18 22:23:17 +08:00
xxm e3cb8460df feat: collect_data持仓处置上下文——switched用attributed定义+深套判定+无策略/失效持仓用position_management框架+当前温区合格策略(老莫:处置决策要有明确策略) 2026-08-18 22:21:57 +08:00
xxm 5acf78d33b fix: 更换策略归类提示加强——必须写候选列表策略代码名(v_next等),禁描述性文字(600262案例LLM写了'趋势回调'匹配失败) 2026-08-18 21:40:25 +08:00
xxm 62a0626141 refactor: 策略判断合并——失效=需更换(老莫:同一决策)。失效时必须给新归属(候选封闭集),给不出才停invalidated。三选一:维持/修改/策略失效需更换 2026-08-18 21:37:39 +08:00
xxm 4af4bda7b3 feat: strategy_defs补trend家族(v_next/v8.1=趋势市龙头回调,映射leader_scanner)+候选目录更新(600262切策略有目标了) 2026-08-18 21:30:14 +08:00
xxm 82bdd76b85 feat: 重评注入策略语义——【情势体检】(温区/黑天鹅/执行红线)+【策略定义】+【策略判断】四选一,parse解析+save落库strategy_state(老莫:每次重评先判断是否切策略) 2026-08-18 20:20:11 +08:00
xxm a1e55e8ca8 feat: 重评带来源策略——collect_data读strategy_name,prompt顶部标'按此策略重评'(老莫) 2026-08-18 15:11:21 +08:00
xxm d19a9c4039 feat: 提示词优化——空仓时买入区仍须填合理技术区间供RR计算,禁止填0.0~0.0 2026-08-18 11:48:12 +08:00
xxm 01a60653f8 fix: parse_response买入区0.0~0.0视为zone_cleared(elif)——清空脏值不残留 2026-08-18 11:06:16 +08:00
xxm 31f3da772d fix: parse_response买入区0.0~0.0视为zone_cleared——清空脏值不再残留 2026-08-18 11:03:24 +08:00
xxm 9543dd52e8 fix: parse_response取应为/修正为后的正确区间——不再把LLM重复的旧脏值(95~99)当推荐写回 2026-08-18 10:57:13 +08:00
xxm a09393f150 fix: 三层修复promote/重评entry错乱——A重评覆盖entry_low/high+B偏离>50%标记校准+C可执行性检查(止损≥2%/止盈≥3%/修正风报比≥2) 2026-08-18 10:48:48 +08:00
xxm a7a61e03bf fix: batch_reassess行业回退stock_sectors_em(300668等6只active此前无行业) 2026-08-17 19:34:55 +08:00
xxm 9438780118 fix: 12维报告资金流/行业数据源修复
- capital_flow_cache读到旧id=194(8-10)改WHERE id=1(现在33只)
- batch_reassess行业回退stock_sectors_em(5061覆盖全)
根因: 写入固定id=1但读取ORDER BY id DESC拿到旧行
2026-08-17 19:32:31 +08:00
xxm 33a0932642 fix: batch_reassess主conn加busy_timeout(重做,勿在try尾插PRAGMA)+watchlist已修,整点写锁不崩 2026-08-17 16:54:22 +08:00
xxm 71bd44d4de fix: batch_reassess conn加timeout+busy_timeout(重做,docstring误改已修) 2026-08-17 16:45:28 +08:00
xxm 196c2c40be fix: watchlist_auto_exit/batch_reassess conn加timeout=30+busy_timeout(整点写锁不再崩,t_a44b6e16) 2026-08-17 16:43:38 +08:00
xxm 364911b865 fix: 重评同步trigger_json(price_monitor阈值源,广信教训)+RR淘汰门槛1.5→2.0(与promote闭环) 2026-08-17 16:30:37 +08:00
xxm 7eb2a9ee99 fix: batch_reassess按文档去掉显式max_tokens=4096(改None不指定) 2026-08-17 11:48:49 +08:00
hmo 52ed188fa9 feat: LLM提示词补波段出场形态判断——趋势判断加'连续2日收破MA10→弱可波段先出/回稳+新高→稳可波段再进'(k线形态由LLM判断不在代码硬编码,老莫原则) 2026-08-12 21:28:28 +08:00
hmo f86598f15c fix: --force补漏主循环预过滤跳过点(共3处:冷却/process内/主循环) 2026-07-29 04:27:05 +08:00
hmo 39b3e9b88b feat: batch_reassess加--force全量强制重评标志(旁路冷却期+已有分析两项跳过检查) 2026-07-29 04:04:08 +08:00
hmo 1dcadcb909 fix: prompt加趋势判断(下跌趋势反弹不追高) 2026-07-28 13:26:12 +08:00
hmo 1aa2697761 fix: prompt加RR真实性铁律(RR<2降级/最近阻力止盈/禁追高) 2026-07-28 11:59:14 +08:00
hmo 7a3c74b63d fix: RR门禁前置+盘前标签修正+参数权威保护
- sync_recommend_tag: RR<2.0的买入先查RR再打tag(不落盯盘垃圾)
- 参数权威: 技术路径不得覆写12维Zone/SL/TP(防RR波动)
- prompt: 价格标签分盘中实时/上次收盘(不骗LLM)
2026-07-27 11:19:30 +08:00
hmo 1523f9ad16 feat: position hard-constraint + cash-linked sizing + rotation context
- 建议仓位必须具体数字%,模糊表述(中等仓位/减仓或观望/轻仓)视为输出作废
- 必须结合可用现金计算可买股数,理想仓位超现金时写出实际可执行仓位+换仓建议
- 未持有股票注入最弱3只持仓上下文,LLM可给'减持XX换入'的具体换仓建议
2026-07-24 14:04:02 +08:00
hmo a559fc84dd feat: 批量重评分片并发(老爸:这么多key不能并发?)
- batch_reassess --shard K/N: index%N==K分片,N进程互不重叠
- llm_client LLM_KEY_OFFSET: key池起始位错开,避免N进程压同一首选key
- SKIP_FLUSH=1时worker不发摘要,parallel_batch.sh收尾统一flush
- parallel_batch.sh: N路并行+等待+统一digest
2026-07-24 09:02:34 +08:00
hmo 37664f0523 fix(prompt): MA行仅在可用时输出 2026-07-22 23:46:18 +08:00
hmo cf039b2770 feat(prompt): 技术位锚定+止损门禁+12维命名统一
- collect_data: 现算technical_analysis.full_analysis(强撑/弱撑/枢轴/弱压/强压/有效区间/MA)
- prompt: 【技术位锚】独立高亮段+锚定纪律(止损<区下沿,锚弱撑下方1-3%/强撑;止盈锚弱压强压;
  偏离须说明理由)+输出纪律第4条+【参数自检】节
- save_result: sl>=el时用弱撑x0.985/强撑x0.99自动修正并留痕,无技术位拒写
- 命名: 九维→12维全局统一(prompt/docstring/前端弹窗)
2026-07-22 23:43:45 +08:00
hmo 0f2c6555df fix(action): 12维操作建议写入action+技术路径action权限保护+RR区间显示修复
- batch parse_response提取【操作建议】→ save_result写action(根治: action字段只有技术路径写,
  旧'盈亏比不足不建议买入'与12维买入分析同框矛盾)
- write_holding_strategy: 技术路径不得覆盖新鲜(<20h)12维 action(与信号权威同级)
- 前端: rr_high>0即显示低~高区间(rr_low=0是合法信息: 区下沿=止损贴底即损)
- server: SEND_FILE_MAX_AGE_DEFAULT=0 禁静态缓存
2026-07-22 23:16:43 +08:00
hmo f7f7fe3ca0 fix(parser): 节标题锚定解析+脏区间清洗+三值RR
- parse_response: 只认行首【买入区间】【综合结论】等节行(原先取首个关键词行,
  命中修改点段落引用的旧脏值→95~99区间反复写回,17只股票受害);
  信号锚定】后首词,防'观望(不建议买入)'误判; 【买入区间】无→显式清空
- save_result: 区间-现价距离门禁(eh<0.5px或el>1.5px→拒写并清空,不再保留原值养脏)
- recompute_rr: 三值RR(rr_low/rr_ratio中/rr_high,分别对应区下沿/中值/上沿入场)
- 迁移: holding_strategies+rr_low/rr_high列; digest显示RR中(低~高); watch API+前端展示
2026-07-22 22:59:18 +08:00
hmo e0e98ebb1a fix: 消息面不限情绪标签(分类器已死,原始新闻直接喂LLM自行判断)——batch+per_stock两路 2026-07-22 13:37:45 +08:00
hmo 40a75554aa fix: 消息面查询code列不存在(searched_stocks)导致整个try块死亡——改列名+兜底独立try 2026-07-22 13:31:29 +08:00
hmo 5d8c7476ff fix: 行业未映射时诚实标注,禁止大盘指标伪装成行业信息 2026-07-22 12:52:12 +08:00
hmo cdbbcec69e fix: stock_sectors列名sector→sector_name(静默except吞掉的错误) 2026-07-22 12:50:41 +08:00
hmo eb644221f4 fix: 资金流聚合输出net_flow/main_force/retail_flow/trend(12维资金面恒0根因) + sector_context污染时行业名兜底 2026-07-22 12:46:22 +08:00
hmo 51c19b4971 fix: 资金流改Sina MoneyFlow(eastmoney 246不可达) + 消息面按行业名匹配+大盘兜底 2026-07-22 12:31:48 +08:00
hmo c91d4c33f0 fix: 信号-分析对齐(reconcile以已存分析为唯一事实源) + prompt持仓上下文(已持有/未持有分开给建议,禁止两头写) 2026-07-22 10:29:23 +08:00
hmo e633641686 fix: tag只许LLM路径写(防技术路径抖动幽灵化) + 推荐通知改批量摘要(防09:55式14连发轰炸) 2026-07-22 10:05:54 +08:00
hmo 8c2226e2b4 feat: 信号权威层级+推荐转场推送统一+🔔分级修正
1. 权威层级: 新鲜(<20h)12维动作级信号, 技术路径(regenerate_all/
   price_monitor)无权降级为关注/信号不充分/持有——只有LLM路径或
   风险信号(卖出/止盈)可覆盖。根治推荐区'出现-消失'抖动
2. 推荐转场推送统一收拢到 mofin_db.push_recommend_alert:
   tag新转为current_recommend时推送(全路径), 含质量门禁;
   移除batch_reassess内联推送(防双重告警)
3. price_monitor 🔔分级: 只有持仓股的卖出/止盈才ACTION直推,
   买入/加仓机会一律进INFO摘要(老爸: 这种消息不要再发了)
2026-07-22 09:48:58 +08:00