查看之前文章请点击右上角 , 关注 并且 查看历史消息 所有文章全部分类和整理,让您更方便查找阅读
请在 页面菜单里查找
资本资产定价模型( CAPM )简介 CAPM模型由Sharpe等人以Markowitz的资产组合理论为基础进一步发展得到,是将经济学原理应用在金融领域的重要理论成果,几十年来广泛应用于风险投资、公司金融等领域
该模型的核心即是描述某特定资产风险溢价与市场风险溢价之间的关系
根据资CAPM,任何证券(或投资组合) 的 期望收益率 都应该等于无风险利率加上该证券由 β系数 测定的 风险溢价 : E[r i ] – r f = β i (E[r m ] – r f ) 其中 r i 代表证券i的期望收益率, r f 代表无风险利率,代表市场的期望收益率;而 β i 是该证券的贝塔系数,用以度量其系统风险(也称市场风险)
上式中 ( E[r i ] – r f ) 与 (E[r m ] – r f ) 分别表示证券i与市场的风险溢价
然而实际情况并不能满足CAPM的诸多模型假设;即使全部满足,模型也只给出期望的收益率,未必与真实收益率相同
经过略微的修改,我们可以得到以下公式: r i – r f = β i (r m – r f ) + α i 其中的 α i 就代表超额收益率,也即一个证券的真实收益率与按CAPM计算的预期收益率之间的差值
实际操作时,往往将上一公式进一步简化为: r i = β i r m + α i 考虑到现实中诸多复杂因素,仅仅忽略无风险利率似也无伤大雅
这个模型在量化中的实践意义在于,如果我们可以估计出 α 与 β ,那么就可以在 α >0时,买入证券并卖出 β 倍的股指期货;反之 α <0时,进行相反操作
这样可以大致构建起一个套利策略
而这个想法的核心就问题就在于对大部分股票而言 α 与 β 并不是固定不变的,而是随时间波动较大的变量
接下来我们就来讨论如何在这样的动态过程中识别 α 与 β
动态识别 α 与 β的方法 这里我们假设可以获取个股与大盘的每日价格信息,通过这些数据计算出每日的收益率,再分别使用以下两个模型
(1) 移动窗口模型 移动窗口模型的思想就是以给定日期的前L天的数据作为训练集,线性回归得到这一天的 α 与 β
公式如下: r i,s = β i,t r m,s + α i,t , L+1≤t≤T, t-L≤s≤t-1 其中s,t是时间角标,T是总的数据长度
这样就好像有一个固定长度为L的窗口(window)从数据集的开始一点点地移动到末尾,在每次截取的L个数据中回归得到待估参数的估计值,因此叫做移动窗口模型
(2) GARCH模型 GARCH模型是本文想主要介绍的方法,因其在金融时间序列中有着广泛的应用
广义自回归条件异 方差 (Generalized AutoRegressive Conditional Heteroskedasticity) 模型 ,是Bollerslev在1986年根据Engle的ARCH模型建立起来的专门分析金融数据波动性的模型
一般的时间序列模型如AR,MA或ARMA等都是针对时间序列数据的均值建立模型,通过均值这个点估计对时间序列的未来值进行预测
均值模型搭建好之后,应该会得到一个均值为0的残差序列
对这些残差的平方再建立一个类似于ARMA的模型,就是GARCH模型了
很明显,残差的平方正是其方差(因为0均值),也正是整个时间序列的方差(收益率一般是平稳序列)
这种模型的意义在哪呢?首先,金融模型中风险这一概念正是指金融数据的方差,所以对方差(波动率)建模实际上就是在为风险建模
其次,ARMA-GARCH模型可以同时给出金融时间序列均值与方差的预测值,如果再对概率分布类型进行假设(如正态分布、t分布等),就可以给出该序列未来值的完整概率分布,从而对其它衍生品的收益、风险进行分析
回到动态识别 α 与 β 中,先介绍一下CAPM中 β 的计算公式: β i = Cov( r i, r m ) / Var( r m ) 即某资产的贝塔系数等于该资产的收益率与市场收益率的协方差除以市场收益率的方差
根据统计理论,我们有如下公式: Cov(X,Y) = [Var (X + Y) – Var (X – Y)] / 4 X,Y是任意的随机变量
结合这个公式,并加入时间角标t,我们有: β i,t = [ Var ( r i,t + r m,t )-Var( r i,t – r m,t )] / [4Var( r m,t )] 现在就可以分别对 { r i,t + r m,t }, { r i,t – r m,t }, { r m,t } 这三个时间序列建立GARCH模型,得到它们在每一时刻t的方差,再根据如上公式求得每一时刻的贝塔系数
再根据之前的公式求出每一时刻的超额收益 α 是不是很神奇? R代码实现 最后附一些我用R写的代码
使用 R语言的好处在于fGarch包可以轻松地实现GARCH建模
这里我挑取了万科的股票与沪深300指数,分别用上述两种方法建模,最后用一个非常简单的办法进行的了回测
具体内容请看注释
水平有限,还请高手们多多指教~ 后台 回复下 列关键字,更多惊喜在等着 你 【区分大小写】 1.回复 每周论文 获取Market Making论文分享 2. 回复 matlab量化投资 获取大量源码 3. 回复 每周书籍 获取国外书籍电子版 4. 回复 文本挖掘 获取关于文本挖掘的资料 5. 回复 金融数学 获取金融数学藏书 6. 回复 贝叶斯Matlab 获取NBM详解与具体应用 7.回复 AdaBoost 获取AdaBoost算法文献、代码、研报 8.回复 数据包络分析 获取 选股分析 源码 9.回复 SVD 获取数据预处理之图像处理的方法 【过往文章】 0. 【机器学习】支持向量机的概念与运用初探 1 . 【Python】金融应用中用matplotlib库实现的数据可视化 2 . 【Python】信息熵和在决策树中的运用(附源码) 3 .【论文分享】因子模型是否具有良好的预测性? 4 .【Python机器学习】数据预处理——图像压缩与线性代数 5 .【Matlab量化投资】用数据包络分析和基因算法进行选股分析?你get了吗!(附源程序) 6 .【机器学习课程】经典算法之——AdaBoost在量化投资中的应用(附代码和很多论文资料) 7 .【论文分享】Market Making论文分享 8. 【机器学习 课程】深度 学习与神经网络系列之绪论介绍 9. 【Python机器学习】系列之线性回归篇【深度详细】 10. 【Python机器学习】系列五决策树非线性回归与分类(深度详细附源码) 11. 【每周研报干货】各大券商研报免费分享(附下载链接) 12. 【每周书籍干货】国外近期深度学习与机器学习书籍电子版——你知道一本买来好多刀啊! 13. 几种编程语言的优缺点 14. 【Python机器学习】系列之从线性回归到逻辑回归篇(深度详细附源码) 15. 【Python机器学习】系列之特征提取与处理篇(深度详细附源码) 16. 【最强干货】关于文本挖掘的资料(文献,报告,策略,代码) 17. 机器学习的前期入门汇总 18. 【深度原创研究】分级基金下折全攻略(一) 19. 【深度原创研究】分级基金下折全攻略(二) 20. 【知识食粮】最新华尔街牛人必读书籍排行 21. 通过 MATLAB 处理大数据 22. 【扎实资料干货分享】Python、研究报告、计量经济学、投资书籍、R语言等!(Book+Video) 23. 机器学习在统计套利中的应用 24. 量化投资修行之路 25. 统计套利在股指期货跨期套利中的应用:基于协整方法的估计 26. 股指期货跨品种套利交易 27. 沪港通股票统计套利:基于BP神经网络 28. 机器学习到底在量化金融里哪些方面有应用? 29. 【Matlab机器学习】之图像识别 30. 【干货分享】Python数据结构与算法设计总结篇 31. 基于Python的股票数据接口调用代码实例 32. 基于Python爬取腾讯网的最热评论代码实例 33. 卷积神经网络反向传播推导 34. 深度学习项目 35. 混沌分形理论 36. 【Python】基于情感词典进行情感分析(附代码) 37. 基于技术交易规则的动态模型股票价格(附论文和Matlab源程序)