TTR(Rパッケージ)の株式標識計算:出力を左に合わせるための最良の方法?

StackOverflow https://stackoverflow.com/questions/5062165

  •  16-11-2019
  •  | 
  •  

質問

TTRパッケージを使用して株式指標を生成しています。しかしながら、インジケータ関数は、最後の代わりにシリーズの先頭にNA(該当する場合は該当する場合)を追加する。 NA値が最初とは対照的にシリーズの最後に追加されるように、出力を左に揃える方法はありますか?

例えば:

library(TTR)    
x = 1:10
# TTR's simple moving average
SMA(x,n=2)
[1]  NA 1.5 2.5 3.5 4.5 5.5 6.5 7.5 8.5 9.5
.

動物園パッケージには、最後にNASを使用してシリーズをパッケージする整列オプションがあります。

library(zoo)
rollmean(x,2,na.pad=TRUE,align='left')
[1] 1.5 2.5 3.5 4.5 5.5 6.5 7.5 8.5 9.5  NA
.

TTRでこのようなものを指定する方法は、移動平均を超えてインジケータを生成する必要があるとおりですか?私はこれらの関数の周りにラッパーを作成し、結果の値を手動でシフトさせることができますが、それをするためのより良い方法があるかどうかわからないと思います。

また、TTRは株価に指標を追加するために頻繁に使用されているので、特に降順に降順でソートされているほとんどの過去の価格以来、パディングが終わりとは対照的な理由は疑問に思いますか(日付)。上記の例では、X [1]が今日の株価の価格で、X [10]が10日前にのための移動平均(SPAN= 2)ではありません今日の平均+昨日?最後にNASを追加したいのと同じくらい簡単に、これらのインジケータの使用方法を誤って解釈していないことを確認します。

ありがとう、 -e

役に立ちましたか?

解決

I couldn't figure out an option in the function call to shift the series in a different direction. However, now I understand why TTR shifts the series downwards. Historical stock prices obtained via quantmod's getSymbols() returns them sorted by date in ascending order. When I manually download the quotes from Yahoo! or use ystockquote.py, the order is descending. I just re-sorted my data by date and used the TTR library as-is.

There were certain vectors that I wanted to be shifted up (padded with NAs) and I just used this code:

miss_len = length(x[is.na(x])
x = x[!is.na(x)]
length(x) = length(x) + miss_len
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top