FWQuant · 福纹量化交易系统
一个从 0 到 1 完全自建的开源量化交易平台。
定位:面向未来的企业级量化交易基础设施。底层交易网关兼容 vn.py 4.0 规范(CTA 模板、网关接口),在此之上构建了一套完整的 Web 化量化交易系统 —— 涵盖网关接入、手动/自动交易、策略研发/回测、风控管理、AI 智能对话等全链路功能。
快速开始
脚本安装(一键全套:Python / UV / Node / FWQuant / OKX Skills / OpenClaw 等)
Ubuntu
curl -fsSL https://www.yaluo.com/install/fwquant/install/fw_install.sh | tr -d '\r' | bash -s
Windows
powershell -c "irm https://www.yaluo.com/install/fwquant/install/fw_install.ps1 | iex"
📦 独立包安装(仅 fwquant)
uv pip install fwquant -U
# 清华镜像
uv pip install fwquant -U -i https://pypi.tuna.tsinghua.edu.cn/simple/
# 官方
uv pip install fwquant -U -i https://pypi.org/simple
手动启动服务
# Ubuntu
nohup fwquant web run &
# Windows
start /b fwquant web run >web.log 2>&1
安装完成后,浏览器访问 http://127.0.0.1:15881 即可进入 Web 控制台。
⚡ 系统功能全景
FWQuant 的 Web 控制台是一个功能完备的量化交易系统,远不止 vn.py GUI 替代品。它将交易、策略、风控、AI 全部搬到了浏览器中。
🔌 交易网关层(Gateway)
| 网关 | 说明 | 状态 |
|---|---|---|
| OKX | 现货 / 合约 / 期权,REST + WebSocket 双通道 | ✅ 已完善 |
| Binance | 现货 / U本位合约 / 币本位 / 组合保证金 | ✅ 已完善 |
| CTP | 国内期货(上期所/大商所/郑商所/中金所/广期所) | ✅ 已完善 |
| Polymarket | 预测市场(polymarket-client SDK) | 🚧 开发中 |
💹 交易平台(Trading Desk)—— 三大交易入口
这是 FWQuant Web 的核心功能区,提供三种不同场景的下单方式:
1. 交易平台(Trading Desk)
多面板专业交易台,类似 Bloomberg / vn.py 主界面的 Web 版本:
- 左侧:合约搜索 + 行情列表(实时 WebSocket 推送)
- 中央:K 线图表 + 盘口深度 + 下单面板(限价/市价/止盈止损)
- 右侧:当前持仓 + 委托订单 + 成交记录
- 底部:交易日志 + 风控提示
- 支持多 Tab 并行查看不同品种
2. 快速下单(Quick Order)
极简开仓入口,适合高频操作:
- 单品种快进快出
- 一键全平 / 半仓 / 加减仓
- 预设止盈止损比例
3. K 线行情(Market Data)
以图表为中心的分析 + 交易界面:
- 多周期 K 线叠加(1m / 5m / 15m / 1H / 4H / 1D)
- 技术指标叠加(MA / EMA / BOLL / MACD / RSI / ATR 等)
- 图表上直接画线下单
配套查询工具
| 功能 | 说明 |
|---|---|
| 📉 行情列表 | 全品种实时报价、涨跌幅、成交量排行 |
| 📜 合约信息 | 合约规格、最小变动价位、保证金率 |
| 📋 订单管理 | 挂单撤单、历史委托查询 |
| 📝 交易记录 | 成交明细导出、盈亏归因 |
| 📊 K线管理 | 历史数据下载 / 清洗 / 回放 |
⚙️ 自动策略系统(Auto Strategy)
FWQuant 的自动策略不是简单的定时脚本,而是一套完整的 策略 → 任务 → 日志 → 排行榜 闭环:
策略文件 (.py) → 创建自动任务 → 调度执行(APScheduler)
↑ ↓
└── 信号验证 ←── 交易日志 ←── 下单 + 风控拦截
核心能力:
- 策略管理:在线查看 / 编辑 / 管理策略
.py文件,支持策略模板继承(CTA 模板、信号工厂模板) - 自动任务:为策略绑定执行周期、交易账户、风控规则,任务化运行
- 策略日志:实时查看每个任务的信号内容、下单操作、成交回报、止盈止损结算
- 策略排行榜:基于胜率 / 盈亏比 / 最大回撤的任务表现排行榜
- 信号验证平台(🔬 Signal Validator):用历史 K 线批量回测策略信号的命中率,类似 TradingView 的 Strategy Tester 但专为信号级验证设计
📈 策略回测(Backtest)
兼容 vn.py CTA 策略模板的回测引擎,同时支持:
- 单策略回测(指定品种 + 时间区间 + 初始资金)
- 多策略并行回测(一次跑 N 个策略对比)
- 回测报告:权益曲线、胜率、Sharpe、最大回撤、交易明细
- 回测 → 实盘 一键切换(复用同一份策略代码)
🛡️ 风险管理(Risk Manager)
| 规则 | 说明 |
|---|---|
| 单日最大亏损 | 账户级 / 策略级熔断 |
| 单笔止损止盈 | 固定金额 / 波动率(ATR)自适应 |
| 仓位上限 | 单品种 / 总仓位限制 |
| 下单频率限制 | 防连亏保护 |
风控可在 手动下单拦截 和 自动策略调度 两个层面同时生效。
💬 AI 智能对话(Chat / OpenClaw)
内置 LLM 驱动的对话面板:
- 意图识别:自动识别用户是要「查行情」、「开仓」、「写策略」还是「看日志」
- 策略代码生成:用自然语言描述策略逻辑 → 生成可运行的
.py策略文件 - 交易指令执行:聊天窗口内直接说「买 1 BTC」即可下单(需鉴权)
- OpenClaw 集成:本地 AI Agent 运行环境,可调度外部工具(浏览器、代码执行)
- 技能系统(Skills):可扩展的 AI 技能包,已内置交易、OKX 操作、量化分析等技能
🎯 辅助工具
| 模块 | 说明 |
|---|---|
| 🗄️ 数据库管理 | 内置 SQLite 可视化管理,一键重置 / 备份 |
| 📡 服务监控 | 网关连接状态、CPU/内存占用、WebSocket 推送延迟 |
| 🧩 插件 / 技能 | 可插拔扩展点,支持自定义网关、策略、AI 技能 |
| 🤖 大模型管理 | 配置 LLM Provider(OpenAI / 本地模型 / LiteLLM),切换模型 |
| 📢 频道管理 | 交易信号推送到微信 / Telegram / Webhook |
| 💬 微信管理 | 微信机器人接入,接收指令 / 推送日报 |
| 🧑💻 命令终端 | Web 内的 Python REPL,直接调用 fwquant API |
| 🧪 FWUI 演示 | 前端组件库展示(FWUI 是项目自建的 Web UI 组件库) |
| ⏰ 定时任务 | APScheduler 调度器管理(独立于自动策略的通用定时任务) |
| 🏆 排行榜系统 | 菜单使用排行 + 策略表现排行,辅助发现高频功能 |
| ❓ 帮助中心 | 内置文档浏览器 + F1 全局帮助入口 + 字段级 ? 图标帮助 |
🧱 架构说明
与 vn.py 的关系
FWQuant 不是 vn.py 的简单二次封装。准确地说:
┌─────────────────────────────────────────────┐
│ FWQuant Web 控制台(自研) │
│ ┌───────┐ ┌───────┐ ┌───────┐ ┌─────────┐ │
│ │交易台 │ │自动策略│ │ AI │ │策略回测 │ │
│ └───┬───┘ └───┬───┘ └───┬───┘ └────┬────┘ │
│ │ │ │ │ │
│ ┌───┴─────────┴─────────┴──────────┴────┐ │
│ │ FWQuant 核心引擎(事件驱动) │ │
│ └──────────────────┬────────────────────┘ │
├─────────────────────┼──────────────────────┤
│ FWQuant 网关层(兼容 vn.py Gateway 接口规范)│
│ ┌────────┐ ┌────────┐ ┌──────────┐ │
│ │ OKX │ │ Binance│ │ CTP │ ... │
│ └────────┘ └────────┘ └──────────┘ │
├─────────────────────────────────────────────┤
│ vn.py 4.0 兼容层(共享部分基类) │
└─────────────────────────────────────────────┘
- 网关接口(
connect / send_order / subscribe等)遵循 vn.py Gateway 规范,已有现成的 OKX、CTP、Binance 实现 - CTA 策略模板(
CtaTemplate)继承自 vn.py,保证策略代码可移植 - Web 控制台、自动策略系统、AI 对话、信号验证平台 是 FWQuant 100% 自研的扩展,在 vn.py GUI 中并不存在
- 整体功能上,FWQuant 已经超出 vn.py 4.0 的 GUI 能力范畴
技术栈速览
| 类别 | 技术 |
|---|---|
| 语言 | Python 3.10+ |
| Web 服务 | FastAPI + Flask(双栈共存,逐步迁移到 FastAPI) |
| 前端 | 原生 JS + FWUI 组件库 + ECharts / Plotly |
| 异步 | asyncio + aiohttp + WebSocket |
| 数据库 | SQLite(默认) / MySQL(可选) |
| 缓存 | Redis |
| 回测 | backtrader + 自研多策略并行引擎 |
| 技术指标 | TA-Lib |
| AI | CrewAI + LangChain + LiteLLM + OpenClaw |
| GUI(可选) | PySide6 + pyqtgraph |
📁 项目结构
fwquant/
├── fw_core/ ← 核心模块(网关、策略、回测、风控、数据、AI 等)
├── fw_web/ ← Web 层(路由、引擎、前端静态资源)
├── fw_config/ ← 配置管理 + 默认模板
├── fw_cli/ ← CLI 入口(fwquant web run / install 等)
├── fw_tools/ ← 运维工具(端口管理、更新日志生成等)
├── fuwen/ ← 旧版兼容入口
├── examples/ ← 示例脚本
├── tests/ ← 测试
└── temp/ ← 临时文件(截图、调试输出,.gitignore)
📖 文档入口
| 类别 | 内容 | 路径 |
|---|---|---|
| 安装指南 | 一键脚本安装 / 手动安装 | fwquant_defaults/docs/用户安装.md |
| 运维手册 | 服务部署 / 升级 / 备份 | fwquant_defaults/docs/运维手册.md |
| 运行服务 | 启动 / 停止 / 调试 | fwquant_defaults/docs/运行服务.md |
| 模块文档 | 各核心模块详解 | fwquant_defaults/docs/module_docs/ |
| 开发日志 | 迭代记录 | fwquant_defaults/docs/开发日志.md |
| 帮助文档 | 系统帮助总览 | fwquant_defaults/docs/help.md |
📦 内置策略
| 策略 | 类型 | 说明 |
|---|---|---|
| 双均线(Double MA) | 趋势 | 快慢均线金叉死叉 |
| Dual Thrust | 趋势 | 日内突破策略 |
| ATR-RSI | 震荡 | 自适应阈值的均值回归 |
| 布林带(Boll Channel) | 震荡 | 带回归突破 |
| 七福策略 | 多规则组合 | FWQuant 自研信号工厂,多维度评分 |
| 定海三针 | 形态 | K 线形态识别 |
| 随机策略 | 测试 | 用于回测 / 联调 |
🛠️ 可选依赖安装
pip install fwquant # 完整版(含所有功能)
pip install fwquant[core] # 仅核心网关 + 数据
pip install fwquant[web] # 核心 + Web 服务
pip install fwquant[gui] # 核心 + PySide6 桌面 GUI
pip install fwquant[ai] # 核心 + AI 智能体
pip install fwquant[minimal] # 核心 + Web + AI(最小常用集)
🧰 运维速查
# 启动 Web 服务
fwquant web run
# 查看端口
netstat -ano | findstr :15881
# 查看服务状态
fwquant service status
# 版本信息
fwquant version
卸载
# Ubuntu
curl -fsSL https://www.yaluo.com/install/fwquant/install/fw_uninstall.sh | tr -d '\r' | bash -s -- -f
# Windows
powershell -c "irm https://www.yaluo.com/install/fwquant/install/fw_uninstall.ps1 | iex"
参考 & 致谢
| 项目 | 角色 |
|---|---|
| vn.py | 网关接口规范来源,部分基类复用 |
| backtrader | 回测引擎参考 |
| CrewAI | AI 智能体协作 |
| LangChain | LLM 应用框架 |
| ccxt | 通用交易网关库 |
License: MIT
Homepage: https://www.yaluo.com
Issues: https://github.com/fwquant/fwquant/issues
Metadata
Release files for fwquant 1.0.140
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| fwquant-1.0.140.tar.gz | 10.4 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fwquant-1.0.140-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 21.3 MB
Release files / fwquant-1.0.140.tar.gz
| Download URL | fwquant-1.0.140.tar.gz |
|---|---|
| Size | 10.4 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ebadd05fc6fe4c0cd448e87bfc0a01516c3fd71a604ebede0d41e37b9130cfd6
|
|
BLAKE2b-256 checksum How to use checksums |
a9a02f5e568976d1a3bca1d069f09278fbf65046dd7837be5873ae5634bf956a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.13
|
Release files / fwquant-1.0.140-py3-none-any.whl
| Download URL | fwquant-1.0.140-py3-none-any.whl |
|---|---|
| Size | 10.9 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
27c3cf843a0ca3db03a0edb81e4f47202170add8f647f08165642a19b801b070
|
|
BLAKE2b-256 checksum How to use checksums |
76f7de654a3518d57c9590d56acfabb64071592c0d198c44fbcc989b8c208ca5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.13
|