我無法使performanceAnalytics與我的動物園系列一起工作,我決定編寫自己的腳本。R,請檢查我最長的繪製功能
如果你想計算最長的下降,它應該得到cummax(股權)-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 )[]
現在它似乎工作,但我不知道。
約書亞: 在開始的時候我的數據是動物園與克隆氏病指數 現在,我已經把它改造與posixct指數XTS,
"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,雖然我可以繪製它並通過我自己進行任何計算。 Drawdown(myData)給出一個xts序列及其所有數據值NaN。 我一直在尋找findDrawdown代碼,它與我的不同之處在於它測量相對下拉而不是絕對下拉。
無論如何,我希望我的腳本對某人有用。
的PerformanceAnalytics包是由世界各地的許多專業人士使用,所以我強烈建議你調查出了什麼問題與您的數據,防止它從PerformanceAnalytics工作......而不是重新發明輪子,並要求別人來修理你的工作。 – 2010-11-23 19:55:20
@Joshua,苛刻。停止閱讀Dirk的帖子,我認爲它已經到位了:P – 2010-11-24 08:08:08
使用performanceAnalytics,如果我使用我的數據作爲動物園或xts,chron或POSIXct,則「數據不能轉換爲時間序列」。我一直在使用谷歌搜索,許多人都有同樣的問題。事實上,即使有自己的例子,performanceAnalytics也不適用於我。 – skan 2010-11-24 12:31:40