私はR言語を使用しており、さまざまな国の時系列の毎日の株価指数を扱っています。さまざまな指標 (相関性、因果関係など) を比較するには、すべてのシリーズの行数が同じである必要がありますが、国によって祝日が異なるため、各シリーズの行数が変わります。
私はヤフーファイナンスから抽出したファイルを.csv形式で扱っています...
> head(sp)
> Date Open High Low Close Volume Adj.Close
>1288 2010-01-04 1116.56 1133.87 1116.56 1132.99 3991400000 1132.99
>1287 2010-01-05 1132.66 1136.63 1129.66 1136.52 2491020000 1136.52
>1286 2010-01-06 1135.71 1139.19 1133.95 1137.14 4972660000 1137.14
たとえば、2010 年 1 月 7 日が祝日だとします。この場合、ファイルの次の行 (1285 行目) は 2010 年 1 月 8 日です。
> head(sp)
> Date Open High Low Close Volume Adj.Close
>1288 2010-01-04 1116.56 1133.87 1116.56 1132.99 3991400000 1132.99
>1287 2010-01-05 1132.66 1136.63 1129.66 1136.52 2491020000 1136.52
>1286 2010-01-06 1135.71 1139.19 1133.95 1137.14 4972660000 1137.14
>1285 2010-01-08 1140.52 1145.39 1136.22 1144.98 4389590000 1144.98
2010 年 1 月 7 日のギャップを次のような前日のデータで埋める必要があります。
> head(sp)
> Date Open High Low Close Volume Adj.Close
>1288 2010-01-04 1116.56 1133.87 1116.56 1132.99 3991400000 1132.99
>1287 2010-01-05 1132.66 1136.63 1129.66 1136.52 2491020000 1136.52
>1286 2010-01-06 1135.71 1139.19 1133.95 1137.14 4972660000 1137.14
>1285 2010-01-07 1135.71 1139.19 1133.95 1137.14 4972660000 1137.14
>1284 2010-01-08 1140.52 1145.39 1136.22 1144.98 4389590000 1144.98
どうすればこれを行うことができますか???
私のコードは(私の問題kkkを解決するために使用しようとしたすべてのライブラリを見てください)
>library(PerformanceAnalytics)
>library(tseries)
>library(urca)
>library(zoo)
>library(lmtest)
>library(timeDate)
>library(timeSeries)
>setwd("C:/Users/Fatima/Documents/R")
>sp = read.csv("SP500.csv", header = TRUE, stringsAsFactors = FALSE)
>sp$Date = as.Date(sp$Date)
>sp = sp[order(sp$Date), ]
私の悪い英語でごめんなさい