capm及peg数据及代码
时间: 2023-06-25 10:01:55 浏览: 140
CAPM 实证数据和代码
### 回答1:
CAPM是一种资本资产定价模型,它用于衡量一个投资组合的风险和收益之间的关系。它认为资产的预期收益率是由无风险利率和市场风险溢价共同构成的。
PEG数据是一种股票估值指标,代表着市盈率与盈利增长率的比值。这个比率越低,代表着一家公司的股票越被低估,反之,如果PEG数据越高,则意味着公司的股票被高估了。
下面是使用Python计算CAPM和PEG数据的代码:
# 计算CAPM
import pandas as pd
import numpy as np
import pandas_datareader as web
# 输入股票代码和市场指数代码
stock_code = 'AAPL'
market_index_code = '^GSPC'
# 获取数据
stock_data = web.DataReader(stock_code, data_source='yahoo')
market_data = web.DataReader(market_index_code, data_source='yahoo')
# 计算收益率
stock_returns = np.log(stock_data['Close']/stock_data['Close'].shift(1))
market_returns = np.log(market_data['Close']/market_data['Close'].shift(1))
# 计算市场风险溢价
market_risk_premium = market_returns.mean() - stock_returns.mean()
# 计算CAPM
risk_free_rate = 0.02 # 无风险利率
market_beta = np.cov(stock_returns, market_returns)[0][1]/np.var(market_returns)
average_market_return = market_returns.mean()
expected_stock_return = risk_free_rate + market_beta*(average_market_return - risk_free_rate)
print('Expected stock return:', round(expected_stock_return*100, 2), '%')
# 计算PEG数据
earnings_growth_rate = 0.15 # 盈利增长率
pe_ratio = 20 # 市盈率
peg_ratio = pe_ratio/earnings_growth_rate
print('PEG Ratio:', round(peg_ratio, 2))
### 回答2:
CAPM(Capital Asset Pricing Model)是一种用于描述资产收益率的数学模型,其中包含了市场风险、无风险利率和资产风险等因素。PEG(Price/Earnings to Growth ratio)则是一种用于评估股票价格相对于盈利增长的比值指标。
可以通过使用Python编程语言在数据分析软件Jupyter Notebook中进行CAPM和PEG的计算。关于CAPM的计算,需要收集对应资产的历史收益率和市场收益率数据,并结合无风险利率,使用Python中的numpy和pandas库进行数据处理和运算。对于PEG的计算,需要获取股票价格和基本面数据,包括市场平均PE比率和预计盈利增长率数据,然后使用Python进行处理和计算。
以下是一个简单的Python代码示例,展示了如何使用CAPM和PEG指标:
```python
import pandas as pd
import numpy as np
# 计算异同股本质折现率(CAPM)
def calculate_capm(data):
risk_free_rate = 0.05
market_rate_of_return = 0.1
beta = data['covariance'] / data['variance']
expected_return = risk_free_rate + beta * (market_rate_of_return - risk_free_rate)
return expected_return
# 计算 PEG 指标
def calculate_peg(data):
average_pe_ratio = 20
expected_growth_rate = 0.15
peg = data['current_price']/data['earnings_per_share']/(average_pe_ratio * expected_growth_rate)
return peg
# 读取数据并进行CAPM和PEG计算
stock_data = pd.read_csv("stock_data.csv")
stock_data['variance'] = np.var(stock_data['daily_returns'])
stock_data['covariance'] = np.cov(stock_data['daily_returns'], stock_data['market_returns'])[0][1]
stock_data['expected_return'] = stock_data.apply(calculate_capm, axis=1)
stock_data['peg_ratio'] = stock_data.apply(calculate_peg, axis=1)
# 输出结果
print(stock_data)
```
注意,在实际应用中,需要根据每支资产的特征进行定制化的CAPM和PEG计算。此外,股票和市场数据的质量和波动性也会对结果产生影响,需要进行有效的数据清洗和筛选。
阅读全文