金融分析与风险管理——资本资产定价模型

金融分析与风险管理——资本资产定价模型

1 系统性风险与非系统性风险

在理论上,股票面临的风险可以抽象的划分为系统性风险与非系统性风险。系统性风险(不可分散风险),也称市场风险,通常是由于公司外部因素引起、与公司正常经营无关的风险;非系统性风险(可分散风险),通常是由于公司自身原因引起的风险。

本文以上证180指数成分股为例演示投资组合的系统性风险与非系统性风险,数据集时间为2016-2018年,已剔除期间上市的股票,最终保留155只股票,在该数据集中,等权重逐步增加投资组合的股票个数,完整的数据可以通过百度网盘获取,提取码:lvzd。其Python程序如下:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt 

plt.rcParams['font.sans-serif'] = ['SimHei'] #中文显示问题
plt.rcParams['axes.unicode_minus'] = False #负数显示问题

stocks_data = pd.read_excel(r'C:\Users\Administrator\Desktop\上证180指数成分股日收盘价.xlsx',header = 0,index_col = 0)
#观察数据
stocks_data.head()
stocks_data.shape

#计算对数收益率
return_stocks = np.log(stocks_data/stocks_data.shift(1))
return_stocks = return_stocks.dropna()
#获取行数
n = return_stocks.shape[1]
#构建投资组合的波动率一维数组
vol_port = np.zeros(n)

for i in range(1,n+1):
    weight = np.ones(i)/i
    return_cov = 252*return_stocks.iloc[:,:i].cov()
    
    vol_port[i-1] = np.sqrt(np.dot(weight,np.dot(return_cov,weight.T)))
    
N_list = np.arange(n) + 1 #生产1-155的数组

plt.figure(figsize=(8,6))
plt.plot(N_list,vol_port,
  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值