股票策略03 | 基于机器学习的多因子策略

该博客介绍了如何利用Adaboost算法构建股票多因子策略。通过调整数据权重,结合弱分类器形成强学习器,选取市值和市净率等财务因子,选出表现最佳的股票进行交易。在实际应用中,策略每月调仓,未来计划增加技术指标因子和更灵活的调仓频率。
摘要由CSDN通过智能技术生成

量化策略开发,高质量社群,交易思路分享等相关内容

『正文』

ˇ

Adaboost算法介绍

提升算法的主要目的是将预测能力有限的单个弱学习器(例如决策树)组合 成一个集成强学习器。依据弱学习器的组合方式,可将集成学习算法分为两大种 类,一类为 Bagging 系列(并行方法),一类为 Boosting 系列(串行方法)。对于 多棵决策树,如果以 Bagging 的方式组合起来,可以得到上文中随机森林算法;如果以 Boosting 的方式组合起来,就得到了接下来的 AdaBoost 算法。

AdaBoost 算法基本原理

对于使用 Boosting 方式的集成算法有两个关键问题:1. 如何修正串行中每 一轮训练数据的权值;2. 如何将一组弱学习器组合成强学习器。

首先 AdaBoost 的做法[3]是提高那些被前一轮弱分类器错误分类样本的权值, 并降低那些被正确分类样本的权值。使得那些没有得到正确分类的数据,由于其 权值的加大而将受到后一轮弱分类器的更大关注。于是,分类问题被一系列的弱 分类器逐一解决。

其次 AdaBoost 采取加权多数表决的方法组合弱分类器。具体来说,加大分 类误差率小的弱分类器权值,使其在表决中起较大的作用,减小分类误差率大的 弱分类器的权值,使其在表决中起较小的作用。

策略逻辑

从A股中选择出市值最小的300只票(剔除上市短,ST,停牌票),获取这些股票的财务因子进行训练。从训练结果里再次选择出市值最小的前10只进行交易,每月第一个交易日选股,踢出不在池子里的,10只股票轮动。

模块导入

from __future__ import print_function, absolute_importfrom gm.api import *import datetimeimport pandas as pdimport numpy as npfrom sklearn.ensemble import AdaBoostClassifierfrom s
  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值