Quant1X 是一个多语言量化交易框架,支持 C++、Go、Rust、Python,提供完整的量化交易解决方案,包括数据处理、策略开发、回测引擎、实时交易等功能。
- 多语言支持:C++20、Go 1.25、Rust 1.88+、Python 3.12+
- 高性能:优化的算法和数据结构,支持 SIMD 指令集
- 模块化设计:可插拔的组件架构,易于扩展
- 实时数据:支持 Level1/Level2 市场数据
- 策略框架:内置多种技术指标和策略模板
- 回测引擎:高效的回测系统,支持多资产组合
- 网络通信:内置 HTTP/WebSocket 客户端,支持多种协议
- 64位操作系统 (Windows/Linux/macOS)
- 至少 8GB RAM,推荐 16GB+
- 支持 AVX2 指令集的 CPU
语言 | 版本要求 | 推荐版本 |
---|---|---|
Python | 3.12+ | 3.12.x |
Go | 1.25+ | 1.25.x |
Rust | 1.88+ | 1.88+ (2024) |
C++ | C++20 | GCC 14.3+/Clang 18+/MSVC 14.3+ |
python | golang | rust | c++ |
---|---|---|---|
3.12.x | 1.25.x | 1.88+/2024 | gcc14.3+/clang18+/msvc14.3+ |
安装brew时需要注意避免使用root权限
python的运行环境可能存在多个版本冲突的问题,那么怎么来解决多版本的共存的问题呢?使用pyenv。
brew install pyenv
pyenv versions
我的电脑返回以下版本信息
system
3.8.16
* 3.10.10 (set by /Users/${USERNAME}/.pyenv/version)
pyenv install -l
pyenv install 3.12.9
安装python完成之后, python类库管理工具pip已经默认安装完成了
工具 | 功能 |
---|---|
pip | 类似maven、gradle、go mod的类库管理工具 |
pip-autoremove | 自动删除类库所有依赖库 |
pipreqs | 项目/类库交叉依赖检测 |
windows
cd ~\AppData\Roaming\pip
notepad.exe pip.ini
*nix
cd ~/.pip
vim pip.conf
输入以下内容
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = https://pypi.tuna.tsinghua.edu.cn
python环境中依赖管理的配置文件为requirements.txt,类似java的maven pom.xml、golang的go.mod。
pip install -r requirements.txt
pip freeze > requirements.txt
pip install pipreqs
pipreqs ./ --encoding utf8
pip install --upgrade setuptools wheel twine
python setup.py sdist bdist_wheel
twine upload --repository testpypi dist/*
twine upload dist/*
import matplotlib
matplotlib.matplotlib_fname() #输出matplotlib包所在的配置文件的路径
我选择了SimHei中文字体, 复制到fonts/ttf/目录下
cp -r /Users/${USERNAME}/Library/Fonts/SimHei.ttf fonts/ttf/
cd ~/.matplotlib
rm -rf *
环境设定
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
go env -w GOPRIVATE=gitee.com
# 安装 Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# 更新到最新版本
rustup update
欢迎贡献代码!请遵循以下步骤:
- Fork 本项目
- 创建特性分支 (
git checkout -b feature/AmazingFeature
) - 提交更改 (
git commit -m 'Add some AmazingFeature'
) - 推送到分支 (
git push origin feature/AmazingFeature
) - 创建 Pull Request
- 遵循各语言的编码规范
- 添加单元测试
- 更新文档
- 确保所有测试通过
本项目采用 Apache 2.0 许可证 - 查看 LICENSE 文件了解详情。
注意: 本项目仅用于学习和研究目的,不构成投资建议。在实际交易前,请充分了解风险并咨询专业人士。