2019-01-16

Rで株価を扱う 〜 quantmod パッケージ

Rで株価データを取り扱うにはどうすれば良いか調べてみたところ、quantmod パッケージがとても便利で、東証銘柄の株価もネットワーク越しに取得できることが判りましたので、備忘録としてまとめました [1]

リスト:quantmod パッケージのインストール (RStudio) 
> install.packages("quantmod")
Installing package into ‘/home/bitwalk/R/x86_64-redhat-linux-gnu-library/3.5’
(as ‘lib’ is unspecified)
 URL 'https://cran.rstudio.com/src/contrib/quantmod_0.4-13.tar.gz' を試しています 
Content type 'application/x-gzip' length 142084 bytes (138 KB)
==================================================
downloaded 138 KB

* installing *source* package ‘quantmod’ ...
**  パッケージ ‘quantmod’ の解凍および MD5 サムの検証に成功しました 
** R
** demo
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
  converting help for package ‘quantmod’
    finding HTML links ...  完了 
    Defaults                                html  
   ...
 (途中省略)
   ...
    zoomChart                               html  
** building package indices
** testing if installed package can be loaded
* DONE (quantmod)

The downloaded source packages are in
 ‘/tmp/RtmpZtxVV6/downloaded_packages’
> 

ちなみに (Linux) Fedora 29 上の RStudio で最初に quantmod パッケージをインストールしようとした時には、下記のエラーが関連パッケージのコンパイル時に出てインストールできませんでした。Fedora 側で libcurl-devel を dnf コマンドでインストールしてから、RStudio でのインストールをやり直しました。Windows 上では、コンパイル済みのバイナリがインストールされるので、このような問題は発生しません。

ERROR: dependency ‘curl’ is not available for package ‘TTR’

例として、2018 年 12 月 19 日、東京証券取引所市場第一部に再上場したソフトバンク株式会社の株価チャートをプロットしてみました。

リスト:ソフトバンク (9434.T) のデータ取得と株価チャート作成例 
> 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
> getSymbols("9434.T", src="yahooj", from="2018-12-19")
[1] "YJ9434.T"
> YJ9434.T
           YJ9434.T.Open YJ9434.T.High YJ9434.T.Low YJ9434.T.Close YJ9434.T.Volume YJ9434.T.Adjusted
2018-12-19          1463          1464         1282           1282       271497800              1282
2018-12-20          1183          1310         1176           1296       106361400              1296
2018-12-21          1279          1375         1275           1316        65040600              1316
2018-12-25          1307          1320         1240           1271        36914400              1271
2018-12-26          1300          1315         1288           1304        12116500              1304
2018-12-27          1350          1356         1325           1354        19368800              1354
2018-12-28          1343          1366         1336           1358        15406300              1358
2019-01-04          1346          1399         1338           1399        31986500              1399
2019-01-07          1434          1450         1412           1419        29481700              1419
2019-01-08          1429          1446         1391           1446       119721000              1446
2019-01-09          1400          1439         1385           1429        48863500              1429
2019-01-10          1410          1425         1396           1425        17390100              1425
2019-01-11          1430          1440         1423           1433        21687400              1433
2019-01-15          1435          1439         1411           1414        20191400              1414
2019-01-16          1412          1425         1403           1425        24123100              1425
> chartSeries(YJ9434.T, theme="white")
> 
ソフトバンク (9434.T) の株価チャート作成例

Python でも同様な事ができるので、使い勝手を比べようと考えています。

参考 サイト

  1. 【R】quantmodで日本の株価を取得する - NAVER まとめ
  2. quantmod: Quantitative Financial Modelling Framework

 

ブログランキング・にほんブログ村へ
にほんブログ村

0 件のコメント: