年收益率,标准差和夏普率的计算

股票的年收益率(年化率)很好理解,等于一年赚的钱除以这一年的本金,代表你的本金在这一年的回报水平。银行存一年的利率大概是1.5%。当然,在股票投资的时候,时间不太可能就是整整一年,所以需要用上公式计算你的年化率。

年收益率=【投资内收益/本金/投资天数】*365×100%。

股票不是365,而是252天。

标准差代表着这个股票的波动水平,标准差越大,意味着股票波动越大,风险越大。

夏普率比较难理解,它的计算公式是年收益率除以标准差,从计算公式上的理解就是,每次波动下产生的年化率。年化率越大,夏普率越大;标准差越大(波动越大,风险越大),夏普率越小。

夏普率代表每多承担一分风险,可以拿到几分报酬,该指标用于比较哪只股票更好。我们更希望承担更小的风险来获得更大的报酬,所以,该指标自然是越大越好。

我们来计算投资股票一个月的夏普率。

x = [x1,x2,x3....,x30]  (x为30天每一天的收益)  B为本金,u为x的平均数,1.5%为银行利率,可以作为无风险下的利率。

return = \sum_{i=1}^{30}(x_{i})/B/30*365

std = \sqrt{\sum_{i=1}^{30}(x_{i}-u)^{2}/30}*\sqrt{365}/B

sharpe = (return-1.5)/std

公式可以简化为: sharpe = sum(x)*\sqrt{365} /(std(x)*30)

以上是股票的夏普率计算方法。

案例:

import numpy as np
#30天股票
x = [1,2,4,5,-2,-5,3,4,-1,-3,1,2,4,5,-2,-5,3,4,-1,-3,1,2,4,5,-2,-5,3,4,-1,-3]
allx = sum(x)
B = 200
returnsx = allx/B/30*365
std = np.std(x)*np.sqrt(365)/B
sharpe = (returnsx-1.5)/std
print(returnsx) #1.46
print(sharpe) #-0.13

如果当天的仓位在第二天才能平掉。例如,12/7建仓,12/8平仓,那该段收益应该算于12/8。得到每一天的收益率后,依旧套用上述方法,就能算出夏普率了。

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值