【量化交易笔记】9.量化投资理论及一般流程

前言

在第7篇文章中指出,量化交易的主要有两方面应用,基于的数据主要是两个类型,如前面讲的用之前的数据预测股价,这类数据我们可归为纵向研究数据,又称时间序列数据,另一类是横截面数据,以称截面数据,即在一个时间节点上的数据。现在量化平台的因子分析,都是基于截面数据做分析和研究。从广义上讲,其实还有一种数据类型,面板数据,综合了截面数据和时间序列两个维度,不局限于股票,如CPI数据,各种工业指数等。

在量化投资中最重要的三大理论为:资产定价理论、投资组合理论以及市场有效假说理论。而资产定价理论是现在量化交易的基础,现在流行的多因子模型是在此基础上发展起来的。

过多的理论的东西,只做初步的介绍,让小伙伴有所了解量化投资的底层逻辑,如果看不懂,可以跳过。

量化投资主要理论

  • 资本资产定价模型CAPM
  • 套利定价理论APT
  • Fama_French三因子模型
  • 多因子模型
资本资产定价模型CAPM

资本资产定价模型(Capital Asset Pricing Model 简称CAPM)即市场资产预期收益率与风险资产之间关系及均衡价格形成的一种资本成本估价方法。

对于一个给定的资产i,它的期望收益率和市场投资组合的期望收益率之间的关系可以表示为:
E ( r i ) = r f + β i m [ E ( r m ) − r f ] E(r_i)=r_f + \beta_{im}[E(r_m)-r_f] E(ri)=rf+βim[E(rm)rf]

E ( r i ) E(r_i) E(ri)是资产i的期望收益率
r f r_f rf ​是无风险收益率,通常以短期国债的利率来近似替代;

β i m ​ \beta_{im}​ βim:(Beta)是资产 i的系统性风险系数,其中 β = C o v ( r i , r m ) V a r ( r m ) \beta=\frac{Cov(r_i,r_m)}{Var(r_m)} β=Var(rm)Cov(ri,rm)

E ( r m ) E(r_m) E(rm)是市场投资组合 m m m 的期望收益率,通常用股票价格指数收益率的平均值或所有股票的平均收益率来代替;
E ( r m ) − r f E(r_m) − r_f E(rm)rf ​是市场风险溢价(Market Risk Premium),即市场投资组合的期望收益率与无风险收益率之差。
E E E 是期望,去掉后再画成图如下。
CAPM
上图是理论情况,而实际情况是有误差项,即

r i = α + r f + β ( r m − r f ) r_i=\alpha+r_f+\beta(r_m-rf) ri=α+rf+β(rmrf)

这里的 α \alpha α (Alpha)是指资产收益率在风险之外有了脱离了风险的“额外收益”。
β \beta β (Beta)为资产风险程度

  • 如果 Alpha = 0,这意味着该资产的表现几乎符合预期,已获得与风险相称的回报。
  • 如果 Alpha > 0,这意味着它的表现优于市场。Alpha 值为 5 表示该资产的表现优于基准的5%
  • 如果 Alpha <0 这意味着它表现不佳。Alpha 值为 -2 意味着该工具的表现比基准低 2%。

如你所见,高 Alpha 总是好的。它衡量相关股票、证券或投资组合的风险调整后的表现。
而 Beta 会告诉我们资产显示相对于所选基准的固有风险。

  • 如果Beta = 1,则该工具的波动性与与之比较的基准相同。
  • 如果Beta >1,则该工具本质上更具波动性。
  • 如果Beta <1或接近于 0,则该工具的波动性较小。
    · 我们也可以使用负 Beta 值,其中回报与基准的回报呈负相关。

比如,在股市表现良好的时期,高 Beta 股票往往会跑赢大盘。同样,当股市表现不佳时,低 Beta 股票往往会跑赢大盘(因为它们下跌的幅度较小)。

套利定价理论APT

套利定价理论(Arbitrage Pricing Theory , APT)以收益率形成过程的多因子模型为基础,认为证券收益率与一组因子线性相关,这组因子代表证券收益率的一些基本因素。事实上,当收益率通过单一因子(市场组合)形成时,将会发现套利定价理论形成了一种与资本资产定价模型相同的关系。因此,套利定价理论可以被认为是一种广义的资本资产定价模型,为投资者提供了一种替代性的方法,来理解市场中的风险与收益率间的均衡关系。

r i = a + β 1 F 1 + β 2 F 2 + β 3 F 3 + . . . + β k F k + ϵ i r_i=a+\beta_1F_1+\beta_2F_2+\beta_3F_3+...+\beta_kF_k+\epsilon_i ri=a+β1F1+β2F2+β3F3+...+βkFk+ϵi

矩阵表示
r = a + B ∗ F + ϵ r=a+B*F+\epsilon r=a+BF+ϵ

r r r 是N个资产收益率组成的列向量;
a a a 是常数组成的列向量;
B B B 是N*K的矩阵,代表因素K 对不同资产的暴露;
F F F 是因子收益率的列向量。

Fama_French三因子模型

三因子模型 超额回报率由三个因子来解释,分别是市场风险溢价因子、市值规模因子(SMB)以及价值因子(HML)
R i = R f + β i ( R m − R f ) + β i , s S M B + β i , h H M L + α R_i = R _{f} + \beta _{i}(R _{m} - R _{f}) + \beta _{i,s} SMB + \beta_{i,h} HML + \alpha Ri=Rf+βi(RmRf)+βi,sSMB+βi,hHML+α

三因子模型并不代表资本定价模型的完结,在最近的研究发现,三因子模型中还有很多未被解释的部分,如短期反转、中期动量、波动、偏度等因素。
比如四因子,五因子等。
所以更多的因子用来解释股票收益率,开启了多因子的篇章。

多因子模型

R i = α i + Σ k = 1 K β i , k F i , k + ϵ i R_i=\alpha_i+ \Sigma_{k=1}^{K}\beta_{i,k}F_{i,k}+\epsilon_i Ri=αi+Σk=1Kβi,kFi,k+ϵi

R i R_i Ri:资产的收益
α i \alpha_i αi:资产的预期收益
b e t a i , k beta_{i,k} betai,k:资产的收益率对因子中一个惊喜的敏感性,
ϵ i \epsilon_i ϵi:均值为零的误差项,它代表了 没有用因子模型解释的资产回报部分

​上面的模型,都统一的转化为矩阵形式

R = α + β F + ϵ R=\alpha+\beta F+\epsilon R=α+βF+ϵ

有了上述理论基础,
最后就是制作量化策略,其中用的最多的是多因子策略

多因子策略研究流程

基础流程

数据获取 --> 数据挖掘 --> 策略构建 --> 策略回测 --> 策略分析 --> 模拟交易 --> 实盘交易。

一般流程

1、数据获取:数据准备,数据处理(去极值、标准化、市值中性化)
2、数据挖掘:单因子有效性分析与检验(单因子IC分析、因子收益率分析等),多因子分析与检验(多因子相关性分析、多因子组合分析等)
3、策略构建:因子权重确定(打分法、回归法计算因子权重),确定股票池及股票排序选股(因子相关性强弱、因子排序方向等)
4、策略回测:回测区间,调仓周期(日、月、季等)
5、策略分析:计算组合业绩表现
6、模拟交易:在交易软件上实时模型炒股收益
7:实盘交易:经历模型交易的考验,上实盘

以后的章节就是围绕以上述内容展开,敬请关注。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/162657.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于CW32单片机pack包安装 KEIL IAR

CW32 系列微控制器软件开发工具入门 芯片包 1. 下载芯片包 官方下载链接&#xff1a;武汉鑫源半导体 2. 安装芯片包 双击芯片包.pack文件 支持 CW32F 系列的 IDE 支持 CW32F 系列的工具链&#xff1a; • • EWARM v7.70 或更高版本 MDK-ARM v5.17 或更高版本 2.1 EW…

Android MediaMetadataRetriever setDataSource failed: status = 0xFFFFFFEA

Android MediaMetadataRetriever setDataSource抛错&#xff1a; java.lang.RuntimeException: setDataSource failed: status 0xFFFFFFEA 原因是 setDataSource(String path) path指向的视频文件大小为0或者是破损视频资源。 Android AppGlideModule,DataFetcher,ModelLoad…

环境变量【使用命令行参数引出环境变量】

前提&#xff1a;命令行参数 大家在写C/C程序的时候肯定见过下面这种情况&#xff1a; main函数里面携带的参数&#xff0c;平常写代码过程中很少用到这两个参数&#xff0c;接下来我们就研究一下 我们也不知道 指针数组argv里面到底保存的是什么&#xff0c;也不知道这个a…

Spring 国际化:i18n

文章目录 i18n概述Java国际化Spring6国际化MessageSource接口使用Spring6国际化 i18n概述 国际化也称作i18n&#xff0c;其来源是英文单词 internationalization的首末字符i和n&#xff0c;18为中间的字符数。由于软件发行可能面向多个国家&#xff0c;对于不同国家的用户&…

Apacheb Shiro 1.2.4反序列化漏洞(CVE-2016-4437)

Apache Shiro 1.2.4反序列化漏洞&#xff08;CVE-2016-4437&#xff09; 1 在线漏洞解读: https://vulhub.org/#/environments/shiro/CVE-2016-4437/2 环境搭建 cd /home/kali/vulhub/shiro/CVE-2016-4437启动&#xff1a; sudo docker-compose up -d # 拉取下载并启动sud…

PyQt 小程序

设备管理程序 v0.0.1.0, 终于出了一个基础版本,… … 两个字典的键值判断 辛亏用的是Python 这个编码时间大大缩短了 对已有的命令行进行GUI 化 from typing import Optional import PySide6.QtCore import PySide6.QtWidgets from cmd_ui import Ui_MainWindow from PySide6.…

亚马逊测评关于IP和DNS的问题

最近不少人询问了关于IP和DNS的问题&#xff0c;在此进行一些科普。 当客户端试图访问一个网站时&#xff0c;首先会向其所在的ISP的DNS服务器进行查询。如果ISP的DNS服务器没有相关缓存&#xff0c;则会向上级DNS服务器进行查询。 一些诸如CDN之类的服务&#xff0c;可能会为…

uni-app小程序使用DCloud(插件市场)流程

一、DCloud&#xff08;插件市场&#xff09; DCloud 是uni-app官方插件市场&#xff0c;里面有官方、团队、个人发布的众多插件&#xff0c;包括uni-ui、uni-pay 等。而像uni-ui这种大型组件库都有官方文档可参考&#xff0c;但一些团队或个人发布的小型插件没有文档&#xf…

STM32-LCD液晶显示

LCD液晶显示 针对野火指南者配套资料&#xff1a;3.2寸 LCD电阻屏&#xff0c;屏幕里自带ILI9341液晶控制器芯片&#xff0c;该控制器芯片中存在GRAM&#xff08;即显存&#xff09;。该液晶控制器使用8080接口与单片机通讯&#xff0c;液晶面板引出来的FPC信号线为8080接口&am…

LeetCode算法刷题(python) Day42|09动态规划|62.不同路径、63. 不同路径 II

目录 LeetCode 62. 不同路径LeetCode 63. 不同路径II LeetCode 62. 不同路径 力扣题目链接 class Solution:def uniquePaths(self, m: int, n: int) -> int:dp [[1] * n for _ in range(m)]for j in range(n):for i in range(m):if i 0 and j > 0:dp[i][j] dp[i][j-1…

【vue2高德地图api】02-npm引入插件,在页面中展示效果

系列文章目录 提示&#xff1a;写完文章后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 系列文章目录前言一、安装高德地图二、在main.js中配置需要配置2个key值以及1个密钥 三、在页面中使用3.1 新建路由3.2新建vue页面3.2-1 index.vue3.2…

css 好看的边框

1、把图片作为边框 border:10px solid transparent;border-image:url(./assets/images/login_bg.png) 30 round;2、斜线边框 斜线边框可以给页面元素增加一份生动感。可以使用linear-gradient()函数来设置。 .box{position:relative;border-top:4px solid #667db6;border-bot…

网工记背命令(6)----链路聚合配置

目录 1.配置手工负载分担模式链路聚合 2.配置LACP模式的链路聚合 3.HUAWEI设备与C厂商设备对接 链路聚合&#xff08;Link Aggregation&#xff09;是将多条物理链路捆绑在一起成为一条逻辑链路&#xff0c;从而增加链路带 宽的技术。 常用配置命令 1、执行命令 interface …

QTday02(常用类、UI界面下的开发、信号与槽)

今日任务 1. 使用手动连接&#xff0c;将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中&#xff0c;在自定义的槽函数中调用关闭函数 将登录按钮使用qt5版本的连接到自定义的槽函数中&#xff0c;在槽函数中判断ui界面上输入的账号是否为"admin"&#x…

网页构造与源代码

下载google浏览器 设置打开特定网址&#xff1a;www.baidu.com 查看网页或元素源代码 网页右键选择“检查”查看源代码 网页源代码 元素源代码

Vue3响应式原理初探

vue3响应式原理初探 为什么要使用proxy取代defineProperty使用proxy如何完成依赖收集呢&#xff1f; 为什么要使用proxy取代defineProperty 原因1&#xff1a;defineproperty无法检测到原本不存在的属性。打个&#x1f330; new Vue({data(){return {name:wxs,age:25}}})在vue…

uni-app通过 vuedraggable 创建上下拖动排序组件

我们右键项目 选择 使用命令行窗口打开所在目录 然后 在终端中输入 npm install vuedraggable --save导入 vuedraggable 然后组件编写代码如下 <template><view class"container"><draggable v-model"list" :options"dragOptions&…

Ubuntu 环境配置 Minecraft 基岩版服务器

文章目录 Part 1 搭建服务器Part 2 配置服务器Part 3 管理服务器一、手动备份服务器二、手动恢复服务器备份三、升级服务器 Part 1 搭建服务器 更新软件包信息 sudo apt-get update sudo apt-get upgrade安装所需工具 sudo apt-get vim sudo apt-get install zip sudo apt-g…

训练ChatGPT提示词,实现Excel函数操作

Excel常用表格数据处理都会离不开函数的应用。 在数据处理,数据汇总,数据展示的过程中经常需要各类函数的使用如Vlookup,Sumifs,IF 等。 例如有一份数据我们想根据销售经理的名字,查找对应的销售额。 我们先简单描述一下我们的需求: 帮我写个Excel函数,要求查找出任意销…

ffmpeg+安卓+yolo+RK3399部署

一次满足多项需求. 首先, 思路是, 使用ffmpeg解码本地mp4文件, 在无需任何其他改动的情况下, 就可以直接播放rtsp流, 这个是使用ffmpeg的好处. ffmpeg本身是c语言的, 所以需要编译成jni的库, https://note.youdao.com/s/6XeYftc 具体过程在这里, 用windows/macOS, Ubuntu应该都…