量化投资基础(二)之CAPM模型

点赞、关注,养成良好习惯
Life is short, U need Python
量化投资基础系列,不断更新中


资本资产定价模型(Capital Asset Pricing Model,CAPM)是由美国经济学家 威廉·夏普(William Sharpe)于20世纪60年代基于 马科维茨 现代投资组合理论(均值-方差模型)率先提出来的。后来经过了 林特纳(John Lintner)、特雷诺(Jack Treynor)和 莫辛(Jan Mossin)等人发展而逐步形成的研究 证券市场 中资产的 预期收益风险 之间关系的理论体系,是现代金融市场价格理论的支柱,广泛应用于 投资决策公司理财 等领域。

在资本资产定价模型中,所谓资本资产主要指的是 股票 资产,而定价则是试图解释资本市场如何决定股票收益率,进而决定股票价格。

1. 模型假设

CAPM 模型是建立在一系列假设基础上的,其中主要包括:

  • (1)所有投资者均追求单期财富的期望效用最大化,并以各备选组合的期望收益和标准差为基础进行组合选择。

  • (2)所有投资者均可以无风险利率无限制地借入或贷出资金。

  • (3)所有投资者拥有同样预期,即对所有资产收益的均值、方差和协方差等,投资者均有完全相同的主观估计。

  • (4)所有资产均可被完全细分,拥有充分的流动性。

  • (5)所有投资者均没有交易成本、没有税金。

  • (6)所有投资者均为价格接受者,即任何一个投资者的买卖行为都不会对股票价格产生影响。

  • (7)所有资产的数量是给定的和固定不变的。

2. CAPM 模型

2.1 传统的CAPM模型

E ( R q ) − R f = β q m [ E ( R m ) − R f ] E(R_q)−R_f=\beta_{qm}[E(R_m)−R_f] E(Rq)Rf=βqm[E(Rm)Rf]

其中

  • R m R_m Rm 是市场投资组合的收益率。它的作用是作为一个基准,评估目标投资组合相对于基准的提升量。在实际应用中,常选取大盘指数。

  • R q R_q Rq 代表投资组合的收益率。

  • R f R_f Rf 代表无风险资产收益率,比如国债等固收资产。

  • β q m = σ ( R q , R m ) σ 2 ( R m ) \beta_{q m}=\frac{\sigma\left(R_{q}, R_{m}\right)}{\sigma^{2}\left(R_{m}\right)} βqm=σ2(Rm)σ(Rq,Rm) 是投资组合 q q q β \beta β 值。

    • ∣ β ∣ |\beta| β 大于1,代表投资组合比大盘的波动更剧烈;
    • ∣ β ∣ |\beta| β 小于1,代表投资组合的波动小于大盘的波动;
    • β \beta β 值等于1,代表投资组合的波动与大盘的波动相当;
    • β \beta β 为负值,代表投资组合与大盘的波动方向相反。
  • E ( R q ) − R f E(R_q)−R_f E(Rq)Rf 是风险投资组合 q q q 比无风险资产高出的期望收益率(风险溢酬)。

2.2 流行的CAPM模型

E ( R i ) = R f + β i [ E ( R m ) − R f ] E(R_i)= R_f + \beta_{i}[E(R_m)−R_f] E(Ri)=Rf+βi[E(Rm)Rf]
其中, β i = σ ( R i , R m ) σ 2 ( R m ) \beta_{i}=\frac{\sigma\left(R_{i}, R_{m}\right)}{\sigma^{2}\left(R_{m}\right)} βi=σ2(Rm)σ(Ri,Rm) 可以反映出单个股票的系统风险水平。

  • CAPM 模型表明:单个股票的期望收益是无风险收益和系统性风险溢酬之和,而非系统风险可以通过分散化投资消除。

3. CAPM 模型的应用

Jensen(1968)在研究共同基金表现时,将CAPM模型写成如下形式:

R i t − R f t = α i + β i ( R m t − R f t ) + ϵ i t R_{it} - R_{ft} = \alpha_i + \beta_i(R_{mt} - R_{ft}) + \epsilon_{it} RitRft=αi+βi(RmtRft)+ϵit

常见的分析方法

  • 基本面分析
  • 通过研究公司的财务状况判别公司是否具有价值
  • 经济环境分析
  • 产业分析
  • 公司分析
  • 技术面分析
  • 基本信仰:“历史重演”
  • 分析市场价格判别股价走势
  • 消息面分析
  • 分析股票价格是否受消息面的影响
  • A l p h a \mathbf{Alpha} Alpha 策略
  • 出发点:CAPM 模型
  • 核心思想:构建投资组合对冲系统风险,获得Alpha超额收益。

3.1 单资产之Python实现

  • R i R_i Ri:新安股份(600596.SH)
  • R m R_m Rm:中证流通指数(000902.SH)
  • R f R_f Rf:无风险利率(一年期国债利率)

数据集:“Index_data.csv” + “xinan_data.csv”

# 读取数据集
import pandas as pd

df = pd.read_csv('datas\Index_data.csv',index_col='Trddt')
df.index = pd.to_datetime(df.index)

df.head(2)
# 获取指数数据:R_m
df_mkt = df[df.Indexcd==902]
df_mkt.head(2)
省略代码详见资源包!
# 画出散点图
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['simhei']
plt.rcParams['axes.unicode_minus'] = False

plt.figure(figsize=(8,4))

plt.scatter(Rets_rf.values[:,0],Rets_rf.values[:,1])
plt.title('图1 新安股份和中正物流指数日收益率',loc='center')

plt.show()

在这里插入图片描述
接下来,利用上述数据集拟合CAPM模型!

不含截距项情形下

省略代码详见资源包!
  • CAPM模型(不含截距项)为:
    R i − R f = 1.1096 ( R m − R f ) + ϵ i R_i - R_f = 1.1096(R_m - R_f) + \epsilon_i RiRf=1.1096(RmRf)+ϵi

  • 结论:beta值表明新安股份的波动率大于对应的大盘指数(版块指数)。Beta值表示大盘波动带来的收益。

含截距项情形下

  • CAPM模型(含截距项)为:
    R i − R f = − 0.0017 + 1.1293 ( R m − R f ) + ϵ i R_i - R_f = -0.0017 + 1.1293(R_m - R_f) + \epsilon_i RiRf=0.0017+1.1293(RmRf)+ϵi
  • 结论:Alpha值并不显著地异于0,且Beta值表明新安股份的波动率大于对应的大盘指数(版块指数)。Alpha值 表示自身价值的收益;Beta值 表示大盘波动带来的收益。

3.2 多资产之Python实现

  • R p R_p Rp:多个资产的投资组合收益率
  • R m R_m Rm:中证流通指数(000902.SH)
  • R f R_f Rf:无风险利率(一年期国债利率)

提示:首先,根据 均值–方差模型 构建多个资产的投资组合模型;其次,把投资组合收益率看成单个资产类似上述方法建立模型即可!

4. CAPM模型的评价

CAPM 模型形式上简单明了、思想上易于理解,它把任何一种风险证券的价格都划分为三个因素:无风险收益率、风险的价格和风险的计算单位,并把这三个因素有机结合在一起。CAPM 简单的线性结构令其在学术界和业界被广泛使用,并成为现代金融市场价格理论的基础。

CAPM 建立在 Markowitz 投资组合模型基础之上,也建立在 Markowitz 模型的假设之上。总结起来,CAPM模型需要满足如下假设:

  • (1)投资者希望财富越多越好,效用是财富的函数,财富又是投资收益率的函数,因此可以认为效用为收益率的函数;

  • (2)投资者能事先知道投资未来收益率的概率分布为正态分布,且所有投资者对资产未来收益率概率分布的看法是一致的;

  • (3)投资风险用投资收益率的方差或标准差度量,影响投资决策的主要因素为期望收益率和风险两项;

  • (4)所有投资者具有相同的投资期限;

  • (5)所有的证券投资可以无限制地细分,在任何一个投资组合里都可以含有非整数股份;

  • (6)投资者都遵守占优准则(Dominance Rule),即在同一风险水平下选择收益率较高的证券,在同一收益率水平下选择风险较低的证券;

  • (7)可以在无风险折现率的水平下无限制地借入或贷出资金,买卖证券时没有税负及交易成本;

  • (8)所有投资者可以及时免费获得充分的市场信息;

  • (9)不存在通货膨胀,且折现率不变。

上述假设表明再次要求投资者是理性的,且严格按照马科威茨模型的规则进行多样化的投资,并将从有效边界的某处选择投资组合;此外,资本市场是完全有效的市场,没有任何磨擦阻碍投资。可以看出,CAPM 的假设前提是难以实现的,不过与任何理论模型相似,只要理论模型重点强调的内容可以代表现实,其他部分用假设来简化是无伤大雅的。不过,CAPM 中的 Beta 值是非常不确定的,相同股票在不同时期估计 Beta 值会得到截然不同的结果,特别是现在几乎都在用历史数据进行计算 Beta 值,这样的 Beta 对投资的指导意义并不是很大。

5. 参考资料

  • 蔡立耑. 量化投资以Python为工具[M]. 北京:电子工业出版社,2017.
  • PyQuant. 量化投资基础[M]. 北京:科学出版社,2024.

6. 资源包下载

  • 链接:https://pan.baidu.com/s/1pUzosRHZB9aAUW7PXhNDXA
  • 提取码:1234

  • 写作不易,切勿白剽
  • 点赞关注,最大鼓励
  • 持续更新,未完待续…

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

小型数控车床对现代制造业的影响

小型数控车床作为现代制造业的重要生产工具,集成了计算机控制、精密机械、电子技术和自动化技术,为各种复杂零件的加工,在生产效率和精度上带来了显著提升,它是制造业中不可或缺的基础装备,在金属切削加工领域发挥着关…

数据库的管理

目录 远程连接的方式 修改数据库uuid流程 数据库的概念 关系型数据库 非关系型数据库 关系型数据和非关系型数据库优缺点 mysql的数据类型 数据库的管理 sql中的名词 sql语言的分类 1.DDL 创建库和表的语句 create 删除库 drop databases 2.DML: 插入数据 ins…

使用APEXSQL LOG解析sql server事务日志,进行审计与数据恢复

一 下载 https://download.csdn.net/download/sunke861/11449739 二 使用 解压安装包后,点击:ApexSQLLog.exe 2.1 连接数据库 连接要审计的数据库: 假如报错: 则点击ok关闭该窗口,然后点击左上方的New按钮&#xf…

IDEA创建普通Java项目

环境准备 Java环境 运行javac查看java环境是否安装完成 开发工具Intellij IDEA 下载地址:https://www.jetbrains.com/idea/download/?sectionwindows 创建项目 点击新建项目 填入项目名字,项目路径,选择maven,点击下面的创建 运行项目 …

数据库管理-第220期 Oracle的高可用-03(20240715)

数据库管理220期 2024-07-15 数据库管理-第220期 Oracle的高可用-03(20240715)1 AC/TAC2 配置Service3 用户权限4 端口开放总结 数据库管理-第220期 Oracle的高可用-03(20240715) 作者:胖头鱼的鱼缸(尹海文…

半导体超纯水(UPW)全面监控检测项目及液体粒子计数器应用

超纯水 (UPW) 是经过高度纯化的水,去除了所有矿物质、颗粒、细菌、微生物和溶解的气体。在芯片厂里,它也经常会被混称为 DI Water(去离子水),但国内通常把去离子水与超纯水分的比较开,其实去离子水是包含了…

智能可视采耳棒耳勺安全吗?六大选购技巧排忧解惑!

耳垢作为外耳道内腺的分泌物,如果不及时清理,可能会造成耳道的栓塞,进而引致耳痛、听力减弱、咳嗽等不适。而传统的耳勺由于其盲操作的特性,对于耳道非直线结构的清理存在诸多不便。所以市面上出现了可视挖耳勺,让我们…

【转盘案例-基本框架-创建按钮-按钮布局 Objective-C语言】

一、转盘案例的基本框架 1.我们先来看一下这个转盘啊 新建一个项目,Name:01-大转盘 把素材拷过来, 我们先把背景图片设置一下, 这张图片,可能会很大,跟你的屏幕呢,可能不成正比,这个时候呢,我们应该用拉伸的方式,去做,那么,这个控制器的背景,应该怎么去设置, 画…

逆向案例二十——请求头参数加密,某政府农机购置与应用补贴申请办理服务系统,sm3和sm4的加密

网址:农机购置与应用补贴申请办理服务系统 抓包分析,发现请求头参数有加密,表单有加密,返回的数据也是加密的。 请求头Source是固定的,其他的Sign,以及Timsestamp是加密的 请求载荷也是加密的 返回的数据也是加密的。…

ValueError和KeyError: ‘bluegrass’的问题解决

项目场景: 项目相关背景: 问题描述 遇到的问题1: KeyError: ‘bluegrass’ 不能识别某标签 遇到的问题2: xml etree.fromstring(xml_str) ValueError: Unicode strings with encoding declaration are not supported. Please …

Go语言--广播式并发聊天服务器

实现功能 每个客户端上线,服务端可以向其他客户端广播上线信息;发送的消息可以广播给其他在线的客户支持改名支持客户端主动退出支持通过who查找当前在线的用户超时退出 流程 变量 用户结构体 保存用户的管道,用户名以及网络地址信息 typ…

MongoDB自学笔记(一)

一、MongoDB简介 MongoDB是一款基于C开发的文档型数据库。与传统的关系型数据库有所不同,MongoDB面向的是文档,所谓的文档是一种名为BSON (Binary JSON:二进制JSON格式)是非关系数据库当中功能最丰富,最像…

【conftest】和【fixtures】

一、 conftest.py 文件 作用:存放case的前提条件和后置条件配置函数;一般该类函数都会使用fixture装饰(fixture该篇第二点会介绍);使用conftest里面的函数时不需要导入 conftest.py 这个文件。只需将函数名作为变量传入…

Python实现人脸识别

直接上代码: import face_recognition import time from PIL import Image, ImageDraw def faceRecognition(fileName): # 加载图片image face_recognition.load_image_file(fileName)# 人脸定位beginTime time.time()face_locations face_recognition.face_lo…

SEO:6个避免被搜索引擎惩罚的策略-华媒舍

在当今数字时代,搜索引擎成为了绝大多数人获取信息和产品的首选工具。为了在搜索结果中获得良好的排名,许多网站采用了各种优化策略。有些策略可能会适得其反,引发搜索引擎的惩罚。以下是彭博社发稿推广的6个避免被搜索引擎惩罚的策略。 1. 内…

【python】pandas报错:UnicodeDecodeError详细分析,解决方案以及如何避免

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

Spring Security Oauth2源码分析

Spring Security Oauth2源码分析 前言一:客户端OAuth2授权请求的入口1、DefaultOAuth2AuthorizationRequestResolver类OAuth2AuthorizationRequest类authorizationRequestUri 的构建机制redirectUri 3、OAuth2AuthorizationRequestRedirectFilter类 二:O…

IDEA实现SpringBoot项目的自打包自发布自部署

目录 前言 正文 操作背景 自发布 自部署 尾声 🔭 Hi,I’m Pleasure1234🌱 I’m currently learning Vue.js,SpringBoot,Computer Security and so on.👯 I’m studying in University of Nottingham Ningbo China📫 You can reach…

服务器数据恢复—raid5阵列热备盘同步失败导致lun不可用的数据恢复案例

服务器存储数据恢复环境: 华为S5300存储中有一组由16块FC硬盘组建的RAID5磁盘阵列(包含一块热备盘)。 服务器存储故障: 该存储中的RAID5阵列1块硬盘由于未知原因离线,热备盘上线并开始同步数据,数据同步到…

[iOS]内存分区

[iOS]内存分区 文章目录 [iOS]内存分区五大分区栈区堆区全局区常量区代码区验证内存使用注意事项总结 函数栈堆栈溢出栈的作用 参考博客 在iOS中,内存主要分为栈区、堆区、全局区、常量区、代码区五大区域 还记得OC是C的超类 所以C的内存分区也是一样的 iOS系统中&a…