Skip to content

Repository files navigation

AgiQuant(吉宽)

基于江恩理论的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归因:资产配置效应/择股效应/交互效应三维归因

🤖 AI 能力

  • 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            # 服务信息

K线数据同步

./sh/agiquant.sh kline           # 智能按需更新(自动识别早间/晚间/全量)
./sh/agiquant.sh kline --force   # 强制全量更新
./sh/agiquant.sh kline --check   # 仅检查数据状态

CLI 命令行工具

# 数据查询
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                            # 风控状态

工具脚本

📊 V9.5策略列表(13个江恩策略)

编号 策略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线图表-数据源配置、通用前后端开发规范

🤝 参与贡献

  1. Fork 本仓库
  2. 新建 feat_xxx 分支
  3. 提交代码
  4. 新建 Pull Request

📄 许可证

本项目采用 GNU Affero General Public License v3.0 (AGPL-3.0) 许可证。

详细信息请查看 LICENSE 文件。

📧 联系方式

💬 技术支持与服务

如果您在使用过程中遇到问题,或者需要以下技术服务,欢迎联系作者:

  • 🤖 AI 客服系统开发:智能问答、自动回复、多渠道接入
  • 🧠 大模型应用开发:模型微调、Prompt 工程、RAG 系统
  • 💻 软件开发:Java & Python 后端、量化系统、数据处理
  • 📈 量化策略开发:因子挖掘、回测系统、实盘对接
  • 🔧 定制化开发:根据需求定制 AI 量化解决方案

作者微信二维码

微信扫码添加作者,备注来意即可

添加时请备注"AgiQuant咨询"或具体需求,以便更快响应


About

AgiQuant 是一套专业的量化交易系统,核心策略基于 江恩(W.D. Gann)交易理论 的形态识别与动能衰竭机制,融合 AI 技术实现策略自动化执行与持续优化。

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages