Análisis de series de rendimiento


Un archivo contiene los rendimientos de las acciones de 4 acciones, entre ellas las de Bancolombia. Se realiza un análisis de los rendimientos y se estima la varianza por varios métodos.

Puede consultar el libro "Introducción al riesgo financiero" en  

https://1drv.ms/b/s!Aj-hHTVbsx01h4JmNiA9O57JQuANWg?e=l4IFbm

library(nortest)
library(MASS)
library(stats)
library(ADGofTest)
library(moments)
A=read.csv("F:/U162/RIESGO/datos162.csv",header=TRUE,dec=".")
attach(A)
View(A)
n=nrow(A)
n
stem(bancolo)

  -7 | 2
  -6 | 
  -5 | 211
  -4 | 8755211
  -3 | 44322211100000
  -2 | 99998777766665544444333222221110000
  -1 | 99999888777777666666655555544444444444333333333333333332222111111111
  -0 | 99999999999999888888888888888888888877777777777777766666666666665555+65
   0 | 00000000000000000000000000000000000000000000000000000000000000000000+142
   1 | 00000000000011111111112222222222223333333444444555555555566666666777
   2 | 00000111112222333334444455666677778999
   3 | 001112233344445577899
   4 | 0278
   5 | 07
   6 | 
   7 | 
   8 | 
   9 | 0

summary(bancolo)
m=mean(bancolo)
m
varianza=var(bancolo)
varianza
des=sd(bancolo)
des

hist(bancolo,prob=TRUE,breaks=15)
curve(dnorm(x, m, des), -0.10, 0.2, add = TRUE,lwd=2,col="red")



















boxplot(bancolo,horizontal=TRUE)














plot(bancolo,type="l",ylab="Rendimiento",xlab="Día",main="rendimientos bancolombia")
abline(h=0,col="red")














ASI=skewness(bancolo)
ASI
K=kurtosis(bancolo)
K
jarque.test(bancolo)
shapiro.test(bancolo)
ks.test(bancolo,"pnorm")
lillie.test(bancolo)
ad.test(bancolo,pnorm)
agostino.test(eeb)
geary(eeb)
cvm.test(eeb)
sf.test(eeb)
qqnorm(eeb)
qqline(eeb)
summary(A)

estimación de la varianza
###varianza=ren^2
sapply(A,var)
R2bancolo<-sum(bancolo^2)/n
R2eeb<-sum(eeb^2)/n
R2gargos<-sum(gargos^2)/n
R2nutresa<-sum(nutresa^2)/n
varianzas2<-rbind(R2bancolo,R2eeb,R2gargos,R2nutresa)
varianzas2

###
##varianza móvil (ventanas móviles)
library(caTools)
k=20;
y=runsd(bancolo, k)
y
va<-y^2
va
plot(va,type="l",xlab="fecha")

#Volatilidad Dinámica(suavizamiento exponencial)
I=1:n
lambda=0.9
lambda2=lambda^(I-1)
lambda2
K=bancolo^2
S=lambda2*K
T=sum(S)
T
sigma2t=(1-lambda)*T
sigma2t
sigma=sqrt(sigma2t)
sigma

(1-lambda)*(bancolo[n])^2+lambda*sigma2t ##estimación

########
##Arch.garch
library(fGarch)
modelo=garchFit(~garch(1,0),data=bancolo) ##arch(1)
coef(modelo)
predict(modelo)

modelo3=garchFit(~garch(1,1),data=bancolo) ##garch(1,1)
coef(modelo3)
predict(modelo3)
predict(modelo3,n.ahead=5)

No hay comentarios.:

Publicar un comentario