stock-ai-agent/scripts/STOCK_USAGE.md
2026-02-19 21:20:20 +08:00

199 lines
5.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 美股分析脚本使用说明
## 📊 当前股票池配置
### 平衡型配置20 只股票)
**配置策略:科技龙头 30% + AI/半导体 30% + 生物医疗 20% + 新能源 10% + 金融 10%**
```
# 科技龙头(核心 6 只)
AAPL - 苹果(消费电子生态)
MSFT - 微软(云计算 + AI
GOOGL - 谷歌(搜索 + 云计算)
META - 元平台(社交 + 元宇宙)
AMZN - 亚马逊(电商 + 云服务)
NVDA - 英伟达AI 芯片龙头)
# AI/半导体(成长 6 只)
AMD - 高性能计算芯片
AVGO - 博通(半导体 + 软件)
ARM - ARM 架构AI 芯片)
PLTR - PalantirAI 数据分析)
SNOW - Snowflake云端数据仓库
# 生物医药(创新 3 只)
LLY - 礼来GLP-1 减肥药)
NVO - 诺和诺德(糖尿病药物)
VRTX - 福泰制药(罕见病)
# 新能源(趋势 2 只)
TSLA - 特斯拉(电动车)
ENPH - Enphase太阳能微逆
# 金融(防御 2 只)
V - Visa支付网络
MA - 万事达卡
# 消费品牌(稳定 2 只)
HD - 家得宝
COST - 好市多
```
### 配置特点
- ✅ 覆盖 6 大行业板块
- ✅ 包含 9 只优质大盘股
- ✅ 包含 6 只高成长股
- ✅ 包含 5 只创新潜力股
- ✅ 兼顾收益与风险
- ✅ 分析间隔1 小时(美股交易时间内)
## ⚠️ 当前问题
### 1. YFinance API 限流
```
429 Client Error: Too Many Requests
```
**原因**: YFinance API 有请求频率限制
**解决方案**:
- 等待几分钟后重试
- 减少同时分析的股票数量
- 使用缓存的数据
### 2. 脚本参数解析问题
**症状**: 脚本把 `CONFIG`、`找到.ENV文件` 等当成股票代码
**原因**: Shell 脚本参数传递错误
**解决方案**: 使用新的测试脚本
## ✅ 正确的使用方式
### 方式 1: 直接使用 Python 脚本(推荐)
```bash
# 在项目根目录运行
python3 scripts/test_stock.py AAPL
python3 scripts/test_stock.py AAPL TSLA
python3 scripts/test_stock.py AAPL TSLA NVDA
```
### 方式 2: 通过 API
```bash
# 启动服务后
curl http://localhost:8000/api/stocks/quote/AAPL
# 手动触发分析
curl -X POST http://localhost:8000/api/stocks/analyze/AAPL
```
### 方式 3: 等待自动分析
启动服务后StockAgent 会在美股交易时间内自动分析:
- 夏令时: 21:30 - 04:00 (北京时间)
- 冬令时: 22:30 - 05:00 (北京时间)
## 🔧 故障排除
### 问题 1: ModuleNotFoundError: No module named 'yfinance'
```bash
cd backend
pip install yfinance
```
### 问题 2: 429 Too Many Requests
**原因**: API 限流
**解决**:
```bash
# 等待 5-10 分钟后重试
# 或者使用 API 端点(有缓存)
curl http://localhost:8000/api/stocks/quote/AAPL
```
### 问题 3: Expecting value: line 1 column 1 (char 0)
**原因**: YFinance 返回了错误页面而非数据
**解决**: 通常与 429 错误相关,等待后重试
## 📋 脚本对比
| 脚本 | 状态 | 说明 |
|------|------|------|
| `scripts/stock.sh` | ⚠️ | Shell 脚本,参数解析有问题 |
| `scripts/analyze_stock_simple.py` | ⚠️ | 路径问题 |
| `scripts/analyze_stock.py` | ⚠️ | 路径问题 |
| `scripts/test_stock.py` | ✅ | **推荐使用** |
## 🚀 推荐命令
```bash
# 分析单只股票(最简单)
python3 scripts/test_stock.py AAPL
# 分析多只股票
python3 scripts/test_stock.py AAPL TSLA NVDA
# 或者使用 API需要服务运行中
curl -X POST http://localhost:8000/api/stocks/analyze/AAPL
```
## 💡 提示
1. **避开高峰期**: 美股开盘前后 (21:30-22:30) API 请求较多
2. **减少并发**: 不要同时分析太多股票
3. **使用缓存**: 通过 API 调用可以使用缓存数据
4. **等待重试**: 遇到 429 错误等待几分钟后重试
## 🔄 工作流程
```
┌─────────────────────────────────────────────────────────────┐
│ 美股分析流程 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 1. 获取行情数据 (YFinance) │
│ ↓ │
│ 2. 获取 K 线数据 (多时间周期) │
│ ↓ │
│ 3. LLM 技术分析 │
│ ↓ │
│ 4. 生成交易信号 │
│ ↓ │
│ 5. 发送通知 (飞书 + Telegram) │
│ │
└─────────────────────────────────────────────────────────────┘
```
## 📊 输出格式
```
============================================================
📊 分析 AAPL
============================================================
价格: $178.50 (+1.25%)
成交量: 52,345,600
🤖 LLM分析中...
市场状态: 震荡上涨MACD 金叉形成
🎯 发现 1 个信号:
🟢 做多 [A⭐⭐⭐] 85%
入场: $178.50
止损: $172.80
止盈: $205.28
理由: 突破 MA20 阻力RSI=58 进入强势区...
✅ 分析完成
```