18章 资产收益率和风险

目录

 

1、资产收益率

2、期间收益率

3、预期收益率

4、实际收益率

5、单期简单收益率

6、k期简单收益率

7、R语言计算简单收益率:

8、年化收益率

9、单期连续复利收益率

10、多期连续复利收益率

11、收益图

12、下行风险

13、最大回撤


1、资产收益率

2、期间收益率

3、预期收益率

不是实际得到的收益率,在购买资产之前,预估未来可获得的收益率

4、实际收益率

投资者实际投资所获得的收益率

5、单期简单收益率

6、k期简单收益率

7、R语言计算简单收益率:

  • (1)、PerformanceAnalytics包CalculateReturns()函数计算简单收益率

#加载数据
setwd("C:\\Users\\lilil\\Desktop\\inbox")
stock<-read.csv("量化投资:以R语言为工具\\part 3\\018\\stockszA.csv")
vanke<-stock[stock$Stkcd=="2",]
close<-vanke$Clsprc
library(quantmod)
close<-xts(close,order.by = as.Date(vanke$Trddt))#转成日期格式
names(close)<-"closeprc"
head(close)

##            closeprc
## 2014-01-02     7.99
## 2014-01-03     7.84
## 2014-01-06     7.48
## 2014-01-07     7.43
## 2014-01-08     7.42
## 2014-01-09     7.46

library(PerformanceAnalytics)
Simpleret<-CalculateReturns(close,method="discrete")#method默认=“discrete”,计算的是简单收益率;="log"时为单期连续复利收益率
head(Simpleret)

##                closeprc
## 2014-01-02           NA
## 2014-01-03 -0.018773467
## 2014-01-06 -0.045918367
## 2014-01-07 -0.006684492
## 2014-01-08 -0.001345895
## 2014-01-09  0.005390836

  • (2)、quantmod包periodReturn()函数计算简单收益率

#1
SImpleret<-periodReturn(close,period = "daily",type = "arithmetic")#type = "arithmetic"简单收益率;="log"复利收益率
head(SImpleret)

##            daily.returns
## 2014-01-02   0.000000000
## 2014-01-03  -0.018773467
## 2014-01-06  -0.045918367
## 2014-01-07  -0.006684492
## 2014-01-08  -0.001345895
## 2014-01-09   0.005390836

#2
SImpleret<-dailyReturn(close,type = "arithmetic")
head(SImpleret)

##            daily.returns
## 2014-01-02   0.000000000
## 2014-01-03  -0.018773467
## 2014-01-06  -0.045918367
## 2014-01-07  -0.006684492
## 2014-01-08  -0.001345895
## 2014-01-09   0.005390836

  • (3)、TTR包ROC()函数

library("TTR")
SImpleret<-ROC(close,n=1,type = "discrete")#n表示多少期。type = "discrete"简单收益率;="continuous"连续复利收益率
head(SImpleret)

##                closeprc
## 2014-01-02           NA
## 2014-01-03 -0.018773467
## 2014-01-06 -0.045918367
## 2014-01-07 -0.006684492
## 2014-01-08 -0.001345895
## 2014-01-09  0.005390836

8、年化收益率

不是投资者获得的真正投资收益率,而是把日/周/月/季度收益率年化了,方便比较。

算术平均收益率:

m:1年共有m个单期
T:持有期
RT:持有期将会得到的收益率

几何平均收益率:

PerformanceAnalytics包中的annualReturn()函数

b<-annualReturn(Simpleret[-1],scale=252)#geometric=TRUE采用第2种方法计算,=FALSE采用第一种
b

##            yearly.returns
## 2014-12-31      -6.309810
## 2015-04-14      -1.174526

9、单期连续复利收益率

Pt:资产期初价格

Pt-1:资产期末价格

10、多期连续复利收益率

与单期连续复利收益率的关系:将连续k天的单期连续复利收益率加总即得。

#计算2期连续复利收益率
a<-log(close/lag(close,2))
head(a)

##                closeprc
## 2014-01-02           NA
## 2014-01-03           NA
## 2014-01-06 -0.065957968
## 2014-01-07 -0.053712976
## 2014-01-08 -0.008053735
## 2014-01-09  0.004029555

11、收益图

plot(Simpleret,main="收益率曲线")

chart.CumReturns(rbind(1+Simpleret[2],Simpleret),main="累积收益率图")#以1为初始资本金

12、下行风险

低于目标收益率部分的标准差
用PerformanceAnalytics包的DownsideDeviation(收益率序列,MAR=0,method= )计算 :

MAR默认为0;
method=“full”,计算整体样本下行偏差,=“subset”计算低于目标收益率样本的标准差

DownsideDeviation(Simpleret,method = "full")

## [1] 0.01504343

13、最大回撤

回撤:资产在(0,T)的最高峰与现在价值PT之间的回落值

最大回撤:资产在(0,T)从最高峰回落到最低谷底的幅度。描述投资者在持有资产时可能面临的最大损失。

用PerformanceAnalytics包的maxDrawdown(收益率序列,geometric= ,invert= )
geometric:=TRUE累计收益率用连乘计算;=FALSE用连加的方式计算
invert:=TRUE结果以正数展示;=FALSE以负数展示。

maxDrawdown(Simpleret,geometric = T,invert = T)

## [1] 0.2018779

猜你喜欢

转载自blog.csdn.net/qq_33341603/article/details/82695002