28.10

2008

Analiza kursów akcji w systemie R

Autor: artur

Światowy kryzys finansowy przypomniał mi czasy, kiedy zajmowałem się typową matematyką finansową. Od tego czasu wiele się zmieniło w dostępnym oprogramowaniu. Okazuje się, że R doskonale sobie radzi z analizą danych finansowych. Oprócz metod analizy system R umożliwia wygodny dostęp do danych finansowych online.

Analizujemy jeden indeks oraz ceny akcji trzech znanych firm:

  • ^NYA – New York Stock Exchange Composite („^” oznacza, że mamy do czynienia z indeksem),
  • KO – Coca Cola.

Nazwy dwóch pozostałych firm łatwo można odgadnąć analizując kod.

Korzystamy z pakietu fImport. Jest on jednym z pakietów oferowanych na stronie Rmetrics. Rmetrics jest zestawem pakietów dla R przydatnych w inżynierii finansowej.

Wczytujemy dane z Yahoo oraz obliczamy korelacje przyrostów (zwrotów) cen akcji i indeksu giełdowego. Oto krótki kod:

library(fImport)

dane <- as.data.frame(yahooSeries(symbols = c("^NYA", "KO", "IBM", "DELL"), from = "2008-01-01", to = "2008-10-24")) # wczytujemy dane z Yahoo

dane <- dane[, grep("Close", names(dane), value=TRUE)] # bierzemy tylko kursy zamknięcia (korzystamy z wyrażeń regularnych)

# wyliczamy zwroty
n <- dim(dane)[1]
dane.zwroty <- (dane[2:n,] - dane[1:(n-1),]) / dane[1:(n-1),]

# liczymy i pokazujemy macierz korelacji
print(cor(dane.zwroty))
heatmap(cor(dane.zwroty), cexRow=.8, cexCol=.8, symm=T, rewC=T)

Ciekawostką jest wykorzystanie w kodzie wyrażeń regularnych (funkcja grep).

Oczywiście, można wykonać na naszych danych także całkiem inne analizy i wykresy.

Zachęcam w związku z tym wszystkich zainteresowanych do odwiedzenia strony pakietu
quantmod. Pakiet ten umożliwia on wczytywanie do R danych finansowych z Google Finance oraz operacje na nich. Można budować i testować modele dla traderów oraz tworzyć atrakcyjne wykresy. Pakiet quantmod jest także dostępny standardowo na serwerach CRAN.

Spróbuj ponownie