最大回撤率MaxDawndown算法(Python3)

最大回撤率MaxDawndown

含義

最大回撤率:在選定週期內任一歷史時點往後推,產品淨值走到最低點時的收益率回撤幅度的最大值。最大回撤用來描述買入產品後可能出現的最糟糕的情況。最大回撤是一個重要的風險指標,對於對衝基金和數量化策略交易,該指標比波動率還重要。

公式表達

D爲某一天的淨值,i爲某一天,j爲i後的某一天,Di爲第i天的產品淨值,Dj則是Di後面某一天的淨值
drawdown就是最大回撤率
drawdown=max(Di-Dj)/Di,其實就是對每一個淨值進行回撤率求值,然後找出最大的。可以使用程序實現。

案例

2010年7月20日初始淨值1;恰逢2010年10月美國推出QE2全球股市大漲,該基金淨值增長到1.8;其後國內股市劇烈震盪,截止2011年4月25,該基金淨值爲0.98.假設投資者在最高峯時期認購,半年後在最低潮時期贖回,虧損45.5%。此就是最大回撤率給高位追買的投資者的指示意義

Python3 算法如下:

def MaxDrawdown(return_list):
    a = np.maximum.accumulate(return_list)
    print(a)
    l = np.argmax((np.maximum.accumulate(return_list) - return_list) /np.maximum.accumulate(return_list))
    print(l)
    k = np.argmax(return_list[:l])
    print(k)
    return (return_list[k] - return_list[l])/(return_list[l])

return_list = [100,200,50,20,300,150,100,200]
mdd = MaxDrawdown(return_list)
print(mdd)

聯繫合作:

QQ:1924819348

發佈了28 篇原創文章 · 獲贊 1 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章