はじめに
Yahoo Finance から株価データをとってきてくれるgetSymbolsを使って、こちらをPlotするまでの備忘録です。
OS | Windows 10.0 |
---|---|
Rstudio Ver | Version 1.0.153 |
準備
quantmodのインストール
quantmodパッケージが必要ですので、library読み込みが失敗した場合はインストールから始める必要があります。
> library(quantmod) Error in library(quantmod) : ‘quantmod’ という名前のパッケージはありません
以下のコマンドでインストールを行います。
> install.packages("quantmod") also installing the dependencies ‘xts’, ‘zoo’, ‘TTR’, ‘curl’ trying URL 'https://cran.rstudio.com/bin/windows/contrib/3.4/xts_0.11-1.zip' Content type 'application/zip' length 755153 bytes (737 KB) downloaded 737 KB trying URL 'https://cran.rstudio.com/bin/windows/contrib/3.4/zoo_1.8-4.zip' Content type 'application/zip' length 920127 bytes (898 KB) downloaded 898 KB trying URL 'https://cran.rstudio.com/bin/windows/contrib/3.4/TTR_0.23-4.zip' Content type 'application/zip' length 443610 bytes (433 KB) downloaded 433 KB trying URL 'https://cran.rstudio.com/bin/windows/contrib/3.4/curl_3.2.zip' Content type 'application/zip' length 2965604 bytes (2.8 MB) downloaded 2.8 MB trying URL 'https://cran.rstudio.com/bin/windows/contrib/3.4/quantmod_0.4-13.zip' Content type 'application/zip' length 491999 bytes (480 KB) downloaded 480 KB package ‘xts’ successfully unpacked and MD5 sums checked package ‘zoo’ successfully unpacked and MD5 sums checked package ‘TTR’ successfully unpacked and MD5 sums checked package ‘curl’ successfully unpacked and MD5 sums checked package ‘quantmod’ successfully unpacked and MD5 sums checked The downloaded binary packages are in C:\Users\XXXX\AppData\Local\Temp\Rtmp8ej77i\downloaded_packages
依存していた4パッケージも併せてインストールされました。
簡単に説明すると、
- xtsパッケージは、eXtensible Time Seriesの略で、時系列データ用のデータフレームです。
- zooパッケージは、時系列を扱うクラス及び関数を提供するライブラリです。
- TTRパッケージは、Technical Trading Rulesの略でトレーディングに関するを計算を行う関数を提供するライブラリです。
- curlパッケージはLinuxのコマンドにもあります、ファイルのダウンロードを実施するライブラリです。
ライブラリ読み込み
getSymbolsを使用するために改めて読み込みを行います。
> library(quantmod) 要求されたパッケージ xts をロード中です 要求されたパッケージ zoo をロード中です 次のパッケージを付け加えます: ‘zoo’ 以下のオブジェクトは ‘package:base’ からマスクされています: as.Date, as.Date.numeric 要求されたパッケージ TTR をロード中です Version 0.4-0 included new data defaults. See ?getSymbols. Learn from a quantmod author: https://www.datacamp.com/courses/importing-and-managing-financial-data-in-r Warning messages: 1: パッケージ ‘quantmod’ はバージョン 3.4.4 の R の下で造られました 2: パッケージ ‘xts’ はバージョン 3.4.4 の R の下で造られました 3: パッケージ ‘zoo’ はバージョン 3.4.4 の R の下で造られました 4: パッケージ ‘TTR’ はバージョン 3.4.4 の R の下で造られました >
ちなみに「以下のオブジェクトは ‘package:XXXX’ からマスクされています」というのは、同名の関数のパスが変わったことを示していますが今回は特に気にしなくてよいです。
また、不要な場合はdetachを行ったりRを再起動すれば解消します。
実際にPlotを行う
getSymbolsで日経平均株価データを取得していきます。
> getSymbols function (Symbols = NULL, env = parent.frame(), reload.Symbols = FALSE, verbose = FALSE, warnings = TRUE, src = "yahoo", symbol.lookup = TRUE, auto.assign = getOption("getSymbols.auto.assign", TRUE)
getSymbolsにて必要情報を取得しますが、ひとまずは以下でnikkeiにデータが格納されます。
最初の引数でINDEXNIKKEIを取得すべく、先頭が「N225」でひっかけます。
> nikkei <- getSymbols("^N225",src="yahoo",from="2017-01-01", to = "2018-11-4", auto.assign = FALSE) Warning message: ^N225 contains missing values. Some functions will not work if objects contain missing values in the middle of the series. Consider using na.omit(), na.approx(), na.fill(), etc to remove or replace them.
構造と中身をちらっと見てみました。ちゃんと値が格納されています。
> class(nikkei) [1] "xts" "zoo" > > head(nikkei) N225.Open N225.High N225.Low N225.Close N225.Volume N225.Adjusted 2017-01-04 19298.68 19594.16 19277.93 19594.16 163500 19594.16 2017-01-05 19602.10 19615.40 19473.28 19520.69 134500 19520.69 2017-01-06 19393.55 19472.37 19354.44 19454.33 119100 19454.33 2017-01-10 19414.83 19484.90 19255.35 19301.44 119100 19301.44 2017-01-11 19358.64 19402.17 19325.46 19364.67 119100 19364.67 2017-01-12 19300.19 19300.19 19069.02 19134.70 119100 19134.70
あとは、終値が入っている列を選択してPlotします。
> plot(nikkei[,4] , main = "N225-Close")
以上です。かなり簡単なので別記事で応用してみたいと思います。