以下のように、日次シリーズを週次シリーズに変換できます。
library(quantmod)
getSymbols("SPY", from="2013-01-01", to=Sys.Date())
chartSeries(SPY)
datW <- to.weekly( SPY)
しかし、シリーズは金曜日に終値を持つ週足を作成します。これを変更して週半ばのバーを作成し、ウィークリー バーが水曜日に終値を表示するようにするにはどうすればよいですか?
ご協力ありがとうございました。
これを行う簡単な方法はないようです。ソースを見ると、基本的にそれが渡される
to.period
外部呼び出しをラップしています:.toPeriod
endpoints(x, period, k)
xx <- .Call("toPeriod", x, endpoints(x, period, k), has.Vo(x),
has.Vo(x, which = TRUE), has.Ad(x) && is.OHLC(x),
index_at, cnames, PACKAGE = "xts")
このendpoints
機能は外部呼び出しでも動作します。したがって、水曜日に終わる週次の場合は、自分でコーディングするか、別のライブラリを探す必要があるようです。
開始点として、次のように、水曜日に発生するデータの行を見つけるのは非常に簡単です。
> wednesdayRows<-which(as.POSIXlt(index(SPY))$wday==3)
> head(SPY[wednesdayRows,])
SPY.Open SPY.High SPY.Low SPY.Close SPY.Volume SPY.Adjusted
2013-01-02 145.11 146.15 144.73 146.06 192059000 143.95
2013-01-09 145.87 146.32 145.64 145.92 90745600 143.81
2013-01-16 146.77 147.28 146.61 147.05 104849500 144.92
2013-01-23 149.13 149.50 148.86 149.37 104596100 147.21
2013-01-30 150.64 150.94 149.93 150.07 137447700 147.90
2013-02-06 150.52 151.26 150.41 151.16 138762800 148.97
したがって、あとは OHLC データを適切に集計するだけです。