分享

入门机器学习落地AI量化的最佳路径:类kaggle的算法竞赛

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

百天计划之第29天,关于“AI智能量化,财富自由与个人成长”相关。

qlib框架使用暂时告一段落。

过去20几天,大家如果一起在学习的话,可以说已经掌握qlib的正确使用方式,甚至是定制与扩展,以及如何正确阅读它的代码。

我们要开始一个新的系列——机器学习在量化中的落地与实践

当然基于的框架主体仍然是qlib,核心技能还是聚焦的。

机器学习,会涉及统计学、传统机器学习、深度学习以及强化学习。因子特征工程,自动调参等。

统计学用于解读样本,处理异常值。

数据质量对于算法模型非常重要,“数据质量决定结果的上限,而算法模型只是帮助我们逼近这个上限”。

统计学里还有时间序列分析相关内容也与量化投资有关。

机器学习我们会围绕sklearn以及集成学习(决策树为基础的集成学习),pytorch深度学习框架以及强化学习。

注意与qlib的学习类似,不能是一个fit, predict这么简单,而是要“借机器学习的能力,实现基于数字的洞察,进而支持决策”。投资本身就是一个基于信息的持续决策过程。

所以,对于机器学习,我们要知其然,更要知其以然。

01 传统的python量化

传统讲python量化的书,往往从pandas的统计功能讲起,什么描述性统计,推断统计,从学习入门的角度没问题,但离解决实际问题还远。我更建议的可行的切入方式是解决类似kaggle比赛里的问题,这些问题都源于生产,而且有很多人提交了真实有效的解决方案。于实战于学习能力,理解知识。

02 kaggle

kaggle是著名的算法“以武会友”的平台,不仅有资金,而且你若获得名次,是实力的表现,可以写到简历作为能力的象征的。google已经把kaggle平台给收了,也足见它在业内的影响力。

有数据,有代码,有讨论这就是非常好的闭环生态。

国内的比赛有阿里云的天池,这些命题和数据都源于实际生产环境,对于锻炼能力,构建机器学习技能很有帮助。

传统机器学习方式,要么直接找一份数据fit一个模型,要么从公式推导讲起,花里胡哨,但离实战终归太远,对于初学者,竞赛的方式是切入机器学习的极佳路径,即便在工作中,你都很难有这么多实战的机会。

kaggle这样的平台,不乏有业内大神团队参与和给出的解决方案,所以从中可以让自己的能力得到快速提升。

03 基础机器学习包sklearn

scikit-learn最新的版本是1.1.2。

qlib有这个依赖,如果已安装可以直接忽略;若未安装,可以使用如下安装指令:

pip install -U scikit-learn

03 hello kaggle

拿到一个题目,先对问题建模,同时完成baseline的搭建

分类模型评价指标:精度、错误率,准确率,召回率,F1值,ROC/AUC

回归模型的评价指标:平均绝对误差,均方误差。

常用的模型有仨:线性模型(Lasso回归,Ridge回归),树模型(随机森林和梯度提升树【XGBoost, LightGBM, CatBoost】)和神经模型。

随机森林就是N棵决策树集体决策(Bagging的思想)。

04 qlib里的基准模型

xgboost:

model:
class: XGBModel
module_path: qlib.contrib.model.xgboost
kwargs:
eval_metric: rmse
colsample_bytree: 0.8879
eta: 0.0421
max_depth: 8
n_estimators: 647
subsample: 0.8789
nthread: 20

转成代码调用:

def load_xgboost():
from qlib.contrib.model.xgboost import XGBModel
config = {
'eval_metric': 'rmse',
'colsample_bytree': 0.8879,
'eta': 0.0421,
'max_depth': 8,
'n_estimators': 647,
'subsample': 0.8789,
'nthread': 20
}
model = XGBModel(**config)
return model

sklearn包里的模型,以及xgboost或者lightGBM这样的树模型包,作为baseline使用都非常容易。

机器学习难在数据预处理,特征工程,如何分析并调优参数等,这才是核心之关键。

小结:

本篇开个头,切入点是sklearn的使用,核心框架会聚焦在集成树模型上。

qlib对于模型都有baseline的实现,重点是在此基础上我们如何调优。

AI量化投资 =  AI + 量化 + 投资。

三个技能集组成,核心是投资技能,量化是手段,AI+是工具。

量化框架选用qlib, AI+选择sklearn,集成树,pytorch还有强化学习。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多