2010-08-25 48 views
1

我如何獲得動物園系列提款的持續時間? 可以用cummax(mydata)-mydata計算下拉。每當這個值高於零時,我有一個下拉。 下跌是衡量歷史高峯(最高)下降的指標。 它持續到這個值再次達到。提款時間

+0

你好 當我使用我的動物園系列,它說findDrawdowns:在錯誤如果(thisSign == priorSign){: 缺失值,其中TRUE/FALSE需要 我該如何解決呢?我嘗試過chron和POSIXct,並轉換爲時間序列,但它不起作用。 – skan 2010-09-06 12:28:50

回答

0

PerformanceAnalyticshas several functions做這個操作。

> library(PerformanceAnalytics) 
> data(edhec) 
> dd <- findDrawdowns(edhec[,"Funds of Funds", drop=FALSE]) 
> dd$length 
[1] 3 3 6 5 4 11 14 5 2 10 2 6 3 2 4 9 2 2 13 8 5 5 4 2 7 
[26] 6 11 3 2 23 

作爲一個側面說明,如果你有時間序列兩個日期,需要知道它們之間的時間,只需使用diff。您也可以使用the lubridate package

+0

我很抱歉發表我的評論作爲答案。 我使用過performanceAnalytics Drawdowns,但即使提供了示例數據,它也不適用於我。 「數據不能轉換爲時間序列,如果你試圖從一個數據對象傳入一列,你應該使用'data [rows,columns,drop' = FALSE]',Rownames應該有標準的日期格式,比如'1985-03-15'。「 無論如何,我怎樣才能不使用這個包計算縮減時間? 謝謝 – skan 2010-09-02 17:30:17

+0

rle? – skan 2010-09-10 20:37:13