Files
MoFin/data/reports/cron_bb35a0b1b5e3_2026-06-10_16-40-50.json
知微 (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

23 lines
10 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"title": "Cron Job: 持仓情报-盘中",
"type": "盘中",
"created_at": "2026-06-11T08:55:23.344899",
"summary": "**Job ID:** bb35a0b1b5e3\n**Run Time:** 2026-06-10 16:40:49\n**Schedule:** 40 9-16 * * 1-5\n[IMPORTANT: You are running as a scheduled cron job. DELIVERY: Your final response will be automatically delive",
"content": "# Cron Job: 持仓情报-盘中\n\n**Job ID:** bb35a0b1b5e3\n**Run Time:** 2026-06-10 16:40:49\n**Schedule:** 40 9-16 * * 1-5\n\n## Prompt\n\n[IMPORTANT: You are running as a scheduled cron job. DELIVERY: Your final response will be automatically delivered to the user — do NOT use send_message or try to deliver the output yourself. Just produce your report/output as your final response and the system handles the rest. SILENT: If there is genuinely nothing new to report, respond with exactly \"[SILENT]\" (nothing else) to suppress delivery. Never combine [SILENT] with content — either report your findings normally, or say [SILENT] and nothing more.]\n\n【持仓情报-盘中】每小时40分推送\n\n一、时间检查:9:30-16:00(港股至16:00),否则→SILENT\n\n二、数据源:portfolio.json(含实时价——price_monitor每30秒刷新)+ decisions.json\n\n三、输出策略(硬规则:标题必须以「股票名+代码」开头——禁止只有价格的标题!):\n 正确示例:「🔵 百济神州(06160) 现价164.40 → 进入试仓区间」\n 错误示例(禁止):「现价164.40 | 昨收...」「确认进入区间」\n 🔹 接近操作区间的股票详细写(同上判断标准)\n 🔹 其他持仓合并为\"xxx,xxx,xxx 保持持仓观察\"一段\n 🔹 有异动(>±5%)的股票单独写并分析原因\n 🔹 自选股:有决策的按trigger判断,无决策的自行分析,无可说不提\n 🔹 如果无操作窗口也无异动 → 合并一段后停止,不展开\n\n四、决策库参考:\n 先读 /home/hmo/web-dashboard/data/decisions.json,提取所有status=active的策略(目前16只)\n 对报告涉及的每只股票,逐一对号入座查看策略\n\n五、每份报告需引用前序报告的判断做对比,体现纵向连续性\n\n六、历史背景参考:\n 读 /home/hmo/web-dashboard/data/daily_reviews.json\n 了解前几日的历史判断,再结合现状做最新研判。\n\n\n📂 行业知识参考:\n 读 /home/hmo/web-dashboard/data/stock_profiles.json\n 了解各股票的所属行业、主营业务。\n 分析时考虑行业联动(同行业股票的趋势是否一致?)\n 用于回答用户\"基本面怎样\"\"行业怎么看\"等问题\n\n\n【结构化数据输出规则】\n每份报告正文结束后,用以下格式附上结构化数据:\n<structured_data>\n{\n \"type\": \"盯盘|盘中报|盘后复盘\",\n \"time\": \"HH:MM\",\n \"holdings\": [\n {\"code\": \"600110\", \"name\": \"诺德股份\", \"action\": \"观望\", \"price\": 11.84}\n ]\n}\n</structured_data>\n\naction字段:买入/卖出/持有/观望/止损/止盈/关注(只选一个)\n有trigger条件的加 trigger 字段(如\"164~166\"\n无操作窗口也输出空数组:{\"type\":\"...\",\"time\":\"...\",\"holdings\":[]}\n【策略执行原则】\n1. 默认严格执行决策库现有策略,到价位就如实报告。\n 正确示例:百济163.80,在试仓区间164~166内;诺德11.52,在加仓区间11.5~11.8内\n 错误示例:自己说\"不建议加仓\"或擅自改区间\n\n2. 修改策略要慎重。只有确实认为原策略不再适用(有充分的新市场信息或基本面变化),才附上修改建议:\n 【策略修改建议】原决策→建议改为→理由\n 改完等用户确认。\n\n3. 没有确凿理由就严格执行,不提修改建议。\n\n\n\n## 🔄 策略生命周期自动化流程\n每次生成报告时,自动执行以下步骤:\n\n### 1. 检查zone_breach.json\n- 读取所有标记为\"reassess\"的股票\n- 对每只reassess股票,检查当前价格是否已回到区间\n - 已回归 → 清除偏离标记,维持原策略\n - 仍偏离 → 自动启动重评流程\n\n### 2. 自动重评流程\n- 读取decisions.json中的当前策略\n- 对比实时价格与策略区间\n- 如果价格持续偏离>3%,自动生成新策略:\n - 下调/上调买入区间\n - 调整止损位\n - 更新目标价\n- 写入decisions.json(标记updated_by=\"知微(自动重评)\"\n- 清除zone_breach中的偏离标记\n\n### 3. 报告输出\n- 优先关注:触发止损/止盈/异动>5%/深套>20%的股票\n- 策略已重评的股票,在报告中标注\"🔄策略已更新\"\n- 其余持仓一行概括\n- 自选股按推荐价值排序\n\n【策略生命周期流程】\n1. 每轮报告自动读取 decisions.json,获取每只股票的最新策略\n2. 策略状态: active(正常) / triggered_stop(触发止损) / triggered_profit(触发止盈) / closed(已关闭)\n3. 每只股票必须显示: 止损价 / 止盈价 / 买入区(如有)\n4. 价格触发止损/止盈时,自动标记为triggered状态\n5. zone_breach标记reassess时,自动启动重评估\n6. A股策略优先级 > 港股策略优先级\n7. 数据源: 腾讯API(qt.gtimg.cn)获取实时价,涨跌=现价vs昨收\n\n\n## 数据源规则(必须遵守)\n- A股:东方财富APIpush2delay.eastmoney.com\n- 港股:腾讯APIqt.gtimg.cn/q=hk{code}\n- 港股代码5位数字,A股代码6位数字\n- 涨跌计算:现价 vs 昨收(不是 vs 成本价)\n- 港股数据延迟约15分钟,需标注\n\n## 策略生命周期规则\n- 每只股票(持仓+自选)都必须有策略:止损/止盈/买入区\n- 策略按A股>港股排序,A股优先\n- zone_breach标记的股票必须自动重新评估:\n 1. 价格偏离买入区>5%连续3次 → 标记reassess\n 2. reassess后自动计算新区间(止损=现价×0.85,止盈=现价×1.15\n 3. 更新decisions.json并清除zone_breach标记\n- 已清仓的股票(如百济神州06160)策略标记为closed\n- 门槛过高的股票(如长飞光纤06869 500股≈12万HKD)不推送操作建议\n\n## 格式规则\n- 每条必须带股票名(代码)前缀\n- 操作窗口的股票详细展开,其余一行概括\n- 价格必须带具体数字(止损X/止盈X/买入区X~X)\n\n\n【反幻觉规则 - 严格约束】\n1. 只输出watchlist.json和portfolio.json中存在的股票。绝对不要编造不存在的股票代码。\n2. 如果发现某股票不在watchlist/portfolio中,直接跳过,不输出任何信息。\n3. 输出前必须验证:所有股票代码都在数据源中存在。\n\n【策略生命周期规则】\n1. 清仓股票 → 自动转为自选股策略(保留买入区/止损/止盈),不能直接\"不再关注\"\n2. 自选股和持仓股都有策略,区别只在操作窗口\n3. 区间偏离标记(zone_breach) → 自动重新评估策略参数\n4. 策略更新后清除zone_breach标记\n\n【高价股门槛标注】\n- A股>300元/股:标注⚠️高价,100股>3万\n- 港股>100 HKD/股:标注⚠️高价,最小单位成本\n- 建仓建议必须考虑实际资金门槛\n\n【策略生命周期规则(必须遵守)】\n1. 每只股票(持仓+自选)都必须有策略:止损/止盈/买入区\n2. 策略按A股>港股排序,A股优先\n3. 清仓股票 → 自动转为自选股策略,status=watchlist,保留买入区/止损/止盈\n4. 区间偏离标记(zone_breach) → 自动重新评估策略参数,更新后清除标记\n5. 只推送watchlist.json和portfolio.json中实际存在的股票\n7. 港股数据延迟约15分钟,需标注\n8. 涨跌计算:现价 vs 昨收(不是 vs 成本价)\n9. 高价股标注门槛:A股>300元/股或港股>100 HKD/股\n10. 门槛过高无法操作的股票(如长飞光纤06869 500股≈12万HKD)不推送操作建议\n\n【防幻觉规则】\n- 只分析portfolio.json和watchlist.json中实际存在的股票\n- 不编造任何股票信息\n\n【策略自动调整规则】\n- zone_breach标记reassess时,自动调整策略(止损=现价×0.85,止盈=现价×1.15,买入区=现价×0.92~现价×1.08)\n- 不再输出\"已自动调整\",直接说\"已自动调整\"\n- 调整原因在报告中说明\n\n【A股优先规则】\n- 操作建议中A股排在港股前面\n- 深套股(浮亏>20%)不列入操作建议,除非有明确补仓信号\n\n【策略规则】\n1. A股优先于港股:持仓操作和自选关注均按A股→港股排列\n2. 所有策略自动调整,不需要人工干预\n3. 清仓股票转为自选股,保留策略(止损/止盈/买入区)\n4. 每只股票必须有策略,无策略则自动创建\n5. 策略偏离>5%时自动调整止损/止盈/买入区,并说明调整原因\n\n\n【强制规则】只报告portfolio.json和watchlist.json中存在的股票。如果模型不确定某只股票是否在数据中,直接跳过不写。严禁凭空编造股票名称或代码。\n\n## 报告格式——严格执行三段式!\n\n```\n📊 标题 | HH:MM\n\n【⚡ 重点推荐操作】(最多3只)\n股票名(代码) 现价(±X%) → 建议:买/补/卖/等,股数/金额,止损X,目标X,理由\n\n【⚠️ 风险关注】(最多3只)\n股票名(代码) 现价(±X%) → 风险描述,到哪个价位该怎么做,仓位\n\n【📋 其余持仓】\nA股:股票名(代码) ±X% → 持有/等待 | 港股:股票名(代码) ±X% → 持有/等待\n\n【💡 自选关注】(只列接近买入区±3%的,A股优先)\n```\n\n### 规则\n1. 推荐必须明确:买多少、止损哪、目标哪。不给选择题\n2. 深套>20%不列操作建议\n3. 仓位>8%的重仓股在风险关注中优先\n4. 字数控制在800字内\n\n\n## Response\n\n当前时间 16:40,已过港股收盘时间 16:00,不在盘中推送时段内。\n\n[SILENT]\n",
"stocks_mentioned": [
"600110"
],
"structured": {
"type": "盯盘|盘中报|盘后复盘",
"time": "HH:MM",
"holdings": [
{
"code": "600110",
"name": "诺德股份",
"action": "观望",
"price": 11.84
}
]
},
"_id": "cron_bb35a0b1b5e3_2026-06-10_16-40-50"
}