金融時系列から列を抽出する

Rで学ぶ金融データのインポートと管理

Joshua Ulrich

Quantitative Analyst & quantmod Co-Author and Maintainer

OHLC

  • 「Open High Low Close」の略
  • Open/Close: 最初と最後の観測価格
  • High/Low: 最大・最小の観測価格
  • しばしばVolume: 取引数量の合計
Rで学ぶ金融データのインポートと管理

OHLCデータ

head(DC)
                    DC.Open DC.High DC.Low DC.Close DC.Volume
2016-01-16 01:00:00  20.845  20.850 20.835   20.845       157
2016-01-16 02:00:00  20.845  20.850 20.835   20.845       214
2016-01-16 03:00:00  20.845  20.850 20.835   20.845       103
2016-01-16 04:00:00  20.845  20.855 20.835   20.845       180
2016-01-16 05:00:00  20.845  20.845 20.845   20.845       211
2016-01-16 06:00:00  20.845  20.845 20.840   20.845        35
Rで学ぶ金融データのインポートと管理

単一列抽出用関数

  • Op() - 始値
  • Hi() - 高値
  • Lo() - 安値
  • Cl() - 終値
  • Vo() - 出来高
  • Ad() - 調整終値
Rで学ぶ金融データのインポートと管理

単一列抽出用関数

# 始値
dc_open <- Op(DC)
head(dc_open, 4)
                     DC.Open
 2016-01-16 01:00:00   20.84
 2016-01-16 02:00:00   20.85
 2016-01-16 03:00:00   20.85
 2016-01-16 04:00:00   20.85
# 高値
dc_high <- Hi(DC)
head(dc_high, 4)
                    DC.High
2016-01-16 01:00:00   20.85
2016-01-16 02:00:00   20.85
2016-01-16 03:00:00   20.85
2016-01-16 04:00:00   20.85
Rで学ぶ金融データのインポートと管理

複数列抽出用関数

# 複数列を抽出
dc_ohlc <- OHLC(DC)
head(dc_ohlc)
                    DC.Open DC.High DC.Low DC.Close
2016-01-16 01:00:00   20.84   20.85  20.83    20.84
2016-01-16 02:00:00   20.85   20.85  20.83    20.85
2016-01-16 03:00:00   20.85   20.85  20.84    20.85
2016-01-16 04:00:00   20.85   20.85  20.84    20.85
2016-01-16 05:00:00   20.85   20.85  20.84    20.85
2016-01-16 06:00:00   20.84   20.85  20.84    20.85
Rで学ぶ金融データのインポートと管理

getPrice()

  • 引数は3つ
    • x: データを含むオブジェクト
    • symbol: xに複数シンボルがある場合の任意指定
    • prefer: 優先する価格の任意指定
  • prefer未指定時:
    • "price"、次に"trade"、次に"close"
Rで学ぶ金融データのインポートと管理
head(DC)
                     Price Volume Bid.Price Bid.Size Ask.Price Ask.Size
 2016-01-16 00:00:07    NA     NA     20.84      198     20.85      684
 2016-01-16 00:00:08    NA     NA     20.84      198     20.85      683
 2016-01-16 00:00:08    NA     NA     20.84      198     20.85      682
 2016-01-16 00:00:11    NA     NA     20.84      198     20.85      683
 2016-01-16 00:00:25    NA     NA     20.84      198     20.85      684
 2016-01-16 00:00:44 20.84      1     20.84      198     20.85      684
dc_bid <- getPrice(DC, prefer = "bid")
head(dc_bid)
                     Bid.Price
 2016-01-16 00:00:07     20.84
 2016-01-16 00:00:08     20.84
 2016-01-16 00:00:08     20.84
 2016-01-16 00:00:11     20.84
 2016-01-16 00:00:25     20.84
 2016-01-16 00:00:44     20.84
Rで学ぶ金融データのインポートと管理

練習しましょう!

Rで学ぶ金融データのインポートと管理

Preparing Video For Download...