- 重构数据访问层:引入DAO模式,支持MySQL/SQLite双数据库 - 新增数据库架构:完整的股票数据、AI分析、自选股管理表结构 - 升级AI分析服务:集成豆包大模型,支持多维度分析 - 优化API路由:分离市场数据API,提供更清晰的接口设计 - 完善项目文档:添加数据库迁移指南、新功能指南等 - 清理冗余文件:删除旧的缓存文件和无用配置 - 新增调度器:支持定时任务和数据自动更新 - 改进前端模板:简化的股票展示页面 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
271 lines
8.2 KiB
Markdown
271 lines
8.2 KiB
Markdown
# 📈 股票智能监控系统
|
||
|
||
一个基于FastAPI和AI技术的实时股票监控与分析平台,提供股票行情展示、智能分析、自选股管理等功能。
|
||
|
||
## ✨ 功能特性
|
||
|
||
### 🎯 核心功能
|
||
- **实时股票监控**: 支持A股市场实时行情数据
|
||
- **智能AI分析**: 集成豆包大模型,提供专业的股票分析和投资建议
|
||
- **自选股管理**: 添加/删除自选股票,设置市值预警范围
|
||
- **指数行情**: 沪深指数实时行情展示
|
||
- **多维分析**: 价值投资分析、道德经视角、投资大师分析
|
||
|
||
### 📊 数据来源
|
||
- **Tushare API**: 专业的金融数据接口,提供准确的中国股市数据
|
||
- **实时行情**: 支持实时价格、成交量、涨跌幅等关键指标
|
||
- **历史数据**: 提供历史K线数据用于技术分析
|
||
|
||
### 🤖 AI智能分析
|
||
- 集成豆包大模型(Volces API)
|
||
- 自动生成股票分析报告
|
||
- 提供投资建议和风险评估
|
||
- 支持多种分析维度:
|
||
- **传统价值投资分析**: 财务指标、估值分析、风险评估
|
||
- **道德经智慧分析**: 企业道德评估、可持续发展分析
|
||
- **投资大师视角**: 巴菲特、格雷厄姆、林园等大师分析方法
|
||
|
||
## 🏗️ 技术架构
|
||
|
||
### 后端技术栈
|
||
- **FastAPI**: 现代、快速的Python Web框架
|
||
- **SQLAlchemy**: ORM数据库操作
|
||
- **SQLite**: 轻量级数据库存储
|
||
- **Tushare**: 金融数据获取
|
||
- **OpenAI SDK**: AI大模型接口
|
||
|
||
### 前端技术栈
|
||
- **HTML5 + CSS3**: 现代化界面设计
|
||
- **JavaScript**: 交互逻辑实现
|
||
- **Bootstrap**: 响应式UI组件
|
||
- **ECharts**: 数据可视化图表
|
||
|
||
## 🚀 快速开始
|
||
|
||
### 环境要求
|
||
- Python 3.8+
|
||
- pip 或 conda
|
||
|
||
### 安装步骤
|
||
|
||
1. **克隆项目**
|
||
```bash
|
||
git clone <your-repo-url>
|
||
cd stock-monitor
|
||
```
|
||
|
||
2. **创建虚拟环境**
|
||
```bash
|
||
python -m venv venv
|
||
# Windows
|
||
venv\Scripts\activate
|
||
# Linux/Mac
|
||
source venv/bin/activate
|
||
```
|
||
|
||
3. **安装依赖**
|
||
```bash
|
||
pip install -r requirements.txt
|
||
```
|
||
|
||
4. **配置环境**
|
||
- 获取Tushare Token: 访问 https://tushare.pro 注册获取
|
||
- 获取豆包大模型API: 访问火山引擎控制台创建应用
|
||
- 修改配置文件 `app/services/ai_analysis_service.py`:
|
||
```python
|
||
self.model = "your_model_id" # Volces 模型接入点ID
|
||
self.client = OpenAI(
|
||
api_key = "your_api_key", # 豆包大模型APIkey
|
||
base_url = "https://ark.cn-beijing.volces.com/api/v3"
|
||
)
|
||
```
|
||
|
||
5. **初始化数据库**
|
||
```bash
|
||
python docs/database/init_database.py
|
||
```
|
||
|
||
6. **启动服务**
|
||
```bash
|
||
python run.py
|
||
```
|
||
|
||
7. **访问应用**
|
||
- 主页: http://localhost:8000
|
||
- API文档: http://localhost:8000/docs
|
||
|
||
## 📁 项目结构
|
||
|
||
```
|
||
stock-monitor/
|
||
├── app/ # 应用主目录
|
||
│ ├── __init__.py # FastAPI应用初始化
|
||
│ ├── api/ # API路由
|
||
│ │ ├── stock_routes.py # 股票相关API
|
||
│ │ └── market_routes.py # 市场数据API
|
||
│ ├── services/ # 业务逻辑层
|
||
│ │ ├── stock_service_db.py # 股票数据服务
|
||
│ │ ├── ai_analysis_service_db.py # AI分析服务
|
||
│ │ ├── market_data_service.py # 市场数据服务
|
||
│ │ └── kline_service.py # K线数据服务
|
||
│ ├── dao/ # 数据访问层
|
||
│ │ ├── base_dao.py # 基础DAO类
|
||
│ │ ├── stock_dao.py # 股票数据DAO
|
||
│ │ ├── watchlist_dao.py # 自选股DAO
|
||
│ │ └── ai_analysis_dao.py # AI分析DAO
|
||
│ ├── models/ # 数据模型
|
||
│ │ └── stock.py # 股票数据模型
|
||
│ ├── templates/ # HTML模板
|
||
│ │ ├── index.html # 主页模板
|
||
│ │ ├── market.html # 市场模板
|
||
│ │ └── stocks_simple.html # 股票页面模板
|
||
│ ├── static/ # 静态文件
|
||
│ ├── database.py # 数据库配置
|
||
│ ├── config.py # 应用配置
|
||
│ └── scheduler.py # 定时任务调度器
|
||
├── docs/ # 文档目录
|
||
│ ├── database/ # 数据库相关文档和脚本
|
||
│ │ ├── database_schema*.sql # 数据库表结构文件
|
||
│ │ ├── init_database.py # 数据库初始化脚本
|
||
│ │ └── migrate_to_database.py # 数据迁移脚本
|
||
│ └── guides/ # 使用指南
|
||
│ ├── DATABASE_MIGRATION_GUIDE.md # 数据迁移指南
|
||
│ └── NEW_FEATURES_GUIDE.md # 新功能指南
|
||
├── backup/ # 备份文件目录
|
||
│ └── json_backup_20251124_093028/ # JSON数据备份
|
||
├── run.py # 应用启动脚本
|
||
├── requirements.txt # Python依赖
|
||
├── config.template.py # 配置文件模板
|
||
├── docker-compose.yml # Docker部署配置
|
||
├── CLAUDE.md # Claude Code 使用指南
|
||
└── README.md # 项目说明文档
|
||
```
|
||
|
||
## 📱 功能模块详解
|
||
|
||
### 1. 股票搜索与查看
|
||
- 支持股票代码搜索
|
||
- 展示实时价格、涨跌幅、成交量
|
||
- 公司基本信息展示
|
||
- 多维度财务指标(PE、PB、ROE等)
|
||
|
||
### 2. 自选股管理
|
||
- 添加关注股票到自选列表
|
||
- 设置市值预警区间
|
||
- 目标市值预警(高估、低估、合理)
|
||
- 一键移除自选股票
|
||
|
||
### 3. AI智能分析
|
||
- **价值投资分析**: 基于财务数据的深度分析
|
||
- **道德经视角**: 从传统文化角度分析企业价值
|
||
- **投资大师视角**: 模拟知名投资家的分析方法
|
||
- 实时生成专业分析报告
|
||
|
||
### 4. 市场数据
|
||
- 沪深指数实时行情
|
||
- 板块涨跌排行
|
||
- 市场概况展示
|
||
- K线图表分析
|
||
|
||
## 🛠️ API接口
|
||
|
||
主要RESTful API接口:
|
||
|
||
- `GET /` - 主页
|
||
- `GET /stocks` - 股票页面
|
||
- `GET /market` - 市场页面
|
||
- `GET /api/stock_info/{stock_code}` - 获取股票信息
|
||
- `GET /api/watchlist` - 获取自选股列表
|
||
- `POST /api/add_watch` - 添加自选股
|
||
- `DELETE /api/remove_watch/{stock_code}` - 删除自选股
|
||
- `GET /api/index_info` - 获取指数信息
|
||
- `GET /api/company_detail/{stock_code}` - 获取公司详情
|
||
|
||
## ⚙️ 配置说明
|
||
|
||
### API配置要求
|
||
|
||
**Tushare配置**
|
||
- 访问 https://tushare.pro 注册账号
|
||
- 获取API Token并填入配置文件
|
||
- 免费账户有调用频率限制
|
||
|
||
**豆包大模型配置**
|
||
- 访问火山引擎控制台开通服务
|
||
- 获取API Key和模型接入点ID
|
||
- 按量付费,支持免费额度体验
|
||
|
||
### 数据库配置
|
||
- 默认使用SQLite数据库
|
||
- 数据文件位置: `data/stocks.db`
|
||
- 支持扩展到MySQL等其他数据库
|
||
|
||
## ⚠️ 重要提示
|
||
|
||
### 数据免责声明
|
||
- 本项目提供的股票数据仅供参考,不构成投资建议
|
||
- 股票投资有风险,入市需谨慎
|
||
- AI分析结果基于公开数据和模型计算,请以官方数据为准
|
||
|
||
### API使用限制
|
||
- Tushare API有调用频率限制
|
||
- 豆包大模型API提供免费额度,超出后按量计费
|
||
- 请合理控制API调用频率
|
||
|
||
### 系统性能建议
|
||
- 建议监控股票数量不超过30只
|
||
- 定时刷新间隔建议60秒以上
|
||
- 生产环境建议使用专业服务器部署
|
||
|
||
## 📋 部署指南
|
||
|
||
### 开发环境
|
||
```bash
|
||
# 安装依赖
|
||
pip install -r requirements.txt
|
||
|
||
# 启动开发服务器
|
||
python run.py
|
||
```
|
||
|
||
### 生产环境部署
|
||
- 推荐使用Docker容器化部署
|
||
- 配置Nginx反向代理
|
||
- 使用Gunicorn作为WSGI服务器
|
||
- 配置SSL证书确保安全访问
|
||
|
||
### Docker部署示例
|
||
```bash
|
||
# 构建镜像
|
||
docker build -t stock-monitor .
|
||
|
||
# 运行容器
|
||
docker run -d -p 8000:8000 stock-monitor
|
||
```
|
||
|
||
## 🤝 贡献指南
|
||
|
||
欢迎提交Issue和Pull Request来改进项目!
|
||
|
||
### 提交规范
|
||
- Bug修复: `fix: 修复xxx问题`
|
||
- 新功能: `feat: 添加xxx功能`
|
||
- 文档更新: `docs: 更新xxx文档`
|
||
- 代码重构: `refactor: 重构xxx模块`
|
||
|
||
## 📞 联系方式
|
||
|
||
如有问题或建议,欢迎通过以下方式联系:
|
||
|
||
- 提交Issue: [GitHub Issues](https://github.com/your-username/stock-monitor/issues)
|
||
- 邮箱: your-email@example.com
|
||
|
||
## 📄 许可证
|
||
|
||
本项目采用MIT许可证,详见[LICENSE](LICENSE)文件。
|
||
|
||
---
|
||
|
||
**⚡ 投资有风险,入市需谨慎!本系统仅为价值投资辅助分析工具,不构成任何投资建议,投资决策请谨慎,风险自担!**
|
||
|
||
**⭐ 如果这个项目对你有帮助,请给个Star支持一下!** |