28
Analiza kursów akcji w systemie R
Posted under analiza danych, GNU R by Artur SuchwałkoŚ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.
