investor-panellisted
Install: claude install-skill Serennity007/uzi-skill
# Investor Panel · 50 贤评审团
## 调用上下文
读取以下输入:
- `.cache/{ticker}/dimensions.json` — 19 维评分
- `.cache/{ticker}/raw_data.json` — 原始数据
- `scripts/lib/investor_db.py` — 65 人元数据
- `scripts/lib/seat_db.py` — 22 位游资射程规则
输出:
- `.cache/{ticker}/panel.json` — 50 个 Signal + 投票统计
## 严格输出格式(Pydantic Signal,抄自 ai-hedge-fund)
每个投资者必须返回**严格 JSON**:
```json
{
"investor_id": "buffett",
"name": "巴菲特",
"group": "A",
"avatar": "avatars/buffett.svg",
"signal": "bullish | neutral | bearish",
"confidence": 87,
"score": 82,
"verdict": "强烈买入 | 买入 | 关注 | 观望 | 等待 | 回避 | 不达标 | 不适合",
"reasoning": "1-3 句具体逻辑",
"comment": "用该投资者语言风格的金句 1-2 句",
"pass": ["..."],
"fail": ["..."],
"ideal_price": 16.20,
"period": "3-5 年"
}
```
**Confidence 校准规则**:
- 85-100:核心方法论硬指标全部命中或全部不命中
- 60-84:多数命中
- 30-59:部分命中、需要等待信号
- 0-29:方法论不适用此股 / 信息不足
## 执行步骤
### Step 1: 加载元数据
```python
from lib.investor_db import INVESTORS, by_group
from lib.seat_db import SEATS, is_in_range
```
### Step 2: 对每位投资者
1. 取出 `fields` 白名单
2. 从 dimensions.json 提取相关字段
3. 读取该投资者所在 group 的 reference 文件(按需)
4. 用该投资者的方法论 + 语言样本生成 Signal(Claude 自己生成)
5. 校验 JSON 合法性
### Step 3: 游资射程预过滤(F 组特殊)
对 22 位游资,先用 `is_in_range(nickname, ticker_features)` 判断是否在射程内:
- 在射程 → 正常评分
- 不在射程 → `signal: "neutral"`, `verdict: "不适合"`, `confidence: 90`, `comment: "{nick}的射程是{style},这只票不在风格内。"`
### Step 4: 汇总投票
```python
{
"panel_consensus": (bullish_count / 50) * 100,
"vote_distribution": Counter(verdict for i in investors),
"signal_distribu