知微
|
d82de939ff
|
revert(币种统一): 回退CNY转换
港股价格存原币(HKD),不存CNY。
Dad需要在股软里看港币价下单操作。
|
2026-06-29 17:46:14 +08:00 |
|
知微
|
1ad2c20493
|
CNY币种统一修复 — decisions.json所有价格字段统一CNY
问题:港股在decisions.json存HKD、portfolio.json存CNY,
报告交叉读取导致建滔积层板止损判断错位(CNY价vs HKD止损)。
修复:
price_monitor.refresh_data_prices() 每次拉价后,
对港股5位代码的全部价格字段(price/stop_loss/take_profit等)
及嵌套analysis/trigger字段,统一xHK_RATE→CNY
保证所有文件价格口径一致
|
2026-06-29 16:28:59 +08:00 |
|
知微
|
aa4f013ee5
|
数据新鲜度防御体系(致命错误防御)
根因:今下午报告用周五多周期缓存(multi_tf_cache)作周一操作建议,
中芯国际H浮盈+10%被错报破止损。
修改:
1. price_monitor 新增 live_prices.json 写入(每2分钟刷新所有实时价)
2. 新增 data_freshness.py — data_freshness check function
3. intraday_health_check price_monitor检测从10min收紧到5min
4. 新增 midday MTF cache refresh (11:00+14:00)
5. cron-report-format pre-flight checklist 新增数据新鲜度检查项
所有报告产出前必须先跑 data_freshness,过期则禁止出操作建议
|
2026-06-29 15:23:32 +08:00 |
|
知微
|
6a97d93018
|
现金更正 + 法拉电子清仓记录
截图确认:
- 可用资金 92,664.20(含天添利)
- 冻结 39,481.40
- 总现金 132,145.60
- 总资产 = 持仓市值1,107,670 + 现金132,145.60 = 1,239,815.60
法拉电子 189.20卖出100股已记录
|
2026-06-29 12:40:50 +08:00 |
|
知微
|
40d74f89ff
|
feat: xmpp bot最终修复版+skill文档同步
xmpp_agent_core.py 当前工作配置记录:
1. send_presence() — presence = available, 否则私聊进离线
2. 入站消息队列(_inbound_queue) — 崩了不丢, 重试3次
3. 出站队列(_outbound_queue) — 崩了自动重启
4. XMPP心跳检测(xep_0199 ping) — run_filters死后15s内重连
5. 私聊回复双通道: send_message(指定resource) + send_stanza(裸JID)
6. AGENT_MENTION动态解析(群聊@知微识别)
7. session_id保持xmpp-zhiwei-v2不变(不因重启换session)
8. 断线重连2秒延迟(防资源冲突)
|
2026-06-26 23:17:21 +08:00 |
|
知微
|
fa3fc93f25
|
feat: 数据治理+深套解套方案
- data_governance.py: holding_strategies去重(1642→345)
- 检查缺失策略的持仓(中际旭创已补)
- 深套持仓统计
- 中际旭创(300308)技术面策略已生成
- 止损1287 止盈1453 买入区1297~1350 RR=3.59
- 深套解套方向:
丘钛科技 -48% → 反弹到9.7卖1/3
万科企业 -53% → 反弹到2.8卖1/3
紫金矿业 -36% → 反弹到30.4卖1/3
比亚迪股份 -27% → 反弹到89.8卖1/3
中科电气 -32% → 反弹到18.6卖1/3
|
2026-06-25 21:22:59 +08:00 |
|
知微
|
b053103377
|
feat: 策略复盘闭环 Phase1
- 新增 scripts/strategy_review.py: 遍历所有active策略
- 腾讯API实时价对比止损/止盈/入场点
- 分类: correct/wrong/partial/pending
- 失败模式归因: 止损过紧/入场过早/止盈过远等
- 写入 accuracy_stats 表(首条真实数据)
- 新增 docs/strategy-review-loop.md: 完整闭环设计文档
- 含失败模式→修复方向映射表
Phase1 结果: 38条策略, 94.7%准确率(19条待定), 1条止损过紧
|
2026-06-25 19:58:00 +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 |
|
知微
|
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 |
|
知微
|
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 |
|
知微
|
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 |
|
知微 (MoFin)
|
aa0f740381
|
MoFin 初始提交
完整数据采集+分析管道:
- market_watch.py:90行业板块采集(同花顺/东方财富)
- 市场精选推荐 cron:全市场分析+候选池+星级推荐
- price_monitor.py:持仓/自选高频价格监控
- refresh_mtf_cache.py:多周期K线缓存
- 策略评估/知识萃取管道
文档:docs/ 含完整需求+架构设计
注意:尚未配置 git remote,笑笑接手后自行配置
|
2026-06-20 12:04:21 +08:00 |
|