Files
stockbuddy/SYSTEM_README.md

179 lines
4.0 KiB
Markdown
Raw 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.
# Stock Buddy 港股AI交易系统
一套完整的港股交易分析系统,支持持仓管理、自动舆情分析、实时交易信号。
## 功能特性
- 📊 **持仓管理** - 记录持仓股票,自动计算盈亏
- 🤖 **AI舆情分析** - 每日自动分析持仓股票舆情支持Agent调用
- 📈 **策略信号** - v7策略三维度评分 + 大盘过滤 + 盈利保护
- 🔍 **手动分析** - 输入任意股票代码,即时生成分析报告
-**定时任务** - 每日9:00自动运行分析
- 🌐 **Web界面** - 现代化UI支持移动端
## 技术栈
- **后端**: FastAPI + SQLite + APScheduler
- **前端**: 原生HTML/CSS/JS
- **数据源**: yfinance自动切东方财富备用
- **LLM**: 预留Agent接口测试阶段用规则引擎
## 快速启动
```bash
cd stock-buddy
./start.sh
```
访问:
- 前端: http://localhost:8000/app
- API文档: http://localhost:8000/docs
## 目录结构
```
stock-buddy/
├── backend/ # FastAPI后端
│ ├── main.py # 主入口
│ ├── database.py # 数据库模型
│ ├── models.py # Pydantic模型
│ ├── services/ # 业务服务
│ │ ├── stock_service.py
│ │ ├── sentiment_service.py
│ │ ├── strategy_service.py
│ │ └── llm_service.py
│ └── requirements.txt
├── frontend/ # 前端界面
│ ├── index.html
│ ├── style.css
│ └── app.js
├── data/ # 数据存储
│ ├── stocks.db # SQLite数据库
│ └── cache/ # 股票数据缓存
├── start.sh # 启动脚本
└── README.md
```
## 使用指南
### 1. 添加持仓
进入"持仓管理"页面,点击"添加持仓",输入:
- 股票名称(如:中芯国际)
- 股票代码0981.HK
- 持仓数量
- 成本价
- 选择策略A/B/C
### 2. 查看分析
在"总览"页面查看:
- 实时市值和盈亏
- 买入/卖出信号
- 持仓列表
### 3. 手动分析新股票
进入"股票分析"页面:
1. 输入股票名称或代码
2. 点击"分析"
3. 查看综合评分、技术信号、舆情分析
### 4. 每日自动分析
系统每天9:00自动:
1. 更新持仓股票数据
2. 生成舆情分析
3. 计算交易信号
4. 保存分析结果
也可手动点击"运行分析"触发。
## 策略说明
### v7策略架构
```
三维度评分
├── 技术面 (60%): RSI + MACD + 均线系统
├── 基本面 (30%): 营收/利润/PE快照
└── 舆情面 (10%): LLM情绪分析
买入条件:
- 综合评分 ≥ 1.5
- 成交量连续2日放量
- 恒生指数 > MA20大盘过滤
止损策略:
- A: 固定12%
- B: ATR × 2.5 动态
- C: 混合自适应(按波动率自动选择)
盈利保护:
- >30%: 保本止损
- >50%: 锁定10%利润
- >100%: 宽追踪止损
```
## API接口
### 持仓管理
```
GET /api/positions # 获取所有持仓
POST /api/positions # 添加持仓
PUT /api/positions/{id} # 更新持仓
DELETE /api/positions/{id} # 删除持仓
```
### 股票分析
```
POST /api/analyze # 分析股票
Body: {"stock_name": "中芯国际", "ticker": "0981.HK"}
```
### 实时行情
```
GET /api/quote/{ticker} # 获取实时行情
```
### 任务管理
```
POST /api/tasks/daily-analysis # 手动触发每日分析
```
## LLM舆情接入
当前使用规则引擎模拟LLM分析如需接入真实LLM:
1. 修改 `backend/services/llm_service.py`
2. 替换 `analyze_sentiment()` 方法为真实API调用
3. 支持通过Agent生成分析已预留接口
```python
# 调用Agent生成舆情
from llm_sentiment_agent import generate_prompt
prompt = generate_prompt("中芯国际", "2024-06-01", "2024-06-30")
# 发送给Agent获取JSON结果
```
## 开发计划
- [x] 基础持仓管理
- [x] 股票数据服务
- [x] v7策略回测
- [x] Web界面
- [x] 定时任务
- [ ] 真实LLM接入
- [ ] 邮件/微信推送
- [ ] 历史回测报告
- [ ] 多用户支持
## 许可证
MIT