分享

ModelTrainer:基于AutoGluon的多因子合成AI量化通用流程

 AI量化实验室 2023-10-16 发布于北京

原创文章第355篇,专注“个人成长与财富自由、世界运作的逻辑与投资"。

前面的工作,我们的框架基本完成了量化的基础工作,后续正式进入AI的部分AI量化系统Quantlab V1.7代码更新,支持pybroker引擎,含大类资产风险平价及波动率策略源码集,平均年化15%

AI前沿已经进入了AutoML的阶段,就是让机器进行机器学习。

把这一部分技术用于赋能金融投资,是非常有意义的事情。自动化机器学习,仅需要提供数据,AI将进行特征工程,模型选择,参数优化,模型更新及自动化部署等一系列工作,意味着,机器可以根据最新的数据、市场环境自主进化。

想想是不是非常美好。

当然,金融与其他行业不同,一步到位是不可能的。

但这个方向一定是正确的,越早拥抱越好,传统投资一直有生命力,但很累对不对,建立好一个系统,让系统为我们工作,这本身不就是被动收入——“睡后收入”的定义么?

之前我们分享过autogluon相关的文章:

年化26.8%,夏普1.28,单向做多螺纹钢的期货策略,Autogluon机器自主调参(策略+代码下载)。

使用AutoGluon的话,代码特别简洁,我们的数据及特征是已经计算好的:

autogluon.core TabularDataset
autogluon.tabular TabularPredictor

engine.algos Algo
os
loguru logger
config DATA_DIR_MODELS


ModelTrainer:
    (dfmodel_path=train_data_percent=):
        .df = df
        .model_path = DATA_DIR_MODELS.joinpath(model_path)
        .train_data_percent = train_data_percent

    ():
        df = .df
        split = ((df) * .train_data_percent)

        train = df.iloc[:split].copy()
        test = df.iloc[split:].copy()
        label = train_data = TabularDataset(train)
        test_data = TabularDataset(test)
        predictor = TabularPredictor(=label=.model_path.resolve()).fit(train_data)
        (predictor.leaderboard(test_data=))

自动训练13个模型:

训练集55.8%,测试集50.8%(有一定的正概率,但还不明显,这是符合预期的,如果这么容易,那硅谷的大神岂不分分钟“攻陷”华尔街。。。)。

明天我们使用再引入深度神经网络,使用keras(tensorflow搭建深度网络),来分析,对比,优化。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多