文章目录

  • 1.多因子模型概述
  • 2.因子挖掘
  • 3.多因子策略
  • 4.多因子策略构建
    • 基于多因子的策略通用流程
    • Fama-French三因子
    • 因子效果测算方法
    • 因子测算结论&量化策略构建

东西有点多,拆开成多个文章,边写边整合~,应该会分成2部分:

  1. 第1部分—因子测算&策略构建
  2. 策略回测与分析

1.多因子模型概述

多因子模型(Multifactor Model),也是使用最为广泛的模型(神似 y=wx+by=wx+by=wx+b)。

  • 因子:资产收益(率)的解释变量
  • 多因子模型:是基于“因子”的投资理论构造出的一个模型,用于描述投资的逻辑

因为多因子模型是希望构建“解释变量”来解释最终收益,因此在构造模型的过程中,会存在一些前提条件。想象这样一个场景:过去买了好多股票【股票的组合】,每天都会有当天的损益,最终形成收益曲线图。在整个过程中:

  1. 因子是用来解释股票本身的,而最终会通过作用于个股价格的涨跌,将损益传递给整个组合
  2. 因子和当天的损益都是随时间变化的,因此在分析时,因子也是一个时序数据

在多因子模型中,在 ttt 时刻,第 iii 只股票的超额收益率表示为:
ri,t=∑m=1nβi,mXi,m+εi,tr_{i,t} = {\textstyle \sum_{m=1}^{n}} \beta _{i,m} X_{i,m} + \varepsilon _{i,t}ri,t​=∑m=1n​βi,m​Xi,m​+εi,t​

其中 ri,tr_{i,t}ri,t​ 表示 ttt 时刻第 iii 只股票的超额收益(label值),βi,m\beta _{i,m}βi,m​ 表示计算出的因子的收益矩阵(模型拟合出的权重矩阵),Xi,mX_{i,m}Xi,m​ 表示因子的暴露矩阵(指因子的具体取值,也就是x值),εi,t\varepsilon _{i,t}εi,t​ 表示未被因子解释的特殊收益,即特异性收益率(截距项、误差项)

注:

  1. 这一部分的内容通常是金融术语,括号里的内容计算机/算法术语;
  2. 表示多因子模型公式的写法很多,这是其中一种
  3. 在多因子模型中,最后一项虽然与ML模型中的误差项作用类似,但是在模型中的含义却不同:
  • ML中假设每个x独立同分布,因此误差项是服从标准正态分布N(0,1),这个误差项作为先验而存在。
  • 多因子模型中由于是为了让解释变量解释收益,所以期望误差项趋近于0,而并非先验的服从什么分布。因为当误差项为0时,代表所有解释变量可以完美解释收益,但目前没有这么牛的模型,所以只能在一定的前提下,让误差项通过检验,来验证模型的可行性。

2.因子挖掘

因子的来源有一个专业术语【因子挖掘】,挖掘出的因子可以被拿来解释个股或组合的收益。目前因子挖掘体系相对成熟,也是入门量化必备的技能。本节中这一部分简单介绍,其他文章中会着重介绍。以CNE7为例,它通过因子的性质将因子分为:

  1. 风格因子:反映个股状态、预期的因子,体现的是过去一段时期内呈现出的一些特征。比如个股的财务指标,个股市值,PE指标,股价的波动性,换手率等因素
  2. 行业因子:反映个股所处行业的行业特征。由于行业周期性、政策冲击、重大事件等因素,导致从事相近业务的股票在市场上也会表现出较高的相关性的因素
  3. 市场因子:更加宏观,反映由于宏观环境影响、供求关系变化呈现出的同涨同跌的情况

挖掘到因子后,判断因子有效性的步骤如下:

  1. 如果因子的值域范围较大,通常会将数据分箱(或转换为分位数)后,用离散后的值来计算
  2. 由于因子本身也是时序数据,因此通过滑动窗口的验证会验证很多轮,根据当期的因子值与下期的收益来判断因子的收益
  3. 每个滑动窗口会得到一个原始因子的 xxx 与最终的收益 yyy,最后通过胜率、均值、方差、相关系数等方法来验证因子的有效性;如使用相关系数验证时,则验证的是 corr(上一期的因子揭露值,本期的收益)corr(上一期的因子揭露值,本期的收益)corr(上一期的因子揭露值,本期的收益)

3.多因子策略

多因子模型适合很多场景,通常来讲,根据模型使用的【因子】的不同,可以将对应的模型分为以下三个类别:

通常来讲,如果我们对金融知识并不了解,特别常见一个操作就是将所有因子排排站,然后按照ML的流程对所有因子进行:特征编码、降维、建模、训练预测。

注:其实这个流程是有一个特别严重的错误操作,我们打过比赛的同学都知道,比如Kaggle里与生物化学相关竞赛、有一定专业性的调查问卷分析等相关竞赛,按照一般的流程是几乎达不到高分,或者说,能够出类拔萃的都不仅仅是建模调参就能达到的。需要对数据做额外的一些操作,比如通过专业领域已有的公式对数据做变化,而变化后的数据可能才是建模的关键。因此,对因子及其背后的金融含义有足够的了解,才能够得到回测时更优的模型。但与此同时伴随着一个风险。我们测算因子的过程就是开天眼的过程,在后续使用中,测算的结论会被先验的代入到后续的计算中。

如果不注意这一点,我们容易把市场当做一个数字游戏或建模任务,而当其他参与者并不这么认为时,风险敞口会在一瞬间出现,造成一定破坏后,在瞬间消失(这里大家可以看一下桥水基金的相关研究,会有更深的感触),同时容易被归因为偶发事件,逻辑不严谨等问题。因为资本是风险最后的承担着,因此在金融领域大家要格外谨慎,谨慎的程度取决于这些钱与你的亲密程度

量化选股——基于多因子模型的量化策略(第1部分—因子测算策略构建)相关推荐

  1. 量化选股——基于动量因子的行业风格轮动策略(第1部分—因子测算)

    文章目录 动量因子与行业轮动概述 动量因子的理解 投资视角下的行业轮动现象 投资者视角与奈特不确定性 动量因子在行业风格上的效果测算 动量因子效果测算流程概述 1. 行业选择:申万一级行业 2. 动量 ...

  2. 量化选股——基于动量因子的行业风格轮动策略(第2部分—策略回测)

    文章目录 1. 交易策略 2. Backtrader回测程序 3. 回测效果 3.1 2020年1月1日 - 2021年1月1日 3.2 2021年1月1日 - 2022年1月1日 3.3 2022年 ...

  3. python多因子量化选股模型_GitHub - zhangjinzhi/Wind_Python: 量化开发 多因子选股模型...

    多因子选股模型 multifactorial_model文件夹中是目前最完整的. 版本1和2是初级的实现.对数据库进行了多次操作,更多的是考虑功能,性能问题暂时作为次要的. 版本3是改进版本,对原始数 ...

  4. 量化选股策略模型大全

    原文链接:原文 量化选股就是利用数量化的方法选择股票组合,期望该股票组合能够获得超越基准收益率的投资行为.量化选股策略总的来说可以分为两类:第一类是基本面选股,第二类是市场行为选股. 基本面选股主要有 ...

  5. 什么是多因子量化选股模型?

    量化投资中经常听到的"多因子模型"是个什么鬼?因子是影响因素的简称,或简单理解成指标.我们都知道股票收益受到多重因素的影响,比如宏观.行业.流动性.公司基本面.交易情绪等等.所谓& ...

  6. 多因子选股模型python_什么是多因子量化选股模型?

    引言 量化投资中经常听到的"多因子模型"是个什么鬼?因子是影响因素的简称,或简单理解成指标.我们都知道股票收益受到多重因素的影响,比如宏观.行业.流动性.公司基本面.交易情绪等等. ...

  7. 基于人工智能的期权量化交易

    基于人工智能的期权量化交易 基于人工智能的期权量化交易 基于人工智能的期权量化交易 该文基于人工智能AI的深度强化学习,进行股票期权的量化投资策略研究及回测评估.作者建立了人工智能学习及交易系统.基于 ...

  8. mt4量化交易接口:分享日常量化选股方法

    在量化投资中,每个交易者总有很多选股的原因,有的着重看财务指标,有的则喜欢依赖于技术分析,而实际上,量化选股的本质=因子+算法,因子就是交易者觉得影响股价变动的一个或多个原因,算法就是交易者心中遵循的 ...

  9. python量化选股策略 源码_常见的十大量化投资策略(附源码)

    量化投资策略是利用量化的方法,进行金融市场的分析.判断和交易的策略.算法的总称.著名的量化投资策略有以下10种(注:策略源码模板不能直接用于实盘交易,仅供探讨交流) 01.海龟交易策略 海龟交易策略是 ...

最新文章

  1. 工作总结 npoi 模板 导出公式 excel
  2. python manager详解_Python通过Manager方式实现多个无关联进程共享数据
  3. 引用数据类型的深拷贝
  4. core Bluetooth(蓝牙4.0)
  5. 解决git bash闪退问题
  6. WAP自助建站 我编程之路的启蒙
  7. python求第n个质数_找到第n个质数:麻木
  8. Django model 设置数据库 字段 编码
  9. LBP及纹理表达 转自http://blog.sina.com.cn/s/blog_ba9d7d9901018k4v.html
  10. matlab演奏《起风了》代码
  11. 新概念英语第三册51-60课(转)
  12. 武汉大学服务器项目投标函,武汉大学
  13. dos2unix 安装
  14. ATF启动(一):整体启动流程
  15. GDOI2018 涛涛摘苹果 [CDQ分治]
  16. Go Signal信号
  17. 太秀了!那个在 GitHub 用文言文编程的小哥,竟从 28 万行唐诗中找出了对称矩阵
  18. 理财——小白学习货币基金
  19. Jeff Dean:机器学习在硬件设计中的潜力
  20. 配有N显卡的i系列CPU笔记本MediaCoder_x64压缩视频最快速参数设置

热门文章

  1. 《TCP/IP协议族》:POP3协议
  2. 【Docker篇】Docker的基本组成,底层原理分析
  3. mysql distribute by_Hive学习(八) 排序:order by、sort by、distribute by、cluster by
  4. Chrome浏览器占用内存过高解决办法
  5. Uni-app框架UniPush安卓消息推送模拟配置
  6. 佳能相机储存卡故障:文件或目录损坏且无法读取
  7. 嵌入式编程基本概念和常识
  8. 城市公交线路查询系统mysql_网上公交线路查询系统网站(sqlserver2000)
  9. C++/C 文件二进制读写
  10. 整理的程序员使用利器(工具)