Skip to content

Repository files navigation

A股量化交易系统

基于《半小时漫画股票实战法》知识库搭建的全栈 A股量化系统,从书本知识到实盘监控的完整闭环。

系统架构

┌────────────────────────────────────────────────────────────┐
│                    前端层 (Vue 3 + ECharts)                 │
│                http://127.0.0.1:8000                        │
├────────────────────────────────────────────────────────────┤
│                    后端层 (FastAPI)                         │
│            api.py → 行情接口 / K线接口 / 静态文件           │
├────────────────────────────────────────────────────────────┤
│                    Agent 层                                 │
│  agent.py  → 主循环(感知→决策→执行→反馈)                   │
│  ├─ ai_decider.py  → AI决策 (SenseNova 6.7)               │
│  ├─ executor.py    → 模拟交易执行 + 风控                    │
│  ├─ risk_manager.py → 止损5%/仓位20%/单日5次               │
│  ├─ portfolio.py   → 持仓管理 + 交易记录                    │
│  └─ feedback.py    → 胜率统计 + 策略失效检测                │
├────────────────────────────────────────────────────────────┤
│                    策略层 (Backtrader)                      │
│  strategies.py → 17个交易策略                               │
│  backtest.py   → 多策略回测引擎                             │
├────────────────────────────────────────────────────────────┤
│                    数据层                                    │
│  data_fetcher.py → 新浪财经 + SQLite缓存                    │
│  realtime.py    → 实时行情 + 策略信号                       │
└────────────────────────────────────────────────────────────┘

功能一览

1. 实时行情监控 (realtime.py / api.py / dashboard.py)

  • 实时获取 A 股行情(延迟约 3 秒)
  • 每只股票实时计算:MA5、MACD、KDJ(K/D/J 三值)
  • 综合评分给出买卖建议
  • 走势图(ECharts 收盘价 + 成交量)
  • 自动 60 秒轮询刷新

2. 回测系统 (backtest.py / strategies.py)

17 个可回测策略:

# 策略 买入逻辑 卖出逻辑 参数
1 MACD 金叉死叉 DIFF 上穿 DEA DIFF 下穿 DEA 12/26/9
2 KDJ 超买超卖 K<20 且金叉 K>80 且死叉 9/3/3
3 5日均线止损 站上 5 日线 跌破 5 日线 5
4 BOLL 布林线 触及下轨 触及上轨 20/2
5 DMI 趋势 PDI 上穿 MDI MDI 上穿 PDI 14
6 PSY 心理线 PSY ≤ 25 PSY ≥ 75 12
7 乖离率 BIAS 乖离率 ≤ -5% 乖离率 ≥ +5% 5
8 SAR 止损 价格 > SAR 价格 < SAR 0.02/0.2
9 三指标共振 MACD+KDJ+BOLL 综合评分 任一指标走坏 —
10 均线组合 5>10>60 多头排列 跌破 5/10 5/10/60
11 量价背离 价创新高量萎缩 放量下跌 10
12 DMI+PSY DMI 多头且 PSY≤25 DMI 空头或 PSY≥75 14/12
13 三分法 分批建仓 分批减仓 —
14 麻雀战法 小仓位多次低吸 小仓位多次高抛 —
15 反弹策略 跌幅过大短线反弹 短线获利了结 —
16 二线法 短期均线上穿长期 短期均线下穿长期 5/20
17 60日生命线 站上 60 日线 跌破 60 日线 60

3. AI 交易 Agent

两套 Agent 实现,分工不同:

  • agent.py (CLI 单进程):命令行入口,python agent.py [codes...] [--rule],单组合循环扫描。
  • agent_engine.py (Web 后端双引擎):被 api.py 调用,AI vs 规则两个 1 万元组合并行对比,落库权益曲线。

共同特性:

  • 调用 SenseNova 6.7 多模态模型做决策
  • 输入:实时行情 + 技术指标 + 持仓状态
  • 输出:每只股票操作建议(buy/sell/hold)
  • 受风控约束:止损 5%、单股仓位 20%、单日交易 5 次上限
  • 支持两种模式:python agent.py --ai(AI 决策,默认)/ python agent.py --rule(规则决策)

4. 交易策略知识库 (book/)

系统策略知识来源整理于 book/:

文件 说明
中国股市操练大全.md / .txt 《中国股市操练大全》源书全文(OCR)
中国股市操练大全_交易策略.md 源书逐字提取的策略章节正文(2812 行)
中国股市操练大全_交易策略_精炼版.md 提炼为可量化规则的精炼版(含阈值速查表)
extract_strategies.py 生成上述策略文档的提取脚本

《半小时漫画股票实战法》的知识库同样入库于 book/半小时漫画股票实战法/:

文件 说明
半小时漫画股票实战法.md 《半小时漫画股票实战法》源书全文(OCR)
半小时漫画股票实战法_知识库.md 结构化策略知识库(指标/选股/买卖点)
策略参数指南.md 各策略可调参数说明
strategy_knowledge.json 策略知识库结构化 JSON

output/ 为两本书的 OCR 中间产物(逐页拆分),已被 .gitignore 忽略不再入库。

快速开始

cd quant

# 安装依赖
pip install -r requirements.txt   # pandas/numpy/backtrader/fastapi/uvicorn/gradio/httpx

# 首次运行前:复制配置文件(含自选股与策略开关/参数,不入库)
cp config.example.json config.json

# AI 服务配置:复制 .env.example 为 .env 并填 API 密钥(OpenAI 兼容接口,可切换)
cp .env.example .env        # 编辑 AI_API_KEY / AI_BASE_URL / AI_MODEL

# 每日财经新闻 AI 分析日报(新浪+东财双源)
python news_digest.py                    # 抓当天新闻 + AI 生成日报
python news_digest.py --schedule "08:30" # 纯 Python 定时,每天到点自动跑

# 每日开盘扫描(全市场≈5500只 + 新闻 + 候选策略信号 综合日报)
python daily_scan.py                     # 立即跑一次
python daily_scan.py --schedule "09:00"  # 纯 Python 定时,每个交易日 09:00 自动跑

# 定时任务已内置于 quant-api 服务:每交易日 09:00 自动跑 daily_scan
# 查看状态/手动触发(服务跑在 18000):
curl http://127.0.0.1:18000/api/daily-scan/status
curl -X POST http://127.0.0.1:18000/api/daily-scan/run

# 启动 Web 前端(port 可用环境变量覆盖,默认 8000)
python api.py                        # http://127.0.0.1:8000
PORT=18000 python api.py             # 自定义端口示例

# 运行回测
python backtest.py               # 19 个策略全量回测

# 运行 AI Agent (CLI 单进程)
python agent.py 600789 000001    # AI 决策模式(默认)
python agent.py 600789 --rule    # 规则决策模式

# 实时行情信号
python realtime.py 600789 000001 --signals

# 运行测试
python tests.py

# Docker 启动
docker compose up -d

数据源

数据 接口 延迟 说明
实时行情 新浪 hq.sinajs.cn ~3 秒 实时报价
历史日K线 新浪 getKLineData 收盘后 最多 1024 条
实时分时 东财 trends2/get 实时 盘中分时数据
AI 决策 SenseNova 6.7 1-3 秒 多模态模型

免责声明

本项目仅供学习和研究,不构成任何投资建议。

  • 回测结果不代表未来表现
  • 实盘前务必经过充分模拟验证
  • 股市有风险,投资需谨慎

最后更新:2026-08-17

About

个人量化

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages