CAPM模型计算

题目:某公司股票的系数为2,无风险利率为5%,市场上所有股票的平均报酬率为10%。利用资本资产定价模型计算该公司的股票成本。 CAPM定价模型的公式 R=Rf+β(Rm-Rf)

答案:R=Rf+β(Rm-Rf)=5%+2*(10%-5%)=15% 注意:Rm表示市场上所有股票的平均报酬率。
R表示单个股票的期望报酬率(即该股票的资本成本)
β表示某个单个股票相对于整个股票市场的风险变动倍数(一般假设整个股票市场的风险变动系数为1)


超额收益选股

σs为股票标准差,β为股票和市场组合的相关系数,σM为市场标准差,rf为无风险利率,rs为股票收益率,rM为市场组合收益率

CAPM模型(capital asset pricing model)相信大家应该都很熟悉。其中心思想是利用指数模型简化了马克维茨边界条件,推导出系统风险可以用股票与市场的相关系数和市场风险表示:σs=β⋅σMσs=β⋅σM,并由此计算在正确定价的情况下股票的收益率与市场组合收益率的关系为:

E[rs]=rf+β(E[rM]−rf)

那么我们知道,当一只股票的价格被正确定价的时候,它的风险溢价与市场组合的风险溢价是呈现完全的线性关系,将这样的股票收益率和市场组合的收益率做线性回归,得到的应该是一条斜率为ββ,截距为rfrf的拟合直线。
现实中,每只股票的收益率与市场组合的收益率进行回归的时候截距都不会严格的等于rfrf,此时我们定义

α=(E[rs]−rf)−β(E[rM]−rf)

α被称作超额收益,意为股票除了承担系统风险所获得的收益之外的额外收益。按照CAPM模型,当正确定价时,股票的αα值应该为零,所有αα值不为零的股票我们都可以认为被错误的定价了。被错误定价的股票可以分为两类

α<0,此时股票的价格被低估了
α>0,此时股票的价格被高估了

假设CAPM理论是成立,这些错误定价的股票都会最终回到正确的定价上去,因此,我们在选股时应该买入αα更低的股票,这就是我们策略构造的基础。
策略和回测

我们构建策略的是,如下:

∙∙ 设定某一股票池,并选定一指数作为市场组合(一般情况下股票池应该是该市场组合的成分股); ∙∙
选定参数:调仓周期tc、计算α所使用的收盘价天数N、持仓的股票数量num; ∙∙ 每隔tc个交易日执行: −−
使用过去N天收益率数据进行线性回归,计算股票池中所有股票对应市场组合的α; −−
选择α最小的num支股票,调仓持有这些股票,持有比例为α越小权重越大。

  • 2
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
CAPM是资本资产定价模型Capital Asset Pricing Model)的缩写,是一种用于估算资本市场所需回报率的经济模型。在Python中,可以使用pandas和numpy等库来计算CAPM模型。 下面是一个简单的CAPM模型的Python代码示例: ```python import pandas as pd import numpy as np from pandas_datareader import data as wb # 获取股票数据 tickers = ['AAPL', 'MSFT', '^GSPC'] data = pd.DataFrame() for t in tickers: data[t] = wb.DataReader(t, data_source='yahoo', start='2010-1-1')['Adj Close'] # 计算日收益率 returns = np.log(data / data.shift(1)) returns.dropna(inplace=True) # 计算每只股票的Beta系数 cov = returns.cov() * 252 cov_with_market = cov.iloc[0:2, 2] market_var = returns['^GSPC'].var() * 252 AAPL_beta = cov_with_market['AAPL'] / market_var MSFT_beta = cov_with_market['MSFT'] / market_var # 计算预期回报率 risk_free_rate = 0.03 # 无风险利率 market_return = returns['^GSPC'].mean() * 252 # 市场平均回报率 AAPL_expected_return = risk_free_rate + AAPL_beta * (market_return - risk_free_rate) MSFT_expected_return = risk_free_rate + MSFT_beta * (market_return - risk_free_rate) print('AAPL的预期回报率为:', AAPL_expected_return) print('MSFT的预期回报率为:', MSFT_expected_return) ``` 这段代码首先使用pandas_datareader库获取了苹果、微软和标普500指数的股票数据。然后,计算了每只股票的日收益率,并使用这些数据计算了每只股票的Beta系数。最后,使用CAPM模型计算了每只股票的预期回报率。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值