iQuant-AI量化


这个仓库名为 iQuant,由 UFund-Me 维护,旨在将前沿的人工智能技术(如机器学习、深度学习、强化学习、遗传算法、图计算、知识图谱等)应用于金融量化投资。以下是对该仓库的详细介绍:

项目背景与目标

金融投资领域信息密集且相对结构化,适合机器计算,但当前投资方式仍较为传统。该项目希望借助人工智能技术挖掘金融大数据,为量化投资赋能,尽管金融数据存在低“信噪比”的挑战,但仍致力于让机器辅助投资。

投资层次划分

按照个人参与主动决策的程度,将投资分为三个层次: 1. 全天候大类资产配置:被动管理,长期持续,仅做被动再平衡操作。 2. 战术资产配置:关注宏观周期,在偏好资产上增加仓位。 3. 择时:积极判断市场方向,追求“低买高卖”。

传统量化投资的缺点

传统量化投资使用技术指标(如均值、MACD、RSI、KDJ 等及其线性变种)产生信号,存在线性、参数凭经验无调优、规则静态无法自主进化等问题。

核心功能 - “积木式”回测引擎

提供“积木式”回测引擎,允许用户通过组合不同的算法组件来构建投资策略。示例代码展示了如何使用 SelectFixSelectBySignalSelectTopKWeightEqually 等组件构建策略:

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/
    ...

主要模块功能

  1. engine 模块:包含核心的量化投资引擎代码,如数据加载、策略实现、模型训练等。
    • bt_engine.py:实现了 Backtrader 引擎,用于回测和分析投资策略。
    • model 文件夹:包含各种机器学习和深度学习模型,如 DQLAgent(深度 Q 学习代理)和 LGBModel(LightGBM 模型)。
    • rl 文件夹:包含强化学习相关代码,如金融环境定义和策略优化。
  2. data 模块:用于存储和管理金融数据,包括 HDF5 格式的数据文件。
  3. images 模块:包含项目相关的图片,如主窗口截图。
  4. 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 联系项目团队,共同探讨人工智能技术在金融投资中的应用。

github