1. Učit se
  2. /
  3. Kurzy
  4. /
  5. Kvantitativní řízení rizik v R

Connected

cvičení

Překrývající se výnosy

Když agregujeme časovou řadu sčítáním denních log-výnosů do delších intervalů, pracujeme s menším počtem pozorování. Abychom zachovali množství dat, můžeme vypočítat překrývající se výnosy pomocí funkce rollapplyr() — ta ale zároveň vytváří silné korelace mezi pozorováními.

Průměrný obchodní týden má 5 dní. Výpočtem 5denních klouzavých součtů log-výnosů denních indexových dat získáme přibližné překrývající se týdenní výnosy pro každý kalendářní týden. Obdobně nám 21denní klouzavé součty dají přibližné měsíční výnosy a 63denní klouzavé součty přibližné čtvrtletní výnosy.

Podívejme se na příklad s daty denních výnosů Dow Jonesova indexu v proměnné djx. Protože každý klouzavý součet se počítá z 5 hodnot, první 4 hodnoty výsledku jsou NA. V takovém případě je odstraníme pomocí indexování:

> djx5 <- rollapplyr(djx, width = 5, FUN = sum)
> head(djx5)
                  ^DJI
2008-01-03          NA
2008-01-04          NA
2008-01-07          NA
2008-01-08          NA
2008-01-09 -0.02394677
2008-01-10 -0.01571869

> djx5 <- djx5[-(1:4)]

V tomto cvičení vypočítáš klouzavé součty pro různé intervaly z proměnné djx, která je načtena v tvém pracovním prostředí. Poté zjistíš šikmost a špičatost výsledných dat a provedeš Jarque-Berův test — stejně jako v předchozích cvičeních. Blíží se překrývající se výnosy více normálnímu rozdělení?

Pokyny

100 XP
  • Vypočítej 21denní klouzavý součet log-výnosů v djx, odstraň prvních 20 hodnot a výsledek přiřaď do djx21.
  • Vypočítej 63denní klouzavý součet log-výnosů v djx, odstraň prvních 62 hodnot a výsledek přiřaď do djx63.
  • Pomocí merge() s parametrem all = FALSE spoj djx, djx21 a djx63 v tomto pořadí a výsledek přiřaď do djx2. Zobraz ho pomocí plot.zoo().
  • Pomocí apply() a příslušných funkcí vypočítej šikmost a špičatost každé řady v djx2.
  • Pomocí apply() a příslušné funkce proveď Jarque-Berův test na každé řadě v djx2.