金融分析与风险管理——投资组合的绩效评估
金融分析与风险管理——投资组合的绩效评估
- 1 夏普比率
- 2 索提诺比率
- 3 特雷诺比率
- 4 信息比率
1 夏普比率
夏普比率是指在某一时间段内,投资组合每承担一单位风险所带来的的超额收益,值越大表示收益越好,其表达式如下:
SR=E(Rp)−RfσpSR = \frac{E(R_p)-R_f}{\sigma_p}SR=σpE(Rp)−Rf
其中,RfR_fRf是无风险收益率,E(Rp)E(R_p)E(Rp)是投资组合的期望收益率,σp\sigma_pσp是投资组合收益的波动率。
本文以国内公募基金为例来说明如何计算基金产品的夏普比率,该数据集共有 4 个基金产品构成,案例中完整的数据可以通过百度网盘获取,提取码:jayy。
案例中的日收益率使用对数收益率进行计算,无风险收益率选择银行一年存款基准利率1.5%,Python程序如下:
import pandas as pd
import numpy as npfund = pd.read_excel(r'C:\Users\Administrator\Desktop\四只开放式股票型基金的净值.xlsx',header = 0,index_col = 0)# 夏普比率
def SR(Rp,Rf,Vp):return (Rp - Rf)/VpR_fund = np.log(fund/fund.shift(1)) #基金的日对数收益率
R_fund = R_fund.dropna()
R_mean = R_fund.mean()*252 #计算全部3年的平均年化收益率
sigma = R_fund.std()*np.sqrt(252) #计算全部3年的平均年化收益波动率
R_f = 0.015 #无风险利率
SR_3years = SR(R_mean,R_f,sigma)print('2016-2018平均3年的夏普比率:\n',SR_3years)
基金名称 | 夏普比率 |
---|---|
景顺长城优质成长基金 | -0.492142 |
汇添富移动互联基金 | -0.975046 |
华宝品质生活基金 | -0.374546 |
中银新动力基金 | -1.230769 |
2 索提诺比率
所提诺比率是指投资组合每承担一单位下行风险所带来的的超额收益,值越大表示收益越好,其表达式如下:
SOR=E(Rp)−RfσLpσLp=1NL∑[min(Rp,0)2]SOR = \frac{E(R_p)-R_f}{\sigma_Lp} \\[10pt] \sigma_{Lp} = \sqrt{\frac{1}{N_L}\sum[min(R_p,0)^2]} SOR=σLpE(Rp)−RfσLp=NL1∑[min(Rp,0)2]
其中,RfR_fRf是无风险收益率,E(Rp)E(R_p)E(Rp)是投资组合的期望收益率,NLN_LNL是发生亏损的样本量,σLp\sigma_LpσLp是投资组合收益的下偏标准差,所谓下偏标准差是只考虑亏损而不考虑盈利的标准差,隐含条件就是投资组合的上涨是符合投资者的需求而不应计入风险调整。
本文仍然使用上述案例进行说明,其Python的程序如下:
#索提诺比率
def SOR(Rp,Rf,Vp):return (Rp - Rf)/VpVp_lower = np.zeros_like(R_mean)for i in range(len(Vp_lower)):#生产收益率为负的时间序列R_neg = R_fund.iloc[:,i][R_fund.iloc[:,i] < 0] #年化下行收益标准差Vp_lower[i] = np.sqrt(252)*np.sqrt(np.sum(R_neg**2)/len(R_neg))print(R_fund.columns[i]+'收益下行标准差:',Vp_lower[i])SOR_3years = SOR(R_mean,R_f,Vp_lower)print('2016-2018平均3年的索提诺比率:\n',SOR_3years)
基金名称 | 索提诺比率 |
---|---|
景顺长城优质成长基金 | -0.438614 |
汇添富移动互联基金 | -0.890215 |
华宝品质生活基金 | -0.335250 |
中银新动力基金 | -1.117805 |
3 特雷诺比率
特雷诺比率是指投资组合每承担一单位系统风险所带来的的风险溢价,值越大表示收益越好,其表达式如下:
TR=E(Rp)−RfβpTR = \frac{E(R_p)-R_f}{\beta_p}TR=βpE(Rp)−Rf
其中,RfR_fRf是无风险收益率,E(Rp)E(R_p)E(Rp)是投资组合的期望收益率,βp\beta_pβp是投资组合的系统性风险,当投资组合的非系统性风险已被分散,只需考虑系统性风险时,特雷诺比率相对比较合适。
本文以沪深300指数3016-2018年的数据及上述4只基金的数据为例来说明如何计算特雷诺比率,案例中沪深300指数完整的数据可以通过百度网盘获取,提取码:763e。
本文仍然使用上述案例中的无风险收益率进行计算,其中市场投资组合使用沪深300指数进行代替,通过线性回归计算4只基金产品的β\betaβ值,其Python的程序如下:
import statsmodels.api as smHS300 = pd.read_excel(r'C:\Users\Administrator\Desktop\沪深300指数.xlsx',header = 0,index_col = 0)#计算日收益率
R_HS300 = np.log(HS300/HS300.shift(1))
R_HS300 = R_HS300.dropna()# 特雷诺比率
def TR(Rp,Rf,beta):return (Rp - Rf)/betabetas = np.zeros_like(R_mean)
cons = np.zeros_like(R_mean)
X = R_HS300
X_addcons = sm.add_constant(X)for i in range(len(R_mean)):#获取基金产品时间序列Y = R_fund.iloc[:,i]#使用线性回归计算beta值model = sm.OLS(endog=Y,exog=X_addcons)result = model.fit()cons[i] = result.params[0]betas[i] = result.params[1]print(R_fund.columns[i] + 'beta = ',betas[i])TR_3years = TR(R_mean,R_f,betas)
print('2016-2018平均3年的特雷诺比率:\n',TR_3years)
基金名称 | 特雷诺比率 |
---|---|
景顺长城优质成长基金 | -0.104878 |
汇添富移动互联基金 | -0.247360 |
华宝品质生活基金 | -0.079511 |
中银新动力基金 | -0.276144 |
4 信息比率
跟踪误差是指投资组合的收益率与基准组合收益率之间差异的标准差,反映投资组合的主动管理风险。要计算跟踪误差,首先需要计算跟踪偏离度,跟踪偏离度是指投资组合收益率与基准组合收益率之间的差异,其计算公式如下:
TD=E(RP)−E(RB)TE=1N−1∑(TDi−E(TD))2TD = E(R_P)-E(R_B) \\[10pt] TE = \sqrt{\frac{1}{N-1}\sum(TD_i-E(TD))^2} TD=E(RP)−E(RB)TE=N−11∑(TDi−E(TD))2
其中,E(RP)E(R_P)E(RP)是投资组合的期望收益率,E(RB)E(R_B)E(RB)是基准组合的期望收益率,KaTeX parse error: Undefined control sequence: \TD at position 1: \̲T̲D̲是投资组合的跟踪偏离度,KaTeX parse error: Undefined control sequence: \TE at position 1: \̲T̲E̲是投资组合的跟踪误差。
信息比率是指投资组合每承担一单位主动管理风险所带来的的超额收益,值越大表示收益越好,其表达式如下:
IR=TDTE=E(RP)−E(RB)TEIR = \frac{TD}{TE} = \frac{E(R_P)-E(R_B)}{TE}IR=TETD=TEE(RP)−E(RB)
本文仍然使用上述案例中的无风险收益率进行计算,其中基准组合使用沪深300指数进行代替,其Python的程序如下:
# 信息比率
def IR(Rp,Rb,te):return (Rp - Rb)/teTE_fund = np.zeros_like(R_mean)for i in range(len(R_mean)):TD = np.array(R_fund.iloc[:,i]) - np.array(R_HS300.iloc[:,0])TE_fund[i] = TD.std()*np.sqrt(252)print(R_fund.columns[i] + '跟踪误差',TE_fund[i])R_mean_HS300 = np.array(R_HS300.mean()*252)
IR_3years = IR(R_mean,R_mean_HS300,TE_fund)
print('2016-2018平均3年的信息比率:\n',IR_3years)
基金名称 | 特雷诺比率 |
---|---|
景顺长城优质成长基金 | -0.232343 |
汇添富移动互联基金 | -1.092476 |
华宝品质生活基金 | -0.158805 |
中银新动力基金 | -1.690075 |
金融分析与风险管理——投资组合的绩效评估相关推荐
- 金融分析与风险管理——投资组合的有效前沿及资本市场线
金融分析与风险管理--投资组合的有效前沿及资本市场线 1 投资组合的可行集 2 投资组合的有效前沿 3 资本市场线 1 投资组合的可行集 投资组合中的权重变量可以实现投资组合的预期收益率与收益波动率之 ...
- (二十七)投资组合的绩效评估
衡量某一投资组合策略的绩效就是要考察其实际投资组合所承担的风险与所获得的收益是否匹配,主要指标有Sharpe Ratio.Treynor Ratio.Sortino Ratio.Jensen's ...
- 金融与python-基于Python的金融分析与风险管理
金融科技时代已经到来,善于将金融理论与IT技术进行深度融合的人,将成为新时代独具竞争力的金融科技类人才.无论是打算在金融领域求职的新人,还是希望进一步提升个人能力的"职场老手",本 ...
- 《基于Python的金融分析与风险管理》学习笔记
目录 第1部分 入门篇 第1章 Python概览 1.1 Python的定义与比较优势 1.1.1 Python简介 1.1.2 Python的比较优势 1.2 Python之父-吉多·范 ...
- python金融分析-基于Python的金融分析与风险管理
第 1部分 入门篇 第 1章 Python概览 2 1.1 Python的定义与比较优势 3 1.1.1 Python简介 3 1.1.2 Python的比较优势 4 1.2 Python之父-吉多· ...
- 金融分析与风险管理——资本资产定价模型
金融分析与风险管理--资本资产定价模型 1 系统性风险与非系统性风险 2 资本资产定价模型 1 系统性风险与非系统性风险 在理论上,股票面临的风险可以抽象的划分为系统性风险与非系统性风险.系统性风险( ...
- 绩效评估常见指标和方法
绩效评估常见指标和方法 1. Sharpe Ratio夏普比率 绩效指标也被称为风险指标,它们也是量化投资的基石,正因为有这些指标我们可以横向对比不同模型.首先以被模型开发者熟知的夏普比率开始介绍,S ...
- 金融分析与风险管理——期权类型及到期时的盈亏
金融分析与风险管理--期权类型及到期时的盈亏 1. 期权简述 2. 看涨期权到期时的盈亏 3. 看跌期权到期时的盈亏 4.期权涨跌平价关系式 1. 期权简述 期权(option) 是一种金融合约,该合 ...
- 金融分析与风险管理——风险价值(VaR)
金融分析与风险管理--风险价值(VaR) 1. 风险价值(VaR)简述 1.1 Python可视化风险价值 2. VaR值的测度方法 2.1 方差-协方差法 2.2 历史模拟法 2.3 蒙特卡洛模拟法 ...
- 第19节 项目整体绩效评估.
项目整体绩效评估 1[单项选择题]在供方选择过程中,对提供主要物资的新的供方,应要求其提供充分的质量证明文件,以证实其质量保证能力.()不属于质量证明 A供方多年供货业绩综合评价 B供方质量管理体系对 ...
最新文章
- postgresql主从备份_基于PG12.2实现主从异步流复制及主从切换教程(下)
- 总结调试过程中怎么去抓log
- linux qos 实现机制,linux的qos机制 - cgroup篇 (4)
- 16道关于Python基础方面的练习题
- 【Java】总结//TODO、//FIXME、//XXX 注释
- 骁龙855加持!OPPO Reno正面照揭晓:边框窄得吓人
- 基于Yolov5目标检测的物体分类识别及定位(三) -- 训练、测试
- Hadoop连载系列之六:Hadoop数据仓库工具Hive
- R语言 MCMC算法及其实现
- 国内大公司的开源项目一览表(包含mysql读写分离等)
- scada系统集成_MES与EPR进行系统集成的实际案例-系统接口、交互数据分析
- 机器学习算法——聚类3(k均值算法)
- Paper:《Pre-Trained Models: Past, Present and Future大规模预训练模型的发展历史、最新现状和未来发展三个方向》翻译与解读
- 2021最新薪酬报告出炉
- TikTok搬运视频怎么做,搬运怎样的视频最好
- 【深度学习】参数量、模型大小、显存
- 计算机教室布置软木,软木照片墙布置,让孩子体验手工的乐趣
- java封装、继承和多态练习题
- 软件工程之开发与测试对缺陷重现条件的常见误解
- 学校作业《C语言课程设计》