Metadata-Version: 2.4
Name: fwquant
Version: 1.0.51
Summary: 一个功能完整的福纹量化交易系统，支持多交易所连接、策略回测与实盘交易
Home-page: https://github.com/fwquant/fwquant
Author: fwquant
Author-email: fwquant <fuwenquant@gmail.com>
Maintainer: fwquant
Maintainer-email: fwquant <fuwenquant@gmail.com>
Project-URL: Homepage, https://www.yaluo.com
Project-URL: Repository, https://github.com/fwquant/fwquant
Project-URL: Documentation, https://github.com/fwquant/fwquant/wiki
Keywords: 量化交易,fwquant,crypto,bot,trading
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Office/Business :: Financial :: Investment
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: python-dotenv>=1.0.0
Requires-Dist: setuptools>=70.0
Requires-Dist: six>=1.16
Requires-Dist: typing_extensions>=4.12
Requires-Dist: pandas<3.0,>=2.0
Requires-Dist: numpy<3.0,>=1.24
Requires-Dist: numba>=0.60.0
Requires-Dist: pandas-stubs
Requires-Dist: TA-Lib
Requires-Dist: QuantStats>=0.0.77
Requires-Dist: backtrader>=1.9.78
Requires-Dist: futu-api
Requires-Dist: akshare>=1.18
Requires-Dist: tqsdk>=3.9
Requires-Dist: tushare
Requires-Dist: composio_crewai
Requires-Dist: ccxt>=4.0
Requires-Dist: loguru>=0.7.2
Requires-Dist: pyyaml>=6.0
Requires-Dist: requests>=2.31
Requires-Dist: tabulate>=0.9.0
Requires-Dist: tzlocal
Requires-Dist: pytz
Requires-Dist: tzdata
Requires-Dist: aiohttp>=3.9
Requires-Dist: aiohappyeyeballs>=2.6
Requires-Dist: fastapi>=0.115
Requires-Dist: uvicorn>=0.22
Requires-Dist: Flask>=3.0
Requires-Dist: flask_cors>=6.0
Requires-Dist: Werkzeug>=3.0
Requires-Dist: starlette==0.50.0
Requires-Dist: PySide6
Requires-Dist: pyqtgraph>=0.13
Requires-Dist: qdarkstyle>=3.1
Requires-Dist: qtpy>=2.4
Requires-Dist: matplotlib>=3.8
Requires-Dist: plotly>=6.5
Requires-Dist: seaborn>=0.13
Requires-Dist: deap
Requires-Dist: crewai
Requires-Dist: langchain>=0.1
Requires-Dist: langchain-openai>=0.1
Requires-Dist: litellm==1.83.7
Requires-Dist: celery>=5.3
Requires-Dist: celery-types
Requires-Dist: django-celery-beat
Requires-Dist: redis>=7.0
Requires-Dist: Django>=5.0
Requires-Dist: djangorestframework
Requires-Dist: django-timezone-field
Requires-Dist: django-crontab
Requires-Dist: pyobjc-core; sys_platform == "darwin"
Requires-Dist: pyobjc-framework-Cocoa; sys_platform == "darwin"
Requires-Dist: pyobjc-framework-Quartz; sys_platform == "darwin"
Requires-Dist: pyobjc-framework-Security; sys_platform == "darwin"
Requires-Dist: pywebview; sys_platform == "darwin"
Requires-Dist: black
Requires-Dist: flake8
Requires-Dist: isort
Requires-Dist: mypy
Requires-Dist: pytest
Requires-Dist: pytest-html
Provides-Extra: core
Requires-Dist: python-dotenv>=1.0.0; extra == "core"
Requires-Dist: setuptools>=70.0; extra == "core"
Requires-Dist: six>=1.16; extra == "core"
Requires-Dist: typing_extensions>=4.12; extra == "core"
Requires-Dist: pandas<3.0,>=2.0; extra == "core"
Requires-Dist: numpy<3.0,>=1.24; extra == "core"
Requires-Dist: numba>=0.60.0; extra == "core"
Requires-Dist: pandas-stubs; extra == "core"
Requires-Dist: TA-Lib; extra == "core"
Requires-Dist: QuantStats>=0.0.77; extra == "core"
Requires-Dist: backtrader>=1.9.78; extra == "core"
Requires-Dist: futu-api; extra == "core"
Requires-Dist: akshare>=1.18; extra == "core"
Requires-Dist: tqsdk>=3.9; extra == "core"
Requires-Dist: tushare; extra == "core"
Requires-Dist: composio_crewai; extra == "core"
Requires-Dist: ccxt>=4.0; extra == "core"
Requires-Dist: loguru>=0.7.2; extra == "core"
Requires-Dist: pyyaml>=6.0; extra == "core"
Requires-Dist: requests>=2.31; extra == "core"
Requires-Dist: tabulate>=0.9.0; extra == "core"
Requires-Dist: tzlocal; extra == "core"
Requires-Dist: pytz; extra == "core"
Requires-Dist: tzdata; extra == "core"
Requires-Dist: aiohttp>=3.9; extra == "core"
Requires-Dist: aiohappyeyeballs>=2.6; extra == "core"
Provides-Extra: web
Requires-Dist: fwquant[core]; extra == "web"
Requires-Dist: fastapi>=0.115; extra == "web"
Requires-Dist: uvicorn>=0.25; extra == "web"
Requires-Dist: Flask>=3.0; extra == "web"
Requires-Dist: flask_cors>=6.0; extra == "web"
Requires-Dist: Werkzeug>=3.0; extra == "web"
Requires-Dist: starlette==0.50.0; extra == "web"
Provides-Extra: gui
Requires-Dist: fwquant[core]; extra == "gui"
Requires-Dist: PySide6; extra == "gui"
Requires-Dist: pyqtgraph>=0.13; extra == "gui"
Requires-Dist: qdarkstyle>=3.1; extra == "gui"
Requires-Dist: qtpy>=2.4; extra == "gui"
Requires-Dist: matplotlib>=3.8; extra == "gui"
Requires-Dist: plotly>=6.5; extra == "gui"
Requires-Dist: seaborn>=0.13; extra == "gui"
Provides-Extra: ai
Requires-Dist: fwquant[core]; extra == "ai"
Requires-Dist: deap; extra == "ai"
Requires-Dist: crewai; extra == "ai"
Requires-Dist: langchain>=0.1; extra == "ai"
Requires-Dist: langchain-openai>=0.1; extra == "ai"
Requires-Dist: litellm==1.83.7; extra == "ai"
Provides-Extra: task
Requires-Dist: fwquant[core]; extra == "task"
Requires-Dist: celery>=5.3; extra == "task"
Requires-Dist: celery-types; extra == "task"
Requires-Dist: django-celery-beat; extra == "task"
Requires-Dist: redis>=7.0; extra == "task"
Provides-Extra: django
Requires-Dist: fwquant[core]; extra == "django"
Requires-Dist: Django>=5.0; extra == "django"
Requires-Dist: djangorestframework; extra == "django"
Requires-Dist: django-timezone-field; extra == "django"
Requires-Dist: django-crontab; extra == "django"
Provides-Extra: macos
Requires-Dist: fwquant[core]; extra == "macos"
Requires-Dist: pyobjc-core; sys_platform == "darwin" and extra == "macos"
Requires-Dist: pyobjc-framework-Cocoa; sys_platform == "darwin" and extra == "macos"
Requires-Dist: pyobjc-framework-Quartz; sys_platform == "darwin" and extra == "macos"
Requires-Dist: pyobjc-framework-Security; sys_platform == "darwin" and extra == "macos"
Requires-Dist: pywebview; sys_platform == "darwin" and extra == "macos"
Provides-Extra: dev
Requires-Dist: fwquant[core]; extra == "dev"
Requires-Dist: black; extra == "dev"
Requires-Dist: flake8; extra == "dev"
Requires-Dist: isort; extra == "dev"
Requires-Dist: mypy; extra == "dev"
Requires-Dist: pytest; extra == "dev"
Requires-Dist: pytest-html; extra == "dev"
Provides-Extra: minimal
Requires-Dist: fwquant[ai,core,web]; extra == "minimal"
Dynamic: author
Dynamic: home-page
Dynamic: maintainer
Dynamic: requires-python

# FWQuant

一个从 0 到 1 完全自建的量化交易平台。

**📋 项目概述**：FWQuant 是一款企业级量化交易系统，支持 CTP 期货网关和 OKX
数字资产交易，提供策略开发、回测验证、实盘交易、风险管理的完整链路。采用事件驱动架构，内置多种经典策略模板，支持单/多策略并行回测，具备完善的风控体系。

<div style="text-align: center;">
  <img src="fuwen.jpg" alt="fuwen">
</div>

## 快速开始

### 安装

```bash
uv pip install fwquant -U
```

### 启动

```bash
fwquant web run
```

### 后台运行

```bash
# 后台启动服务（无窗口）
fwquant web start

# 查看服务状态
fwquant web status
```

### 开机启动

```bash
# 安装开机启动服务（需要管理员权限）
fwquant service install

# 卸载开机启动服务（需要管理员权限）
fwquant service uninstall

# 查看开机启动服务状态
fwquant service status
```



---

## ⚡ 核心功能

| 模块类别     | 核心能力           | 说明            |
|:---------|:---------------|:--------------|
| **交易网关** | CTP / OKX      | 支持期货、数字资产实盘交易 |
| **策略引擎** | CTA策略框架        | 内置6+经典策略模板    |
| **回测系统** | 单/多策略并行        | 支持历史数据回测验证    |
| **风险管理** | 实时风控引擎         | 仓位/止损/熔断管理    |
| **数据管理** | REST/WebSocket | 实时行情与历史数据     |

---

## 📖 文档入口

| 类别       | 文档名称    | 路径                                     |
|:---------|:--------|:---------------------------------------|
| **用户指南** | 📦 安装指南 | [docs/用户安装.md](docs/用户安装.md)           |
|          | 🚀 运行服务 | [docs/运行服务.md](docs/运行服务.md)           |
|          | 💡 帮助文档 | [docs/help.md](docs/help.md)           |
| **程序开发** | 📦 上传打包 | [docs/上传打包_pypi.md](docs/上传打包_pypi.md) |
|          | 📝 开发日志 | [docs/开发日志.md](docs/开发日志.md)           |
|          | 📚 模块文档 | [docs/module_docs/](docs/module_docs/) |
| **综合运维** | 🔧 运维手册 | [docs/运维手册.md](docs/运维手册.md)           |

---

<details>
<summary>📦 内置策略（点击展开）</summary>

- **趋势策略**: Dual Thrust、Double MA、King Keltner
- **震荡策略**: ATR-RSI、Boll Channel
- **组合策略**: 七福策略（多规则融合）

</details>

<details>
<summary>🛠️ 技术架构（点击展开）</summary>

- **语言**: Python 3.12+
- **框架**: FastAPI + PyQt5
- **数据库**: SQLite
- **网关**: CTP / OKX API
- **计算**: Pandas / NumPy / TA-Lib

</details>

<details>
<summary>📚 参考工具（点击展开）</summary>

- **VN.PY**: 量化交易框架设计灵感来源
- **backtrader**: 量化回测框架参考
- **crewAI**: AI 智能体协作框架
- **LangChain**: 大语言模型应用框架
- **ccxt**: 交易网关库

</details>

---

### 其它工具

工具库

```bash
python fuwen_tools/menu.py
```

[开发源码，下载与环境安装](https://yaluo.com/install/fwquant/dev/readme.md)

**致谢**：感谢 VN.PY、backtrader、crewAI、LangChain 及所有开源社区的贡献！
