feat: add mainstream analysis strategy skills (#1332)

This commit is contained in:
mumu
2026-05-17 23:02:12 +08:00
committed by GitHub
parent 0a987086d3
commit 47f938f32d
10 changed files with 229 additions and 8 deletions

View File

@@ -311,6 +311,10 @@ SEARXNG_PUBLIC_INSTANCES_ENABLED=true
# bull_trend — 多头趋势MA5>MA10>MA20 排列 + 低乖离率)
# ma_golden_cross — 均线金叉MA5 上穿 MA10/MA20
# volume_breakout — 放量突破(价格突破近期高点 + 成交量放大)
# hot_theme — 热点题材(政策/产业热点、板块扩散与个股相关性)
# event_driven — 事件驱动(业绩、政策、订单、并购等催化事件)
# growth_quality — 成长质量收入利润、ROE、现金流与成长持续性
# expectation_repricing — 预期重估(业绩/政策/估值预期差修复或落空)
# shrink_pullback — 缩量回踩(回踩均线 + 量能萎缩,低吸点)
# bottom_volume — 底部放量(地量见地价,底部反转信号)
# dragon_head — 龙头策略(强势龙头,趋势延续追涨)
@@ -328,7 +332,7 @@ SEARXNG_PUBLIC_INSTANCES_ENABLED=true
#
# 完整启用所有内置策略(两种写法等效):
# AGENT_SKILLS=all
# AGENT_SKILLS=bull_trend,ma_golden_cross,volume_breakout,shrink_pullback,bottom_volume,dragon_head,one_yang_three_yin,box_oscillation,chan_theory,wave_theory,emotion_cycle
# AGENT_SKILLS=bull_trend,ma_golden_cross,volume_breakout,hot_theme,event_driven,growth_quality,expectation_repricing,shrink_pullback,bottom_volume,dragon_head,one_yang_three_yin,box_oscillation,chan_theory,wave_theory,emotion_cycle
#
AGENT_SKILLS=
# 自定义策略目录(可选,放置自定义 YAML 策略文件;环境变量名沿用内部 skill 命名)

View File

@@ -43,7 +43,7 @@
| AI 决策报告 | 核心结论、评分、趋势、买卖点位、风险警报、催化因素、操作检查清单 |
| 多市场数据聚合 | A股、港股、美股、ETF行情、K 线、技术指标、资金流、筹码、新闻、公告和基本面 |
| Web / 桌面工作台 | 手动分析、任务进度、历史报告、完整 Markdown、回测、持仓、配置管理、浅色 / 深色主题 |
| Agent 策略问股 | 多轮追问,支持均线、缠论、波浪、趋势等 11 种内置策略,覆盖 Web/Bot/API |
| Agent 策略问股 | 多轮追问,支持均线、缠论、波浪、趋势、热点、事件、成长、预期等 15 种内置策略,覆盖 Web/Bot/API |
| 智能导入与补全 | 图片、CSV/Excel、剪贴板导入股票代码/名称/拼音/别名补全 |
| 自动化与推送 | GitHub Actions、Docker、本地定时任务、FastAPI 服务和企业微信/飞书/Telegram/Discord/Slack/邮件推送 |
@@ -234,7 +234,7 @@ python main.py --webui-only
配置任意可用 AI API Key 后Web `/chat` 页面即可使用策略问股;如需显式关闭可设置 `AGENT_MODE=false`
- 支持均线金叉、缠论、波浪理论、多头趋势等内置策略
- 支持均线金叉、缠论、波浪理论、多头趋势、热点题材、事件驱动、成长质量、预期重估等内置策略
- 支持实时行情、K 线、技术指标、新闻和风险信息调用
- 支持多轮追问、会话导出、发送到通知渠道和后台执行
- 支持自定义策略文件与多 Agent 编排(实验性)

View File

@@ -24,6 +24,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/).
- [修复] 美股日线路由未包含 Finnhub / AlphaVantage扩展 `get_daily_data()` 美股分支的 source_order 以覆盖新增数据源。
- [文档] 新增小白客户端安装与配置指南,说明桌面客户端下载、基础模型配置、新闻源配置和常见问题。
- [新功能] Web 首页个股分析支持选择策略。
- [新功能] 新增热点题材、事件驱动、成长质量和预期重估策略。
## [3.17.1] - 2026-05-16

View File

@@ -45,7 +45,7 @@
| AI 決策報告 | 核心結論、評分、趨勢、買賣點位、風險警報、催化因素、操作檢查清單 |
| 多市場數據聚合 | A股、港股、美股、ETF行情、K 線、技術指標、資金流、籌碼、新聞、公告和基本面 |
| Web / 桌面工作台 | 手動分析、任務進度、歷史報告、完整 Markdown、回測、持倉、配置管理、淺色 / 深色主題 |
| Agent 策略問股 | 多輪追問,支援均線、纏論、波浪、趨勢等 11 種內建策略,覆蓋 Web/Bot/API |
| Agent 策略問股 | 多輪追問,支援均線、纏論、波浪、趨勢、熱點、事件、成長、預期等 15 種內建策略,覆蓋 Web/Bot/API |
| 智能匯入與補全 | 圖片、CSV/Excel、剪貼簿匯入股票代碼/名稱/拼音/別名補全 |
| 自動化與推送 | GitHub Actions、Docker、本地定時任務、FastAPI 服務和企業微信/飛書/Telegram/Discord/Slack/郵件推送 |
@@ -222,7 +222,7 @@ python main.py --webui-only
配置任意可用 AI API Key 後Web `/chat` 頁面即可使用策略問股;如需顯式關閉可設定 `AGENT_MODE=false`
- 支援均線金叉、纏論、波浪理論、多頭趨勢等內建策略
- 支援均線金叉、纏論、波浪理論、多頭趨勢、熱點題材、事件驅動、成長品質、預期重估等內建策略
- 支援即時行情、K 線、技術指標、新聞和風險資訊調用
- 支援多輪追問、會話匯出、發送到通知渠道和後台執行
- 支援自訂策略文件與多 Agent 編排(實驗性)

View File

@@ -45,7 +45,7 @@ English | [简体中文](../README.md) | [繁體中文](README_CHT.md)
| AI decision reports | Core conclusion, score, trend, entry/exit levels, risk alerts, catalysts, and action checklist |
| Multi-market data | A-shares, Hong Kong, US stocks, ETFs; quotes, K-lines, technicals, capital flow, chips, news, announcements, and fundamentals |
| Web / desktop workspace | Manual analysis, task progress, history, full Markdown reports, backtest, portfolio, settings, and light/dark themes |
| Agent strategy chat | Multi-turn Q&A with 11 built-in strategies across Web/Bot/API |
| Agent strategy chat | Multi-turn Q&A with 15 built-in strategies across Web/Bot/API |
| Smart import & autocomplete | Image, CSV/Excel, clipboard import; code/name/pinyin/alias autocomplete |
| Automation & notifications | GitHub Actions, Docker, local scheduler, FastAPI service, and WeChat Work / Feishu / Telegram / Discord / Slack / Email delivery |
@@ -222,7 +222,7 @@ Visit `http://127.0.0.1:8000`. Authentication, smart import, autocomplete, repor
After configuring any available AI API key, the Web `/chat` page can use strategy chat. Set `AGENT_MODE=false` only if you want to disable it explicitly.
- Built-in strategies include moving-average crossovers, Chan theory, Elliott wave, bull trend, and more
- Built-in strategies include moving-average crossovers, Chan theory, Elliott wave, bull trend, hot themes, event-driven, growth quality, expectation repricing, and more
- Calls realtime quotes, K-line data, technical indicators, news, and risk context
- Supports follow-up questions, session export, notification sending, and background execution
- Supports custom strategy files and experimental multi-agent orchestration

View File

@@ -36,7 +36,7 @@ core_rules: [1, 2]
# 策略需要使用的工具列表,可选
# 可用工具get_daily_history, analyze_trend, get_realtime_quote,
# get_sector_rankings, search_stock_news
# get_sector_rankings, search_stock_news, get_stock_info
required_tools:
- get_daily_history
- analyze_trend

View File

@@ -0,0 +1,54 @@
# Event Driven Strategy / 事件驱动
name: event_driven
display_name: 事件驱动
description: 围绕业绩、政策、并购、订单、产品发布等事件,评估催化强度、兑现概率和风险边界。
category: framework
core_rules: [3, 5]
required_tools:
- search_stock_news
- get_realtime_quote
- analyze_trend
aliases: [事件驱动, 催化, 催化事件]
default_priority: 45
market_regimes: [sector_hot, volatile]
instructions: |
**事件驱动策略Event Driven Strategy**
适用场景:
- 公司或行业出现明确事件催化,如业绩预告、订单中标、并购重组、政策落地、产品发布、监管处罚、诉讼等。
- 需要判断事件是短期交易催化、长期基本面改善,还是利好兑现。
分析框架:
1. **事件分类**
- 使用 `search_stock_news` 梳理近期关键事件。
- 将事件分为:业绩类、政策类、订单/产品类、资本运作类、监管/风险类。
- 明确事件发生时间,过期或时间未知的信息不能作为主要依据。
2. **影响路径**
- 判断事件影响的是收入、利润率、估值、融资能力、市场份额,还是仅影响情绪。
- 对重大订单或政策利好,要说明兑现周期和不确定性。
- 对监管、减持、处罚、诉讼等事件,风险优先。
3. **市场反应**
- 使用 `get_realtime_quote` 和 `analyze_trend` 判断事件是否已被价格充分反映。
- 放量上涨但未过关键阻力,可等待确认。
- 高位放量滞涨或利好后冲高回落,应警惕兑现压力。
4. **交易计划**
- 事件未兑现前,强调仓位控制和时间窗口。
- 事件兑现后,重新评估是否从“预期交易”切换为“业绩验证”。
- 对负面事件,先看风险释放是否充分,再考虑反弹。
输出要求:
- 明确事件性质:利好 / 利空 / 中性 / 不确定。
- 给出事件可信度、兑现周期、已反映程度。
- 操作建议必须包含失效条件,如公告不及预期、跌破关键支撑或事件热度消退。
评分调整建议:
- 高可信正向事件且价格尚未充分反映:`sentiment_score +14`
- 正向事件已大幅兑现:`sentiment_score -6`
- 负面事件仍在发酵:`sentiment_score -15`
- 事件影响不清晰或信息冲突:维持中性并降低置信度

View File

@@ -0,0 +1,54 @@
# Expectation Repricing Strategy / 预期重估
name: expectation_repricing
display_name: 预期重估
description: 分析业绩预期、政策预期和估值预期的变化,寻找预期差修复或预期过热后的回落风险。
category: framework
core_rules: [3, 5, 6]
required_tools:
- search_stock_news
- get_stock_info
- get_realtime_quote
- analyze_trend
aliases: [预期, 预期差, 预期重估]
default_priority: 65
market_regimes: [volatile, sector_hot]
instructions: |
**预期重估策略Expectation Repricing Strategy**
适用场景:
- 市场对公司业绩、政策、行业景气、估值中枢或竞争格局的预期正在变化。
- 需要判断当前价格反映的是“预期修复”“预期落空”还是“预期过热”。
分析框架:
1. **预期来源**
- 使用 `search_stock_news` 识别近期改变市场预期的信息:业绩预告、机构观点、订单、政策、产品进展、行业数据。
- 区分硬信息(公告、财报、订单)和软信息(传闻、观点、情绪)。
2. **预期差方向**
- 正向预期差:市场原本悲观,新增信息显示业务或业绩好于预期。
- 负向预期差:市场原本乐观,新增信息低于预期或验证失败。
- 若信息已经被连续大涨充分反映,需要提示预期兑现风险。
3. **估值重估**
- 使用 PE/PB、市值、ROE、现金流等字段判断估值重估是否有基本面支撑。
- 估值提升需要匹配盈利质量、增长持续性和行业空间。
- 估值回落时,观察是否由一次性扰动还是长期逻辑变化导致。
4. **价格确认**
- 使用 `analyze_trend` 判断预期变化是否已经转化为趋势。
- 放量突破可视为预期被资金确认;缩量反弹则更偏修复观察。
- 高位放量滞涨、利好不涨或跌破关键支撑,可能意味着预期转弱。
输出要求:
- 明确当前是:正向预期差 / 预期兑现 / 负向预期差 / 预期不明。
- 说明哪些信息改变了市场预期,哪些仍待验证。
- 给出观察点:下一份财报、订单兑现、政策落地、估值回落或技术确认。
评分调整建议:
- 正向预期差且价格尚未充分反映:`sentiment_score +15`
- 正向预期差已被连续大涨兑现:`sentiment_score -5`
- 负向预期差或核心假设被证伪:`sentiment_score -15`
- 信息不充分但存在潜在修复:维持中性并降低置信度

View File

@@ -0,0 +1,54 @@
# Growth Quality Strategy / 成长质量
name: growth_quality
display_name: 成长质量
description: 结合收入利润增长、ROE、现金流和行业空间识别高质量成长股与成长失速风险。
category: framework
core_rules: [2, 3, 5]
required_tools:
- get_stock_info
- get_realtime_quote
- search_stock_news
- analyze_trend
aliases: [成长, 成长股, 成长质量]
default_priority: 55
market_regimes: [trending_up]
instructions: |
**成长质量策略Growth Quality Strategy**
适用场景:
- 关注公司中长期成长能力,而不是只看短线技术形态。
- 适合高景气行业、业绩持续改善或商业模式扩张阶段的公司。
分析框架:
1. **成长性**
- 优先查看财报字段中的营业收入、归母净利润、经营现金流和 ROE。
- 判断收入增长和利润增长是否同向,是否存在“增收不增利”。
- 若只有概念热度但财报尚未验证,应降低成长确定性。
2. **质量**
- ROE 越高且稳定,质量越好。
- 经营现金流与净利润方向一致,说明盈利质量更可靠。
- 现金流显著弱于利润时,要提示回款、存货或应收风险。
3. **估值承受力**
- 使用 PE/PB、市值等估值字段判断市场是否已经提前透支成长。
- 高成长可承受更高估值,但必须说明增长能否覆盖估值。
- 估值高且成长放缓时,应明显下调评分。
4. **趋势确认**
- 使用 `analyze_trend` 判断长期成长逻辑是否被市场资金确认。
- 基本面向好但技术面未确认时,优先给观察条件而不是直接追买。
输出要求:
- 明确公司处于:高质量成长 / 成长验证中 / 成长放缓 / 成长证伪。
- 说明成长来自收入扩张、利润率改善、行业景气,还是一次性因素。
- 给出适合成长股的买点:业绩验证后突破、回踩长期均线或估值回落。
评分调整建议:
- 收入、利润、现金流和 ROE 同向改善:`sentiment_score +15`
- 行业景气与公司新闻互相验证:额外 `+6`
- 高估值但成长未验证:`sentiment_score -8`
- 增收不增利或现金流恶化:`sentiment_score -12`

54
strategies/hot_theme.yaml Normal file
View File

@@ -0,0 +1,54 @@
# Hot Theme Strategy / 热点题材
name: hot_theme
display_name: 热点题材
description: 跟踪政策、产业和市场热点,判断题材强度、板块扩散和个股相对强弱。
category: framework
core_rules: [2, 3, 5, 7]
required_tools:
- get_sector_rankings
- search_stock_news
- get_realtime_quote
- analyze_trend
aliases: [热点, 题材, 热点题材]
default_priority: 35
market_regimes: [sector_hot]
instructions: |
**热点题材策略Hot Theme Strategy**
适用场景:
- 市场出现明确政策、产业、技术路线或资金抱团热点。
- 需要判断个股是否真正受益于热点,而不是单纯蹭概念。
分析框架:
1. **热点强度**
- 使用 `get_sector_rankings` 判断相关板块是否在近期涨幅、成交额或人气上处于前列。
- 观察热点是否从少数核心股扩散到板块内多只个股。
- 若只有单股异动、板块未共振,降低信号权重。
2. **个股相关性**
- 使用 `search_stock_news` 检查公司业务、订单、产能、客户、公告是否与热点直接相关。
- 区分“实质受益”“间接受益”“概念关联较弱”。
- 概念关联弱但涨幅过大时,应提示题材兑现风险。
3. **相对强弱**
- 使用 `get_realtime_quote` 与 `analyze_trend` 判断个股涨幅、量比、换手率是否强于板块平均。
- 强势热点股通常表现为放量、换手活跃、回调不破关键均线。
4. **节奏与风险**
- 不在连续加速、高乖离率位置追涨。
- 若新闻集中在“已经大涨”“资金追捧”“龙虎榜游资博弈”,需要警惕短线情绪顶。
- 重大利空、监管问询、澄清公告可一票降低评级。
输出要求:
- 明确当前热点阶段:启动 / 扩散 / 分化 / 退潮。
- 说明个股与热点的实质相关性。
- 给出可执行触发条件:回踩承接、放量突破、板块继续共振或退潮止损。
评分调整建议:
- 热点处于启动或扩散期,且个股实质受益:`sentiment_score +12`
- 个股强于板块并有量能确认:额外 `+6`
- 热点进入分化或退潮:`sentiment_score -8`
- 仅概念蹭热点且乖离率过高:`sentiment_score -12`