claude强化功能
This commit is contained in:
187
README.md
187
README.md
@@ -1,19 +1,27 @@
|
||||
# 智策 StockTerminal
|
||||
# Blackdata StockTerminal
|
||||
|
||||
个人/小团队 A 股分析·复盘·智能辅助系统。后端提供行情、回测、AI 诊断与定时任务;前端为纯 HTML + ECharts 原型界面,由 FastAPI 统一托管。
|
||||
个人/小团队 A 股分析·复盘·智能专业分析系统。后端提供行情、回测、AI 诊断与定时任务;前端为纯 HTML + ECharts 原型界面,由 FastAPI 统一托管。
|
||||
|
||||
## 功能概览
|
||||
|
||||
| 模块 | 能力 |
|
||||
|---|---|
|
||||
| 大盘行情 | 三大指数、情绪温度计、板块云图、热股榜、龙虎榜 |
|
||||
| 自选股 | 自选列表、内置策略选股、多因子条件过滤 |
|
||||
| 复盘中心 | 每日复盘、AI 七段式日报、个股 K 线回放 |
|
||||
| 策略与中台 | MA 交叉回测、数据入库状态、任务日志 |
|
||||
| AI 分析 | 个股诊断(6 维证据链)、信号胜率、预测留痕与核验 |
|
||||
| 组合交易 | 持仓 P&L、资金曲线、交易日志、盈亏归因 |
|
||||
| 智能预警 | 价格/涨跌幅规则、多通道推送、触发记录 |
|
||||
| 资讯中心 | 财经快讯、情绪标注、自选相关资讯 |
|
||||
| **大盘行情** | 三大指数、情绪温度计、板块云图、热股榜、龙虎榜、涨跌停统计 |
|
||||
| **盘中监控** | 异动雷达(快速拉升/放量突破/涨停打开/连板追踪/大单异动)、实时扫描与推送 |
|
||||
| **自选股** | 自选列表、分组管理、内置 8 种策略选股、多因子条件过滤 |
|
||||
| **智能选股** | 可视化条件组合器、选股策略保存/分享、选股结果回测验证、条件预警集成 |
|
||||
| **复盘中心** | 每日复盘(板块/资金/龙虎榜)、AI 七段式日报、个股 K 线回放(MA 买卖点标注) |
|
||||
| **策略回测** | MA 交叉/多因子策略回测、参数优化网格搜索、策略对比(并排净值曲线)、交易明细导出 |
|
||||
| **板块轮动** | 板块强弱趋势、资金流向桑基图、龙头股识别、生命周期判断、板块联动性分析 |
|
||||
| **AI 分析** | 个股诊断(6 维证据链)、AI 对话式分析、信号历史胜率、预测留痕与准确率核验 |
|
||||
| **组合交易** | 持仓 P&L、资金曲线、交易日志(理由/情绪标签)、持仓归因分析(选股/择时/运气分解) |
|
||||
| **智能预警** | 价格/涨跌幅/量能/技术信号规则、选股策略预警、多通道推送(邮件/微信/企微)、触发记录 |
|
||||
| **资讯中心** | 财经快讯、AI 情绪判断与摘要、自选股相关资讯、关联个股分析 |
|
||||
| **社区情绪** | 热帖采集(东方财富/雪球)、情绪指数计算、热议股票排行、关键词云图、情绪与股价相关性 |
|
||||
| **事件驱动** | 财报发布前后规律、高管增减持跟踪、限售解禁影响、行业政策事件库、事件驱动选股 |
|
||||
| **财报解读** | 关键指标趋势、AI 财报摘要、同行对比、财报异常预警、发布日历、排行榜 |
|
||||
| **涨跌停分析** | 涨停/跌停股票追踪、连板股监控、炸板率统计、涨停敢死队排行 |
|
||||
| **数据中台** | 数据入库状态、任务日志、全市场历史回填、定时调度监控 |
|
||||
|
||||
更完整的架构说明见 [架构总结.md](./架构总结.md)。
|
||||
|
||||
@@ -30,14 +38,39 @@
|
||||
|
||||
```
|
||||
stock_cs/
|
||||
├── backend/ # FastAPI 后端
|
||||
│ ├── main.py # API 入口 + 静态文件托管
|
||||
│ ├── cli.py # 建库 / 入库命令行工具
|
||||
│ ├── .env.example # 环境变量模板
|
||||
│ └── requirements.txt
|
||||
├── prototype/ # 前端原型(index.html / app.js / style.css)
|
||||
├── 架构总结.md
|
||||
└── 功能架构.md
|
||||
├── backend/ # FastAPI 后端
|
||||
│ ├── main.py # API 入口 + 路由定义
|
||||
│ ├── cli.py # 建库/入库命令行工具
|
||||
│ ├── models.py # SQLAlchemy 数据模型
|
||||
│ ├── db.py # 数据库连接管理
|
||||
│ ├── config.py # 配置项
|
||||
│ ├── scheduler.py # APScheduler 定时任务
|
||||
│ ├── akshare_service.py # 数据源接口封装
|
||||
│ ├── ai.py # AI 分析核心
|
||||
│ ├── ai_chat.py # AI 对话式分析
|
||||
│ ├── llm.py # 大模型调用封装
|
||||
│ ├── backtest.py # 基础回测引擎
|
||||
│ ├── backtest_advanced.py # 增强回测(多因子/参数优化/策略对比)
|
||||
│ ├── signals.py # 信号胜率统计
|
||||
│ ├── report.py # AI 复盘日报生成
|
||||
│ ├── portfolio.py # 组合与持仓计算
|
||||
│ ├── attribution_analysis.py # 持仓归因分析
|
||||
│ ├── alerts.py # 智能预警核心
|
||||
│ ├── notifier.py # 多通道推送
|
||||
│ ├── intraday_radar.py # 盘中异动雷达
|
||||
│ ├── sector_rotation.py # 板块轮动分析
|
||||
│ ├── smart_selector.py # 智能选股增强
|
||||
│ ├── sentiment_monitor.py # 社区情绪监控
|
||||
│ ├── event_driven.py # 事件驱动策略
|
||||
│ ├── financial_analysis.py # 财报深度解读
|
||||
│ ├── limit_analysis.py # 涨跌停分析
|
||||
│ ├── .env.example # 环境变量模板
|
||||
│ └── requirements.txt # Python 依赖
|
||||
├── prototype/ # 前端原型(HTML + JS + CSS)
|
||||
├── 架构总结.md # 架构设计文档
|
||||
├── 功能架构.md # 功能模块详解
|
||||
├── 待优化.md # 已知问题与优化方向
|
||||
└── 功能扩展.md # 扩展功能建议
|
||||
```
|
||||
|
||||
## 环境要求
|
||||
@@ -48,28 +81,51 @@ stock_cs/
|
||||
|
||||
## 快速开始
|
||||
|
||||
### 1. 安装依赖
|
||||
以下命令以 **WSL(Linux)** 为例。项目在 Windows 盘时,路径一般为 `/mnt/e/project/stock_cs_v1`;若在 WSL 家目录,则替换为实际路径即可。
|
||||
|
||||
### 1. 安装 PostgreSQL(WSL,首次)
|
||||
|
||||
```bash
|
||||
cd backend
|
||||
python -m venv .venv
|
||||
sudo apt update
|
||||
sudo apt install -y postgresql postgresql-contrib
|
||||
sudo service postgresql start
|
||||
|
||||
# Windows
|
||||
.venv\Scripts\activate
|
||||
# 设置 postgres 用户密码(与 backend/.env 中 PG_PASSWORD 一致)
|
||||
sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'your_password';"
|
||||
```
|
||||
|
||||
# Linux / macOS
|
||||
WSL 每次重启后若数据库未自动运行,需先执行:
|
||||
|
||||
```bash
|
||||
sudo service postgresql start
|
||||
```
|
||||
|
||||
### 2. 安装 Python 依赖(首次)
|
||||
|
||||
```bash
|
||||
cd /mnt/e/project/stock_cs_v1/backend # 按实际路径修改
|
||||
python3 -m venv .venv
|
||||
source .venv/bin/activate
|
||||
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
### 2. 配置环境变量
|
||||
**Windows 原生(非 WSL)** 激活虚拟环境:
|
||||
|
||||
```powershell
|
||||
cd backend
|
||||
python -m venv .venv
|
||||
.venv\Scripts\activate
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
### 3. 配置环境变量
|
||||
|
||||
```bash
|
||||
cd backend
|
||||
cp .env.example .env
|
||||
```
|
||||
|
||||
编辑 `backend/.env`,至少确认 PostgreSQL 连接信息(也可通过环境变量 `PG_USER` / `PG_PASSWORD` / `PG_HOST` / `PG_PORT` / `PG_DB` 设置):
|
||||
编辑 `backend/.env`,至少确认 PostgreSQL 连接信息(PostgreSQL 装在 WSL 内时使用 `localhost`):
|
||||
|
||||
```env
|
||||
PG_USER=postgres
|
||||
@@ -79,12 +135,15 @@ PG_PORT=5432
|
||||
PG_DB=stock_cs
|
||||
```
|
||||
|
||||
也可通过环境变量 `PG_USER` / `PG_PASSWORD` / `PG_HOST` / `PG_PORT` / `PG_DB` 设置,无需改文件。
|
||||
|
||||
可选:填入 `LLM_API_KEY` 启用大模型分析;填入 SMTP / Server酱 / 企业微信 / PushPlus 启用推送。
|
||||
|
||||
### 3. 初始化数据库并入库
|
||||
### 4. 初始化数据库并入库(首次)
|
||||
|
||||
```bash
|
||||
cd backend
|
||||
source .venv/bin/activate # WSL / Linux
|
||||
|
||||
# 建库建表
|
||||
python cli.py init
|
||||
@@ -92,7 +151,7 @@ python cli.py init
|
||||
# 抓取当日板块/资金流/情绪/龙虎榜等快照
|
||||
python cli.py ingest
|
||||
|
||||
# 全市场日线历史入库(默认 250 交易日,耗时较长)
|
||||
# 全市场日线历史入库(默认 250 交易日,耗时较长,可选)
|
||||
python cli.py ingest_all
|
||||
python cli.py ingest_all 500 # 指定天数
|
||||
```
|
||||
@@ -103,28 +162,49 @@ python cli.py ingest_all 500 # 指定天数
|
||||
python cli.py ingest 600519 000001
|
||||
```
|
||||
|
||||
### 4. 启动服务
|
||||
### 5. 启动服务
|
||||
|
||||
**日常启动(WSL):**
|
||||
|
||||
```bash
|
||||
cd backend
|
||||
sudo service postgresql start
|
||||
cd /mnt/e/project/stock_cs_v1/backend # 按实际路径修改
|
||||
source .venv/bin/activate
|
||||
python main.py
|
||||
```
|
||||
|
||||
浏览器访问:**http://127.0.0.1:8000**
|
||||
一键命令(已配置好后):
|
||||
|
||||
```bash
|
||||
sudo service postgresql start && cd /mnt/e/project/stock_cs_v1/backend && source .venv/bin/activate && python main.py
|
||||
```
|
||||
|
||||
浏览器访问:**http://127.0.0.1:8000**(WSL2 下 Windows 浏览器可直接访问)
|
||||
|
||||
健康检查:`GET /api/health`
|
||||
|
||||
### 常见问题(WSL)
|
||||
|
||||
| 现象 | 处理 |
|
||||
|---|---|
|
||||
| `connection refused` | 执行 `sudo service postgresql start` |
|
||||
| `password authentication failed` | 检查 `.env` 中 `PG_PASSWORD` 是否与 `ALTER USER` 设置一致 |
|
||||
| `python: command not found` | 使用 `python3` |
|
||||
| 每次新开终端 | 先 `source .venv/bin/activate` 再运行命令 |
|
||||
|
||||
## 定时任务
|
||||
|
||||
服务启动后,APScheduler 会在工作日自动执行(可在 `config.py` 或环境变量中调整时间):
|
||||
|
||||
| 任务 | 默认时间 | 说明 |
|
||||
|---|---|---|
|
||||
| `daily_ingest` | 15:35 | 收盘后增量入库 |
|
||||
| `alert_check` | 每 60 秒 | 实时报价预警核查 |
|
||||
| `daily_report` | 15:45 | 生成 AI 复盘日报并推送 |
|
||||
| `verify_pred` | 15:50 | 核验到期 AI 预测 |
|
||||
| `signal_stats` | 周六 09:00 | 全市场信号胜率回测 |
|
||||
| `daily_ingest` | 15:35 | 收盘后增量入库(板块/资金/情绪/龙虎榜/个股行情) |
|
||||
| `alert_check` | 每 60 秒 | 实时报价预警核查(价格/涨跌幅/量能等规则) |
|
||||
| `intraday_scan` | 交易时段每 5 分钟 | 盘中异动扫描(快速拉升/放量突破/涨停打开/连板追踪) |
|
||||
| `daily_report` | 15:45 | 生成 AI 复盘日报并推送(需配置大模型 API) |
|
||||
| `verify_pred` | 15:50 | 核验到期 AI 预测,更新准确率统计 |
|
||||
| `signal_stats` | 周六 09:00 | 全市场信号胜率回测(MACD 金叉/突破等技术信号) |
|
||||
| `selector_check` | 15:40 | 选股策略预警检查,符合条件时推送 |
|
||||
|
||||
## 推送渠道
|
||||
|
||||
@@ -144,10 +224,41 @@ python main.py
|
||||
- AkShare 不可用时部分接口会降级为 mock 数据,详见 `/api/health` 中的 `akshare` 字段。
|
||||
- 敏感文件(`.env`、虚拟环境等)已在 `.gitignore` 中排除,请勿提交密钥。
|
||||
|
||||
## 核心功能说明
|
||||
|
||||
### 1. 智能选股增强
|
||||
可视化条件组合器,支持技术面、资金面、基本面多因子拖拽组合,选股结果可一键回测验证历史表现,策略可保存/分享并设置条件预警。详见 [智能选股增强使用说明.md](./智能选股增强使用说明.md)
|
||||
|
||||
### 2. 盘中异动雷达
|
||||
交易时段自动扫描快速拉升、放量突破、涨停打开、连板股等异动信号,支持多通道实时推送。详见 [盘中异动雷达使用说明.md](./盘中异动雷达使用说明.md)
|
||||
|
||||
### 3. 板块轮动分析
|
||||
板块强弱趋势、资金流向桑基图、生命周期判断(启动期/加速期/衰退期)、龙头股自动识别、板块联动性分析。详见 [板块轮动分析使用说明.md](./板块轮动分析使用说明.md)
|
||||
|
||||
### 4. 策略回测增强
|
||||
多因子组合回测、仓位管理策略、参数优化网格搜索、策略对比(并排净值曲线)、完整风险指标(夏普/最大回撤/胜率)。详见 [策略回测增强使用说明.md](./策略回测增强使用说明.md)
|
||||
|
||||
### 5. 持仓归因分析
|
||||
收益归因分解(选股能力 vs 择时能力 vs 运气成分)、持仓时长分析、买入理由有效性验证、情绪标签相关性、对标指数超额收益拆解。详见 [持仓归因分析深化使用说明.md](./持仓归因分析深化使用说明.md)
|
||||
|
||||
### 6. AI 对话式分析
|
||||
与大模型深度结合,支持自然语言选股、持仓诊断、策略建议、实时问答,多轮对话记住用户偏好。详见 [AI对话式分析使用说明.md](./AI对话式分析使用说明.md)
|
||||
|
||||
### 7. 社区情绪监控
|
||||
爬取东方财富/雪球热帖,计算情绪指数(乐观/悲观比例)、热议股票排行、关键词云图、情绪与股价相关性回测。详见 [社区情绪监控使用说明.md](./社区情绪监控使用说明.md)
|
||||
|
||||
### 8. 事件驱动策略
|
||||
财报发布前后统计规律、高管增减持跟踪、限售解禁影响分析、行业政策事件库、事件驱动选股。详见 [事件驱动策略使用说明.md](./事件驱动策略使用说明.md)
|
||||
|
||||
### 9. 财报深度解读
|
||||
财报关键指标趋势、AI 一句话摘要、同行对比、财报异常预警(存货激增/应收账款占比过高)、发布日历提醒。详见 [财报深度解读使用说明.md](./财报深度解读使用说明.md)
|
||||
|
||||
## 文档
|
||||
|
||||
- [架构总结.md](./架构总结.md) — 分层设计、数据模型、AI 分析流程
|
||||
- [功能架构.md](./功能架构.md) — 功能模块说明
|
||||
- [功能架构.md](./功能架构.md) — 功能模块详细说明
|
||||
- [待优化.md](./待优化.md) — 已知问题与优化方向
|
||||
- [功能扩展.md](./功能扩展.md) — 扩展功能建议
|
||||
|
||||
## 许可证
|
||||
|
||||
|
||||
Reference in New Issue
Block a user