首页 生活常识

夏普比率什么意思(量化指标之夏普比率)

100人浏览   2024-11-23 08:47:47

什么是夏普比率(Sharpe Ratio)?

简单来说,夏普比率就是每承受一单位风险,所获得的超额回报是多少。

夏普比率越高,说明在承担相同风险情况下,获得的超额回报越多。反之,如果夏普比率很小甚至为负,说明承担相同风险情况下,所获得的超额回报很小,甚至为负,当然这种情况是大家不愿意看到的。这类似于我们常说的“性价比”,相同质量的产品,大家肯定更愿意接受价格优者。

举个例子,有两只基金A和B,年化收益率都是10%,但是夏普比率不同,A的夏普比率为0.5,而B的夏普比率为1。不考虑其他情况下,该怎么选择?毫无疑问B基金更优。在相同年化收益率下,B基金的夏普比率更高,表明B基金以较小的风险获得了相同的收益。

但是夏普比率也跟其他指标一样,计算得到的都是历史值,不能代表未来。而且,夏普比率的假设的模型是正态分布,也就是说只能衡量常态化的风险和超额回报,而“黑天鹅”的风险是夏普比率没办法衡量的。

如何计算夏普比率?

设定样本周期为沪深交易所交易日,则夏普s的计算方法为:


接下来,我们开始对指定时间范围内的某只基金进行分析。

1、读取数据

import pandas as pd
df = pd.read_csv('data/000001.csv')
df.head()


2、选定想要分析的时间范围

# 定义计算夏普比率的时间范围
start_time='2018-01-01'
end_time='2021-05-31'

3、过滤掉多余的数据

# 筛选指定时间范围内的数据
df_filter = df[df['FSRQ'].between(start_time, end_time, inclusive=True)]

4、计算每日的收益率

df_filter = df_filter.sort_values(by='FSRQ')
df_filter['RETURNS'] = df_filter['DWJZ'].pct_change()


5、选择一年期定期存款利率作为无风险利率,来计算夏普比率

# 选择一年期定期存款利率作为无风险利率
base_ratio = 0.015
sharp_ratio = (df_filter['RETURNS'].mean() - base_ratio / 365) / df_filter['RETURNS'].std() * np.sqrt(250)