这个仓库名为 iQuant
,由 UFund-Me 维护,旨在将前沿的人工智能技术(如机器学习、深度学习、强化学习、遗传算法、图计算、知识图谱等)应用于金融量化投资。以下是对该仓库的详细介绍:
项目背景与目标
金融投资领域信息密集且相对结构化,适合机器计算,但当前投资方式仍较为传统。该项目希望借助人工智能技术挖掘金融大数据,为量化投资赋能,尽管金融数据存在低“信噪比”的挑战,但仍致力于让机器辅助投资。
投资层次划分
按照个人参与主动决策的程度,将投资分为三个层次: 1. 全天候大类资产配置:被动管理,长期持续,仅做被动再平衡操作。 2. 战术资产配置:关注宏观周期,在偏好资产上增加仓位。 3. 择时:积极判断市场方向,追求“低买高卖”。
传统量化投资的缺点
传统量化投资使用技术指标(如均值、MACD、RSI、KDJ 等及其线性变种)产生信号,存在线性、参数凭经验无调优、规则静态无法自主进化等问题。
核心功能 - “积木式”回测引擎
提供“积木式”回测引擎,允许用户通过组合不同的算法组件来构建投资策略。示例代码展示了如何使用 SelectFix
、SelectBySignal
、SelectTopK
和 WeightEqually
等组件构建策略:
algo_list_rolling = [
SelectFix(instruments=['sh000300', 'sh000905', 'sz399006']),
SelectBySignal(signal_buy='to_buy', signal_sell='to_sell'),
SelectTopK(K=1, col='五日动量'),
WeightEqually()
]
代码结构
仓库的主要代码结构如下:
.gitattributes
.gitignore
BUILD
LICENSE
README.md
WORKSPACE
qbot_main.py
qbot_test.py
setup.py
.xet/
config.toml
engine/
BUILD
__init__.py
alpha/
bt_engine.py
common.py
config.py
data_utils.py
datafeed/
demos/
indicator/
main.py
ml/
model/
performance.py
qlib_mgr.py
rl/
stats.html
strategy/
scripts/
creat_build_file.sh
images/
BUILD
main_window2.png
mainwindow.png
weixin.jpg
xingqiu.png
data/
BUILD
bkt_result/
csv/
hdf5/
gui/
...
utils/
...
qbot/
BUILD
third_party/
...
notebook/
...
主要模块功能
engine
模块:包含核心的量化投资引擎代码,如数据加载、策略实现、模型训练等。bt_engine.py
:实现了 Backtrader 引擎,用于回测和分析投资策略。model
文件夹:包含各种机器学习和深度学习模型,如DQLAgent
(深度 Q 学习代理)和LGBModel
(LightGBM 模型)。rl
文件夹:包含强化学习相关代码,如金融环境定义和策略优化。
data
模块:用于存储和管理金融数据,包括 HDF5 格式的数据文件。images
模块:包含项目相关的图片,如主窗口截图。scripts
模块:包含一些脚本文件,如构建文件生成脚本。
开发环境与安装部署
开发环境要求 Python 3.7 至 3.10 版本。安装步骤如下:
git clone https://github.com/Charmve/iQuant
cd iQuant
pip install -r requirements.txt
python qbot_main.py
联系信息
可以通过微信 Yida_Zhang2
联系项目团队,共同探讨人工智能技术在金融投资中的应用。