aa0f740381
完整数据采集+分析管道: - market_watch.py:90行业板块采集(同花顺/东方财富) - 市场精选推荐 cron:全市场分析+候选池+星级推荐 - price_monitor.py:持仓/自选高频价格监控 - refresh_mtf_cache.py:多周期K线缓存 - 策略评估/知识萃取管道 文档:docs/ 含完整需求+架构设计 注意:尚未配置 git remote,笑笑接手后自行配置
163 lines
18 KiB
JSON
163 lines
18 KiB
JSON
{
|
||
"title": "Cron Job: 快速盯盘-15分钟",
|
||
"type": "盯盘",
|
||
"created_at": "2026-06-11T08:55:23.385966",
|
||
"summary": "**Job ID:** d3797d924ddc\n**Run Time:** 2026-06-10 16:06:18\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 16:06:18\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📊 快速盯盘 | 16:01(港股收盘,A股已收盘)\n\n【⚡ 重点推荐操作】\n• 药明康德(603259) 97.04(+3.81%) → 触及买入区上沿97.00,持有。止损90/止盈105,仓位1.89%\n• 中国神华(01088) 45.20(-2.08%) → 在买入区44~46内,持有观察。止损42/目标50,仓位2.29%\n\n【⚠️ 风险关注】\n• 丘钛科技(01478) 8.06(-6.39%) → 深套-41.63%,仓位9.48%重仓,连续暴跌,关注7.8支撑\n• 法拉电子(600563) 155.00(-6.95%) → 昨日+6.56%后今日暴跌反噬,浮盈转-1.78%\n• 博创科技(300548) 229.17(-4.04%) → 昨日+12.13%暴涨后回调,浮盈-1.00%\n\n【📋 其余持仓】\nA股:诺德股份(600110) +3.30%持有 | 招商银行(600036) +1.07%持有 | 辽宁成大(600739) 0.00%持有 | 中芯国际(688981) -1.54%持有 | 宁德时代(300750) -2.75%持有 | 紫金矿业(601899) -2.70%(深套)持有 | 中科电气(300035) -2.92%(深套)持有 | 黄金ETF(518880) -2.99%(深套)持有 | 双一科技(300690) -2.48%持有\n港股:腾讯控股(00700) +2.65%持有 | 万科企业(02202) +1.57%持有 | 比亚迪股份(01211) -2.04%持有 | 小鹏集团-W(09868) -2.85%持有 | 阿里巴巴-W(09988) -2.47%持有 | 中银香港(02388) -3.42%持有 | 中芯国际-H(00981) -3.87%持有\n\n【💡 自选关注】\n🟢 比亚迪(002594) 90.31 — 策略买入区83.43~97.93,在区间内。止损79.8/止盈107.0\n🟢 德明利(001309) 627.95 — 策略买入区554.22~677.38,在区间内。止损523.43/止盈708.17\n\n【纵向分析】6/9全面反弹(诺德+9.96%/博创+12.13%/法拉+6.56%)后今日全线回调,A股平均跌幅-2~4%,港股分化(腾讯+2.65%逆势 vs 丘钛-6.39%领跌)。典型\"一日游\"行情,持仓浮盈大幅回吐。\n\n<structured_data>\n{\"type\":\"盯盘\",\"time\":\"16:01\",\"holdings\":[{\"code\":\"603259\",\"name\":\"药明康德\",\"action\":\"持有\",\"price\":97.04},{\"code\":\"01088\",\"name\":\"中国神华\",\"action\":\"持有\",\"price\":45.20},{\"code\":\"00700\",\"name\":\"腾讯控股\",\"action\":\"持有\",\"price\":465.20},{\"code\":\"600110\",\"name\":\"诺德股份\",\"action\":\"持有\",\"price\":12.20},{\"code\":\"600036\",\"name\":\"招商银行\",\"action\":\"持有\",\"price\":38.90},{\"code\":\"600739\",\"name\":\"辽宁成大\",\"action\":\"持有\",\"price\":10.00},{\"code\":\"688981\",\"name\":\"中芯国际\",\"action\":\"持有\",\"price\":125.34},{\"code\":\"300750\",\"name\":\"宁德时代\",\"action\":\"持有\",\"price\":388.50},{\"code\":\"601899\",\"name\":\"紫金矿业\",\"action\":\"持有\",\"price\":27.70},{\"code\":\"300035\",\"name\":\"中科电气\",\"action\":\"持有\",\"price\":16.97},{\"code\":\"518880\",\"name\":\"黄金ETF华安\",\"action\":\"持有\",\"price\":8.736},{\"code\":\"300690\",\"name\":\"双一科技\",\"action\":\"持有\",\"price\":23.55},{\"code\":\"600563\",\"name\":\"法拉电子\",\"action\":\"持有\",\"price\":155.00},{\"code\":\"300548\",\"name\":\"博创科技\",\"action\":\"持有\",\"price\":229.17},{\"code\":\"02202\",\"name\":\"万科企业\",\"action\":\"持有\",\"price\":2.59},{\"code\":\"01211\",\"name\":\"比亚迪股份\",\"action\":\"持有\",\"price\":86.60},{\"code\":\"09868\",\"name\":\"小鹏集团-W\",\"action\":\"持有\",\"price\":59.55},{\"code\":\"09988\",\"name\":\"阿里巴巴-W\",\"action\":\"持有\",\"price\":113.20},{\"code\":\"02388\",\"name\":\"中银香港\",\"action\":\"持有\",\"price\":46.26},{\"code\":\"00981\",\"name\":\"中芯国际-H\",\"action\":\"持有\",\"price\":72.10},{\"code\":\"01478\",\"name\":\"丘钛科技\",\"action\":\"持有\",\"price\":8.06}]}\n</structured_data>\n",
|
||
"stocks_mentioned": [
|
||
"00700",
|
||
"00981",
|
||
"01088",
|
||
"01211",
|
||
"01478",
|
||
"02202",
|
||
"02388",
|
||
"09868",
|
||
"09988",
|
||
"300035",
|
||
"300548",
|
||
"300690",
|
||
"300750",
|
||
"518880",
|
||
"600036",
|
||
"600110",
|
||
"600563",
|
||
"600739",
|
||
"601899",
|
||
"603259",
|
||
"688981"
|
||
],
|
||
"structured": {
|
||
"type": "盯盘",
|
||
"time": "16:01",
|
||
"holdings": [
|
||
{
|
||
"code": "603259",
|
||
"name": "药明康德",
|
||
"action": "持有",
|
||
"price": 97.04
|
||
},
|
||
{
|
||
"code": "01088",
|
||
"name": "中国神华",
|
||
"action": "持有",
|
||
"price": 45.2
|
||
},
|
||
{
|
||
"code": "00700",
|
||
"name": "腾讯控股",
|
||
"action": "持有",
|
||
"price": 465.2
|
||
},
|
||
{
|
||
"code": "600110",
|
||
"name": "诺德股份",
|
||
"action": "持有",
|
||
"price": 12.2
|
||
},
|
||
{
|
||
"code": "600036",
|
||
"name": "招商银行",
|
||
"action": "持有",
|
||
"price": 38.9
|
||
},
|
||
{
|
||
"code": "600739",
|
||
"name": "辽宁成大",
|
||
"action": "持有",
|
||
"price": 10.0
|
||
},
|
||
{
|
||
"code": "688981",
|
||
"name": "中芯国际",
|
||
"action": "持有",
|
||
"price": 125.34
|
||
},
|
||
{
|
||
"code": "300750",
|
||
"name": "宁德时代",
|
||
"action": "持有",
|
||
"price": 388.5
|
||
},
|
||
{
|
||
"code": "601899",
|
||
"name": "紫金矿业",
|
||
"action": "持有",
|
||
"price": 27.7
|
||
},
|
||
{
|
||
"code": "300035",
|
||
"name": "中科电气",
|
||
"action": "持有",
|
||
"price": 16.97
|
||
},
|
||
{
|
||
"code": "518880",
|
||
"name": "黄金ETF华安",
|
||
"action": "持有",
|
||
"price": 8.736
|
||
},
|
||
{
|
||
"code": "300690",
|
||
"name": "双一科技",
|
||
"action": "持有",
|
||
"price": 23.55
|
||
},
|
||
{
|
||
"code": "600563",
|
||
"name": "法拉电子",
|
||
"action": "持有",
|
||
"price": 155.0
|
||
},
|
||
{
|
||
"code": "300548",
|
||
"name": "博创科技",
|
||
"action": "持有",
|
||
"price": 229.17
|
||
},
|
||
{
|
||
"code": "02202",
|
||
"name": "万科企业",
|
||
"action": "持有",
|
||
"price": 2.59
|
||
},
|
||
{
|
||
"code": "01211",
|
||
"name": "比亚迪股份",
|
||
"action": "持有",
|
||
"price": 86.6
|
||
},
|
||
{
|
||
"code": "09868",
|
||
"name": "小鹏集团-W",
|
||
"action": "持有",
|
||
"price": 59.55
|
||
},
|
||
{
|
||
"code": "09988",
|
||
"name": "阿里巴巴-W",
|
||
"action": "持有",
|
||
"price": 113.2
|
||
},
|
||
{
|
||
"code": "02388",
|
||
"name": "中银香港",
|
||
"action": "持有",
|
||
"price": 46.26
|
||
},
|
||
{
|
||
"code": "00981",
|
||
"name": "中芯国际-H",
|
||
"action": "持有",
|
||
"price": 72.1
|
||
},
|
||
{
|
||
"code": "01478",
|
||
"name": "丘钛科技",
|
||
"action": "持有",
|
||
"price": 8.06
|
||
}
|
||
]
|
||
},
|
||
"_id": "cron_d3797d924ddc_2026-06-10_16-06-20"
|
||
} |