- Medidas de Forma : Asimetría - enero 3, 2025
- Medidas Estadísticas de Dispersión Relativa - junio 11, 2024
- Modelos SARIMA(Arima Estacionales).¿Qué son y cómo usarlos para Predecir? - enero 4, 2024
La Teoría de Valores Extremos (EVT de sus siglas en inglés) es la rama de la estadística que fija su análisis en los eventos asociados a las colas de la distribución (Valores mayores y menores de la variable en concreto).
Normalmente, en estadística, cuando hacemos algún análisis nos solemos fijar en las parte central de los datos, descartando aquellos que son menos probables. Incluso muchas veces los datos más extremos se eliminan para que no interfieran en el resultado. Pero esta práctica no siempre es buena, porque en su según que momentos estos datos pueden darnos información muy útil, incluso determinante.
Particularmente es en esos datos extremos donde la Teoría de Valores Extremos trabaja. Si nos centramos en finanzas, por ejemplo en las series de precios ,como pueden ser los de las bolsa,forex,etc…,esta teoría se puede usar para estudiar estos valores, y tener una mejor idea de la volatilidad y el riesgo.
En este video explico una de las formas para aplicar la teoría, que es mediante la Distribución de Pareto Generalizada. Más abajo tienes el código R usado
CODIGO R DEL VIDEO
#Video Teoría Valores Extremos _ Pareto Generalizado
#install.packages(«quantmod»)
library(quantmod)
#install.packages(«tseries»)
library(tseries)
#install.packages(«fImport»)
library(fImport)
getSymbols(«CADCHF=X»,src=»yahoo»,from = «2012-01-01»)
getSymbols(«AUDNZD=X»,src=»yahoo»,from = «2012-01-01»)
getSymbols(«AUDUSD=X»,src=»yahoo»,from = «2012-01-01»)
getSymbols(«EURCHF=X»,src=»yahoo»,from = «2012-01-01»)
getSymbols(«EURGBP=X»,src=»yahoo»,from = «2012-01-01»)
getSymbols(«EURJPY=X»,src=»yahoo»,from = «2012-01-01»)
getSymbols(«EURNZD=X»,src=»yahoo»,from = «2012-01-01»)
getSymbols(«EURUSD=X»,src=»yahoo»,from = «2012-01-01»)
getSymbols(«GBPCHF=X»,src=»yahoo»,from = «2012-01-01»)
getSymbols(«NZDCAD=X»,src=»yahoo»,from = «2012-01-01»)
getSymbols(«GBPUSD=X»,src=»yahoo»,from = «2012-01-01»)
#precios de cierre
CADCHF= `CADCHF=X`[,4]
AUDNZD= `AUDNZD=X`[,4]
AUDUSD= `AUDUSD=X`[,4]
EURCHF= `EURCHF=X`[,4]
EURGBP= `EURGBP=X`[,4]
EURJPY= `EURJPY=X`[,4]
EURNZD= `EURNZD=X`[,4]
EURUSD= `EURUSD=X`[,4]
GBPCHF= `GBPCHF=X`[,4]
NZDCAD= `NZDCAD=X`[,4]
GBPUSD= `GBPUSD=X`[,4]
plot(EURGBP,type=»l») # serie precios en diario
# sacar retornos
r_eurgbp <-na.omit(returns(EURGBP))*100
plot(r_eurgbp,type=»l»)
hist(r_eurgbp)
#2 umbral
quantile(r_eurgbp,c(0.05,0.95))
plot(r_eurgbp,type=»l»)
abline(0.8273344,0,col=»red»)
abline(-0.7636476,0,col=»red»)
## calculariamos los excedentes
val_pos = r_eurgbp [r_eurgbp > 0.8273344]
val_pos
plot(val_pos,type=»l»)
hist(val_pos)
excedente_pos= val_pos – 0.8273344
excedente_pos
hist(excedente_pos)
####### formula en r
#???install.packages(«evir»)
library(«evir»)
pareto= r_eurgbp # Para Cola Positiva
#r_eurgbp_neg = r_eurgbp*-1 # Para Cola Negativa
fit<- gpd(pareto,threshold=0.8273344, nextremes=NA) # umbral y cantidad
fit
plot(fit$data,type=»l») # datos que sobrepasan el umbral(cola)
hist(fit$data) #histograma cola
#?gpd.q
#plot(fit)
tp<-tailplot(fit)
tp
#??tailplot
# sacamos los 3 parámetros – localización, escala, forma
loc<-tp$location
scal<-tp$scale
shape<-tp$shape
#Función cuartil y estimate
#?gpd.q
#Percentil 99 al 99% de confianza
Estimate<- gpd.q(tp, pp= 0.99, ci.p=0.99)
Estimate