aa0f740381
完整数据采集+分析管道: - market_watch.py:90行业板块采集(同花顺/东方财富) - 市场精选推荐 cron:全市场分析+候选池+星级推荐 - price_monitor.py:持仓/自选高频价格监控 - refresh_mtf_cache.py:多周期K线缓存 - 策略评估/知识萃取管道 文档:docs/ 含完整需求+架构设计 注意:尚未配置 git remote,笑笑接手后自行配置
107 lines
17 KiB
JSON
107 lines
17 KiB
JSON
{
|
||
"title": "Cron Job: 快速盯盘-15分钟",
|
||
"type": "盯盘",
|
||
"created_at": "2026-06-11T08:55:23.397094",
|
||
"summary": "**Job ID:** d3797d924ddc\n**Run Time:** 2026-06-10 15:56:31\n**Schedule:** 0,15,30,45 9-16 * * 1-5\n[IMPORTANT: You are running as a scheduled cron job. DELIVERY: Your final response will be automaticall",
|
||
"content": "# Cron Job: 快速盯盘-15分钟\n\n**Job ID:** d3797d924ddc\n**Run Time:** 2026-06-10 15:56:31\n**Schedule:** 0,15,30,45 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【快速盯盘 15分钟】每15分钟检查一次持仓操作窗口和自选股接近买入区提醒。港股开市期间运行。\n\n一、读 /home/hmo/web-dashboard/data/portfolio.json\n 找出每只持仓的现价、成本、浮盈、仓位、前次分析\n\n二、读 /home/hmo/web-dashboard/data/decisions.json\n 提取所有status=active的策略(目前16只)\n 对每只股票,逐一对号入座查看策略\n\n三、每日首次(9:45)读daily_reviews.json更新历史背景\n\n四、输出策略:精简报告,不是每次都写满。\n 🔴 硬规则:标题必须以【股票名+代码】开头!禁止只有价格的标题(如「现价464.00...」)!\n 正确:「🔵 百济神州(06160) 现价164.40 → 进入试仓区间」 | 错误(禁止):「现价164.40...」\n 🔹 持仓:操作区间附近的详细写,其他合并为\"其他XX只远离操作区间,持有观察\"一行\n 🔹 自选股:接近买入区(距触发<5%)的单独提醒,其余合并\n 🔹 完全无操作窗口也无自选接近 → SILENT\n\n五、自选股(读 /home/hmo/web-dashboard/data/watchlist.json):\n 已入决策库的 → 按trigger条件判断,🟢可操作/🟡关注/⚪观察\n 未入决策库的 → 根据盘面走势和现价做独立分析\n 特别关注:价格距买入区<5%的,标注距离百分比\n 确实无可说的 → 统一写\"自选股无特别关注\"\n\n六、报告对决策库的引用必须具体(直接写价位),不笼统说\"按计划\"\n\n七、基于daily_reviews近3天判断做纵向分析\n\n【策略执行原则】\n1. 默认严格执行决策库现有策略,到价位就如实报告。\n 正确示例:百济163.80,在试仓区间164~166内;诺德11.52,在加仓区间11.5~11.8内\n 错误示例:自己说\"不建议加仓\"或擅自改区间\n\n2. 修改策略要慎重。只有确实认为原策略不再适用(有充分的新市场信息或基本面变化),才附上修改建议:\n 【策略修改建议】原决策→建议改为→理由\n 改完等用户确认。\n\n3. 没有确凿理由就严格执行,不提修改建议。\n\n【结构化数据输出】\n报告末尾用<structured_data>标签附上:\n{\"type\":\"盯盘\",\"time\":\"HH:MM\",\"holdings\":[{\"code\":\"...\",\"name\":\"...\",\"action\":\"买入/卖出/持有/观望\",\"price\":0}]}\n\n【重要】以上示例仅为格式展示,实际策略以 /home/hmo/web-dashboard/data/decisions.json 中所有status=active的股票为准。每份报告必须先读decisions.json获取完整策略列表(目前16只),再逐只分析。\n\n八、每条报告标题必须含股票名和代码。例如:「🔵 百济神州(06160) 进入试仓区间」,不能只说「进入第一批试仓区间」让用户猜。\n\n【区间偏差联动】写报告前读 ~/.hermes/zone_breach.json。\n 对action=\"reassess\"的股票,在报告中标注\"⚠️ 区间偏离:自动调整\"\n\n【格式铁律】\n1. 所有价格必须为实时或最新延迟数据,不得用过时portfolio.json价格\n2. 涨跌计算基准必须是昨收价,不是持仓成本\n3. 数据来源标注清楚:A股实时/港股延迟\n4. 若无法获取实时数据,标注\"数据延迟,仅供参考\"\n每只股票必写\"股票名(代码)\"前缀,如\"腾讯(00700) 现价466.4\"。禁止无股票名的分析段落。\n\n【数据源优先级规则】\n- portfolio.json = 唯一可信的当前持仓数据(股数、成本、均价、现价)\n- decisions.json = 仅用于策略参考(区间、止损、目标),不可用于股数/成本\n- 禁止:用decisions.json的shares字段替代portfolio.json的实际持仓\n- 必须:先读portfolio.json确认当前实际股数和成本,再对照decisions.json看策略是否触发\n\n【自选股标注规则(严格遵循)】\n自选股每只必须带🟢🟡⚪表情符:\n\n🟢 可操作 — 价格在买入区内或距触发<3%,给仓位百分比+止损+策略\n 格式:🟢 小鹏汽车(09868) 66.4 — 已入区间65~68,首仓2~3%,止损64\n🟡 关注 — 距触发3~5%,说明距买入区多远、何时变可操作\n 格式:🟡 中国神华(01088) 46.78 — 距买入区45~46仅+3.9%,回落至45.5可关注\n⚪ 观察 — 距触发>5%或无可操作信号,一笔带过不说建议\n 格式:⚪ 建滔(01888) 54.25 — 高于买入区,无操作\n\n仓位只用百分比不要股数。禁止说\"可关注/到达买入区\"等空话。排序按推荐价值从高到低。\n\n【策略生命周期集成】\n每次运行前先执行:cd /home/hmo/web-dashboard && python3 strategy_lifecycle.py\n这会自动处理所有zone_breach标记的股票重评。\n重评结果写入portfolio.json的analysis字段,后续报告直接读取。\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股:东方财富API(push2delay.eastmoney.com)\n- 港股:腾讯API(qt.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\nNow I have all the data. Let me compile the report.\n\n📊 快速盯盘 | 15:46\n\n【⚡ 重点推荐操作】\n**药明康德(603259)** 97.04(+3.95%) → 新仓200股,策略买入区93.50~97.00,现价触及上沿。止损90/止盈105。持有观察,若回踩95可加仓。\n**诺德股份(600110)** 12.20(-1.45%) → 昨日涨停后温和回调,策略买入区10.98~12.64内。成本11.17浮盈+5.74%。持有,止损10.5/目标14。\n**中芯国际H(00981)** 72.25(-2.43%) → 策略买入区70~75内,止损67/止盈88。成本76.08浮亏-1.42%。持有。\n\n【⚠️ 风险关注】\n**丘钛科技(01478)** 8.09(-5.71%) → 深套-37.22%,仓位9.48%重仓。连续利好后大跌,暂持观望。\n**法拉电子(600563)** 155.00(-5.66%) → 昨日+6.56%后大幅回吐,成本157.80浮盈收窄至+5.34%。止损140。\n**中银香港(02388)** 46.30(-3.14%) → 回调,浮盈+9.15%收窄。止损42/止盈52。持有。\n\n【📋 其余持仓】\nA股:紫金矿业27.70(+0.36%)持有 | 辽宁成大10.00(+0.10%)持有 | 宁德时代388.50(-1.72%)持有 | 中芯国际125.34(+0.27%)持有 | 招商银行38.90(+1.17%)持有 | 博创科技229.17(-2.15%)持有 | 中科电气16.97(-1.91%)深套持有 | 黄金ETF8.736(-0.05%)深套持有 | 双一科技23.55(-1.30%)持有\n港股:比亚迪86.75(-0.34%)持有 | 阿里113.30(-2.41%)持有 | 万科2.60(+2.36%)深套持有 | 腾讯466.0(+2.46%)持有 | 神华45.36(-1.73%)持有 | 小鹏59.90(-1.32%)持有\n\n【💡 自选关注】\n🟢 **德明利(001309)** 627.95(+1.32%) — 买入区585.01~646.59内,止损523.43/止盈708.17\n🟢 **比亚迪A(002594)** 90.31(-0.76%) — 买入区86.15~95.21内,止损79.8/止盈107.0\n🟢 **百济神州(06160)** 163.10(+1.94%) — 买入区150~165内,止损145/止盈175\n🟡 **海博思创(688411)** 241.90(-4.01%) — 距买入区240~255下沿仅+0.8%,接近可关注\n🟡 **建滔积层板(01888)** 60.90(-1.77%) — 买入区58.7~66.99内\n⚪ 其余自选距买入区较远,无操作信号\n\n<structured_data>\n{\"type\":\"盯盘\",\"time\":\"15:46\",\"holdings\":[\n{\"code\":\"603259\",\"name\":\"药明康德\",\"action\":\"持有\",\"price\":97.04},\n{\"code\":\"600110\",\"name\":\"诺德股份\",\"action\":\"持有\",\"price\":12.20},\n{\"code\":\"00981\",\"name\":\"中芯国际-H\",\"action\":\"持有\",\"price\":72.25},\n{\"code\":\"01478\",\"name\":\"丘钛科技\",\"action\":\"观望\",\"price\":8.09},\n{\"code\":\"600563\",\"name\":\"法拉电子\",\"action\":\"持有\",\"price\":155.00},\n{\"code\":\"02388\",\"name\":\"中银香港\",\"action\":\"持有\",\"price\":46.30},\n{\"code\":\"688981\",\"name\":\"中芯国际-A\",\"action\":\"持有\",\"price\":125.34},\n{\"code\":\"00700\",\"name\":\"腾讯控股\",\"action\":\"持有\",\"price\":466.0},\n{\"code\":\"01088\",\"name\":\"中国神华\",\"action\":\"持有\",\"price\":45.36},\n{\"code\":\"01211\",\"name\":\"比亚迪股份\",\"action\":\"持有\",\"price\":86.75},\n{\"code\":\"09988\",\"name\":\"阿里巴巴\",\"action\":\"持有\",\"price\":113.30},\n{\"code\":\"02202\",\"name\":\"万科企业\",\"action\":\"观望\",\"price\":2.60},\n{\"code\":\"09868\",\"name\":\"小鹏汽车\",\"action\":\"持有\",\"price\":59.90}]}\n</structured_data>\n",
|
||
"stocks_mentioned": [
|
||
"00700",
|
||
"00981",
|
||
"01088",
|
||
"01211",
|
||
"01478",
|
||
"02202",
|
||
"02388",
|
||
"09868",
|
||
"09988",
|
||
"600110",
|
||
"600563",
|
||
"603259",
|
||
"688981"
|
||
],
|
||
"structured": {
|
||
"type": "盯盘",
|
||
"time": "15:46",
|
||
"holdings": [
|
||
{
|
||
"code": "603259",
|
||
"name": "药明康德",
|
||
"action": "持有",
|
||
"price": 97.04
|
||
},
|
||
{
|
||
"code": "600110",
|
||
"name": "诺德股份",
|
||
"action": "持有",
|
||
"price": 12.2
|
||
},
|
||
{
|
||
"code": "00981",
|
||
"name": "中芯国际-H",
|
||
"action": "持有",
|
||
"price": 72.25
|
||
},
|
||
{
|
||
"code": "01478",
|
||
"name": "丘钛科技",
|
||
"action": "观望",
|
||
"price": 8.09
|
||
},
|
||
{
|
||
"code": "600563",
|
||
"name": "法拉电子",
|
||
"action": "持有",
|
||
"price": 155.0
|
||
},
|
||
{
|
||
"code": "02388",
|
||
"name": "中银香港",
|
||
"action": "持有",
|
||
"price": 46.3
|
||
},
|
||
{
|
||
"code": "688981",
|
||
"name": "中芯国际-A",
|
||
"action": "持有",
|
||
"price": 125.34
|
||
},
|
||
{
|
||
"code": "00700",
|
||
"name": "腾讯控股",
|
||
"action": "持有",
|
||
"price": 466.0
|
||
},
|
||
{
|
||
"code": "01088",
|
||
"name": "中国神华",
|
||
"action": "持有",
|
||
"price": 45.36
|
||
},
|
||
{
|
||
"code": "01211",
|
||
"name": "比亚迪股份",
|
||
"action": "持有",
|
||
"price": 86.75
|
||
},
|
||
{
|
||
"code": "09988",
|
||
"name": "阿里巴巴",
|
||
"action": "持有",
|
||
"price": 113.3
|
||
},
|
||
{
|
||
"code": "02202",
|
||
"name": "万科企业",
|
||
"action": "观望",
|
||
"price": 2.6
|
||
},
|
||
{
|
||
"code": "09868",
|
||
"name": "小鹏汽车",
|
||
"action": "持有",
|
||
"price": 59.9
|
||
}
|
||
]
|
||
},
|
||
"_id": "cron_d3797d924ddc_2026-06-10_15-56-34"
|
||
} |