aitrader深度整合qlib做A股股票智能量化(代码+数据下载)

原创内容第759篇,专注量化投资、个人成长与财富自由。

股票智能量化的角度,Qlib是个不错的框架,因此aitrader把qlib也整合进来。

qlib的数据准备,A股的历史所有日线和分钟线,可以通过脚本下载,我已经打包到qlib_extends下:

图片

# download 1d
python scripts/get_data.py qlib_data --target_dir ~/.qlib/qlib_data/cn_data --region cn

# download 1min
python scripts/get_data.py qlib_data --target_dir ~/.qlib/qlib_data/qlib_cn_1min --region cn --interval 1min

qlib下载的数据已经是后复权,可以直接用于策略回测。

图片

图片

模型和数据库通过配置文件加载:

from qlib.contrib.model.gbdt import LGBModel
from qlib.contrib.data.handler import Alpha158
from qlib.utils import init_instance_by_config, flatten_dict
from qlib.workflow import R
from qlib.workflow.record_temp import SignalRecord, PortAnaRecord

market = "csi300"
benchmark = "SH000300"

data_handler_config = {
    "start_time": "2008-01-01",
    "end_time": "2020-08-01",
    "fit_start_time": "2008-01-01",
    "fit_end_time": "2014-12-31",
    "instruments": market,
}

task = {
    "model": {
        "class": "LGBModel",
        "module_path": "qlib.contrib.model.gbdt",
        "kwargs": {
            "loss": "mse",
            "colsample_bytree": 0.8879,
            "learning_rate": 0.0421,
            "subsample": 0.8789,
            "lambda_l1": 205.6999,
            "lambda_l2": 580.9768,
            "max_depth": 8,
            "num_leaves": 210,
            "num_threads": 20,
        },
    },
    "dataset": {
        "class": "DatasetH",
        "module_path": "qlib.data.dataset",
        "kwargs": {
            "handler": {
                "class": "Alpha158",
                "module_path": "qlib.contrib.data.handler",
                "kwargs": data_handler_config,
            },
            "segments": {
                "train": ("2008-01-01", "2014-12-31"),
                "valid": ("2015-01-01", "2016-12-31"),
                "test": ("2017-01-01", "2020-08-01"),
            },
        },
    },
}

# model initialization
model = init_instance_by_config(task["model"])
dataset = init_instance_by_config(task["dataset"])

# start exp
with R.start(experiment_name="workflow"):
    # train
    R.log_params(**flatten_dict(task))
    model.fit(dataset)

    # prediction
    recorder = R.get_recorder()
    sr = SignalRecord(model, dataset, recorder)
    sr.generate()

使用lightGBM模型,Alpha158因子集:

图片

qlib基本上是开箱即用,而且内置了很多前沿的机器学习,深度学习模型,后续我们来做深度整合。

代码在这个位置:

图片

AI量化实验室——2024量化投资的星辰大海

吾日三省吾身

之前关于“C计划”,有过两种思考。

一种是成功之后,如果不计较得失,你最想做的事情;另一种是关于财富人生。

之前倾向于前一种,这可能有误导性。

这种设想基于你已经财富自由,那当然追求的是意义,内心平静。登上过顶峰,当然可以云淡风清。

但这种状态,没有财富自由的人是想象不出来的。

因此修正为,没有财富之前,C计划目标就一个——————财富自由!在没有财富自由之前,一切的目标应该都是财富自由。

当然这并不意味着你没有生活,无论走什么样的道理,该如何生活还是会如何生活。只是你生活多了努力的方向罢了。

我们来量化一下财富自由标准,个人认为的标准是无负债,可自由投资的净资产5千个W起,一个小目标为佳。设定目标五年为一个阶段,3年太短,7年又太长。尽管之前很多人说“七年就是一辈子”。

人生七年可以从头完成一件大事。

两个五年吧,十年之约——2025-2035年。

我之前定的小目标“五年财务自由退休”,是五年积累500个W可自由投资的净资产,这个也可以定义为高配版本的“财务安全”。后来我感觉,这个版本的“财务安全”,仍然带不来“心理安全”。

1个小目标是什么感觉,你可以自由选择生活的地方,做喜欢的事情。有了目标,那如何做呢?

500个W是可以规划,但5000个W甚至是10000个W就必须做大方向的突破了!

面向未来做规划,目前想到的大趋势一定是AGI,通过AGI的路上,会有财富重塑的机会。

AGI+行业应用。想到的仍然是AGI+金融。金融行业的永续的,AGI是风口+永续的,所以这个方向是有大机会的。

AI量化实验室——2024量化投资的星辰大海

AI量化实验室 星球,已经运行三年多,1200+会员。

aitrader代码,含几十个策略源代码,因子表达式引擎、遗传算法(Deap)因子挖掘引等,支持vnpy,qlib,backtrader和bt引擎,名内置多个年化30%+的策略,每周五迭代一次,代码和数据在星球全部开源。

图片

扩展  •  历史文章   

EarnMore(赚得更多)基于RL的投资组合管理框架:一致的股票表示,可定制股票池管理。(附论文+代码)

十年年化35%的斜率轮动策略(几行python代码),aitrader_v2.0代码发布

动量vs斜率:10年16倍的策略对比(附python代码)

10年17倍:使用卡曼滤波过滤器优化动量和斜率策略(python代码策略下载)

卡曼滤波把策略从年化30%提升到年化53%(python代码)

在长期年化收益32.6%的轮动策略上加择时逻辑,最大回撤略降(python代码)

aitrader v2.1源码发布:沪深300换成红利低波后,十年长期年化提升至34.1%,夏普1.21(python代码)。

aitrader兼容多引擎:vnpy,qlib, backtrader和bt回测实盘一体(附:年化30%策略集python代码)

近四年年化59.1%动量轮动+均线择时策略在aitrader本地实现了。

▼点击阅读原文,访问“AI量化实验室”策略集合

(http://www.ailabx.com/mall)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI量化投资实验室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值