199 lines
5.6 KiB
Markdown
199 lines
5.6 KiB
Markdown
# 美股分析脚本使用说明
|
||
|
||
## 📊 当前股票池配置
|
||
|
||
### 平衡型配置(20 只股票)
|
||
|
||
**配置策略:科技龙头 30% + AI/半导体 30% + 生物医疗 20% + 新能源 10% + 金融 10%**
|
||
|
||
```
|
||
# 科技龙头(核心 6 只)
|
||
AAPL - 苹果(消费电子生态)
|
||
MSFT - 微软(云计算 + AI)
|
||
GOOGL - 谷歌(搜索 + 云计算)
|
||
META - 元平台(社交 + 元宇宙)
|
||
AMZN - 亚马逊(电商 + 云服务)
|
||
NVDA - 英伟达(AI 芯片龙头)
|
||
|
||
# AI/半导体(成长 6 只)
|
||
AMD - 高性能计算芯片
|
||
AVGO - 博通(半导体 + 软件)
|
||
ARM - ARM 架构(AI 芯片)
|
||
PLTR - Palantir(AI 数据分析)
|
||
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 进入强势区...
|
||
|
||
✅ 分析完成
|
||
```
|