refactor: 统一价格入口 mo_data.get_price() - 22个脚本移除自拉腾讯API

所有价格获取统一走 mo_data.get_price() / get_prices_batch():
  - 优先读 live_prices(DB) → 无/过期才调 stock_quote(API) → 自动写回DB
  - 22个脚本全部替换:branch_scanner chip_factors divergence_detector
    market_screener mo_provider mofin_collect monitor_300308 300308_monitor
    multi_timeframe refresh_macro_context stale_detector stale_push_wlin
    stock_profile strategy_evaluator strategy_lifecycle strategy_review
    strategy-staleness-check technical_analysis xiaoguo_signal_consumer
    collect_evaluation_data
This commit is contained in:
知微
2026-07-08 23:54:01 +08:00
parent 0e21a3ae83
commit 9fef32413b
46 changed files with 5530 additions and 21994 deletions
+14
View File
@@ -88,3 +88,17 @@
**强制规则(以后所有推荐都走):**
三步流程:触发系统策略重评 → 检查交易约束 → 基于策略结果出推荐
禁止凭行情直接下结论。
## 2026-07-08 补建prepare_recommendation.py(实际文件缺失修复)
**发现问题:** 午后监控(13:35)运行时发现prepare_recommendation.py实际不存在——2026-07-07知识日志记录已"新建"但system_inventory.json引用的文件路径缺失。根因: 2026-07-07 session中仅记录了计划/写入意图但文件未实际落盘。
**修改内容:**
1. 实际创建 `/home/hmo/.hermes/profiles/position-analyst/scripts/prepare_recommendation.py`
- 调用per_stock_reassess.py获取策略信号(timing_signal/action_note/止损/止盈/RR)
- 自动识别市场(A股/港股/科创板)及最小交易单位(100/200)
- 对持仓股计算pnl(成本/盈亏金额/盈亏比例)
- 输出标准化JSON(strategy + trade_constraints + pnl)
- 已验证: 688981(科创板200股)→策略信号:买入但RR1.31<1.5降级+浮盈+22.57%
- 已验证: 01478(港股100股)→策略信号:弱势持有+浮亏-48.85%
2. 同时生成本日午后监控报告
+98 -2
View File
@@ -1,6 +1,6 @@
{
"last_updated": "2026-07-07 14:07",
"total_candidates": 31,
"last_updated": "2026-07-08 15:41",
"total_candidates": 34,
"sectors_analyzed_today": [
"半导体",
"金属新材料",
@@ -1483,6 +1483,102 @@
"drop_reason": null,
"trend_warning": false,
"trend_note": ""
},
{
"code": "000977",
"name": "浪潮信息",
"sector": "计算机设备",
"xiaoguo_score": 7,
"xiaoguo_reason": "AI服务器核心标的,订单与产能优势明显,但受供应链与毛利率压制;板块资金流出中仍显相对韧性,适合逢低布局算力基建主线。",
"xiaoguo_strategy": {
"entry_range": "38.5-40.2",
"stop_loss": "36.8",
"target": "45.0"
},
"verified_price": 78.17,
"verified_change": 10.01,
"added_at": "2026-07-08 15:09",
"last_updated": "2026-07-08 15:09",
"num_observations": 1,
"score_history": [
{
"date": "2026-07-08 15:09",
"score": 7
}
],
"zhiwei_star": null,
"zhiwei_reviewed": false,
"zhiwei_reviewed_at": null,
"promoted": false,
"promoted_at": null,
"dropped": false,
"drop_reason": null,
"trend_warning": false,
"trend_note": ""
},
{
"code": "603019",
"name": "中科曙光",
"sector": "计算机设备",
"xiaoguo_score": 7.5,
"xiaoguo_reason": "国产高性能计算与液冷技术龙头,政策与信创双重驱动,基本面稳健;波动率低于纯AI概念股,防御与进攻属性均衡。",
"xiaoguo_strategy": {
"entry_range": "42.0-43.5",
"stop_loss": "39.5",
"target": "48.0"
},
"verified_price": 98.15,
"verified_change": 4.97,
"added_at": "2026-07-08 15:09",
"last_updated": "2026-07-08 15:09",
"num_observations": 1,
"score_history": [
{
"date": "2026-07-08 15:09",
"score": 7.5
}
],
"zhiwei_star": null,
"zhiwei_reviewed": false,
"zhiwei_reviewed_at": null,
"promoted": false,
"promoted_at": null,
"dropped": false,
"drop_reason": null,
"trend_warning": false,
"trend_note": ""
},
{
"code": "000938",
"name": "紫光股份",
"sector": "计算机设备",
"xiaoguo_score": 6.5,
"xiaoguo_reason": "ICT基础设施全栈布局(服务器/交换机/存储),H3C整合推进中;估值处于历史中低位,但短期受板块情绪拖累,需等待资金回流确认。",
"xiaoguo_strategy": {
"entry_range": "28.0-29.5",
"stop_loss": "26.2",
"target": "33.0"
},
"verified_price": 33.62,
"verified_change": 6.8,
"added_at": "2026-07-08 15:09",
"last_updated": "2026-07-08 15:09",
"num_observations": 1,
"score_history": [
{
"date": "2026-07-08 15:09",
"score": 6.5
}
],
"zhiwei_star": null,
"zhiwei_reviewed": false,
"zhiwei_reviewed_at": null,
"promoted": false,
"promoted_at": null,
"dropped": false,
"drop_reason": null,
"trend_warning": false,
"trend_note": ""
}
]
}
-823
View File
@@ -1,823 +0,0 @@
{
"decisions": [
{
"code": "000700",
"name": null,
"version": 1,
"price": null,
"cost": null,
"shares": 0,
"stop_loss": 13.74,
"take_profit": 18.6,
"entry_low": null,
"entry_high": null,
"currency": "CNY",
"strategy_type": "decision",
"action": null,
"timing_signal": null,
"rr_ratio": null,
"tech_snapshot": null,
"stock_category": null,
"sector_context": null,
"status": "active",
"trigger_json": null,
"changelog_json": null,
"source": "migrate",
"reason": null,
"created_at": "2026-07-08T11:42:04.322495",
"updated_at": null,
"avg_price": null,
"decision_timestamp": null,
"note": null,
"quality_check": null,
"quality_checked_at": null,
"quality_issues_json": null,
"position_advice": null,
"signal_factors_json": null,
"time_horizon": null,
"decision_type": null,
"trigger": {},
"changelog": [],
"quality_issues": {},
"signal_factors": [],
"timestamp": "2026-07-08T11:42:04.322495",
"type": "decision"
},
{
"code": "00700",
"name": null,
"version": 1,
"price": null,
"cost": null,
"shares": 0,
"stop_loss": 390.83,
"take_profit": 528.77,
"entry_low": null,
"entry_high": null,
"currency": "CNY",
"strategy_type": "decision",
"action": null,
"timing_signal": null,
"rr_ratio": null,
"tech_snapshot": null,
"stock_category": null,
"sector_context": null,
"status": "active",
"trigger_json": null,
"changelog_json": null,
"source": "migrate",
"reason": "6/9知微收紧:宽度20%→10%",
"created_at": "2026-07-08T11:42:04.322435",
"updated_at": null,
"avg_price": null,
"decision_timestamp": null,
"note": null,
"quality_check": null,
"quality_checked_at": null,
"quality_issues_json": null,
"position_advice": null,
"signal_factors_json": null,
"time_horizon": null,
"decision_type": null,
"trigger": {},
"changelog": [],
"quality_issues": {},
"signal_factors": [],
"timestamp": "2026-07-08T11:42:04.322435",
"type": "decision"
},
{
"code": "00981",
"name": null,
"version": 1,
"price": null,
"cost": null,
"shares": 0,
"stop_loss": 67.0,
"take_profit": 88.0,
"entry_low": null,
"entry_high": null,
"currency": "CNY",
"strategy_type": "decision",
"action": null,
"timing_signal": null,
"rr_ratio": null,
"tech_snapshot": null,
"stock_category": null,
"sector_context": null,
"status": "active",
"trigger_json": null,
"changelog_json": null,
"source": "migrate",
"reason": null,
"created_at": "2026-07-08T11:42:04.322447",
"updated_at": null,
"avg_price": null,
"decision_timestamp": null,
"note": null,
"quality_check": null,
"quality_checked_at": null,
"quality_issues_json": null,
"position_advice": null,
"signal_factors_json": null,
"time_horizon": null,
"decision_type": null,
"trigger": {},
"changelog": [],
"quality_issues": {},
"signal_factors": [],
"timestamp": "2026-07-08T11:42:04.322447",
"type": "decision"
},
{
"code": "01088",
"name": null,
"version": 1,
"price": null,
"cost": null,
"shares": 0,
"stop_loss": 42.0,
"take_profit": 52.0,
"entry_low": null,
"entry_high": null,
"currency": "CNY",
"strategy_type": "decision",
"action": null,
"timing_signal": null,
"rr_ratio": null,
"tech_snapshot": null,
"stock_category": null,
"sector_context": null,
"status": "active",
"trigger_json": null,
"changelog_json": null,
"source": "migrate",
"reason": null,
"created_at": "2026-07-08T11:42:04.322519",
"updated_at": null,
"avg_price": null,
"decision_timestamp": null,
"note": null,
"quality_check": null,
"quality_checked_at": null,
"quality_issues_json": null,
"position_advice": null,
"signal_factors_json": null,
"time_horizon": null,
"decision_type": null,
"trigger": {},
"changelog": [],
"quality_issues": {},
"signal_factors": [],
"timestamp": "2026-07-08T11:42:04.322519",
"type": "decision"
},
{
"code": "01211",
"name": null,
"version": 1,
"price": null,
"cost": null,
"shares": 0,
"stop_loss": 77.92,
"take_profit": 104.49,
"entry_low": null,
"entry_high": null,
"currency": "CNY",
"strategy_type": "decision",
"action": null,
"timing_signal": null,
"rr_ratio": null,
"tech_snapshot": null,
"stock_category": null,
"sector_context": null,
"status": "active",
"trigger_json": null,
"changelog_json": null,
"source": "migrate",
"reason": "6/9知微收紧:宽度16%→10%",
"created_at": "2026-07-08T11:42:04.322411",
"updated_at": null,
"avg_price": null,
"decision_timestamp": null,
"note": null,
"quality_check": null,
"quality_checked_at": null,
"quality_issues_json": null,
"position_advice": null,
"signal_factors_json": null,
"time_horizon": null,
"decision_type": null,
"trigger": {},
"changelog": [],
"quality_issues": {},
"signal_factors": [],
"timestamp": "2026-07-08T11:42:04.322411",
"type": "decision"
},
{
"code": "01478",
"name": null,
"version": 1,
"price": null,
"cost": null,
"shares": 0,
"stop_loss": 7.9,
"take_profit": 9.88,
"entry_low": null,
"entry_high": null,
"currency": "CNY",
"strategy_type": "decision",
"action": null,
"timing_signal": null,
"rr_ratio": null,
"tech_snapshot": null,
"stock_category": null,
"sector_context": null,
"status": "active",
"trigger_json": null,
"changelog_json": null,
"source": "migrate",
"reason": "6/9知微收紧:宽度10%→10%",
"created_at": "2026-07-08T11:42:04.322314",
"updated_at": null,
"avg_price": null,
"decision_timestamp": null,
"note": null,
"quality_check": null,
"quality_checked_at": null,
"quality_issues_json": null,
"position_advice": null,
"signal_factors_json": null,
"time_horizon": null,
"decision_type": null,
"trigger": {},
"changelog": [],
"quality_issues": {},
"signal_factors": [],
"timestamp": "2026-07-08T11:42:04.322314",
"type": "decision"
},
{
"code": "01888",
"name": null,
"version": 1,
"price": null,
"cost": null,
"shares": 0,
"stop_loss": 53.55,
"take_profit": 72.45,
"entry_low": null,
"entry_high": null,
"currency": "CNY",
"strategy_type": "decision",
"action": null,
"timing_signal": null,
"rr_ratio": null,
"tech_snapshot": null,
"stock_category": null,
"sector_context": null,
"status": "active",
"trigger_json": null,
"changelog_json": null,
"source": "migrate",
"reason": "6/9盘后自动调整:价格偏离区间,止损=现价×0.85,止盈=现价×1.15",
"created_at": "2026-07-08T11:42:04.322373",
"updated_at": null,
"avg_price": null,
"decision_timestamp": null,
"note": null,
"quality_check": null,
"quality_checked_at": null,
"quality_issues_json": null,
"position_advice": null,
"signal_factors_json": null,
"time_horizon": null,
"decision_type": null,
"trigger": {},
"changelog": [],
"quality_issues": {},
"signal_factors": [],
"timestamp": "2026-07-08T11:42:04.322373",
"type": "decision"
},
{
"code": "02202",
"name": null,
"version": 1,
"price": null,
"cost": null,
"shares": 0,
"stop_loss": 2.34,
"take_profit": 2.92,
"entry_low": null,
"entry_high": null,
"currency": "CNY",
"strategy_type": "decision",
"action": null,
"timing_signal": null,
"rr_ratio": null,
"tech_snapshot": null,
"stock_category": null,
"sector_context": null,
"status": "active",
"trigger_json": null,
"changelog_json": null,
"source": "migrate",
"reason": "6/9知微收紧:宽度10%→10%",
"created_at": "2026-07-08T11:42:04.322423",
"updated_at": null,
"avg_price": null,
"decision_timestamp": null,
"note": null,
"quality_check": null,
"quality_checked_at": null,
"quality_issues_json": null,
"position_advice": null,
"signal_factors_json": null,
"time_horizon": null,
"decision_type": null,
"trigger": {},
"changelog": [],
"quality_issues": {},
"signal_factors": [],
"timestamp": "2026-07-08T11:42:04.322423",
"type": "decision"
},
{
"code": "06869",
"name": null,
"version": 1,
"price": null,
"cost": null,
"shares": 0,
"stop_loss": 209.1,
"take_profit": 282.9,
"entry_low": null,
"entry_high": null,
"currency": "CNY",
"strategy_type": "decision",
"action": null,
"timing_signal": null,
"rr_ratio": null,
"tech_snapshot": null,
"stock_category": null,
"sector_context": null,
"status": "active",
"trigger_json": null,
"changelog_json": null,
"source": "migrate",
"reason": "6/9知微收紧:宽度20%→10%",
"created_at": "2026-07-08T11:42:04.322285",
"updated_at": null,
"avg_price": null,
"decision_timestamp": null,
"note": null,
"quality_check": null,
"quality_checked_at": null,
"quality_issues_json": null,
"position_advice": null,
"signal_factors_json": null,
"time_horizon": null,
"decision_type": null,
"trigger": {},
"changelog": [],
"quality_issues": {},
"signal_factors": [],
"timestamp": "2026-07-08T11:42:04.322285",
"type": "decision"
},
{
"code": "300035",
"name": null,
"version": 1,
"price": null,
"cost": null,
"shares": 0,
"stop_loss": 15.47,
"take_profit": 20.63,
"entry_low": null,
"entry_high": null,
"currency": "CNY",
"strategy_type": "decision",
"action": null,
"timing_signal": null,
"rr_ratio": null,
"tech_snapshot": null,
"stock_category": null,
"sector_context": null,
"status": "active",
"trigger_json": null,
"changelog_json": null,
"source": "migrate",
"reason": null,
"created_at": "2026-07-08T11:42:04.322484",
"updated_at": null,
"avg_price": null,
"decision_timestamp": null,
"note": null,
"quality_check": null,
"quality_checked_at": null,
"quality_issues_json": null,
"position_advice": null,
"signal_factors_json": null,
"time_horizon": null,
"decision_type": null,
"trigger": {},
"changelog": [],
"quality_issues": {},
"signal_factors": [],
"timestamp": "2026-07-08T11:42:04.322484",
"type": "decision"
},
{
"code": "300308",
"name": null,
"version": 1,
"price": null,
"cost": null,
"shares": 0,
"stop_loss": null,
"take_profit": null,
"entry_low": null,
"entry_high": null,
"currency": "CNY",
"strategy_type": "decision",
"action": null,
"timing_signal": null,
"rr_ratio": null,
"tech_snapshot": null,
"stock_category": null,
"sector_context": null,
"status": "active",
"trigger_json": null,
"changelog_json": null,
"source": "migrate",
"reason": null,
"created_at": "2026-07-08T11:42:04.322146",
"updated_at": null,
"avg_price": null,
"decision_timestamp": null,
"note": null,
"quality_check": null,
"quality_checked_at": null,
"quality_issues_json": null,
"position_advice": null,
"signal_factors_json": null,
"time_horizon": null,
"decision_type": null,
"trigger": {},
"changelog": [],
"quality_issues": {},
"signal_factors": [],
"timestamp": "2026-07-08T11:42:04.322146",
"type": "decision"
},
{
"code": "300548",
"name": null,
"version": 1,
"price": null,
"cost": null,
"shares": 0,
"stop_loss": 197.92,
"take_profit": 267.78,
"entry_low": null,
"entry_high": null,
"currency": "CNY",
"strategy_type": "decision",
"action": null,
"timing_signal": null,
"rr_ratio": null,
"tech_snapshot": null,
"stock_category": null,
"sector_context": null,
"status": "active",
"trigger_json": null,
"changelog_json": null,
"source": "migrate",
"reason": "6/9知微收紧:宽度20%→10%",
"created_at": "2026-07-08T11:42:04.322459",
"updated_at": null,
"avg_price": null,
"decision_timestamp": null,
"note": null,
"quality_check": null,
"quality_checked_at": null,
"quality_issues_json": null,
"position_advice": null,
"signal_factors_json": null,
"time_horizon": null,
"decision_type": null,
"trigger": {},
"changelog": [],
"quality_issues": {},
"signal_factors": [],
"timestamp": "2026-07-08T11:42:04.322459",
"type": "decision"
},
{
"code": "300750",
"name": null,
"version": 1,
"price": null,
"cost": null,
"shares": 0,
"stop_loss": 331.66,
"take_profit": 448.72,
"entry_low": null,
"entry_high": null,
"currency": "CNY",
"strategy_type": "decision",
"action": null,
"timing_signal": null,
"rr_ratio": null,
"tech_snapshot": null,
"stock_category": null,
"sector_context": null,
"status": "active",
"trigger_json": null,
"changelog_json": null,
"source": "migrate",
"reason": "6/9知微收紧:宽度20%→10%",
"created_at": "2026-07-08T11:42:04.322399",
"updated_at": null,
"avg_price": null,
"decision_timestamp": null,
"note": null,
"quality_check": null,
"quality_checked_at": null,
"quality_issues_json": null,
"position_advice": null,
"signal_factors_json": null,
"time_horizon": null,
"decision_type": null,
"trigger": {},
"changelog": [],
"quality_issues": {},
"signal_factors": [],
"timestamp": "2026-07-08T11:42:04.322399",
"type": "decision"
},
{
"code": "518880",
"name": null,
"version": 1,
"price": null,
"cost": null,
"shares": 0,
"stop_loss": 7.66,
"take_profit": 10.36,
"entry_low": null,
"entry_high": null,
"currency": "CNY",
"strategy_type": "decision",
"action": null,
"timing_signal": null,
"rr_ratio": null,
"tech_snapshot": null,
"stock_category": null,
"sector_context": null,
"status": "active",
"trigger_json": null,
"changelog_json": null,
"source": "migrate",
"reason": "现价9.01(+0.64%),自动生成策略",
"created_at": "2026-07-08T11:42:04.322472",
"updated_at": null,
"avg_price": null,
"decision_timestamp": null,
"note": null,
"quality_check": null,
"quality_checked_at": null,
"quality_issues_json": null,
"position_advice": null,
"signal_factors_json": null,
"time_horizon": null,
"decision_type": null,
"trigger": {},
"changelog": [],
"quality_issues": {},
"signal_factors": [],
"timestamp": "2026-07-08T11:42:04.322472",
"type": "decision"
},
{
"code": "600563",
"name": null,
"version": 1,
"price": null,
"cost": null,
"shares": 0,
"stop_loss": 139.75,
"take_profit": 187.4,
"entry_low": null,
"entry_high": null,
"currency": "CNY",
"strategy_type": "decision",
"action": null,
"timing_signal": null,
"rr_ratio": null,
"tech_snapshot": null,
"stock_category": null,
"sector_context": null,
"status": "active",
"trigger_json": null,
"changelog_json": null,
"source": "migrate",
"reason": "6/9知微收紧:宽度16%→10%",
"created_at": "2026-07-08T11:42:04.322507",
"updated_at": null,
"avg_price": null,
"decision_timestamp": null,
"note": null,
"quality_check": null,
"quality_checked_at": null,
"quality_issues_json": null,
"position_advice": null,
"signal_factors_json": null,
"time_horizon": null,
"decision_type": null,
"trigger": {},
"changelog": [],
"quality_issues": {},
"signal_factors": [],
"timestamp": "2026-07-08T11:42:04.322507",
"type": "decision"
},
{
"code": "601899",
"name": null,
"version": 1,
"price": null,
"cost": null,
"shares": 0,
"stop_loss": 25.13,
"take_profit": 33.5,
"entry_low": null,
"entry_high": null,
"currency": "CNY",
"strategy_type": "decision",
"action": null,
"timing_signal": null,
"rr_ratio": null,
"tech_snapshot": null,
"stock_category": null,
"sector_context": null,
"status": "active",
"trigger_json": null,
"changelog_json": null,
"source": "migrate",
"reason": "6/9知微收紧:宽度14%→10%",
"created_at": "2026-07-08T11:42:04.322332",
"updated_at": null,
"avg_price": null,
"decision_timestamp": null,
"note": null,
"quality_check": null,
"quality_checked_at": null,
"quality_issues_json": null,
"position_advice": null,
"signal_factors_json": null,
"time_horizon": null,
"decision_type": null,
"trigger": {},
"changelog": [],
"quality_issues": {},
"signal_factors": [],
"timestamp": "2026-07-08T11:42:04.322332",
"type": "decision"
},
{
"code": "688411",
"name": null,
"version": 1,
"price": null,
"cost": null,
"shares": 0,
"stop_loss": 235.0,
"take_profit": 300.0,
"entry_low": null,
"entry_high": null,
"currency": "CNY",
"strategy_type": "decision",
"action": null,
"timing_signal": null,
"rr_ratio": null,
"tech_snapshot": null,
"stock_category": null,
"sector_context": null,
"status": "active",
"trigger_json": null,
"changelog_json": null,
"source": "migrate",
"reason": null,
"created_at": "2026-07-08T11:42:04.322347",
"updated_at": null,
"avg_price": null,
"decision_timestamp": null,
"note": null,
"quality_check": null,
"quality_checked_at": null,
"quality_issues_json": null,
"position_advice": null,
"signal_factors_json": null,
"time_horizon": null,
"decision_type": null,
"trigger": {},
"changelog": [],
"quality_issues": {},
"signal_factors": [],
"timestamp": "2026-07-08T11:42:04.322347",
"type": "decision"
},
{
"code": "688639",
"name": null,
"version": 1,
"price": null,
"cost": null,
"shares": 0,
"stop_loss": 18.36,
"take_profit": 24.48,
"entry_low": null,
"entry_high": null,
"currency": "CNY",
"strategy_type": "decision",
"action": null,
"timing_signal": null,
"rr_ratio": null,
"tech_snapshot": null,
"stock_category": null,
"sector_context": null,
"status": "active",
"trigger_json": null,
"changelog_json": null,
"source": "migrate",
"reason": "6/9知微收紧:宽度14%→10%",
"created_at": "2026-07-08T11:42:04.322387",
"updated_at": null,
"avg_price": null,
"decision_timestamp": null,
"note": null,
"quality_check": null,
"quality_checked_at": null,
"quality_issues_json": null,
"position_advice": null,
"signal_factors_json": null,
"time_horizon": null,
"decision_type": null,
"trigger": {},
"changelog": [],
"quality_issues": {},
"signal_factors": [],
"timestamp": "2026-07-08T11:42:04.322387",
"type": "decision"
},
{
"code": "688981",
"name": null,
"version": 1,
"price": null,
"cost": null,
"shares": 0,
"stop_loss": 112.0,
"take_profit": 145.0,
"entry_low": null,
"entry_high": null,
"currency": "CNY",
"strategy_type": "decision",
"action": null,
"timing_signal": null,
"rr_ratio": null,
"tech_snapshot": null,
"stock_category": null,
"sector_context": null,
"status": "active",
"trigger_json": null,
"changelog_json": null,
"source": "migrate",
"reason": null,
"created_at": "2026-07-08T11:42:04.322360",
"updated_at": null,
"avg_price": null,
"decision_timestamp": null,
"note": null,
"quality_check": null,
"quality_checked_at": null,
"quality_issues_json": null,
"position_advice": null,
"signal_factors_json": null,
"time_horizon": null,
"decision_type": null,
"trigger": {},
"changelog": [],
"quality_issues": {},
"signal_factors": [],
"timestamp": "2026-07-08T11:42:04.322360",
"type": "decision"
}
],
"total": 19,
"regenerated_at": "2026-07-08 11:42"
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+1054 -1108
View File
File diff suppressed because it is too large Load Diff
-1
View File
@@ -1 +0,0 @@
{"__comment": "此文件已废弃,所有数据从 mofin.db holdings + portfolio_summary 表读取。保留空文件防止导入报错,后续可安全删除。", "holdings": [], "cash": 0, "total_assets": 0, "updated_at": ""}
-272
View File
@@ -1,272 +0,0 @@
{
"holdings": [
{
"code": "01478",
"name": "丘钛科技",
"shares": 11000,
"cost": 11.96,
"price": 8.07,
"change_pct": -3.7,
"position_pct": 7.66,
"is_active": 1,
"avg_price": 13.8313
},
{
"code": "001309",
"name": "德明利",
"shares": 100,
"cost": 737.0374,
"price": 763.86,
"change_pct": 3.63,
"position_pct": 7.5,
"is_active": 1,
"avg_price": 737.0374
},
{
"code": "600739",
"name": "辽宁成大",
"shares": 6600,
"cost": 12.2862,
"price": 10.77,
"change_pct": 0.28,
"position_pct": 7.03,
"is_active": 1,
"avg_price": 12.2862
},
{
"code": "601899",
"name": "紫金矿业",
"shares": 2400,
"cost": 40.2685,
"price": 28.01,
"change_pct": -7.98,
"position_pct": 6.7,
"is_active": 1,
"avg_price": 40.2685
},
{
"code": "09988",
"name": "阿里巴巴-W",
"shares": 700,
"cost": 109.26,
"price": 99.55,
"change_pct": -3.35,
"position_pct": 5.95,
"is_active": 1,
"avg_price": 126.3558
},
{
"code": "688981",
"name": "中芯国际",
"shares": 300,
"cost": 126.0681,
"price": 142.16,
"change_pct": -2.36,
"position_pct": 4.31,
"is_active": 1,
"avg_price": 126.0681
},
{
"code": "603259",
"name": "药明康德",
"shares": 400,
"cost": 96.201,
"price": 106.66,
"change_pct": -0.16,
"position_pct": 4.23,
"is_active": 1,
"avg_price": 96.201
},
{
"code": "02202",
"name": "万科企业",
"shares": 19700,
"cost": 4.05,
"price": 2.4,
"change_pct": -3.24,
"position_pct": 4.05,
"is_active": 1,
"avg_price": 4.6836
},
{
"code": "02388",
"name": "中银香港",
"shares": 1000,
"cost": 37.93,
"price": 47.32,
"change_pct": -0.59,
"position_pct": 4.02,
"is_active": 1,
"avg_price": 43.8601
},
{
"code": "300750",
"name": "宁德时代",
"shares": 100,
"cost": 401.7803,
"price": 396.98,
"change_pct": -2.93,
"position_pct": 3.93,
"is_active": 1,
"avg_price": 401.7803
},
{
"code": "01211",
"name": "比亚迪股份",
"shares": 600,
"cost": 90.99,
"price": 76.4,
"change_pct": -2.62,
"position_pct": 3.9,
"is_active": 1,
"avg_price": 105.2242
},
{
"code": "01888",
"name": "建滔积层板",
"shares": 500,
"cost": 76.55,
"price": 84.4,
"change_pct": -8.21,
"position_pct": 3.75,
"is_active": 1,
"avg_price": 88.5286
},
{
"code": "00700",
"name": "腾讯控股",
"shares": 100,
"cost": 384.46,
"price": 417.6,
"change_pct": -3.56,
"position_pct": 3.59,
"is_active": 1,
"avg_price": 444.6211
},
{
"code": "00981",
"name": "中芯国际",
"shares": 500,
"cost": 65.89,
"price": 80.05,
"change_pct": 1.46,
"position_pct": 3.54,
"is_active": 1,
"avg_price": 76.1956
},
{
"code": "09868",
"name": "小鹏集团-W",
"shares": 700,
"cost": 44.49,
"price": 49.78,
"change_pct": -3.43,
"position_pct": 3.0,
"is_active": 1,
"avg_price": 51.4476
},
{
"code": "300548",
"name": "长芯博创",
"shares": 100,
"cost": 231.46,
"price": 290.58,
"change_pct": -2.52,
"position_pct": 2.95,
"is_active": 1,
"avg_price": 231.46
},
{
"code": "600036",
"name": "招商银行",
"shares": 800,
"cost": 38.1582,
"price": 37.76,
"change_pct": 0.29,
"position_pct": 2.95,
"is_active": 1,
"avg_price": 38.1582
},
{
"code": "02318",
"name": "中国平安",
"shares": 500,
"cost": 47.48,
"price": 54.0,
"change_pct": -1.73,
"position_pct": 2.28,
"is_active": 1,
"avg_price": 54.9086
},
{
"code": "300035",
"name": "中科电气",
"shares": 1400,
"cost": 22.2914,
"price": 16.47,
"change_pct": -3.97,
"position_pct": 2.28,
"is_active": 1,
"avg_price": 22.2914
},
{
"code": "000700",
"name": "模塑科技",
"shares": 1400,
"cost": 14.8336,
"price": 15.41,
"change_pct": 1.52,
"position_pct": 2.12,
"is_active": 1,
"avg_price": 14.8336
},
{
"code": "518880",
"name": "黄金ETF华安",
"shares": 2400,
"cost": 12.1915,
"price": 8.57,
"change_pct": -1.73,
"position_pct": 2.02,
"is_active": 1,
"avg_price": 12.1915
},
{
"code": "01088",
"name": "中国神华",
"shares": 500,
"cost": 39.82,
"price": 42.62,
"change_pct": 0.09,
"position_pct": 1.81,
"is_active": 1,
"avg_price": 46.0485
},
{
"code": "600563",
"name": "法拉电子",
"shares": 100,
"cost": 146.95,
"price": 163.8,
"change_pct": -5.29,
"position_pct": 1.63,
"is_active": 1,
"avg_price": 146.95
},
{
"code": "300690",
"name": "双一科技",
"shares": 400,
"cost": 27.178,
"price": 23.75,
"change_pct": -1.7,
"position_pct": 0.94,
"is_active": 1,
"avg_price": 27.178
}
],
"cash": 80476,
"total_assets": 1023059.24,
"position_pct": 92.13,
"last_updated": "2026-06-23 11:00"
}
+19 -9239
View File
File diff suppressed because it is too large Load Diff
+249 -21
View File
@@ -11,6 +11,14 @@
"high": 74.75,
"low": 67.1,
"close": 68.85
},
{
"date": "2026-07-08",
"high": 74.5,
"low": 67.65,
"close": 67.9,
"volume": 66360886.0,
"amount": 4699974338.55
}
],
"01478": [
@@ -19,6 +27,14 @@
"high": 7.08,
"low": 6.76,
"close": 6.97
},
{
"date": "2026-07-08",
"high": 6.94,
"low": 6.5,
"close": 6.83,
"volume": 6589000.0,
"amount": 44625949.0
}
],
"600519": [
@@ -50,7 +66,9 @@
"date": "2026-07-08",
"high": 1202.0,
"low": 1177.0,
"close": 1187.99
"close": 1199.3,
"volume": 25776.0,
"amount": 307193.0
}
],
"02202": [
@@ -59,6 +77,14 @@
"high": 2.27,
"low": 2.18,
"close": 2.23
},
{
"date": "2026-07-08",
"high": 2.29,
"low": 2.19,
"close": 2.27,
"volume": 16038100.0,
"amount": 36020668.5
}
],
"02318": [
@@ -116,7 +142,9 @@
"date": "2026-07-08",
"high": 50.22,
"low": 48.96,
"close": 49.5
"close": 49.54,
"volume": 540995.0,
"amount": 267859.0
}
],
"02359": [
@@ -226,7 +254,9 @@
"date": "2026-07-08",
"high": 494.81,
"low": 451.06,
"close": 493.0
"close": 473.26,
"volume": 5061122.0,
"amount": 240616.0
}
],
"06160": [
@@ -267,6 +297,14 @@
"high": 170.2,
"low": 151.9,
"close": 156.5
},
{
"date": "2026-07-08",
"high": 162.4,
"low": 148.6,
"close": 153.9,
"volume": 30169576.0,
"amount": 4675722058.0
}
],
"688795": [
@@ -298,7 +336,9 @@
"date": "2026-07-08",
"high": 699.0,
"low": 629.0,
"close": 675.99
"close": 666.0,
"volume": 2417134.0,
"amount": 160890.0
}
],
"09868": [
@@ -382,7 +422,9 @@
"date": "2026-07-08",
"high": 876.0,
"low": 723.0,
"close": 846.01
"close": 840.08,
"volume": 2586035.0,
"amount": 216333.0
}
],
"300124": [
@@ -413,8 +455,10 @@
{
"date": "2026-07-08",
"high": 69.79,
"low": 63.5,
"close": 64.44
"low": 63.15,
"close": 63.2,
"volume": 394793.0,
"amount": 252387.0
}
],
"000657": [
@@ -446,7 +490,9 @@
"date": "2026-07-08",
"high": 80.8,
"low": 72.98,
"close": 77.36
"close": 73.95,
"volume": 611139.0,
"amount": 460609.0
}
],
"000711": [
@@ -476,9 +522,11 @@
},
{
"date": "2026-07-08",
"high": 5.59,
"high": 5.84,
"low": 4.92,
"close": 5.54
"close": 5.69,
"volume": 1239419.0,
"amount": 68853.0
}
],
"001309": [
@@ -510,7 +558,9 @@
"date": "2026-07-08",
"high": 900.0,
"low": 790.0,
"close": 847.5
"close": 825.0,
"volume": 139865.0,
"amount": 1159183.0
}
],
"002594": [
@@ -542,7 +592,9 @@
"date": "2026-07-08",
"high": 88.81,
"low": 85.28,
"close": 87.25
"close": 87.8,
"volume": 403809.0,
"amount": 352747.0
}
],
"00700": [
@@ -551,6 +603,14 @@
"high": 447.0,
"low": 436.0,
"close": 438.2
},
{
"date": "2026-07-08",
"high": 482.8,
"low": 460.6,
"close": 474.0,
"volume": 48311618.0,
"amount": 22973933078.706
}
],
"00968": [
@@ -585,6 +645,14 @@
"high": 84.2,
"low": 80.2,
"close": 81.55
},
{
"date": "2026-07-08",
"high": 79.5,
"low": 72.55,
"close": 76.7,
"volume": 132499991.0,
"amount": 10172561899.8
}
],
"01070": [
@@ -619,6 +687,14 @@
"high": 40.4,
"low": 39.16,
"close": 39.4
},
{
"date": "2026-07-08",
"high": 41.54,
"low": 40.56,
"close": 41.42,
"volume": 15926810.0,
"amount": 656749661.1
}
],
"01211": [
@@ -627,6 +703,14 @@
"high": 79.6,
"low": 74.95,
"close": 78.7
},
{
"date": "2026-07-08",
"high": 86.4,
"low": 82.95,
"close": 85.6,
"volume": 20564892.0,
"amount": 1752456432.31
}
],
"301308": [
@@ -652,7 +736,9 @@
"date": "2026-07-08",
"high": 647.78,
"low": 584.67,
"close": 624.2
"close": 592.71,
"volume": 167016.0,
"amount": 1015473.0
}
],
"000700": [
@@ -667,6 +753,14 @@
"high": 17.38,
"low": 16.04,
"close": 16.11
},
{
"date": "2026-07-08",
"high": 16.06,
"low": 14.6,
"close": 14.6,
"volume": 658608.0,
"amount": 99601.0
}
],
"300548": [
@@ -681,6 +775,14 @@
"high": 225.0,
"low": 204.1,
"close": 211.03
},
{
"date": "2026-07-08",
"high": 226.5,
"low": 208.95,
"close": 220.99,
"volume": 161796.0,
"amount": 355266.0
}
],
"000850": [
@@ -694,17 +796,19 @@
"date": "2026-07-08",
"high": 3.95,
"low": 3.72,
"close": 3.86,
"volume": 60649.0,
"amount": 2312.0
"close": 3.81,
"volume": 91374.0,
"amount": 3486.0
}
],
"603501": [
{
"date": "2026-07-08",
"high": 101.0,
"high": 103.48,
"low": 97.01,
"close": 100.08
"close": 100.95,
"volume": 341509.0,
"amount": 343291.0
}
],
"688041": [
@@ -712,7 +816,9 @@
"date": "2026-07-08",
"high": 359.04,
"low": 342.01,
"close": 352.07
"close": 343.0,
"volume": 30295791.0,
"amount": 1058883.0
}
],
"002371": [
@@ -720,7 +826,9 @@
"date": "2026-07-08",
"high": 830.02,
"low": 768.0,
"close": 819.85
"close": 802.32,
"volume": 148075.0,
"amount": 1184089.0
}
],
"000001": [
@@ -728,7 +836,127 @@
"date": "2026-07-08",
"high": 10.59,
"low": 10.34,
"close": 10.53
"close": 10.6
}
],
"688981": [
{
"date": "2026-07-08",
"high": 156.98,
"low": 142.6,
"close": 152.1,
"volume": 100025303.0,
"amount": 1509149.0
}
],
"688411": [
{
"date": "2026-07-08",
"high": 265.99,
"low": 243.85,
"close": 244.0,
"volume": 4302498.0,
"amount": 108210.0
}
],
"688639": [
{
"date": "2026-07-08",
"high": 16.85,
"low": 16.23,
"close": 16.42,
"volume": 3484292.0,
"amount": 5760.0
}
],
"300308": [
{
"date": "2026-07-08",
"high": 1179.3,
"low": 1114.56,
"close": 1128.35,
"volume": 317328.0,
"amount": 3632345.0
}
],
"000518": [
{
"date": "2026-07-08",
"high": 3.85,
"low": 3.51,
"close": 3.82,
"volume": 1048040.0,
"amount": 38702.0
}
],
"000949": [
{
"date": "2026-07-08",
"high": 5.64,
"low": 5.38,
"close": 5.61,
"volume": 631605.0,
"amount": 34797.0
}
],
"300035": [
{
"date": "2026-07-08",
"high": 13.7,
"low": 13.27,
"close": 13.37,
"volume": 126925.0,
"amount": 17046.0
}
],
"300750": [
{
"date": "2026-07-08",
"high": 376.68,
"low": 361.0,
"close": 361.0,
"volume": 270519.0,
"amount": 990274.0
}
],
"518880": [
{
"date": "2026-07-08",
"high": 8.605,
"low": 8.53,
"close": 8.589,
"volume": 2410682.0,
"amount": 206807.0
}
],
"600563": [
{
"date": "2026-07-08",
"high": 151.37,
"low": 140.36,
"close": 140.84,
"volume": 91508.0,
"amount": 132883.0
}
],
"601101": [
{
"date": "2026-07-08",
"high": 12.87,
"low": 11.83,
"close": 12.23,
"volume": 448232.0,
"amount": 55232.0
}
],
"601899": [
{
"date": "2026-07-08",
"high": 28.03,
"low": 26.8,
"close": 27.36,
"volume": 1969818.0,
"amount": 541986.0
}
]
}