18章 资产收益率和风险
目录
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