stock-analyzer-skill 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +19 -0
- package/.claude-plugin/plugin.json +21 -0
- package/CHANGELOG.md +93 -0
- package/CONTRIBUTING.md +331 -0
- package/README.md +259 -0
- package/experts/README.md +119 -0
- package/experts/buffett.md +91 -0
- package/experts/chaogu_yangjia.md +125 -0
- package/experts/decide.md +212 -0
- package/experts/duan_yongping.md +106 -0
- package/experts/lynch.md +127 -0
- package/experts/soros.md +89 -0
- package/experts/xu_xiang.md +107 -0
- package/experts/zhao_laoge.md +143 -0
- package/experts/zuoshou_xinyi.md +144 -0
- package/install-plugin.js +69 -0
- package/methodology.md +455 -0
- package/package.json +43 -0
- package/scripts/__pycache__/announcements.cpython-314.pyc +0 -0
- package/scripts/__pycache__/backtest.cpython-314.pyc +0 -0
- package/scripts/__pycache__/chan.cpython-314.pyc +0 -0
- package/scripts/__pycache__/classifier.cpython-314.pyc +0 -0
- package/scripts/__pycache__/common.cpython-314.pyc +0 -0
- package/scripts/__pycache__/finance.cpython-314.pyc +0 -0
- package/scripts/__pycache__/init_pool.cpython-314.pyc +0 -0
- package/scripts/__pycache__/kline.cpython-314.pyc +0 -0
- package/scripts/__pycache__/patterns_local.cpython-314.pyc +0 -0
- package/scripts/__pycache__/quote.cpython-314.pyc +0 -0
- package/scripts/__pycache__/refresh_pool.cpython-314.pyc +0 -0
- package/scripts/__pycache__/screener.cpython-314.pyc +0 -0
- package/scripts/__pycache__/technical.cpython-314.pyc +0 -0
- package/scripts/announcements.py +118 -0
- package/scripts/backtest.py +528 -0
- package/scripts/chan.py +591 -0
- package/scripts/classifier.py +302 -0
- package/scripts/common.py +507 -0
- package/scripts/data/__init__.py +208 -0
- package/scripts/data/__pycache__/__init__.cpython-314.pyc +0 -0
- package/scripts/data/__pycache__/cache.cpython-314.pyc +0 -0
- package/scripts/data/__pycache__/config.cpython-314.pyc +0 -0
- package/scripts/data/__pycache__/types.cpython-314.pyc +0 -0
- package/scripts/data/cache.py +99 -0
- package/scripts/data/config.py +49 -0
- package/scripts/data/industry_thresholds.json +199 -0
- package/scripts/data/portfolio_example.json +14 -0
- package/scripts/data/sector_etf.csv +14 -0
- package/scripts/data/sector_mapping.json +64 -0
- package/scripts/data/sector_stocks.json +135 -0
- package/scripts/data/types.py +66 -0
- package/scripts/fetchers/__init__.py +130 -0
- package/scripts/fetchers/__pycache__/__init__.cpython-314.pyc +0 -0
- package/scripts/fetchers/__pycache__/akshare_finance.cpython-314.pyc +0 -0
- package/scripts/fetchers/__pycache__/akshare_kline.cpython-314.pyc +0 -0
- package/scripts/fetchers/__pycache__/akshare_quote.cpython-314.pyc +0 -0
- package/scripts/fetchers/__pycache__/baostock_kline.cpython-314.pyc +0 -0
- package/scripts/fetchers/__pycache__/eastmoney_finance.cpython-314.pyc +0 -0
- package/scripts/fetchers/__pycache__/eastmoney_kline.cpython-314.pyc +0 -0
- package/scripts/fetchers/__pycache__/eastmoney_quote.cpython-314.pyc +0 -0
- package/scripts/fetchers/__pycache__/efinance_finance.cpython-314.pyc +0 -0
- package/scripts/fetchers/__pycache__/efinance_kline.cpython-314.pyc +0 -0
- package/scripts/fetchers/__pycache__/efinance_quote.cpython-314.pyc +0 -0
- package/scripts/fetchers/__pycache__/pytdx_quote.cpython-314.pyc +0 -0
- package/scripts/fetchers/__pycache__/sina_kline.cpython-314.pyc +0 -0
- package/scripts/fetchers/__pycache__/sina_quote.cpython-314.pyc +0 -0
- package/scripts/fetchers/__pycache__/tencent_kline.cpython-314.pyc +0 -0
- package/scripts/fetchers/__pycache__/tencent_quote.cpython-314.pyc +0 -0
- package/scripts/fetchers/__pycache__/tushare_kline.cpython-314.pyc +0 -0
- package/scripts/fetchers/__pycache__/tushare_quote.cpython-314.pyc +0 -0
- package/scripts/fetchers/__pycache__/yfinance_kline.cpython-314.pyc +0 -0
- package/scripts/fetchers/akshare_finance.py +35 -0
- package/scripts/fetchers/akshare_kline.py +59 -0
- package/scripts/fetchers/akshare_quote.py +52 -0
- package/scripts/fetchers/baostock_kline.py +64 -0
- package/scripts/fetchers/eastmoney_finance.py +29 -0
- package/scripts/fetchers/eastmoney_kline.py +48 -0
- package/scripts/fetchers/eastmoney_quote.py +68 -0
- package/scripts/fetchers/efinance_finance.py +32 -0
- package/scripts/fetchers/efinance_kline.py +46 -0
- package/scripts/fetchers/efinance_quote.py +53 -0
- package/scripts/fetchers/pytdx_kline.py +70 -0
- package/scripts/fetchers/pytdx_quote.py +78 -0
- package/scripts/fetchers/sina_kline.py +30 -0
- package/scripts/fetchers/sina_quote.py +35 -0
- package/scripts/fetchers/tencent_kline.py +52 -0
- package/scripts/fetchers/tencent_quote.py +29 -0
- package/scripts/fetchers/tushare_kline.py +62 -0
- package/scripts/fetchers/tushare_quote.py +62 -0
- package/scripts/fetchers/yfinance_kline.py +66 -0
- package/scripts/finance.py +92 -0
- package/scripts/init_pool.py +105 -0
- package/scripts/kline.py +62 -0
- package/scripts/monitor.py +107 -0
- package/scripts/patterns_local.py +599 -0
- package/scripts/quote.py +69 -0
- package/scripts/refresh_pool.py +328 -0
- package/scripts/screener.py +434 -0
- package/scripts/strategies/__init__.py +11 -0
- package/scripts/strategies/__pycache__/__init__.cpython-314.pyc +0 -0
- package/scripts/strategies/__pycache__/registry.cpython-314.pyc +0 -0
- package/scripts/strategies/__pycache__/thresholds.cpython-314.pyc +0 -0
- package/scripts/strategies/factors/__init__.py +8 -0
- package/scripts/strategies/factors/__pycache__/__init__.cpython-314.pyc +0 -0
- package/scripts/strategies/factors/__pycache__/liquidity.cpython-314.pyc +0 -0
- package/scripts/strategies/factors/__pycache__/momentum.cpython-314.pyc +0 -0
- package/scripts/strategies/factors/__pycache__/quality.cpython-314.pyc +0 -0
- package/scripts/strategies/factors/__pycache__/valuation.cpython-314.pyc +0 -0
- package/scripts/strategies/factors/__pycache__/volatility.cpython-314.pyc +0 -0
- package/scripts/strategies/factors/liquidity.py +49 -0
- package/scripts/strategies/factors/momentum.py +45 -0
- package/scripts/strategies/factors/quality.py +54 -0
- package/scripts/strategies/factors/valuation.py +76 -0
- package/scripts/strategies/factors/volatility.py +89 -0
- package/scripts/strategies/registry.py +87 -0
- package/scripts/strategies/thresholds.py +28 -0
- package/scripts/technical/__init__.py +116 -0
- package/scripts/technical/__pycache__/__init__.cpython-314.pyc +0 -0
- package/scripts/technical/__pycache__/astock.cpython-314.pyc +0 -0
- package/scripts/technical/__pycache__/boll.cpython-314.pyc +0 -0
- package/scripts/technical/__pycache__/candlestick.cpython-314.pyc +0 -0
- package/scripts/technical/__pycache__/core.cpython-314.pyc +0 -0
- package/scripts/technical/__pycache__/kdj.cpython-314.pyc +0 -0
- package/scripts/technical/__pycache__/macd.cpython-314.pyc +0 -0
- package/scripts/technical/__pycache__/moving_average.cpython-314.pyc +0 -0
- package/scripts/technical/__pycache__/report.cpython-314.pyc +0 -0
- package/scripts/technical/__pycache__/rsi.cpython-314.pyc +0 -0
- package/scripts/technical/__pycache__/scoring.cpython-314.pyc +0 -0
- package/scripts/technical/__pycache__/signals.cpython-314.pyc +0 -0
- package/scripts/technical/__pycache__/trend.cpython-314.pyc +0 -0
- package/scripts/technical/__pycache__/volume.cpython-314.pyc +0 -0
- package/scripts/technical/astock.py +98 -0
- package/scripts/technical/boll.py +49 -0
- package/scripts/technical/candlestick.py +151 -0
- package/scripts/technical/core.py +92 -0
- package/scripts/technical/kdj.py +68 -0
- package/scripts/technical/macd.py +97 -0
- package/scripts/technical/moving_average.py +59 -0
- package/scripts/technical/report.py +221 -0
- package/scripts/technical/rsi.py +37 -0
- package/scripts/technical/scoring.py +392 -0
- package/scripts/technical/signals.py +70 -0
- package/scripts/technical/trend.py +143 -0
- package/scripts/technical/volume.py +113 -0
- package/scripts/technical.py +215 -0
- package/skills/financial-analyst/SKILL.md +141 -0
- package/skills/help/SKILL.md +188 -0
- package/skills/init/SKILL.md +66 -0
- package/skills/investment-researcher/SKILL.md +152 -0
- package/skills/market/SKILL.md +99 -0
- package/skills/portfolio/SKILL.md +96 -0
- package/skills/screener/SKILL.md +128 -0
- package/skills/sector/SKILL.md +102 -0
- package/skills/stock/SKILL.md +148 -0
- package/skills/technical/SKILL.md +168 -0
- package/workflow.md +91 -0
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: screener
|
|
3
|
+
description: A 股选股策略系统 skill。用于从内置板块库或用户给定股票池中按多因子策略筛选候选股,支持均衡精选、质量价值、成长动量、防守低波、拐点修复;优先运行 scripts/screener.py,并结合 A 股交易制度、流动性、板块轮动和风险约束解释结果。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Screener
|
|
7
|
+
|
|
8
|
+
A 股选股策略系统:先排雷,再打分,最后给可执行跟踪清单。
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
```text
|
|
13
|
+
/screener [--sector 板块] [--strategy balanced|quality_value|growth_momentum|defensive|turning_point] [--top N]
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
也可直接用自然语言触发,例如"按成长动量筛资源板块前 5 名"。
|
|
17
|
+
|
|
18
|
+
## Instructions
|
|
19
|
+
|
|
20
|
+
使用中文。先输出入选名单和策略结论,再解释因子分、剔除原因和交易计划。涉及最新行情时必须运行脚本,不要凭记忆选股。
|
|
21
|
+
|
|
22
|
+
## Workflow Coordination
|
|
23
|
+
|
|
24
|
+
完整链路见包根目录 `workflow.md`。本 skill 负责把市场/板块判断变成候选池:
|
|
25
|
+
|
|
26
|
+
- 上游来自 `market`:用 `market_regime` 选择策略。
|
|
27
|
+
- 上游来自 `sector`:用板块核心标的作为股票池。
|
|
28
|
+
- 下游到 `stock`:对 Top 1-3 候选做五层分析,验证基本面、估值和风险收益比。
|
|
29
|
+
- 下游到 `technical`:对候选股确认买点、失效位和量价状态。
|
|
30
|
+
- 下游到 `portfolio`:当用户要买入或替换持仓时,传递候选池、剔除原因和仓位上限。
|
|
31
|
+
|
|
32
|
+
输出必须包含 `strategy`、`candidates`、剔除原因和“观察/可跟踪/暂不参与”分层。
|
|
33
|
+
|
|
34
|
+
### Step 0: 判断市场环境再选策略
|
|
35
|
+
|
|
36
|
+
先获取大盘指数和板块 ETF 数据来判断当前市场环境,再选择匹配的策略:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
python3 scripts/quote.py sh000001,sh510300,sh510500,sh518880 -j
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
| 市场信号 | 推荐策略 |
|
|
43
|
+
| -------------------------- | -------------------------- |
|
|
44
|
+
| 沪深300 > MA20 + 量能放大 | `growth_momentum` 进攻态势 |
|
|
45
|
+
| 指数横盘 + 板块分化 | `balanced` 均衡精选 |
|
|
46
|
+
| 沪深300 < MA20 + 缩量 | `defensive` 防守低波 |
|
|
47
|
+
| PE 处于历史低位 + 情绪悲观 | `quality_value` 价值修复 |
|
|
48
|
+
| 指数急跌后企稳 + 技术转强 | `turning_point` 拐点修复 |
|
|
49
|
+
|
|
50
|
+
### Step 1: 运行选股脚本
|
|
51
|
+
|
|
52
|
+
当前 skill 目录到包根目录为 `../../..`:
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
python3 scripts/screener.py --strategy balanced --top 10
|
|
56
|
+
python3 scripts/screener.py --sector 资源 --strategy quality_value --top 5
|
|
57
|
+
python3 scripts/screener.py --codes sh600989,sz000807,300476 --strategy growth_momentum
|
|
58
|
+
python3 scripts/screener.py --strategy defensive --exclude-loss --json
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
可选参数:
|
|
62
|
+
|
|
63
|
+
- `--min-amount 5000`:主板最低成交额(万元),创业板/科创板自动 ×0.7,北交所 ×1.5
|
|
64
|
+
- `--min-cap 40`:主板最低市值(亿元),创业板/科创板自动 ×0.6,北交所 ×0.4
|
|
65
|
+
- `--exclude-loss`:剔除 EPS<=0 标的
|
|
66
|
+
|
|
67
|
+
策略含义:
|
|
68
|
+
|
|
69
|
+
| 策略 | 适用市场 | 核心偏好 |
|
|
70
|
+
| ----------------- | ----------------- | ---------------------------- |
|
|
71
|
+
| `balanced` | 震荡/方向不明 | 质量、估值、动量、流动性均衡 |
|
|
72
|
+
| `quality_value` | 价值修复/防守行情 | 高 ROE、低估值、现金流质量 |
|
|
73
|
+
| `growth_momentum` | 进攻行情/题材主线 | 增速、趋势、成交活跃度 |
|
|
74
|
+
| `defensive` | 缩量弱市/避险 | 低估值、低负债、稳定质量 |
|
|
75
|
+
| `turning_point` | 超跌修复/拐点 | 估值安全垫 + 技术转强 |
|
|
76
|
+
|
|
77
|
+
### Step 2: 解释评分
|
|
78
|
+
|
|
79
|
+
脚本输出四个因子桶和三个技术信号:
|
|
80
|
+
|
|
81
|
+
- 质量:ROE、净利增速、营收增速、毛利率、负债率、经营现金流/EPS。
|
|
82
|
+
- 估值:PE、PB、PEG、PE/ROE。
|
|
83
|
+
- 动量:20 日收益、均线结构、MACD 金叉/死叉(↑/↓/→)、RSI、量能比、换手率、量价配合。
|
|
84
|
+
- 流动性:成交额、市值、换手适中程度。
|
|
85
|
+
- 量价信号:放量上涨=资金介入、缩量下跌=抛压减轻、放量下跌=主力出货、缩量上涨=量价背离。
|
|
86
|
+
|
|
87
|
+
硬过滤(自动,按板块差异化):
|
|
88
|
+
|
|
89
|
+
- ST 名称前缀匹配
|
|
90
|
+
- 成交额不足(主板 <5000 万,创业板/科创板 <3500 万,北交所 <7500 万)
|
|
91
|
+
- 市值过小(主板 <40 亿,创业板/科创板 <24 亿,北交所 <16 亿)
|
|
92
|
+
- 涨跌停限制(依板块涨跌停制度自动判断)
|
|
93
|
+
- EPS<=0(需 --exclude-loss 启用)
|
|
94
|
+
|
|
95
|
+
### Step 3: 输出格式
|
|
96
|
+
|
|
97
|
+
```text
|
|
98
|
+
## 选股结论
|
|
99
|
+
- 当前市场判断:
|
|
100
|
+
- 推荐策略:
|
|
101
|
+
- 首选候选:
|
|
102
|
+
- 观察候选:
|
|
103
|
+
- 剔除/回避:
|
|
104
|
+
|
|
105
|
+
## 分数表
|
|
106
|
+
| 代码 | 名称 | 总分 | 质量 | 估值 | 动量 | 流动性 | PE | ROE | RSI | 20日% | 趋势 | 量价 |
|
|
107
|
+
|
|
108
|
+
## 跟踪条件
|
|
109
|
+
- 买入触发:
|
|
110
|
+
- 失效条件:
|
|
111
|
+
- 止损/降仓:
|
|
112
|
+
- 仓位上限:
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### Step 4: A 股约束
|
|
116
|
+
|
|
117
|
+
- 主板(10%涨跌停)、科创板/创业板(20%)、北交所(30%)制度不同;结果中提示板块属性。
|
|
118
|
+
- A 股普通股票交易以 T+1 为主,短线策略必须考虑次日无法卖出的隔夜风险。
|
|
119
|
+
- 涨跌停附近标的已自动过滤,不纳入候选。
|
|
120
|
+
- 选股只是候选池,不是买入指令;买点必须由市场环境、板块强弱和个股触发条件确认。
|
|
121
|
+
|
|
122
|
+
## Guardrails
|
|
123
|
+
|
|
124
|
+
- 不要把多因子分数解释为确定收益。
|
|
125
|
+
- 不要只输出排名,必须说明策略适配的市场环境(Step 0 中判断)。
|
|
126
|
+
- 对高波动标的给仓位上限和失效条件;没有这些就不是完整建议。
|
|
127
|
+
- RSI >70 超买区标的需提示追高风险。
|
|
128
|
+
- 量价背离标的需特别警示。
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sector
|
|
3
|
+
description: A 股板块分析 skill。用于行业/主题板块全景、核心标的横向对比、板块内个股筛选、轮动位置和配置建议;优先读取 data/sector_stocks.json 与 data/sector_etf.csv,并使用 scripts/quote.py、scripts/finance.py、scripts/kline.py 获取行情、财务和走势数据。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Sector Analysis
|
|
7
|
+
|
|
8
|
+
板块深度分析——标的对比+多空博弈+配置建议。
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
```text
|
|
13
|
+
/sector <板块名称> [模式: overview|compare|stock]
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
- `overview`(默认):板块全景,核心标的+估值+走势+轮动位置
|
|
17
|
+
- `compare`:板块内标的横向对比,选出最优
|
|
18
|
+
- `stock`:板块内指定个股深度分析
|
|
19
|
+
|
|
20
|
+
示例:
|
|
21
|
+
- `/sector 机器人` — 机器人板块全景
|
|
22
|
+
- `/sector PCB compare` — PCB板块标的对比
|
|
23
|
+
- `/sector 医药 stock 恒瑞医药` — 医药板块内恒瑞分析
|
|
24
|
+
|
|
25
|
+
## Instructions
|
|
26
|
+
|
|
27
|
+
使用中文,重点突出对比和结论。先判断板块状态和首选标的,再解释数据依据。板块名称不在内置库时,先说明需要自行识别核心标的,不要编造代码。
|
|
28
|
+
|
|
29
|
+
## Workflow Coordination
|
|
30
|
+
|
|
31
|
+
完整链路见包根目录 `workflow.md`。本 skill 位于 `market` 和 `screener`/`stock` 之间:
|
|
32
|
+
|
|
33
|
+
- 上游来自 `market`:接收强弱板块、市场风格和风险偏好。
|
|
34
|
+
- 下游到 `screener`:需要从板块里挑候选时,传递板块名称、核心标的池、推荐策略。
|
|
35
|
+
- 下游到 `stock`:用户指定板块内个股或需要深挖首选标的时,传递同业比较结论。
|
|
36
|
+
- 下游到 `portfolio`:用户问配置比例时,传递板块仓位上限、替代板块和退潮信号。
|
|
37
|
+
|
|
38
|
+
输出必须包含 `sector_view`(启动/主升/高潮/退潮/弱势)和首选/次选/回避名单。
|
|
39
|
+
|
|
40
|
+
### Step 1: 获取板块数据
|
|
41
|
+
|
|
42
|
+
根据板块名称,先查包根目录 `data/sector_stocks.json` 和 `data/sector_etf.csv`,再获取核心标的行情+财务。当前 skill 目录到包根目录为 `../../..`:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
python3 scripts/quote.py <sh/sz代码列表>
|
|
46
|
+
python3 scripts/finance.py -c <SH/SZ代码列表>
|
|
47
|
+
python3 scripts/kline.py <板块ETF代码> 240 30
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
脚本支持 `-j` 输出 JSON,适合计算排序。行情和 K 线用小写 `sh`/`sz`;财务用大写 `SH`/`SZ`。
|
|
51
|
+
|
|
52
|
+
### Step 2: 板块分析框架
|
|
53
|
+
|
|
54
|
+
**overview模式:**
|
|
55
|
+
|
|
56
|
+
| 分析维度 | 内容 |
|
|
57
|
+
|---------|------|
|
|
58
|
+
| 板块定位 | 赛道空间+增长逻辑 |
|
|
59
|
+
| 核心标的 | 5-10只,PE/ROE/增速对比 |
|
|
60
|
+
| 估值水平 | 板块平均PE vs 历史分位 |
|
|
61
|
+
| 近期走势 | 5日/10日涨跌+量能 |
|
|
62
|
+
| 轮动位置 | 启动/主升/高潮/退潮 |
|
|
63
|
+
|
|
64
|
+
**compare模式:**
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
| 标的 | PE | ROE | 增速 | 毛利率 | 今日 | 评分 |
|
|
68
|
+
|------|-----|------|------|--------|------|------|
|
|
69
|
+
| 标的A | 14 | 25% | +50% | 35% | +2% | ★★★★★ |
|
|
70
|
+
| 标的B | 45 | 8% | +20% | 28% | -1% | ★★★ |
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
输出:最优标的+理由+买入区间
|
|
74
|
+
|
|
75
|
+
**stock模式:** 调用 `/stock` 的五层分析框架
|
|
76
|
+
|
|
77
|
+
如果用户要求板块内指定个股,直接复用 stock skill 的五层框架,但增加“与板块内其他核心标的比较”。
|
|
78
|
+
|
|
79
|
+
### Step 3: 配置建议
|
|
80
|
+
|
|
81
|
+
- 板块占组合建议比例
|
|
82
|
+
- 首选/次选/回避标的
|
|
83
|
+
- 买入时机+止损位
|
|
84
|
+
|
|
85
|
+
### Step 4: 常用板块标的库
|
|
86
|
+
|
|
87
|
+
| 板块 | 核心标的 |
|
|
88
|
+
|------|---------|
|
|
89
|
+
| 机器人 | 绿的谐波、汇川技术、埃斯顿、昊志机电、双环传动、伟创电气 |
|
|
90
|
+
| PCB/AI算力 | 胜宏科技、沪电股份、深南电路、生益科技、兴森科技 |
|
|
91
|
+
| 医药 | 恒瑞医药、药明康德、迈瑞医疗、片仔癀 |
|
|
92
|
+
| 新能源 | 宁德时代、亿纬锂能、鹏辉能源、阳光电源 |
|
|
93
|
+
| 资源 | 云铝股份、洛阳钼业、华友钴业、宝丰能源、中国神华 |
|
|
94
|
+
| 消费 | 贵州茅台、五粮液、伊利股份、海天味业 |
|
|
95
|
+
| 金融 | 招商银行、中信证券、国泰海通 |
|
|
96
|
+
| 科技 | 海康威视、兆易创新、中芯国际 |
|
|
97
|
+
|
|
98
|
+
## Guardrails
|
|
99
|
+
|
|
100
|
+
- 板块结论必须区分“行业基本面”和“交易轮动”,不要把短线涨跌直接等同长期景气。
|
|
101
|
+
- 对无法确认的主题概念,明确标注“标的库未覆盖”并使用用户给出的标的。
|
|
102
|
+
- 不要给出确定性涨幅目标;用情景区间、触发条件和止损位表达。
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: stock
|
|
3
|
+
description: 单股分析 skill。用于 A 股个股快速分析、完整五层分析、估值/技术面/板块/风险收益比判断,以及 8 人专家圆桌多空讨论;优先使用 stock-analyzer-skill 包内 scripts/ 工具获取实时行情、财务、K 线、公告和研报数据。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Stock Analysis
|
|
7
|
+
|
|
8
|
+
快速个股分析——五层框架 + 专家讨论。
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
```text
|
|
13
|
+
/stock <股票名称或代码> [quick|full|debate] [长线|短线]
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
- `quick`(默认):基本面+估值+技术面,3分钟出结论
|
|
17
|
+
- `full`:五层完整分析+风险收益比+仓位建议
|
|
18
|
+
- `debate`(默认全模式):五层分析 + 8人专家圆桌多空辩论
|
|
19
|
+
- `debate 长线`:仅长线4人(巴菲特/林奇/索罗斯/段永平),适合价值投资者
|
|
20
|
+
- `debate 短线`:仅短线4人(徐翔/赵老哥/养家/作手新一),适合交易型选手
|
|
21
|
+
|
|
22
|
+
## Instructions
|
|
23
|
+
|
|
24
|
+
使用中文,输出用表格+要点格式。先给结论,再给证据和风险。涉及实时行情、最新公告、研报或盘中走势时必须获取数据,不要只凭记忆判断。
|
|
25
|
+
|
|
26
|
+
## Workflow Coordination
|
|
27
|
+
|
|
28
|
+
完整链路见包根目录 `workflow.md`。本 skill 负责把候选股变成投资判断:
|
|
29
|
+
|
|
30
|
+
- 上游来自 `screener`:接收候选分数、策略和剔除/入选理由,做五层验证。
|
|
31
|
+
- 上游来自 `sector`:接收板块景气和同业比较,避免孤立看个股。
|
|
32
|
+
- 下游到 `technical`:当结论是买入/持有/观察时,必须确认技术触发、支撑阻力和失效位。
|
|
33
|
+
- 下游到 `financial-analyst`:当财务数据异常、估值分歧大或需要预测时,进入建模。
|
|
34
|
+
- 下游到 `portfolio`:当涉及实际操作时,输出仓位计划、止损、替代方案。
|
|
35
|
+
|
|
36
|
+
输出必须包含 `fundamental_rating`、`valuation_view`、`sector_context`、`technical_next_step`、`position_plan`。
|
|
37
|
+
|
|
38
|
+
### Step 1: 获取数据
|
|
39
|
+
|
|
40
|
+
优先使用包内脚本。Claude Code 运行时工作目录即为项目根目录:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
python3 scripts/quote.py sh600989
|
|
44
|
+
python3 scripts/finance.py SH600989
|
|
45
|
+
python3 scripts/kline.py sh600989 240 30
|
|
46
|
+
python3 scripts/kline.py sh600989 5 48 # debate/盘中模式
|
|
47
|
+
python3 scripts/announcements.py 600989
|
|
48
|
+
python3 scripts/announcements.py 600989 reports
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
代码前缀:行情和 K 线用小写 `sh`/`sz`;财务接口用大写 `SH`/`SZ`;公告/研报一般只用 6 位代码。脚本支持 `-j` 输出 JSON,便于二次计算。脚本不可用时,再参考 `methodology.md` 中的数据源说明直接 curl。
|
|
52
|
+
|
|
53
|
+
### Step 2: 五层分析
|
|
54
|
+
|
|
55
|
+
| 层级 | 分析内容 | 输出 |
|
|
56
|
+
| ---------- | ------------------------- | -------------------- |
|
|
57
|
+
| 基本面 | ROE/增速/毛利/负债/现金流 | 评级(A/B/C) |
|
|
58
|
+
| 估值 | PE/PEG/PE-ROE | 评级(低估/合理/偏贵) |
|
|
59
|
+
| 技术面 | K线趋势/支撑阻力/量价 | 评级(强/中/弱) |
|
|
60
|
+
| 板块 | 所属板块今日表现 | 板块排名 |
|
|
61
|
+
| 风险收益比 | 情景分析+概率加权 | 期望收益% |
|
|
62
|
+
|
|
63
|
+
详细阈值和字段解释见包根目录 `methodology.md`。只在需要展开方法论或字段含义时读取该文件,避免无关上下文膨胀。
|
|
64
|
+
|
|
65
|
+
### Step 3: 输出结论
|
|
66
|
+
|
|
67
|
+
**quick模式:**
|
|
68
|
+
|
|
69
|
+
- 一句话结论
|
|
70
|
+
- 关键数据表
|
|
71
|
+
- 操作建议(买入/持有/回避)
|
|
72
|
+
- 明确数据时间戳或交易日
|
|
73
|
+
|
|
74
|
+
**full模式:**
|
|
75
|
+
|
|
76
|
+
- 五层分析详细表格
|
|
77
|
+
- 支撑/阻力位图示
|
|
78
|
+
- 情景分析表(牛市/基准/悲观)
|
|
79
|
+
- 仓位建议+止损位
|
|
80
|
+
|
|
81
|
+
**debate模式(全模式/默认):**
|
|
82
|
+
|
|
83
|
+
- 五层分析
|
|
84
|
+
- 8人专家圆桌(4长线+4短线)
|
|
85
|
+
- 多空投票 + 跨组加权
|
|
86
|
+
- 最终折中方案
|
|
87
|
+
|
|
88
|
+
**debate 长线模式:**
|
|
89
|
+
|
|
90
|
+
- 五层分析
|
|
91
|
+
- 仅4位长线专家(巴菲特/林奇/索罗斯/段永平)
|
|
92
|
+
- 组内投票,无跨组加权
|
|
93
|
+
- 适合中长期价值判断
|
|
94
|
+
|
|
95
|
+
**debate 短线模式:**
|
|
96
|
+
|
|
97
|
+
- 五层分析
|
|
98
|
+
- 仅4位短线专家(徐翔/赵老哥/养家/作手新一)
|
|
99
|
+
- 组内投票,无跨组加权
|
|
100
|
+
- 适合短线交易时机判断
|
|
101
|
+
|
|
102
|
+
### Step 4: 专家讨论(debate模式)
|
|
103
|
+
|
|
104
|
+
**三种子模式**:
|
|
105
|
+
|
|
106
|
+
| 模式 | 参数 | 参与专家 | 决策机制 |
|
|
107
|
+
| -------------- | ------------- | ------------------ | ---------------------- |
|
|
108
|
+
| 全模式(默认) | `debate` | 8人(长线4+短线4) | 跨组加权,市场环境调权 |
|
|
109
|
+
| 长线模式 | `debate 长线` | 长线4人 | 组内投票,无跨组权重 |
|
|
110
|
+
| 短线模式 | `debate 短线` | 短线4人 | 组内投票,无跨组权重 |
|
|
111
|
+
|
|
112
|
+
长线团:巴菲特(价值)、彼得林奇(成长)、索罗斯(趋势)、段永平(逆向)
|
|
113
|
+
短线团:徐翔(涨停板)、赵老哥(趋势龙头)、炒股养家(情绪流)、作手新一(低吸)
|
|
114
|
+
|
|
115
|
+
**全模式标准流程**(参考 experts/decide.md 决策引擎):
|
|
116
|
+
|
|
117
|
+
1. **获取大盘数据**,判断市场环境(牛市/熊市/震荡/冰点/亢奋):
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
python3 scripts/quote.py sh000001,sh510300 -j
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
2. **每位专家独立打分**:对照 `experts/<name>.md` 中 §九 评分矩阵,用步骤1和步骤3获取的数据在各维度打分,输出 0-100 总分。关键:
|
|
124
|
+
- 巴菲特:重 ROE/PE/负债率/安全边际
|
|
125
|
+
- 林奇:重 PEG/增速/内部人交易
|
|
126
|
+
- 索罗斯:重趋势/反身性/市场情绪一致性
|
|
127
|
+
- 段永平:重商业模式/护城河/FCF/管理层
|
|
128
|
+
- 徐翔:重涨停基因/板块效应/封单强度(仅排雷基本面)
|
|
129
|
+
- 赵老哥:重均线排列/题材生命周期/龙头地位
|
|
130
|
+
- 养家:重情绪周期阶段/涨停跌停家数(几乎不看基本面)
|
|
131
|
+
- 作手新一:重 K线反转形态/缩量程度/止损成本
|
|
132
|
+
|
|
133
|
+
3. **投票汇总**:按 experts/decide.md 规则——分组计票、市场环境调整权重、冲突解决(巴菲特否决权、养家情绪降权)。
|
|
134
|
+
|
|
135
|
+
4. **输出**:按 decide.md §四 格式——评分表 + 方向 + 风险 + 仓位。记得计算信心指数。
|
|
136
|
+
|
|
137
|
+
**长线/短线单组模式流程**(参考 experts/decide.md §七):
|
|
138
|
+
|
|
139
|
+
1. **获取数据**:同全模式步骤1(行情+财务+K线),无需获取大盘数据。
|
|
140
|
+
2. **仅调用对应组专家打分**:长线模式只跑巴菲特/林奇/索罗斯/段永平,短线模式只跑徐翔/赵老哥/养家/作手新一。
|
|
141
|
+
3. **组内投票**:按 decide.md §七 规则——组内 ≥3/4 看多=看多,≥3/4 看空=看空,2:2=中性。
|
|
142
|
+
4. **输出**:评分表(仅该组4人)+ 组内方向 + 风险 + 仓位。信心指数基于4人标准差计算。
|
|
143
|
+
|
|
144
|
+
## Guardrails
|
|
145
|
+
|
|
146
|
+
- 明确声明这不是投资保证,给出风险触发条件而不是绝对化预测。
|
|
147
|
+
- 数据失败时说明失败的数据源和影响,仍可用已有数据给低置信度结论。
|
|
148
|
+
- 不要虚构实时价格、最新公告、研报评级或成交数据。
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: technical
|
|
3
|
+
description: A 股纯技术分析 skill。从 K 线和行情数据出发,输出完整技术分析报告,包含均线系统、MACD(含背离)、KDJ(含钝化)、BOLL、成交量/OBV、K线形态识别、趋势结构分析、A股涨跌停/连板检测、个股类型自适应评分、缠论(笔-线段-中枢-买卖点-背驰)、本土战法形态(三阴一阳/老鸭头/美人肩等)及市场环境自适应权重;优先运行 scripts/technical.py,纯技术视角不做基本面分析。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Technical Analysis
|
|
7
|
+
|
|
8
|
+
纯技术分析报告——均线+指标+形态+趋势+A股特化+综合评分。不做基本面,不聊估值。
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
```text
|
|
13
|
+
/technical <代码> # 完整技术分析报告
|
|
14
|
+
/technical <代码> quick # 快速技术面扫描(仅关键信号)
|
|
15
|
+
/technical <代码> full # 完整报告+个股分类+缠论+战法+市场自适应
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
也可以自然语言触发:"技术面分析 sh600989"、"纯技术角度看 sz000807"等。
|
|
19
|
+
|
|
20
|
+
## Instructions
|
|
21
|
+
|
|
22
|
+
使用中文。先给结论(综合评分+多空方向),再给逐项证据。涉及最新行情时必须运行脚本。
|
|
23
|
+
|
|
24
|
+
## Workflow Coordination
|
|
25
|
+
|
|
26
|
+
完整链路见包根目录 `workflow.md`。本 skill 是买卖点和风控确认环节:
|
|
27
|
+
|
|
28
|
+
- 上游来自 `stock`:验证买入/持有/观察结论是否已有技术触发。
|
|
29
|
+
- 上游来自 `screener`:对候选池 Top 1-3 做技术过滤,未触发就降级为观察。
|
|
30
|
+
- 上游来自 `portfolio`:检查持仓是否破位、放量下跌、技术转弱。
|
|
31
|
+
- 下游到 `portfolio`:输出可执行的支撑、阻力、止损、降仓条件。
|
|
32
|
+
|
|
33
|
+
输出必须包含 `technical_trigger`、支撑/阻力、失效条件和技术置信度。不输出基本面结论。
|
|
34
|
+
|
|
35
|
+
### Step 1: 运行技术分析脚本
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
python3 scripts/technical.py sh600989 # 完整报告(日K 250根)
|
|
39
|
+
python3 scripts/technical.py sh600989 --quick # 快速摘要
|
|
40
|
+
python3 scripts/technical.py sh600989 --scale 60 # 60分钟K线
|
|
41
|
+
python3 scripts/technical.py sh600989 -j # JSON 输出
|
|
42
|
+
python3 scripts/technical.py sh600989 --classify # 启用分类+缠论+战法+市场自适应
|
|
43
|
+
python3 scripts/technical.py sh600989 --classify --no-chan # 跳过缠论(仅分类+战法)
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Step 2: 输出结构(完整模式)
|
|
47
|
+
|
|
48
|
+
```text
|
|
49
|
+
══════════════════════════════════════════
|
|
50
|
+
名称 (代码) 现价 涨跌 板块 时间戳
|
|
51
|
+
══════════════════════════════════════════
|
|
52
|
+
|
|
53
|
+
## 综合评分: XX/100 -- 多空方向
|
|
54
|
+
买入信号: [...]
|
|
55
|
+
卖出信号: [...]
|
|
56
|
+
关键支撑/阻力
|
|
57
|
+
|
|
58
|
+
## 均线系统
|
|
59
|
+
MA5/10/20/60/120/250 数值
|
|
60
|
+
排列状态 + 粘合度
|
|
61
|
+
|
|
62
|
+
## MACD
|
|
63
|
+
DIF/DEA/BAR + 金叉死叉 + 柱趋势
|
|
64
|
+
背离检测(顶背离/底背离)
|
|
65
|
+
|
|
66
|
+
## KDJ
|
|
67
|
+
K/D/J + 超买超卖 + 金叉死叉
|
|
68
|
+
钝化检测(A股适配)
|
|
69
|
+
|
|
70
|
+
## BOLL
|
|
71
|
+
上/中/下轨 + 带宽状态 + 价格位置
|
|
72
|
+
|
|
73
|
+
## 成交量
|
|
74
|
+
量比 + 量价配合 + OBV 背离
|
|
75
|
+
|
|
76
|
+
## RSI
|
|
77
|
+
RSI-14 + 超买超卖
|
|
78
|
+
|
|
79
|
+
## K线形态
|
|
80
|
+
近4日识别结果(含假阴真阳/假阳真阴)
|
|
81
|
+
|
|
82
|
+
## 个股分类(--classify 时显示)
|
|
83
|
+
7 种类型判定 + 置信度 + 推荐/不推荐指标
|
|
84
|
+
|
|
85
|
+
## 缠论分析(--classify 时显示)
|
|
86
|
+
K线包含处理 → 分型 → 笔 → 线段 → 中枢
|
|
87
|
+
背驰检测 + 一买/二买/三买 买卖点识别
|
|
88
|
+
|
|
89
|
+
## A股本土战法(自动运行)
|
|
90
|
+
三阴一阳、老鸭头、美人肩、双针探底、涨停双响炮、底部首板
|
|
91
|
+
|
|
92
|
+
## 市场环境自适应(--classify 时显示)
|
|
93
|
+
大盘状态判定 + 指标权重自动调整
|
|
94
|
+
|
|
95
|
+
## 支撑与阻力
|
|
96
|
+
关键支撑位/阻力位 + 来源 + 强度
|
|
97
|
+
|
|
98
|
+
## 趋势结构
|
|
99
|
+
波浪状态 + 箱体/突破检测
|
|
100
|
+
|
|
101
|
+
## A股特化分析
|
|
102
|
+
板块制度 + 涨跌停状态(封板/炸板/回封/翘板)
|
|
103
|
+
连板基因 + 封单强度 + T+1风险提示
|
|
104
|
+
|
|
105
|
+
## 仓位参考(技术面)
|
|
106
|
+
止损位 + 止盈位
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Step 3: 输出结构(快速模式)
|
|
110
|
+
|
|
111
|
+
```text
|
|
112
|
+
## 技术面快扫: 名称 (代码)
|
|
113
|
+
现价 | 涨跌 | 板块 | 时间
|
|
114
|
+
|
|
115
|
+
评分: XX/100 (多空)
|
|
116
|
+
趋势: 多头/空头/交叉
|
|
117
|
+
MACD: ↑金叉/↓死叉 | 柱趋势
|
|
118
|
+
量能: 涨跌放缩 | 量价状态
|
|
119
|
+
支撑/阻力
|
|
120
|
+
连板状态(如有)
|
|
121
|
+
买入/卖出信号
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### Step 4: 解读要点
|
|
125
|
+
|
|
126
|
+
不同指标侧重不同:
|
|
127
|
+
|
|
128
|
+
- **均线系统**:中长期趋势方向。多头排列=强势,空头=弱势,粘合=即将变盘
|
|
129
|
+
- **MACD**:趋势动量。金叉+红柱放大=加速上涨,死叉+绿柱放大=加速下跌。背离是强烈反转信号
|
|
130
|
+
- **KDJ**:短线超买超卖。J>100=极度超买,J<0=极度超卖。注意:单边趋势中 KDJ 会钝化,此时金叉/死叉信号不可靠
|
|
131
|
+
- **BOLL**:波动率。带宽收窄=变盘前兆,价格触轨=极端位置
|
|
132
|
+
- **成交量**:量价配合=健康,量价背离=预警
|
|
133
|
+
- **K线形态**:短期转折信号,需与趋势方向结合判断
|
|
134
|
+
- **RSI**:辅助超买超卖,30/70 为常规分界线
|
|
135
|
+
- **涨跌停分析**:封涨停时技术指标暂停参考,需等次日开盘验证
|
|
136
|
+
|
|
137
|
+
### Step 5: 缠论与本土战法解读(--classify 模式)
|
|
138
|
+
|
|
139
|
+
- **缠论中枢**:3段重叠区间构成中枢,价格相对中枢位置决定多空格局
|
|
140
|
+
- **一买**:离开中枢的底背驰结束点,熊市/冰点中加权;**二买**:不创新低的次低点;**三买**:突破中枢后回踩不落入,牛市加权
|
|
141
|
+
- **背驰**:价格创新高/低但 MACD 面积缩小,预示趋势反转
|
|
142
|
+
- **三阴一阳**:底部洗盘结束信号,阳线需放量覆盖前阴线
|
|
143
|
+
- **老鸭头**:鸭颈→鸭头→鸭嘴三阶段,鸭嘴确认时放量突破前高为可靠信号
|
|
144
|
+
- **美人肩**:强势上升后横盘不破 MA10,缩量后再放量突破
|
|
145
|
+
- **涨停双响炮**:首板+缩量整理+再封板放量,确认强势二次攻击
|
|
146
|
+
|
|
147
|
+
### Step 6: 个股类型 × 指标权重
|
|
148
|
+
|
|
149
|
+
综合评分会根据个股类型自动调整各指标权重:
|
|
150
|
+
|
|
151
|
+
| 类型 | 加权指标 | 降权指标 |
|
|
152
|
+
| -------- | ----------------------------------- | ----------------- |
|
|
153
|
+
| 题材股 | K线形态×1.5, 涨停分析×1.5, 量比×1.3 | MACD×0.5, KDJ×0.5 |
|
|
154
|
+
| 强成长股 | MACD×1.3, BOLL×1.2, 量比×1.2 | KDJ×0.4 |
|
|
155
|
+
| 周期股 | MACD×1.3, KDJ×1.2, 缠论×1.3 | 均线×0.6 |
|
|
156
|
+
| 蓝筹股 | 均线×1.3, BOLL×1.2, 箱体×1.1 | KDJ×0.4 |
|
|
157
|
+
|
|
158
|
+
## Guardrails
|
|
159
|
+
|
|
160
|
+
- 纯技术视角,不涉及基本面分析、估值分析、行业比较
|
|
161
|
+
- 涨跌停封板时明确提示"技术指标暂停参考",不强行解读
|
|
162
|
+
- 连板股不给出"追板"建议,仅描述状态
|
|
163
|
+
- 数据时间戳必须在报告中可见
|
|
164
|
+
- 所有技术信号均标注市场条件限制(缩量下的金叉可靠性低于放量金叉等)
|
|
165
|
+
- KDJ 钝化时降低超买超卖信号的权重
|
|
166
|
+
- 缠论买卖点仅为技术参考,需结合市场环境判断
|
|
167
|
+
- 不预测涨跌幅,不给目标价,仅给支撑/阻力位和概率倾向
|
|
168
|
+
- 明确声明不构成投资建议
|
package/workflow.md
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# Skill 工作流编排
|
|
2
|
+
|
|
3
|
+
本文件定义 8 个 skill 的协作关系。原则:先判断环境,再筛候选,再深挖标的,再落到组合和跟踪。
|
|
4
|
+
|
|
5
|
+
## 入口选择
|
|
6
|
+
|
|
7
|
+
| 用户意图 | 首选 skill | 必要联动 |
|
|
8
|
+
|----------|------------|----------|
|
|
9
|
+
| 今天市场怎么看 | `market` | 强弱板块明确后转 `sector` 或 `screener` |
|
|
10
|
+
| 想找股票/候选池 | `screener` | 先用 `market` 判断策略,再用 `technical` 确认买点 |
|
|
11
|
+
| 看某个板块 | `sector` | 需要挑标的时转 `screener`,需要个股深挖时转 `stock` |
|
|
12
|
+
| 看某只股票 | `stock` | 技术买卖点转 `technical`,财务建模转 `financial-analyst` |
|
|
13
|
+
| 只看图形和买卖点 | `technical` | 不判断估值;如需基本面回到 `stock` 或 `financial-analyst` |
|
|
14
|
+
| 看持仓风险 | `portfolio` | 先用 `market` 判风格,再用 `technical` 查破位,用 `screener` 找替换 |
|
|
15
|
+
| 做财务模型 | `financial-analyst` | 输出假设和敏感性后回到 `stock` 做投资结论 |
|
|
16
|
+
| 做尽调/研究报告 | `investment-researcher` | 汇总 `market`/`sector`/`stock`/`financial-analyst`/`technical` 证据 |
|
|
17
|
+
|
|
18
|
+
## 标准流水线
|
|
19
|
+
|
|
20
|
+
支持 3 种链路长度,按场景选择:
|
|
21
|
+
|
|
22
|
+
| 模式 | 链路 | 适用场景 | 耗时 |
|
|
23
|
+
| ---- | ---- | -------- | ---- |
|
|
24
|
+
| 快速 | `stock` → `technical` | 已有标的,快速判断 | 1-2 分钟 |
|
|
25
|
+
| 标准 | 完整 6 环节 | 常规选股分析 | 5-10 分钟 |
|
|
26
|
+
| 深度 | `investment-researcher` 总控 | 重大决策、研究报告 | 15-30 分钟 |
|
|
27
|
+
|
|
28
|
+
### 1. 自上而下选股
|
|
29
|
+
|
|
30
|
+
`market` → `sector` → `screener` → `stock` → `technical` → `portfolio`
|
|
31
|
+
|
|
32
|
+
- `market` 给出市场状态:进攻、均衡、防守。
|
|
33
|
+
- `sector` 找强弱板块和主题位置。
|
|
34
|
+
- `screener` 生成候选池和剔除原因。
|
|
35
|
+
- `stock` 对候选股做五层分析。
|
|
36
|
+
- `technical` 给买入触发、失效位、支撑阻力。
|
|
37
|
+
- `portfolio` 决定是否纳入持仓、替换谁、仓位多少。
|
|
38
|
+
|
|
39
|
+
### 2. 自下而上验证
|
|
40
|
+
|
|
41
|
+
`stock` → `financial-analyst` → `sector` → `technical` → `portfolio`
|
|
42
|
+
|
|
43
|
+
- 适合用户已经给定个股。
|
|
44
|
+
- 先判断公司质量和估值,再看板块是否配合,最后确认技术触发。
|
|
45
|
+
|
|
46
|
+
### 3. 持仓再平衡
|
|
47
|
+
|
|
48
|
+
`portfolio` → `market` → `technical` → `screener` → `stock`
|
|
49
|
+
|
|
50
|
+
- 先找组合风险,再确认市场风格。
|
|
51
|
+
- 对弱势持仓跑 `technical` 判破位。
|
|
52
|
+
- 用 `screener` 找替代候选,再用 `stock` 精筛。
|
|
53
|
+
|
|
54
|
+
### 4. 深度研究报告
|
|
55
|
+
|
|
56
|
+
`investment-researcher` 作为总控,按需调用:
|
|
57
|
+
|
|
58
|
+
- `market`:宏观市场和风格。
|
|
59
|
+
- `sector`:行业景气和竞争格局。
|
|
60
|
+
- `financial-analyst`:财务质量、预测、场景。
|
|
61
|
+
- `stock`:投资结论和风险收益比。
|
|
62
|
+
- `technical`:交易窗口和失效条件。
|
|
63
|
+
|
|
64
|
+
## 交接字段
|
|
65
|
+
|
|
66
|
+
每个 skill 输出给下游时,尽量保留这些字段:
|
|
67
|
+
|
|
68
|
+
| 字段 | 含义 |
|
|
69
|
+
| ---- | ---- |
|
|
70
|
+
| `market_regime` | 进攻/均衡/防守/冰点/亢奋 |
|
|
71
|
+
| `sector_view` | 强势/弱势/轮动启动/主升/退潮 |
|
|
72
|
+
| `strategy` | balanced/quality_value/growth_momentum/defensive/turning_point |
|
|
73
|
+
| `candidates` | 候选代码、名称、入选理由、剔除原因 |
|
|
74
|
+
| `fundamental_rating` | 基本面质量和估值评级 |
|
|
75
|
+
| `technical_trigger` | 买入触发、支撑、阻力、止损、失效条件 |
|
|
76
|
+
| `position_plan` | 试探仓/标准仓/重仓/回避,以及仓位上限 |
|
|
77
|
+
| `confidence` | 高/中/低,说明数据缺口 |
|
|
78
|
+
| `investment_horizon` | 短期(<1月)/中期(1-6月)/长期(>6月),决定专家权重 |
|
|
79
|
+
| `catalyst` | 预期催化剂(财报/政策/事件),决定论点时效性 |
|
|
80
|
+
| `thesis_breaker` | 论点破灭条件,决定何时退出 |
|
|
81
|
+
|
|
82
|
+
## 决策门槛
|
|
83
|
+
|
|
84
|
+
| 门槛 | 量化标准 | 动作 |
|
|
85
|
+
| ---- | -------- | ---- |
|
|
86
|
+
| 市场不配合 | 沪深300 < MA20 且成交额 < 8000 亿 | 候选股降级为观察,不开新仓 |
|
|
87
|
+
| 板块退潮 | 板块 ETF 跌破 MA10 且资金连续 3 日净流出 | 该板块仓位上限降为 5% |
|
|
88
|
+
| 基本面差 | ROE < 10% 或 EPS < 0 | 仅允许短线观察,不进入中长期池 |
|
|
89
|
+
| 技术未触发 | 未达到买入触发条件 | 高分候选只进跟踪清单 |
|
|
90
|
+
| 组合已拥挤 | 持仓数 ≥ 10 或单行业占比 > 30% | 新增标的必须说明替换对象 |
|
|
91
|
+
|