知微
|
4aa884ed31
|
TODO一口气4/6完成
T001: enrich_timing_signal RR参数降级
T002: price_monitor已有XMPP推送(514-525行)
T003: 自选扫描加15:00轮次
T005: 策略数据口径理解完成(非bug)
T006: trigger同步(已完成)
T004: 截图叙事清理待设计
system_health_check.py CRON_JOBS路径修正→正确的profile路径
|
2026-06-24 17:50:49 +08:00 |
|
知微
|
d4ad5a57ef
|
trigger字段永久同步(strategy_lifecycle)+ 知微TODO系统
T006: regenerate_all() 新增 trigger 填充(stop_loss/entry_zone/take_profit_zone),
price_monitor 依赖此字段检测止损区间/买入区/止盈区触发。
历史数据已通过 fix_trigger.py 一次性补全39只。
新增 devops/self-todo skill + cronjob 自我驱动-TODO自动执行。
每天8轮检查pending任务,主动完成并报告进度。
TODO数据:~/.hermes/profiles/position-analyst/todo.json
|
2026-06-24 17:24:45 +08:00 |
|
知微
|
9a702a66f7
|
A/H跨市场去重:药明康德不再推H股
药明康德(02359) timing_signal=买入、多头排列,但Dad已持有
药明康德A股(603259)。同股同权,H折CNY还贵7.4%。
新增:stale_push_wlin在推荐前检查portfolio中是否有
同名不同代码的持仓。有则跳过推荐。
测试:之前推H股,现在静默(0可操作→无输出)
|
2026-06-24 15:35:58 +08:00 |
|
知微
|
4ab95ecbcb
|
策略质量过滤:信义光能不应被推荐
修复:stale_push_wlin 没有检查 timing_signal 和 sector_context
信义光能(00968)被推荐的原因:
timing_signal='行业偏弱' sector='房地产开发大跌-294%'
RR=7.2看起来很高,但趋势完全空头且行业崩塌
→ 原代码只查RR>=3+价格在买入区,没查信号质量
新增两条过滤:
1. timing_signal含[偏弱/弱势/观望/卖出/回避] → 跳过
2. sector_context含'大跌' → 跳过(行业崩时不推荐)
实测:加过滤前7只,加后1只(仅药明康德)
|
2026-06-24 14:40:31 +08:00 |
|
知微
|
8f830b8de2
|
信义光能问题修复:两层级过滤+趋势检查
Bug 1 — strategy_lifecycle.py: enrich_timing_signal 用 factors[-1] 当信号
信义光能: base_signal=neutral, factors=[大盘中性,行业偏弱,高估值]
旧逻辑: factors[-1]='行业偏弱'→成为timing_signal→无效信号
新逻辑: 先找有效操作方向(买入/加仓/观望/持有/关注/信号不充分),
找不到→信号不充分。不再从上下文因子里拼凑信号。
Bug 2 — stale_push_wlin.py: 信号过滤太松
旧逻辑: 只跳过特定关键词(等企稳/关注/信号不充分/持有)
新逻辑: 信号必须含"买入"或"加仓"才进推荐,其他一律跳过
Check 3 — 趋势检查(新增)
fetch_trend_data(): 取实时行情+30日K线计算MA排列
空头排列/弱势震荡→不推荐
药明康德通过(多头排列+买入信号) 信义光能不通过(空头+行业偏弱)
|
2026-06-24 14:39:50 +08:00 |
|
知微
|
e83dfc415d
|
持仓完成更新:现金20371 总资产1015540
OCR读取券商截图确认数据:
资金余额: 20,371.53元
可用资金: 17,645.31元
股票市值: 995,168.79元
仓位: 97.99%
总资产: 1,015,540.32元
今日操作确认:
卖出: 招商银行800、双一科技400、辽宁成大6600、阿里巴巴700
买入: 海博思创200@266.89
净现金: 20,371(含部分未交收资金)
|
2026-06-24 14:25:07 +08:00 |
|
知微
|
0ecdfbc861
|
上传OCR切换:小果GLM-OCR-8bit优先,Tesseract降级
MoFin/server.py 的 _ocr_image 改为:
1. 优先调小果 gateway (192.168.1.122:18003) 的 GLM-OCR-8bit
2. 失败/无响应则自动降级到本地 Tesseract(预处理+chi_sim+eng)
3. fallback逻辑保留原预处理管道(放大/锐化/二值化)
ocr_client.py 模块独立可调用,兼作CLI工具
|
2026-06-24 13:48:40 +08:00 |
|
知微
|
605c3d71d9
|
总资产修正:改用实时行情+holding文件汇率
之前用 holding.xls 的导出价,总资产总是少6万。
修复方案:
1. 读取 holding.xls 只取股数+成本+汇率
2. 当前价从腾讯实时行情API获取
3. 总资产=现金+∑(股数×实时价×汇率)
实时行情总资产 1,011,185 与Dad看到的1,013,xxx
仅差1815(正常盘中波动)
|
2026-06-24 13:30:46 +08:00 |
|
知微
|
3ab4f972f1
|
OCR集成+持仓更新:海博思创已买入
1. ocr_client.py — 通过小果GLM-OCR-8bit做截图识别
用法: python3 scripts/ocr_client.py <图片路径> [提示文字]
测试通过,成功读取券商成交明细截图
2. 海博思创成本更新为实际成交价266.89
3. 现金更新为5,667元(经OCR成交明细核验:
卖招商800@36.99 + 卖双一400@22.87 + 买海博200@266.89
原20230 → 5592,差额75为手续费,与5674基本吻合)
|
2026-06-24 13:29:13 +08:00 |
|
知微
|
b5b0f3d0e8
|
总资产修正+购车图标联动
Fix1: 总资产错误 — HK市价被当人民币算
portfolio.json已有正确 total_assets(含港币→人民币换算),
改为直接读取该字段,不再手动累加持仓市值
原代码用 h.get('currency')=='HKD' 判断但strategy_lifecycle
格式不保存currency字段 → 所有HK持仓被当CNY计算 → 总资产多出6.8万
Fix2: 换仓推荐时显示🛒非⚠️
原来用 lots==0 判断→永远⚠️,换仓推荐可让操作变为可行
改为 lots>0 OR swap_text 时用 🛒(可操作)
|
2026-06-24 13:02:30 +08:00 |
|
知微
|
9ba21fc3c0
|
南亚新材(688519) 完整分析+系统录入
全流程:
1. akshare获取新闻和主营业务(CCL覆铜板龙头,PCB上游)
2. 腾讯API拉60日K线计算MA/支撑/阻力
3. per_stock_reassess.py 跑个股重评
4. 人工修正止盈止损(枢轴算法对极端动量股失效)
- 系统自动: 止损333 止盈377 RR=0.9
- 人工修正: 止损331 止盈409.9 RR=2.1
亮点:发现per_stock_reassess的枢轴算法对228%涨幅的
极端动量股止盈算不准(377 vs 前高409.9),手动覆盖了。
这是技术架构的改进点——需要识别极端动量场景自动放宽枢轴。
|
2026-06-24 12:29:47 +08:00 |
|
知微
|
9a984dd4dc
|
6维评分通用模块 + 港股通T+2延迟标注
1. stock_scorer.py — 共享的6维评分模块
- score_future_outlook(code, data) → (score, reasons)
- rank_by_outlook(holdings, data) → 排序列表
- settlement_delay_note(sell_code, buy_code) → 结算延迟说明
- is_hk_stock(code) → 判断港股通标的
2. stale_push_wlin.py 改用共享模块(去掉本地函数定义)
3. 换仓评估增加港股通结算延迟检测:
- 卖港股→买A股时标注⚠️T+2到账限制
- 本次推荐(招商银行+A股→海博思创)无需标注,全是A股
|
2026-06-24 11:59:55 +08:00 |
|
知微
|
c7f15ebe0b
|
换仓评估改全面分析:用决策系统信号评分代替单纯看亏损%\n\n老逻辑:按亏损比例排序,亏最少的先卖 → 错(阿里亏22%但基本面好)\n新逻辑:score_future_outlook() 多维度评分,按前景排序\n\n评分维度:\n1. timing_signal — 买入+3,深套持有-2,持有-0.5\n2. 技术形态 — bearish-1.5,bullish+1.5\n3. 量价关系 — 卖盘-1,买盘+1\n4. 行业背景 — 大跌-0.5\n5. 盈亏比RR — RR≥2得+1,RR<1得-0.5\n6. 股票类别 — 蓝筹+0.5,深套/弱势-0.5\n\n实测:招商银行(亏-3%)评分-4.5(弱势持有+银行大跌+技术偏空),\n双一科技(亏-16%)评分-4.0(持有+bearish+卖盘主导+弱势)\n→ 推荐卖这俩腾38,780元买海博思创
|
2026-06-24 11:54:36 +08:00 |
|
知微
|
68e530a4be
|
换仓评估修复:沉没成本不参与决策
之前逻辑:expected_gain > locked_loss * 1.5 → 沉没成本谬误
错的:把已发生的亏损当成了交易成本
修复后:
1. 已亏损是沉没成本,卖不卖都已损失,不参与决策
2. 只比较持有 old 票的未来预期 vs 换到 new 票的未来预期
3. 深套票(<-15%)默认=死钱,继续持有预期≈-5%~0%
4. 目标票(RR>=3+买入信号)才有换仓资格
5. 最多卖2只、不超过总资产50%
6. 优先选亏损比例小、市值大的(效率高)
输出示例(已实测):
换仓建议:卖双一科技(亏-15.9%);阿里(亏-21.7%)→腾69k→买海博思创1手(53k)
理由:已深套,回本需涨19~28%不现实,死钱换有信号票,止损-3%可控,+17%空间明确
|
2026-06-24 11:48:27 +08:00 |
|
知微
|
92815aac06
|
换仓评估逻辑:现金不足时自动分析卖差票换推荐股
新增 evaluate_swap() 函数:
1. 仅对RR>=2.0且含买入关键词的强信号触发
2. 扫描持仓按亏损排序,找最少卖出组合凑现金缺口
3. 预期盈利 > 锁定亏损×1.5 才推荐切换
4. 最多卖3只,单次换仓不超总资产50%
5. 不划算时维持原预算不足1手消息
已验证:海博思创(688411) RR=5.6但预期盈利9k<锁定亏损46k×1.5
→ 不推荐切换,正确。沐曦如果触发也会按同一逻辑判断。
|
2026-06-24 11:42:26 +08:00 |
|
知微
|
b145dd47c3
|
现金更正:20230元(Dad截图确认) + strategy_lifecycle写回保护
截图显示可用(含天添利)=20,230.10元。之前80,476是错误数据。
strategy_lifecycle.regenerate_all 写portfolio.json时改为 merge现有字段,
不再清空 cash/total_assets/total_pl 等非holdings字段。
这样下次regenerate_all运行时不会丢数据。
现状:
现金 20,230元 | 市值 930,200元 | 总资产 950,430元
仓位 97.9% | 累计盈亏 -164,810元
25只持仓(14A/11H)
|
2026-06-24 11:33:51 +08:00 |
|
知微
|
eb294f05a5
|
import_holding_xls: 支持截图真实数字覆盖
regenerate_all 会覆盖 portfolio.json,所以导入流程改为:
1. 先更新 SQLite holdings 表
2. 再跑 regenerate_all(读 SQLite,写 decisions+portfolio)
3. 然后用真实数字覆盖 portfolio.json 汇总字段
4. 重建决策树
支持 --cash --total --mv 传入截图真实数字
用法:python3 import_holding_xls.py --cash 20230 --total 1008860 --mv 988512
|
2026-06-24 11:29:53 +08:00 |
|
知微
|
e2646c36cb
|
持仓导入完成:holding.xls→SQLite+portfolio.json全同步
1. 从 ~/stocks/holding.xls 导入25只持仓(14A/11H)
2. 同时写入 portfolio.json + SQLite holdings 表
3. stale_push_wlin 现金来源从 stale_report 改为 portfolio.json
4. portfolio.json 增加 total_assets 字段兼容 stale_detector
5. 导入脚本已规范化为 MoFin/scripts/import_holding_xls.py
用法:python3 import_holding_xls.py [--cash 金额]
6. 全量策略重评+决策树重建立即执行
Dad下次更新holding.xls后跑:
cd MoFin && python3 scripts/import_holding_xls.py
|
2026-06-24 11:21:51 +08:00 |
|
知微
|
df4f898bc4
|
持仓来源修复:holding.xls导入+持仓数据修正
老问题:scripts读的是 strategy_staleness_report.json 里的旧现金值,
portfolio.json 被 strategy_lifecycle.regenerate_all 反复覆盖。
修复:
1. import_holding_xls.py — 从 ~/stocks/holding.xls 导入TSV持仓
(含25只真实持仓,14A/11H,总市值93万,现金8万,仓位92%)
2. stale_push_wlin 现金来源改读 portfolio.json(取代旧stale_report缓存)
3. 港股市值×汇率修正(之前按1:1当人民币算,总资产多估了)
4. 每条策略的决策树同步重建
脚本执行:python3 MoFin/scripts/import_holding_xls.py (含全量重评)
Dad你以后更新holding.xls后跑这条命令就行
|
2026-06-24 11:19:29 +08:00 |
|
知微
|
046e81a202
|
批量重建决策树(regenerate_all误清,42只已恢复)
per_stock_reassess.py 调 strategy_lifecycle.regenerate_all()
→ regenerate_all() 没有strategy_tree逻辑,清空了所有决策树
→ 用 strategy_tree.init_default_branches() 重建42只,每只6条分支
stale_push_wlin:
30分钟同股同操作冷却+push_cooldown.json
⚠️/🛒 操作标记
港股每手股数动态获取
半手补整阈值50%→80%
branch_scanner: 静默采集,状态变化驱动推送
|
2026-06-24 11:09:49 +08:00 |
|
知微
|
3ec5460207
|
stale_push_wlin: 30分钟同股同操作冷却
push_cooldown.json 记录每只股票每种操作的最后推送时间。
每次推送前检查 (code, action_type) 是否在30分钟内推过。
是 → 跳过该股(不出现在推送中)
全部跳过 → 整条消息静默不推
冷却键: {code}_{action_type}(如 300308_buy、688639_buy)
不同操作不受限:同一只股 买入→止损 隔10分钟也能推
不同股票不受限:华恒的buy不影响中际的buy
同步修复:港股每手股数香港股数(之前patch到旧文件没生效)
|
2026-06-24 11:01:53 +08:00 |
|
知微
|
e7105543da
|
stale_push_wlin: 半手补满阈值收紧→80%
原来50%预算→1手太松了
长飞光纤:预算60,357 vs 1手112,796元,只有53%
改80%后不再误标🛒
华恒生物消失:价格21.33跌破买入区下沿21.39,正常退出
港股每手股数已在上一版通过腾讯API字段[60]实时获取
|
2026-06-24 10:55:27 +08:00 |
|
知微
|
9d3f48a502
|
半手补整阈值50%→90%,防止现金严重不足却标🛒
修正前:长飞光纤预算60K只有1手112K的一半,却因为
budget > lot_cost*0.5 的规则被凑成1手,标了🛒
修正后:只有预算够90%以上才补整1手
实际影响:长飞光纤现在标⚠️而不是🛒
|
2026-06-24 10:53:31 +08:00 |
|
知微
|
2657a9ef66
|
stale_push_wlin: 港股每手股数修正+操作标记
1. 港股每手股数从腾讯API实时获取(field 60)
长飞光纤(06869) 1手=500股(不是之前的100股)
港股市值计算同步修复
2. 操作符号标记:
⚠️ = 现金不够1手(给你看但买不了)
🛒 = 现金够买(可以直接操作)
|
2026-06-24 10:51:52 +08:00 |
|
知微
|
e0b7f49c3a
|
stale_push_wlin: 操作符号标记
- ⚠️ 预算不足1手(列了也没法买,但让你知道)
- 🛒 手数达标(现金够买,可直接操作)
取自 position_advice calc_position 的实际计算结果:
lots=0 → 预算不足 ⚠️
lots>0 → 可以买 🛒
|
2026-06-24 10:47:34 +08:00 |
|
知微
|
b229e6f0cb
|
推送治理:静默采集+需要操作才出声
核心原则:数据采集类脚本完全静默(做积累不做推送),
只有需要操作/需要看的才到达Dad。
改动:
1. branch_scanner 已完全静默(上一轮改的)
2. stale_push_wlin return 1 → return 0(修复错误退出码)
3. 开盘简报 deliver=local → deliver=origin(之前没到Dad)
4. 收盘简报 deliver=local → deliver=origin
5. 策略评估-每日 deliver=local → deliver=origin
6. stale_push_wlin 输出格式已包含分支信息:
【弱势震荡→buy】价格回调到支撑区,弱势市场低吸
Dad会收到的消息:
- 自选买入提醒(9:01/12:01)← 需要操作
- 开盘简报(9:35)← 需要看
- 收盘简报(16:10)← 需要看
- 策略评估(21:00)← 需要看
- 价格触发变化 ← 需要知道
其他全部静默
|
2026-06-24 10:45:51 +08:00 |
|
知微
|
80b854b945
|
branch_scanner 彻底静默:自成长采集器不出操作信号
branch_scanner 是自成长数据收集器,不输出也不推送。
操作信号由 stale_push_wlin / price_monitor / 开盘收盘简报 按cron-report-format规范输出。
scanner只做三件事:
1. 每15分钟扫价格+评估分支
2. trigger_count + 1(决策树数据)
3. 更新状态快照
|
2026-06-24 10:39:28 +08:00 |
|
知微
|
68e806cfa1
|
branch_scanner: 状态变化驱动推送,停止15分钟噪音
核心逻辑重写:
- 不再每15分钟推30只股票的买入信号(噪音)
- 改为静默数据采集 + 状态变化检测
- scanner_state.json 记录上一轮各股最优分支
- 只有以下情况才推:
① 情景切换(如弱势震荡→急跌防御)
② 某只股票的最优分支变化(如持有→买入/止损)
③ 止损首次触发(P0新出现才推,不重复推)
日常运行时完全静默,决策树数据持续累积
|
2026-06-24 10:37:39 +08:00 |
|
知微
|
e1c426fb96
|
branch_scanner: 修price_lower遗漏+只输最优分支
1. check_condition 新增 price_lower 检查(买入区下界)
之前 buy_dip 分支的 price_lower: >=entry_low 从未被验证
导致跌出买入区的股票也错误触发买入信号
2. 输出改为每只股票只列最优优先级的适用分支
之前列出所有适用分支(多分支冲突:同一只股同时止损+买入)
优先级:止损(P0) > 回调买入(P1) > 追涨(P2) > 减仓(P3) > 止盈(P4) > 持有(P99)
每只股票只列一项,无矛盾
|
2026-06-24 10:34:46 +08:00 |
|
知微
|
ee1849a6a3
|
自成长体系补齐:分支扫描+每日剪枝+决策树全覆盖+分支输出
核心改动:
1. 创建 branch_scanner.py — 每15分钟扫价格→评估分支适用性→记录trigger_count
cron: 分支自成长-盘中 (15,30,45,00 9-15)
2. 创建 prune_branches.py — 每日21:00剪枝(触发>=5次且成功率<50% → 淘汰)
cron: 分支剪枝-每日 (0 21 * * 1-5) — 之前是每周,频率太低
3. strategy_tree.py: _check_branch_condition 新增 price_lower 支持
buy_dip 分支同时检查上下界(price<=entry_high AND price_lower>=entry_low)
4. 43只股票全部补全决策树(之前只有6只)
init_default_branches 生成每只6条分支:止损/回调买入/突破追涨/减仓/止盈/持有
5. stale_push_wlin 分支输出已存在(302-315行加载策略树,437-455行评估+追加)
下一期报告即显示:【弱势震荡→buy】价格回调到支撑区,弱势市场低吸
新增:
南亚新材(688519) 全面分析+策略+自选
买入区335~350 止损320 止盈400 RR=1.7
6月从285拉至409(+43%)后急跌至331(-19%),今日反弹缩量。高PE(228)炒作品种,等回调确认支撑
|
2026-06-24 10:29:45 +08:00 |
|
知微
|
102a64d856
|
自成长:分支评估+剪枝+报告接入
补齐「顺势而为 环境预判 策略多分枝」体系中缺失的组件:
branch_evaluator.py(新增)— 每30min评估所有策略树分支
1. detect_scenario() 获取当前宏观情景
2. 对42只股票评估哪个分支当前适用
3. 适用分支 trigger_count+1, last_triggered=now
4. 触发>=3次且成功率<30%→标记pruning_candidate
5. 无决策树的股票自动初始化(init_default_branches)
prune_branches.py(新增)— 每日16:30收盘后剪枝
阈值:触发>=3次且成功率<30%→裁掉并归档到pruned_branches
Dad说「每周太低频」→改为每日
stale_push_wlin.py(修改)— 报告每只股增加分支行:
【弱势震荡→buy_dip】价格回调到支撑区,弱势市场低吸
cron更新:
分支扫描(b809fcabfa5b) → 指向branch_evaluator.py, 每30min
剪枝(a3697c108c7b) → 指向prune_branches.py, 每日16:30
自成长核心:branch_evaluator 运行时自动发现并初始化无策略树股票,
252个分支已生成, trigger_count已开始累积, 反馈循环上线
|
2026-06-24 10:24:11 +08:00 |
|
知微
|
eb86a9091e
|
stale_push_wlin: 仓位分母改为总资产,输出具体手数/股数
仓位计算:
分母:总资产(持仓市值+现金),从portfolio.json+strategy_staleness_report.json读取
非之前用的现金总额
理论仓位:仅基于RR+大盘+品种特性,不受现金限制,纯% of 总资产
当前建议:理论占总资产%→按现金锁死→输出具体手数和股数
报告最终一行:
仓位:理论{theo}%×总资产 | 建议{act}%({N}手({M}股,{cost}元))
Dad要求:仓位是本次操作的仓位,分母是总资产不是现金,
给出仓位后要能直接按手/股操作
|
2026-06-24 10:08:05 +08:00 |
|
知微
|
3ba2b044d7
|
stale_push_wlin: 推荐加理论仓位+当前建议仓位(基于现金)
每只推荐新增第四行:
仓位:理论推荐{theo_pct}% | 当前建议{actual_pct}%({N}手≈预算)
仓位计算:
理论 — 基于RR(8-25%) + 大盘(±20%) + 品种特性(±20%)
当前 — 理论×多只稀释系数 + 按实际现金计算可买手数
兜底 — 预算不够1手时推荐至少1手
Dad要求:买卖不能不写仓位,理论仓位不受现金限制,
当前建议仓位根据portfolio.json实际现金计算
|
2026-06-24 10:00:52 +08:00 |
|
知微
|
b30a5fcdde
|
stale_push_wlin: 每只推荐含大盘/行业/个股三面分析
每只操作建议输出三段线:
第一行:名称代码+买区+1手成本+RR+止损止盈
第二行:大盘走向 | 行业趋势 | PE估值 | 消息面
第三行:技术位(强撑→弱撑→弱压→强压) | 信号
数据来源:signal_factors(策略富化生成的因子列表)、
multi_tf_cache.json(PE/EPS)、
tech_snapshot(技术位)、
macro_line(大盘背景)
Dad要求:推荐必须能看到操作理由的三个维度分析
|
2026-06-24 09:56:26 +08:00 |
|
知微
|
f6ee15489c
|
stale_push_wlin: 重评段删除,只推有清晰操作信号的个股
改动:
- 移除「策略需重评」报告段 — 内部流程,Dad不需要看到
- 移除pick/watch拆分的旧逻辑 — 统一为actionable过滤
- 跳过信号含等企稳关注信号不充分neutral持有等无用描述的个股
- 无操作信号 → 静默不推
- 有操作信号 → 标准格式(含行业context+技术位+止损止盈+RR+1手成本)
Dad要求:要看到的是可以直接操作的建议,不是内部流程记录
|
2026-06-24 09:46:52 +08:00 |
|
知微
|
df43244e9c
|
timing_signal 从长句改为短词:所有信号2-4字,因子存到signal_factors
改动:
1. 硬编码信号值缩短(L729-769):
'量价齐升,可买入'→'买入' '放量下跌,等企稳再入'→'观望'
'接近支撑位,关注'→'关注' 其他一致精简
2. enrich_timing_signal不再拼合因子到signal,
信号保持干净(仅base_signal→'买入'/'观望'),
因子列表存入 signal_factors 字段
3. _is_buy_signal 关键词同步为 ['买入','持有','加仓','关注']
4. 分类约束 buy_signals 同步为 ['买入','加仓','可追']
5. stale_push_wlin.py NON_BUY_SIGNALS/BUY_KEYWORDS 同步
影响:所有消费timing_signal的地方都使用子串匹配(in),
短信号兼容。实际上修复了一个旧bug——非买入信号
如'观望'现在可以被NON_BUY_SIGNALS正确过滤
|
2026-06-24 09:46:15 +08:00 |
|
知微
|
3c9a758424
|
meta_growth.py 脚本:每日两次分析git log→自动注入硬编码扫描规则
- 读取过去8小时git log,按修复关键词识别新问题类型
- 匹配 PATTERN_TEMPLATES(目前6个类别,可扩展)
- 去重检查→注入到 hardcode_scanner.py 的扩展点
- 更新 growth_registry.json(问题类别注册表)
- 自检:hardcode_scanner是否存在/注册表是否可写
调度:12:45(午间注入→17:25审计用新规则)
00:45(全天汇总→次日审计带新规则)
|
2026-06-24 00:15:33 +08:00 |
|
知微
|
abd8d5c258
|
元自成长改为每日两次(12:45+00:45),半天内完成闭环
12:45: 上午盘发现问题→注入新规则→17:25审计就用新规则扫
00:45: 全天修复汇总→注册表更新→次日审计带新规则
Dad要求:用上午盘的发现提升下午盘,而不是等一周
|
2026-06-24 00:14:41 +08:00 |
|
知微
|
b4af8c9927
|
元自成长层:meta_growth 每周扫描修复模式→自动扩展扫描规则
- scripts/meta_growth.py (NEW): 每周日22:00分析git log中的修复模式,
识别新问题类型,向 hardcode_scanner 注入新规则
- scripts/hardcode_scanner.py (MODIFIED): 预置扩展点注释,
meta_growth 可直接在其后追加新规则元组
- docs/SELF_GROWTH_SYSTEM.md (UPDATED): 新增第七章"元自成长层"
- cron: 元自成长-每周 周日22:00 no_agent
设计理念:自成长机制本身必须也是自成长的。
hardcode_scanner 能扫什么不是写死的——meta_growth
会从你的修复习惯中学习新的扫描类别。
|
2026-06-24 00:10:45 +08:00 |
|
知微
|
6c97870a8d
|
add daily tool scripts: hardcode_scanner, branch_scanner, prune_branches
|
2026-06-24 00:04:59 +08:00 |
|
知微
|
e33a236bc1
|
自成长系统:四层循环架构文档 + 三个代码改动 + 所有日间修复
内容:
- docs/SELF_GROWTH_SYSTEM.md (NEW) — 完整的 Sense→Respond→Adapt→Improve 架构文档
- docs/SYSTEM_ARCHITECTURE.md (UPDATED) — 总索引指向新文档,cron数从14更新为31
- hk_rate.py (NEW) — HKD汇率模块,缓存+上次有效汇率自动恢复
- price_monitor.py (MODIFIED) — 价格监控注入分支评估+情景切换检测
- strategy_lifecycle.py (MODIFIED) — 策略生命周期评估上下文
- strategy_tree.py (NEW) — 情景化多分支决策引擎
日间修复(2026-06-23):
- stale_push_wlin: cash硬编码146837→读portfolio.json
- stale_push_wlin: lot_cost汇率0.93→hkd_to_cny动态
- stale_push_wlin: HK每手默认500股→Tencent API实时f[60]
- stale_push_wlin: 重评异步→串行(先重评再出报告)
- hk_rate: FALLBACK=0.87硬编码→缓存上次有效汇率
- 新增 cron: 分支扫描每30分, 分支剪枝周六, 硬编码审计17:25
- hardcode_scanner.py 每日扫描所有.py中大额数字
|
2026-06-24 00:04:26 +08:00 |
|
知微
|
44eef95718
|
fix: 指数K线数据获取
fetch_kline 修复两个bug:
1. _market_prefix 不认识 sh/sz/hk 开头指数代码
2. 指数code自带前缀,API key不要重复拼接
3. fqkline端点同样支持指数,不需要mkline
4. refresh_mtf_cache 加入6大指数自动缓存
上证指数(4163) MA5=4110 MA10=4053 MA20=4070 周线横盘 月线震荡上升
|
2026-06-22 23:53:31 +08:00 |
|
知微
|
4863d2c939
|
fix: cron prompt加入市场趋势研判为强制第一步
每条报告必须先出市场结构判断(大盘格局+行业轮动+组合影响),再分析个股。
确保不再只有个股维度,大盘和行业有独立的研究产出。
|
2026-06-22 23:27:42 +08:00 |
|
知微
|
eb8648839d
|
feat: 全局系统审计 system_audit.py + 每日cron
system_audit.py 每日17:30自动运行,7个维度全覆盖:
1. 信号管道 — 产出vs处理量,防积压
2. 股票池 — 自选/关注/持仓的数量健康
3. 策略状态 — 过期/缺止损/偏离检测
4. 建议闭环 — pending待执行建议
5. 组合健康 — 仓位/现金水位
6. 数据管道 — 采集时效性
7. 系统服务 — Dashboard/XMPP在线
发现HIGH问题自动触发修复,问题写入report供复盘
|
2026-06-22 20:21:52 +08:00 |
|
知微
|
06b8388887
|
docs+fix: 生命周期管理文档 + signal_news processed标记
- docs/lifecycle-management.md 完整生命周期规范(5大对象)
- 信号、股票、策略、建议、评估的完整状态流转
- 自我提升循环:信号→评估→执行→对比→修正→验证
- 当前缺口与修复清单
- signal_news 加 processed 列,处理完标记不重复
- 两个盯盘cron prompt同步更新:读未处理信号(WHERE processed=0)+标记已处理
|
2026-06-22 20:12:00 +08:00 |
|
知微
|
b32e2fd803
|
feat: 新增行业领涨股扫描 xiaoguo_scanner
- 新增 fetch_sector_leaders() 从 market.json 读取热门行业领涨股
- 三路并行:同花顺技术榜 + 行业领涨 + 东财热榜(502降级)
- 优先级排序:行业领涨 > 同花顺榜 > 东财热榜
- 名称→代码映射使用本地缓存,避免频繁调用akshare
- 更新文档
|
2026-06-22 20:00:40 +08:00 |
|
知微
|
b59c1f3bba
|
feat: xiaoguo信号管道完整链路
- xiaoguo_scanner: 6看多榜+5看空榜轮换,看空榜命中持仓预警
- 鹏华财富热榜降级静默
- 盯盘cron prompt: 接入xiaoguo信号+关注列表检查
- watchlist新增status=watching区分正式自选vs关注
- 楚江新材、中谷物流加入正式自选并生成策略
- 香农芯创、科安达加入关注列表等待回调
- 新增 docs/xiaoguo-signal-pipeline.md 完整流程文档
|
2026-06-22 19:46:21 +08:00 |
|
知微
|
ce687a4216
|
fix: xiaoguo_scanner 榜单更新+看空榜持仓预警
- 修bug:stock_rank_cxd_ths 实为'创新低',改为 stock_rank_lxsz_ths '连续上涨'
- 新增6个看多榜(险资举牌)+ 5个看空榜(创新低/持续缩量/量价齐跌/连续下跌/向下突破)
- 看空榜自动比对持仓,命中写入 xiaoguo_risk 信号
- 东财热榜静默降级(502不可修)
- 看空榜不跳过已扫描,每轮全检
|
2026-06-22 19:13:55 +08:00 |
|
知微
|
774c2e885d
|
fix: mofin_collect 9:30前跳过板块采集
|
2026-06-22 09:39:20 +08:00 |
|
知微
|
a8c3ec5db9
|
三修:建议去重+闭环跟踪+模糊用词禁令
server.py:
- /api/advice/record 加去重(同天+同方向+同摘要前40字=跳过)
- /api/advice/confirm 支持 executed 动作+自动打 evaluated 标记
cron prompts:
- MoFin盘前中监控 + 午后监控 加入 advice/record 调用指令
- 模糊用词禁令嵌入 cron prompt
|
2026-06-21 23:00:53 +08:00 |
|