GOOGL_path <- "https://stooq.pl/q/d/l/?s=googl.us&d1=20140101&d2=20211231&i=d"
GOOGL <- read.csv(GOOGL_path)
GOOGL <- GOOGL%>%
select(-c(Najwyzszy, Najnizszy, Wolumen))
head(GOOGL)
## Data Otwarcie Zamkniecie
## 1 2014-01-02 27.8865 27.8280
## 2 2014-01-03 27.8750 27.6250
## 3 2014-01-06 27.8000 27.9330
## 4 2014-01-07 28.1250 28.4715
## 5 2014-01-08 28.6500 28.5310
## 6 2014-01-09 28.5860 28.2560
ror = function(value1, value2){
log(value1/value2)
}
for (i in 1:nrow(GOOGL)){
GOOGL[i, "Stopa_zwrotu"] = ror(GOOGL[i, "Zamkniecie"], GOOGL[i, "Otwarcie"])
}
head(GOOGL)
## Data Otwarcie Zamkniecie Stopa_zwrotu
## 1 2014-01-02 27.8865 27.8280 -0.002099993
## 2 2014-01-03 27.8750 27.6250 -0.009009070
## 3 2014-01-06 27.8000 27.9330 0.004772765
## 4 2014-01-07 28.1250 28.4715 0.012244726
## 5 2014-01-08 28.6500 28.5310 -0.004162228
## 6 2014-01-09 28.5860 28.2560 -0.011611263
summary(GOOGL$Stopa_zwrotu*100)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -5.801924 -0.625686 0.027844 0.005705 0.727581 5.159005
az <- 10 # Liczba akcji
value1 <- GOOGL$Zamkniecie[length(GOOGL)] # Aktualna cena
valuep <- value1*az # Wartość naszego portfela
a <- .95 # Poziom ufności (5%)
var <- abs(quantile(GOOGL$Stopa_zwrotu, 1 - a) * valuep)
var; valuep
## 5%
## 5.669209
## [1] 284.715
Z tego wynika, że posiadając 10 akcji Alphabet (Google), na następnej sesji giełdowej przy prawdopodobieństwie ustalonym na poziomie 95% możemy maksymalnie stracić około 5,67$
hist(GOOGL$Stopa_zwrotu, breaks=100, main="Histogram dla stóp zwrotu", xlab = "", ylab = "")
abline(v=quantile(GOOGL$Stopa_zwrotu, 1-a), col="red", lwd=3, lty=2)
var_2 <- VaR(GOOGL$Stopa_zwrotu, p = 0.95, method = "historical")
abs(var_2*valuep)
## [,1]
## VaR 5.669209