最大回撤是投资组合在选定期间从最高点下跌到最低点的百分比。在下面的TypeScript代码中,我们将通过遍历给定投资组合的每一个点来计算最大回撤。这个函数接受一个数组,该数组代表一系列投资组合的价值,然后返回最大回撤值。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| function calculateMaxDrawdown(portfolioValues: number[]): number { let maxDrawdown = 0; let peak = portfolioValues[0];
for (const value of portfolioValues) { if (value > peak) { peak = value; } else { let drawdown = (peak - value) / peak; maxDrawdown = Math.max(maxDrawdown, drawdown); } }
return maxDrawdown * 100; }
|
你可以使用以下样例来测试这个函数:
1 2
| let portfolioValues = [100, 120, 100, 80, 120, 150, 130, 150]; console.log(calculateMaxDrawdown(portfolioValues));
|
在这个例子中,投资组合价值从120下降到80,所以最大回撤是 33.33%。