私の動物園シリーズで動作するようにperformanceAnalyticsを取得することはできません。私は自分のスクリプトを書くことに決めました。R、私の最長のドローダウン機能をご確認ください
最長ドローダウンを計算したい場合は、入力としてcummax(equity)-equityを取得することになっています。また、これらの期間に最大の引落額を示します。
修正バージョンは以下のとおりです。
私のスクリプトをチェックしてください。期待どおりに動作しません。いくつかのmaxDDはゼロです。 他の人にも役立つことを願っています。私はフォーラムで多くのメッセージを見てきました。
私はリッチーの提案とそれを修正しました:
findDD <- function(DD, n=5){
rr <- rle(sign(coredata(DD)))
lens <- rr$length
lens[!rr$value] <- 0
ll <- head(order(lens, decreasing=TRUE),n)
sumas <- cumsum(c(1,rr$length)) # I need to access the original lenghts
maxDD <- sapply(ll,FUN = function(x) max(window(DD,start=index(DD)[sumas[x]],end=index(DD)[sumas[x+1]-1])))
data.frame(start=index(DD)[sumas[ll]],end=index(DD)[sumas[ll+1]-1], length=(index(DD)[sumas[ll+1]-1]-index(DD)[sumas[ll]])+1, maxDD)
}
私が代わりにインデックスのインデックス(DDは、[])(DDを足すたので、私はまた、注文した答えを得ることから私をない問題を修正しました)[]
今はうまくいくようですが、わかりません。ジョシュアへ
: 始まる私のデータでは、私がグラフ化できますが、まだ
"2010-01-11 18:00:00" 9338.37028375963
"2010-01-11 18:15:00" 8086.45780960387
"2010-01-11 18:30:00" 7762.75622449016
"2010-01-11 18:45:00" 8358.3609798313
"2010-01-11 19:00:00" 8598.69695502083
"2010-01-11 19:15:00" 8568.56256494502
"2010-01-11 19:30:00" 8488.4281748692
...
は、performanceAnalyticsでは動作しません、クロンインデックス と動物園は、今私はposixctインデックスとXTSするためにそれを変換しましたそれは私自身で計算します。 Drawdown(myData)は、すべてのデータ値NaNを持つxts系列を返します。 私はfindDrawdownコードを見てきました。絶対ドローダウンではなく、相対的なドローダウンを測定するため、私とは異なります。
とにかく、私のスクリプトが誰かに役立つことを望みます。
PerformanceAnalyticsパッケージは、世界中の多くの専門家によって使用されているので、私は強くPerformanceAnalyticsでの作業...というよりも、車輪を再発明し尋ねるのを防ぐあなたのデータと間違って何を調査することをお勧めしますあなたの仕事を修正する他の人。 –
@Joshua、Harsh。 Dirkの投稿を読めなくなったと思います。P –
performanceAnalyticsでは、データを動物園またはxts、chronまたはPOSIXctとして使用すると、データは時系列に変換できません。私はグーグルをしていて、多くの人が同じ問題を抱えています。実際、performanceAnalyticsは独自の例でも私のためには機能しません。 – skan