最大回撤率(Python实现) – 刘不饱的博客

最大回撤率(Python实现) – 刘不饱的博客

版权发表宣言:冠词是视频博客作者的原件文字,未必视频博客作者批准,不得复制的任何一任一东西批准。。


    在所选音延的任何一任一东西历史点在后面的推,产物净值走到极小量时的报酬率回撤幅度的巅值。最大归程用于描绘可接受的心房颤动的最坏状况。。最大回撤是一任一东西要紧的风险目的。,对冲基金与量子化谋略买卖,该物价、人口等的指数也比波动性更要紧。。
d是东西天的净值,我终于,J比我晚了整天。,i天的di净值,dj为di后整天的净值。
衰退期是最大回撤率。
drawdown=max(Di-Dj)/Di,事实上执意对每一任一东西净值举行回撤率求值,和找出最大的。。

                                                              

养一只栗色的。,

对蓝筹姓产权股票持抱有希望的姿态,因而他花了一万在一任一东西大的篮筹股票基金上。未成熟市场管理所好的,照着,本钱解释的净值从1万元变为。和市场管理所热从篮筹股票姓转向了创业板。,因而一万缩水成一万。重附着着,国家队进入市场管理所解救市场管理所,因而万成了一万。。但不见得太久。,市场管理所中间休息,市场管理所突变。,曾经降到一万了。肉凉了要谨慎,大约庶生的从一万个剧增到一万个!从净值的最远点到极小量,解释上最大的资产摘录!

按措辞计算,也执意说,i的最大再行列率:万 万/瓦 66.67%

进行前,让朕先领会零件的作用:

作用下定义:

  • cumsum(a, axis=None, dtype=None, out=None) 
  • (axis=None, dtype=None, out=None)

  恢复原来信仰的人:沿详细说明轴积聚和结合的元素街区,其外貌应与输入街区A分歧

金额作用的限制因素:

  • A:队列
  • 轴:轴贮藏物,整数,假如a是n维街区,轴的值为[0]。,n-1]
  • DTYPE:恢复原来信仰的人产物的数据类型,假如未详细说明,Windows 默认值与。
  • out:数据类型是街区。。用于实习课产物的可选输入街区,它必须做的事与输入产物具有相等的的外貌和缓冲液巨大

:有点两个街区并恢复原来信仰的人收录巅值o的新街区

: 累计将运算符应用于迷住元素的产物。

编码如次:

import numpy as np
import matplotlib.pyplot as plt

def MaxDrawdown(return_list):
    '最大提款率''
    i = (((return_list) - return_list) / (return_list))  # 完毕席位
    if i == 0:
        return 0
    j = (return_list[:i])  # 开端席位
    return (return_list[j] - return_list[i]) / (return_list[j])


return_list=[12,12,21,15,27,16,21,22,25,20,16,17]
print(MaxDrawdown(return_list))

拿 … 来说,return_list=[12,12,21,15,27,16,21,22,25,20,16,17]

这么虚线代表恢复原来信仰的人点列表,蓝点代表从左到右的巅值。。

可知,第五天,最大归程完毕,静修的第四音级天开端了。

因而输入值是:drawdown=

简略点,

假如不运用从左到右的积聚作用,朕可以本身写一任一东西方式。,产物执意大约。:

def maxdrawdown(return_list):
    最大重行下列率
    maxac=(len(return_list))
    b=return_list[0]
    for i in 余地(0,len(return_list)): #遍历街区,当下一大于上一时,分人类B
        if return_list[i]>b:
            b=return_list[i]
        maxac[i]=b
    print(maxac)
    i=((maxac-return_list)/maxac) #完毕席位
    if i == 0:
        return 0
    j = (return_list[:i])  # 开端席位
    return (return_list[j] - return_list[i]) / (return_list[j])

上面朕来试试作用cumsum(沿详细说明轴积聚和结合的元素街区)

先 建立100个遵守师专的随机数字,和增加的人或事物。,作为街区恢复原来信仰的人列表,

return_list=(100).cumsum()

举行实验,零件

print(MaxDrawdown(return_list))#法一
print(maxdrawdown(return_list))#法二
print(MaxDrawdown(return_list)==maxdrawdown(return_list))产物为True.

发表评论

电子邮件地址不会被公开。 必填项已用*标注