金融ネタとか備忘録とか

社会人6年目になりました(23年4月)。個人的に勉強したことをメモしていきます(2018年3月)。

quantmodでデータを取得

概要

  • 今更ながらquantmodパッケージの便利さに気付いたのでメモ

  • quantmodパッケージで簡単に金融データが取得可能

パッケージのインストール

Rパッケージquantmod内のgetSymbols関数を使うことで,金融関連のデータを簡単に取得可能。

quantmodのマニュアル*1を見ると, Yahoo!ファイナンス以外にもFREDなどから直接Rにデータを取り込むことが可能(らしい)。

まあ細かい部分は後で読むことにして,とりあえずインストール。

ついでにパッケージ内の関数getSymbolsを使って,適当に2017年以降の日経平均株価の日次データを取得。

#パッケージの読込
install.packages("quantmod")
library("quantmod")
#データの読込
nikkei <- getSymbols("^N225", src = "yahoo", from = as.Date("2017-01-01"),
                     to = as.Date("2017-08-26"), auto.assign = FALSE) 

日経平均株価の毎営業日の,始値(Open),高値(High),安値(Low),終値(Close),出来高(Volume),調整後終値(Adjusted)の6つが入ったxts型データを 直接Rに取り込むことができる。

また,パッケージ内の関数chartSeriesを使うと,getSymbols関数で読み込んだデータでいい具合に図を描くことができる。

#図の描画
chartSeries(nikkei)

f:id:shiba_ryu0209:20170828123625p:plain

chartSeries関数の引数TAには,テクニカル分析のツールが入っている。 試しにボリンジャー・バンドを入れてみる(4月からプロットしてみる)。

chartSeries(nikkei, subset = "2017-04::", TA = "addBBands()")

f:id:shiba_ryu0209:20170828130555p:plain

また,この他のプロット関数としてラインチャートlineChart),バーチャート(barChart),ローソク足チャート(candleChart)がある。

たとえば,chandleChart関数を使ってみる。

candleChart(nikkei,theme = chartTheme("white.mono")) #背景を白色に
my.theme <- chartTheme(up.col = "blue", dn.col = "red", #上昇時に青色,
                       area = "white", bg.col = "white") #下落時に赤色のロウソク足チャート
candleChart(nikkei, theme = my.theme) #プロット

f:id:shiba_ryu0209:20170828125152p:plain