最大回撤計算python

最大回撤(Maximum Drawdown)是一種衡量投資組合風險的方法,它描述的是投資組合在下跌過程中,其收益率下降到什麼程度。以下是一個使用Python計算最大回撤的簡單示例:

import numpy as np

def max_drawdown(returns):
    # 計算投資組合的累積收益
    cum_returns = np.cumsum(returns)
    # 計算投資組合的累積風險
    cum_volatility = np.sqrt(np.cumsum(returns ** 2))
    # 計算投資組合的最大回撤
    max_drawdown = np.maximum(-1, cum_returns - cum_volatility)
    return max_drawdown

# 示例數據
returns = [0.1, 0.2, -0.3, 0.05, 0.15, -0.2]  # 投資組合的收益率序列

# 計算最大回撤
max_drawdown = max_drawdown(returns)
print("最大回撤:", max_drawdown)

在這個示例中,我們首先定義了一個函式max_drawdown,它接受一個收益率序列作為輸入,並返回投資組合的最大回撤。我們使用numpy庫中的累積和和方差函式來計算累積收益和累積風險。最後,我們使用一個示例收益率序列來測試這個函式,並列印出最大回撤的值。

請注意,這個示例僅用於演示目的,並且沒有考慮到實際投資中的一些複雜因素,如交易成本、稅收、投資期限等。在實際套用中,可能需要考慮更多的因素。