stock-monitor/README.md
ycg 569c1c8813 重构股票监控系统:数据库架构升级与功能完善
- 重构数据访问层:引入DAO模式,支持MySQL/SQLite双数据库
- 新增数据库架构:完整的股票数据、AI分析、自选股管理表结构
- 升级AI分析服务:集成豆包大模型,支持多维度分析
- 优化API路由:分离市场数据API,提供更清晰的接口设计
- 完善项目文档:添加数据库迁移指南、新功能指南等
- 清理冗余文件:删除旧的缓存文件和无用配置
- 新增调度器:支持定时任务和数据自动更新
- 改进前端模板:简化的股票展示页面

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 15:44:25 +08:00

271 lines
8.2 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.

# 📈 股票智能监控系统
一个基于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支持一下**