统计学与pandas学习(六)—— 夏普比率

2019-08-20 11:22:57 浏览数 (1)

第六章《标准差(S.D.)也可用于理解高风险、高回报(夏普比率)》。

总结

  1. 投资基本上是对高风险、高回报的商品,还是低风险、低回报的商品的选择。这种商品的差异,是“性质的差异”,并不意味着优劣。
  2. 可以说,在同样的平均收益率之下,S.D.小的是优良的金融商品,而在同样的S.D.之下,平均收益率大的是优良的金融商品。
  3. 就此意义上来说,金融商品优劣性的评价基准是夏普比率(SPM)。夏普比率的公式(X的夏普比率)= [((X的回报)-(国债的收益率)] )/ (X的风险) 来计算。可以这样认为,夏普比率越大,金融商品就越优良。

注:尽管投资策略中夏普比例被普遍应用,但它也确实有局限(来源):

首先,夏普比率是回顾性的。它只考虑历史回报的分布和波动,而不是未来发生的。在根据夏普比例作出判断时,有一个隐含的假设,即过去将会与未来相似。显然并非总是如此,特别是在市场制度的变化下。夏普比率计算假设正在使用的回报是正态分布(即高斯)。不幸的是,市场往往高于正常分布的峰度。相比高斯分布将导致我们相信的来说,回报的分配存在“长尾效应”,极端事件有可能发生。 因此,夏普比率在表征尾部风险方面较差。

练习

获取数据(使用alpha_vantage库,读取ALPHA VANTAGE股票数据):

代码语言:javascript复制
import pandas as pd
import numpy as np
from alpha_vantage.timeseries import TimeSeries

ts = TimeSeries(key='******',output_format='pandas')

# 使用000680股票为例子
data, meta_data = ts.get_daily('000680.SZ',outputsize='full')

# 使用2016年数据:
data = data.loc[(data.index>'2016-01-01') & (data.index<='2016-12-31')]

# 计算每日收益率:
data['daily_ret'] = data['close'].pct_change() 

# 以国债为参考,假设年化收益率为3.9%,每年252个交易日
data['excess_daily_ret'] = data['daily_ret'] - 0.039/252

# 计算年化夏普比率,默认为252个交易日。
np.sqrt(252) * data['excess_daily_ret'].mean() / data['excess_daily_ret'].std()

结果:

-0.37083735014815344

部分代码来自于QuantStart

0 人点赞