- 重构数据访问层:引入DAO模式,支持MySQL/SQLite双数据库 - 新增数据库架构:完整的股票数据、AI分析、自选股管理表结构 - 升级AI分析服务:集成豆包大模型,支持多维度分析 - 优化API路由:分离市场数据API,提供更清晰的接口设计 - 完善项目文档:添加数据库迁移指南、新功能指南等 - 清理冗余文件:删除旧的缓存文件和无用配置 - 新增调度器:支持定时任务和数据自动更新 - 改进前端模板:简化的股票展示页面 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .claude | ||
| app | ||
| backup/json_backup_20251124_093028 | ||
| docs | ||
| .dockerignore | ||
| .env.example | ||
| .gitignore | ||
| CLAUDE.md | ||
| config.json | ||
| config.template.py | ||
| docker-compose.yml | ||
| LICENSE | ||
| README.md | ||
| requirements.txt | ||
| run.py | ||
| watchlist.json | ||
📈 股票智能监控系统
一个基于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
安装步骤
- 克隆项目
git clone <your-repo-url>
cd stock-monitor
- 创建虚拟环境
python -m venv venv
# Windows
venv\Scripts\activate
# Linux/Mac
source venv/bin/activate
- 安装依赖
pip install -r requirements.txt
- 配置环境
- 获取Tushare Token: 访问 https://tushare.pro 注册获取
- 获取豆包大模型API: 访问火山引擎控制台创建应用
- 修改配置文件
app/services/ai_analysis_service.py:
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"
)
- 初始化数据库
python docs/database/init_database.py
- 启动服务
python run.py
- 访问应用
- 主页: 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秒以上
- 生产环境建议使用专业服务器部署
📋 部署指南
开发环境
# 安装依赖
pip install -r requirements.txt
# 启动开发服务器
python run.py
生产环境部署
- 推荐使用Docker容器化部署
- 配置Nginx反向代理
- 使用Gunicorn作为WSGI服务器
- 配置SSL证书确保安全访问
Docker部署示例
# 构建镜像
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
- 邮箱: your-email@example.com
📄 许可证
本项目采用MIT许可证,详见LICENSE文件。
⚡ 投资有风险,入市需谨慎!本系统仅为价值投资辅助分析工具,不构成任何投资建议,投资决策请谨慎,风险自担!
⭐ 如果这个项目对你有帮助,请给个Star支持一下!