第六章《标准差(S.D.)也可用于理解高风险、高回报(夏普比率)》。
注:尽管投资策略中夏普比例被普遍应用,但它也确实有局限(来源):
首先,夏普比率是回顾性的。它只考虑历史回报的分布和波动,而不是未来发生的。在根据夏普比例作出判断时,有一个隐含的假设,即过去将会与未来相似。显然并非总是如此,特别是在市场制度的变化下。夏普比率计算假设正在使用的回报是正态分布(即高斯)。不幸的是,市场往往高于正常分布的峰度。相比高斯分布将导致我们相信的来说,回报的分配存在“长尾效应”,极端事件有可能发生。 因此,夏普比率在表征尾部风险方面较差。
获取数据(使用alpha_vantage库,读取ALPHA VANTAGE股票数据):
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。