投资组合的夏普比率(portfolio's Sharpe Ratio) 的理论和实践

最近转了新公司之后真的非常忙,忙到连私人时间都没有。 忙里偷闲呗。。。。。。

前言

如果平时有使用米筐、优矿等量化平台,你会发现每个量化策略的运行结果必定出现夏普比率这个值。 其实这个值是什么来的、又有什么作用呢?

理论

在投资行业我们听到最多的一句莫过于“风险越大,收益越大”。 这一句简单的话正好就解释了为啥存银行的收益率远远低于买股票的收益率,就是因为风险和收益是成正比的关系。 夏普比率(Sharpe Ratio)的出现正好可以解决这个风险和收益之间的关系,同样的风险下收益最大化。 这个该如何理解呢? 打个比方,假如我把钱都买了股票,假设股票市场里所有股票的风险都是一样的,为啥我不投资一个收益最大化的股票呢?!

上面这个公式是我在知乎偷的图。

这是收益和风险的正比关系,我们不可能买着银行的理财产品但承受着股票市场的风险。但这个所谓“正比关系”该如何去衡量呢? 这时候我们就可以利用夏普比率(Sharpe Ratio) 来评估。

从表达式可以看出,公式主要分为上下两个部分。上面的分子部分主要是投资收益,下面的分母部分主要是投资风险,即一定时间段内投资产品的波动率。

  1. 先来看看分子部分的投资收益,为啥我们的投资回报还要扣除无风险收益率(Rf)呢?因为在投资行业中,我们假设我们的投资收益是高于购买长期国债(假设国家不会倒闭,所以无风险)的收益,正因为我们的“正确”的投资决策才产生的收益,这部分收益才是我们真正的收益。
  2. 下面的分母部分就是投资产品在投资期内的波动率,这里所谓的波动率实际上就是我们统计学上的标准差。至于啥是标准差。。。

注意事项

在计算夏普比率(Sharpe Ratio)的时候,我们需要注意:

  1. 收益和风险的计算周期需要一致。例如,你计算的收益回报是月度的,那么波动率的时间单位也需要是月度的,然后再转化为年度。
  2. 夏普比率(Sharpe Ratio)不适用于单只股票;一般是基于投资组合来计算的。
  3. 转换标准差的时间单位是,记得带上根号。例如,月度标准差是10,那么年度标准差就是10*√12。

实践

步骤

  1. 首先调用Tushare的API 获取股票数据;
  2. 计算投资组合的整体回报率;
  3. 计算投资组合的整体波动率。

下面我们将用到tushare.pro的数据来计算。

免费注册Tushare.pro账号

首先,我们需要从tushare.pro注册一个账号并调用其API获取股票日线数据。可能大多数的童稚是第一次接触tushare.pro, 那我就直接贴上官方介绍:

Tushare是一个免费提供各类金融数据和区块链数据 , 助力智能投资与创新型投资的python财经数据接口包。拥有丰富的数据内容,如股票、基金、期货、数字货币等行情数据,公司财务、基金经理等基本面数据。

过程

在2个月前我写过一篇关于用股息分红来选股的文章: 选股 - 股息支付率(payout ratio)、基本每股收益(eps) 来选股,最后得出了28只股票:

1
['000507.SZ', '000568.SZ', '000661.SZ', '000733.SZ', '000738.SZ', '000860.SZ', '002026.SZ', '002088.SZ', '002189.SZ', '002360.SZ', '002685.SZ', '300121.SZ', '300269.SZ', '300308.SZ', '600277.SH', '600323.SH', '600326.SH', '600377.SH', '600566.SH', '600567.SH', '600592.SH', '600660.SH', '600737.SH', '600757.SH', '600995.SH', '601100.SH', '601588.SH', '603869.SH']

既然这样,我就直接用这28只股票里面的前8只股票来当示范例子。当然,你也可以随便挑几只其他的股票来计算。


0%