在R中,我看到有两个包具有maxdrawdown功能。
一个是 fTrading ,另一个是 PerformaceAnalytics 。
每个人都做了不同的计算。
是否有一个包含maxdrawdown函数的软件包需要系列中的P / L数据,并根据该函数给出下拉?
例如如果你有以下数据
c(12,10,5,-4,-2,1,5,6)
最大亏损将是:
-4 + -2=-6.
答案 0 :(得分:4)
编写自己的函数很容易:
drawdown <- function(pnl) {
cum.pnl <- c(0, cumsum(pnl))
drawdown <- cum.pnl - cummax(cum.pnl)
return(tail(drawdown, -1))
}
maxdrawdown <- function(pnl)min(drawdown(pnl))
(当然,如果您的约定是缩编应为正数,则可以更改符号并将min
替换为max
。
pnl <- c(12,10,5,-4,-2,1,5,6)
drawdown(pnl)
# [1] 0 0 0 -4 -6 -5 0 0
maxdrawdown(pnl)
# [1] -6
答案 1 :(得分:3)
您正在尝试查找PnL maxDrawDown
的{{1}}(与帐户值相同)。
cumsum