Vlastnosti finančních časových řad
Denní výnosy finančních aktiv mají obvykle řadu společných vlastností. Výnosy za jeden den bývají malé a jejich průměr se blíží nule. Zároveň ale jejich rozptyly a směrodatné odchylky mohou být relativně velké. V průběhu několika let se obvykle objeví několik velmi vysokých výnosů (co do absolutní hodnoty). Tito relativní odlehlí pozorování se vyskytují jen v malém počtu dní, ale způsobují největší pohyby cen aktiv. Právě kvůli těmto extrémním výnosům není rozdělení denních výnosů aktiv normální, ale těžkochvostové, případně zešikmené. Obecně platí, že výnosy jednotlivých akcií mívají ještě větší variabilitu a extrémnější pozorování než výnosy indexů.
V tomto cvičení budeš pracovat s datasetem eu_percentreturns, který obsahuje procentuální výnosy vypočítané z dat eu_stocks. Pro každý ze čtyř indexů v datech vypočítáš výběrový průměr, rozptyl a směrodatnou odchylku.
Všimni si, že průměrný denní výnos je přibližně 0 a směrodatná odchylka je přibližně 1 procentní bod. Dále aplikuj funkce hist() a qqnorm() pro vytvoření histogramů a normálních kvantilových grafů pro každý z indexů.
Toto cvičení je součástí kurzu
Analýza časových řad v R
Pokyny k cvičení
- Pomocí
colMeans()vypočítej výběrový průměr pro každý sloupec v datecheu_percentreturns. - Pomocí
apply()vypočítej výběrový rozptyl pro každý index. Ponech argumentMARGINna hodnotě2a nastav argumentFUNnavar. - Dalším voláním
apply()vypočítej směrodatnou odchylku pro každý index. ArgumentMARGINponech na hodnotě2, tentokrát ale nastav argumentFUNnasd. - Spusť zbývající kód, aby se zobrazily histogram a normální kvantilové grafy procentuálních výnosů pro každý index.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Generate means from eu_percentreturns
colMeans(___)
# Use apply to calculate sample variance from eu_percentreturns
apply(___, MARGIN = 2, FUN = ___)
# Use apply to calculate standard deviation from eu_percentreturns
# Display histogram and normal quantile plots
par(mfrow = c(2,2))
apply(eu_percentreturns, MARGIN = 2, FUN = hist, main = "", xlab = "Percentage Return")
par(mfrow = c(2,2))
apply(eu_percentreturns, MARGIN = 2, FUN = qqnorm, main = "")
qqline(eu_percentreturns)