Files
MoFin/CHANGELOG.md
T

3.3 KiB
Raw Blame History

MoFin 架构改革 — 变更日志

日期:2026-06-29 ~ 2026-07-03 执行:Sisyphus (小小莫) + Zhiwei (知微)


2026-07-03 — JSON 彻底移除 + 币种架构修正

JSON→DB 全面迁移 (32+ 文件)

数据层

  • mo_data.py:删除所有 JSON fallback,纯 SQLite 读取
  • mofin_db.py
    • write_holding_strategy 改为 DELETE+INSERT(旧 ON CONFLICT 静默失败)
    • holding_strategies 新增 10 列:avg_price, decision_timestamp, note, quality_check, quality_checked_at, quality_issues_json, position_advice, signal_factors_json, time_horizon, decision_type
    • 新增 live_prices / mtf_cache / capital_flow_cache 三张表 + 读写函数
    • 已有 market_snapshots 表接替 market.json

server.py

  • 新增 _save_portfolio / _save_decision / _save_watchlist 写函数
  • 所有 13 个 API 写端点切到 DB,读端点删除 JSON fallback

脚本层

  • 15 个文件 json.load → mo_data.read_*()
  • 12 个文件 json.dump → mofin_db.write_*() 或直接删除
  • strategy_lifecycle JSON 冷备行全部删除
  • branch_scanner / prune_branches 切到 DB
  • system_audit / stale_push_wlin / refresh_mtf_cache JSON→DB

LLM Prompt

  • evaluation-daily v2evaluation.json → DB 表
  • knowledge-extraction v1decisions.json → DB 表
  • analytics.py:删除 JSON 路径常量

已移除的 JSON 文件(不再被任何代码读写)

  • portfolio.json / decisions.json / watchlist.json
  • live_prices.json / multi_tf_cache.json / market.json / capital_flow_cache.json

币种架构

港股 — 个股 price/cost/stop_loss 存 HKDcurrency='HKD' A股 — 个股 price/cost/stop_loss 存 CNYcurrency='CNY' 总资产calc_total_assets() 汇总时港股 HKD×汇率→CNY

场景 港股 A股
个股显示(股软对照) HKD CNY
技术位(止损/止盈/买入区) HKD CNY
总资产 / 总市值 / P&L CNY(汇总时转换) CNY

关键修复

  • price_monitor.pyscripts/price_monitor.py 不一致(前者存 HKD,后者转 CNY)→ 统一:存 HKD,不转换
  • s.get('price', 0) 在 price 为 None 时返回 None 导致 TypeError → 改为 s.get('price') or 0
  • 东财 API 限流(之前 0.1s 间隔疯狂刷被封)→ 第一只失败立刻切腾讯兜底

验证

holdings: 19 (8 HKD + 11 CNY)
decisions: 19 (8 HKD + 11 CNY)
total_assets: stored = calculated ✅

2026-07-01 — 统一读取层 + 现金日志

新增

  • mo_data.pyread_portfolio() / read_decisions() / read_watchlist()
  • mofin_db.pycash_log 表 + write_cash_log / query_cash_log

修改

  • 16 个文件 json.load → mo_data.read_*()
  • HK 股成本 HKD→CNY 修复(import_holding_xls 导入时转换)

2026-06-30 — 初始架构重构

新增

  • mo_models.pycalc_total_assets(), is_hk_stock(), get_hk_rate(), to_cny(), validate_portfolio()
  • mo_config.py — 配置单例
  • mo_bridge.py — DSA 集成桥
  • mo_provider.py — DSA 数据源适配器
  • scripts/data_validate.py, holdings_reconciliation.py, process_trade.py(知微)
  • DSA Web UI: http://192.168.1.246:8001

修改

  • price_monitor.py:港股腾讯→东方财富 + 统一 total_assets
  • 8 个文件散落 is_hk_stock / total_assets 统一到 mo_models