基于江恩理论的AI量化交易系统
AgiQuant 是一套专业的量化交易系统,核心策略基于 江恩(W.D. Gann)交易理论 的形态识别与动能衰竭机制,融合 AI 技术实现策略自动化执行与持续优化。
中文名"吉宽":取"吉祥、宽裕"之意,寓意交易顺利、收益宽广。
| 项目信息 | 说明 |
|---|---|
| 项目名称 | AgiQuant(吉宽) |
| 当前版本 | V5.3.0 |
| 核心策略 | 江恩形态识别 + 动能衰竭 + 严格风控 |
| 开发语言 | Python 3.12 (后端) + Vue 3/Element Plus (前端) |
| 适用市场 | 中国A股、国内期货、港股、美股、加密货币 |
- 17种K线周期:Tick、1m、3m、5m、15m、30m、45m、1h、2h、4h、6h、12h、1d、1w、1M、3M、1Y
- 实时行情推送:WebSocket 推送,按需订阅机制
- 13个数据源适配器:内置数据源(开箱即用)、TqSdk、miniQMT、MyQuant(掘金量化)、JoinQuant、RiceQuant、Tushare、TickFlow、老虎、富途、盈透、宽睿OES、AKShare
- 多市场覆盖:期货/A股/港股/美股/基金/指数/加密货币
- 智能品种搜索:支持期货品种代码→主力合约自动转换、合约代码缩写展开
- 自选股管理:添加/删除/持久化存储
- 本地K线数据管理:支持自动下载、智能更新(交易日按早间/晚间策略增量、强制全量)
- V9.5策略体系:做多7规则 + 做空4规则 + 成交量确认 + 市场强弱4阶段
- 13个V9.5策略:老底支撑买入、趋势确认买入、突破回调买入、突破追击、50%回撤买入、双底买入、衰竭缺口买入、老顶阻力卖出、趋势确认卖出、突破追空、涨停反转做空、市场强弱策略、成交量确认策略
- 20个核心量化策略:趋势跟随、趋势反转、双底、突破、顶部/底部反转、衰竭缺口、50%回调、成交量确认等
- 在线策略开发工坊:基于 Monaco Editor(VS Code 同款),支持在线编写、调试、保存、部署自定义策略
- 多策略组合运行:并行模式/投票模式/主从模式/分层组合
- 策略热部署:无需重启服务,代码即时生效
- 策略导出:支持导出为 JSON/Backtrader/vnpy/miniQMT 兼容格式
- 策略模板库:基于内置策略快速创建实例
- 33个内置因子:技术面17个(RSI/MACD/BOLL/KDJ/ADX/ATR/CCI/DMI/TRIX/PSY/MOMENTUM/MFI/OBV/VOL_RATIO/BB_WIDTH/Aroon/BIAS)+ 基本面16个(PE/PB/ROE/ROA/成长/规模等)
- 因子评估:IC/IR计算、分组收益分析、相关性矩阵
- 自定义因子注册:用户可在线添加新因子
- 因子缓存:LRU缓存加速回测
- 双回测引擎:VectorBT向量化回测(极速)+ 事件驱动回测(精准)
- V9.5回测集成:EventDrivenEngine + TradePipeline风控全链路
- 组合回测:等权重/信号加权/风险平价/最大夏普四种权重策略
- 17种K线周期支持
- 参数优化:Optuna贝叶斯优化 + 网格搜索
- 回测结果可视化:收益曲线/回撤曲线/月度热力图/持仓变化/收益分布
- 净值曲线图:CLI生成PNG格式净值曲线图(回测/仿真/实盘)
- 专业指标:总收益/年化收益/夏普比率/索提诺比率/卡玛比率/最大回撤/胜率/盈亏比/期望值/盈利因子
- 22个V9.5风控模块:N值引擎/江恩点数换算/Tick合规/市场隔离/波动率计算/动态仓位/跳空检测/熔断引擎/加仓管理/反转头寸/月度频率/静默期/提现管理/盈亏比筛选/板块敞口/备选池/绩效雷达/极端事件等
- 4级熔断机制:预警/限制/暂停/紧急
- 交易管道:月度频率→熔断→跳空→闸门→N值仓位→Tick合规→下单
- 实时监控面板:总持仓/风险敞口/今日盈亏/预警列表
- 风控日志:全追溯
- 8个交易执行器:TqSdk、CTP(标准版/穿透式测试版/Mini)、miniQMT、MyQuant、老虎、富途、盈透、宽睿OES
- 订单管理:创建/撤单/查询/详情
- 订单幂等性保障:防重复下单
- 订单超时监控:自动撤单重发
- 成交回报:WebSocket实时推送
- 组合概览:总资产/持仓市值/可用资金/总收益
- 持仓明细:品种/数量/均价/当前价/盈亏
- 资产配置:饼图可视化
- 收益曲线:多周期切换
- Brinson归因:资产配置效应/择股效应/交互效应三维归因
- scikit-learn(默认):轻量级ML模型(随机森林/梯度提升树/逻辑回归)
- PyTorch LSTM(可选):深度学习时序预测
- Kronos金融大模型:102M参数金融K线基础模型,支持价格预测/波动率预测/信号生成
- AI信号确认:策略信号可由AI模型二次确认
- 7种通知渠道:站内通知/企业微信/钉钉/邮件/SMTP/短信/Webhook
- 8种通知事件:订单成交/订单撤销/风控触发/熔断触发/策略启动/策略停止/系统告警/每日报告
- 用户级渠道配置:每个用户独立配置
- 消息中心:铃铛红点/下拉列表/通知列表页
- RBAC权限体系:3种预设角色(超级管理员/策略管理员/只读观察员)
- 60+细粒度权限点:资源:动作级别控制
- JWT HttpOnly Cookie:防XSS攻击
- API限流:滑动窗口限流(100次/分钟)
- Docker容器沙箱:自定义策略隔离执行
- AES-256-GCM加密:敏感配置加密存储
- 审计日志:全操作追溯
- Web控制台:Vue 3 + Element Plus,58个功能页面
- CLI命令行工具:12个命令(数据查询/策略回测/报表管理/配置管理/交易管理)
- 移动端H5:响应式设计,自适应手机/平板
- uni-app:App/小程序跨端框架(预留)
┌─────────────────────────────────────────────────────────────────────────────┐
│ 用户层 │
│ Web控制台 │ 手机App │ 小程序(H5/微信/抖音/支付宝/飞书) │
├─────────────────────────────────────────────────────────────────────────────┤
│ 接入层 │
│ REST API (FastAPI 250+接口) │ WebSocket │ 统一认证(JWT+HttpOnly Cookie)│
├─────────────────────────────────────────────────────────────────────────────┤
│ 业务层 │
│ 策略层(20内置+自定义) │ 执行层(8执行器) │ 风控层(6规则+4级熔断) │
│ 回测层(双引擎) │ 分析层(归因/Brinson) │ 优化层(Optuna) │
│ 因子层(33因子) │ 通知层(7渠道) │ AI层(sklearn/LSTM/Kronos) │
├─────────────────────────────────────────────────────────────────────────────┤
│ 数据层 │
│ 13数据源 + 内置数据源 │ SQLAlchemy ORM(15+表) │ LRU缓存 │
├─────────────────────────────────────────────────────────────────────────────┤
│ 集成层 │
│ 8交易接口 │ 7通知渠道 │ 第三方服务 │
└─────────────────────────────────────────────────────────────────────────────┘
agiquant/
├── src/ # 源码根目录
│ ├── api/ # API 接口层(31个模块,250+端点)
│ ├── core/ # 核心业务逻辑(14个子模块)
│ │ ├── data/ # 数据源层(13个适配器 + 本地K线管理)
│ │ ├── backtest/ # 回测层(双引擎 + 组合回测)
│ │ ├── strategy/ # 策略引擎(组合运行 + 热加载)
│ │ ├── execution/ # 交易执行层(8个执行器)
│ │ ├── analysis/ # 分析层(归因/Brinson/风险指标)
│ │ ├── optimizer/ # 优化层(Optuna + 组合优化)
│ │ ├── ai/ # AI层(sklearn/LSTM/Kronos)
│ │ ├── factors/ # 因子层(33个因子 + 评估)
│ │ ├── notification/ # 通知层(7个渠道)
│ │ ├── sandbox/ # 沙箱层(Docker隔离)
│ │ ├── models/ # 数据模型
│ │ ├── storage/ # 存储层(ORM 15+表)
│ │ ├── account/ # 账户管理
│ │ ├── security/ # 安全模块(AES-256-GCM)
│ │ └── utils/ # 工具函数
│ ├── strategies/ # 策略实现(20个策略 + 自定义目录)
│ ├── model/ # Kronos AI模型
│ ├── cli/ # 命令行工具
│ ├── config/ # 配置层
│ ├── web/ # Vue3 前端(35个页面)
│ ├── uni_app/ # uni-app 移动端(预留)
│ └── main.py # FastAPI 应用入口
├── test/ # 测试目录
├── sh/ # 脚本目录
│ ├── agiquant.sh # 服务管理 + K线数据同步
│ ├── agiquant-cli.sh # 命令行查询工具
│ ├── init_db.py # 数据库初始化
│ ├── run_all_tests.sh # 全量测试运行
│ └── sync_futures_config.sh # 期货配置同步
├── sh/ # 脚本目录
├── docs/ # 文档目录
│ ├── 01-核心文档/ # 系统设计/需求/API/规则/规范
│ ├── 02-开发测试/ # 开发环境/测试指南
│ ├── 03-部署运维/ # 部署/运维/配置
│ └── 04-交接辅助/ # 交接清单/已知问题
├── data/ # 运行时数据
│ ├── code/d/ # 标准化K线CSV(按交易所/品种)
│ ├── original/new/d/ # 原始下载数据
│ ├── last/ # 状态追踪(下载/转换日期)
│ ├── base/ # 品种代码映射
│ ├── main/ # 主力合约映射
│ └── equity/ # 除权除息数据
├── db/ # 数据库脚本
├── setup.py # 安装配置
├── requirements.txt # 依赖清单
└── .env.example # 环境变量模板
| 配置项 | 最低要求 | 推荐配置 |
|---|---|---|
| CPU | 2核 | 4核以上 |
| 内存 | 4GB | 8GB以上 |
| 硬盘 | 10GB | 50GB以上 |
| Python | 3.12+ | 3.12 |
| Node.js | 16+ | 18+ |
| 操作系统 | Linux/macOS/Windows | Ubuntu 22.04+ |
# 1. 克隆仓库
git clone https://gitee.com/liebin/agiquant.git
cd agiquant
# 2. 安装后端依赖
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
# 编辑 .env,配置 AITRADING_MASTER_KEY
# 3. 初始化数据库
python sh/init_db.py
# 4. 安装前端依赖并构建
cd src/web
npm install --registry=https://registry.npmmirror.com
npm run build
cd ../..
# 5. 启动服务
./sh/agiquant.sh start| 服务 | 地址 |
|---|---|
| 前端控制台 | http://localhost:8000 |
| API文档 | http://localhost:8000/docs |
默认账号:admin / 123456
./sh/agiquant.sh start # 启动服务
./sh/agiquant.sh stop # 停止服务
./sh/agiquant.sh restart # 重启服务
./sh/agiquant.sh status # 查看状态
./sh/agiquant.sh logs # 查看日志
./sh/agiquant.sh logs -n 100 # 查看最近100行日志
./sh/agiquant.sh info # 服务信息./sh/agiquant.sh kline # 智能按需更新(自动识别早间/晚间/全量)
./sh/agiquant.sh kline --force # 强制全量更新
./sh/agiquant.sh kline --check # 仅检查数据状态# 数据查询
python -m src.cli kline --symbol rb2510.SHFE -n 10 # K线数据
python -m src.cli quote --symbols AU2506.SHFE # 实时行情
# 策略回测
python -m src.cli backtest --strategy s_v95_long_rule1_support --symbol rb2501 --start 2025-01-01 --end 2025-12-31
python -m src.cli backtest --list # 列出所有V9.5策略
python -m src.cli backtest --chart <task_id> # 生成净值曲线图
# 报表管理
python -m src.cli report summary # 回测汇总统计
python -m src.cli report trades --symbol rb2501 # 交易明细查询
python -m src.cli report performance # 账户绩效报告
# 配置管理
python -m src.cli config show # 系统配置概览
python -m src.cli config list # 系统参数列表
python -m src.cli config exchange # 交易所配置(88个品种)
# 交易管理
python -m src.cli trade plan list # 交易计划列表
python -m src.cli trade plan create --name "测试" --mode simulation --capital 100000
python -m src.cli trade sim start --strategy <id> --symbol rb2501
python -m src.cli trade sim chart <plan_id> # 生成净值曲线图
python -m src.cli trade signal list # 待审批信号列表
python -m src.cli trade scheduler status # 调度器状态
# 系统管理
python -m src.cli data --task future_kline # 期货K线下载
python -m src.cli position list # 持仓列表
python -m src.cli order list # 订单列表
python -m src.cli risk status # 风控状态| 编号 | 策略ID | 策略名称 | 类型 |
|---|---|---|---|
| L1 | s_v95_long_rule1_support | 江恩做多-老底支撑买入 | 做多 |
| L2 | s_v95_long_rule2_trend | 江恩做多-趋势确认买入 | 做多 |
| L3 | s_v95_long_rule3_safest | 江恩做多-突破回调买入 | 做多 |
| L4 | s_v95_long_rule6_breakout | 江恩做多-突破追击 | 做多 |
| L5 | s_v95_long_rule7_fifty | 江恩做多-50%回撤买入 | 做多 |
| L6 | s_v95_long_rule8_double | 江恩做多-双底买入 | 做多 |
| L7 | s_v95_long_rule9_exhaustion | 江恩做多-衰竭缺口买入 | 做多 |
| S1 | s_v95_short_rule1_resistance | 江恩做空-老顶阻力卖出 | 做空 |
| S2 | s_v95_short_rule2_trend | 江恩做空-趋势确认卖出 | 做空 |
| S3 | s_v95_short_rule6_breakdown | 江恩做空-突破追空 | 做空 |
| S4 | s_v95_short_rule10_limit_up | 江恩做空-涨停反转做空 | 做空 |
| A1 | s_v95_market_strength | 市场强弱4阶段策略 | 辅助 |
| A2 | s_v95_volume_confirm | 成交量确认策略 | 辅助 |
| 分类 | 页面 | 说明 |
|---|---|---|
| 仪表盘 | 仪表盘 | 系统概览/总资产/收益曲线 |
| 行情数据 | 行情中心 | 多市场实时行情/自选股 |
| K线图表 | ECharts蜡烛图+17种周期+技术指标+AI解盘 | |
| AI分析 | AI驱动的行情分析 | |
| AI预测 | Kronos模型价格预测 | |
| 策略管理 | 策略模板 | 20个内置策略浏览/启动/停止 |
| 策略开发 | Monaco Editor在线编码/调试/部署 | |
| 策略实例 | 策略实例管理/参数配置 | |
| 策略组合 | 多策略组合配置/运行 | |
| 回测分析 | 双引擎回测/结果可视化 | |
| 参数优化 | Optuna贝叶斯优化/网格搜索 | |
| 交易管理 | 交易模板 | 交易策略模板管理 |
| 交易计划 | 计划创建/执行/跟踪 | |
| 交易信号 | 实时信号推送/确认 | |
| 成交明细 | 订单成交记录查询 | |
| 持仓管理 | 持仓明细/盈亏统计 | |
| 账户管理 | 交易账户配置/连接 | |
| 报告管理 | 账户绩效 | 账户级绩效分析/归因 |
| 账户报告 | 单账户详细报告 | |
| 计划绩效 | 计划级绩效跟踪 | |
| 计划报告 | 单计划详细报告 | |
| 配置管理 | 数据源管理 | 13个数据源配置/启用 |
| 交易接口管理 | 8个执行器配置/连接 | |
| 交易接口配置 | 执行器参数详情 | |
| 第三方凭证 | 各平台API凭证管理 | |
| 因子库管理 | 33个因子配置/评估 | |
| AI模型管理 | sklearn/LSTM/Kronos配置 | |
| 监控中心 | 消息中心 | 通知消息管理 |
| 策略监控 | 策略运行状态实时监控 | |
| 资金监控 | 资金/保证金监控 | |
| 接口监控 | API接口调用监控 | |
| 系统监控 | 系统资源/性能监控 | |
| 系统管理 | 用户管理 | 用户CRUD/角色分配 |
| 角色权限 | RBAC角色/60+权限点 | |
| 审计日志 | 全操作追溯审计 |
详细文档位于 docs/ 目录:
| 目录 | 文档 |
|---|---|
| 01-核心文档 | 系统设计说明书、需求规格、API接口文档、交易规则白皮书、工程目录结构、K线数据规范、前端功能设计 |
| 02-开发测试 | 开发环境搭建、代码规范、Git工作流、测试指南、新增数据源/交易接口/策略插件指南 |
| 03-部署运维 | 安装与使用说明、配置参数说明、部署指南、运维手册、故障排查 |
| 04-交接辅助 | 交接清单、项目联系人、已知问题清单、下一步工作计划 |
| 根目录 | 测试用例说明书-前端全功能、行情中心-K线图表-数据源配置、通用前后端开发规范 |
- Fork 本仓库
- 新建
feat_xxx分支 - 提交代码
- 新建 Pull Request
本项目采用 GNU Affero General Public License v3.0 (AGPL-3.0) 许可证。
详细信息请查看 LICENSE 文件。
- 项目主页:https://gitee.com/liebin/agiquant
- 问题反馈:通过 Gitee Issues 提交
- 作者邮箱:lebin_zheng@foxmail.com
如果您在使用过程中遇到问题,或者需要以下技术服务,欢迎联系作者:
- 🤖 AI 客服系统开发:智能问答、自动回复、多渠道接入
- 🧠 大模型应用开发:模型微调、Prompt 工程、RAG 系统
- 💻 软件开发:Java & Python 后端、量化系统、数据处理
- 📈 量化策略开发:因子挖掘、回测系统、实盘对接
- 🔧 定制化开发:根据需求定制 AI 量化解决方案
微信扫码添加作者,备注来意即可
添加时请备注"AgiQuant咨询"或具体需求,以便更快响应
