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

版权国家的:本文是视频博客作者的独创的文字。,还没有博主答应,不得任意地转载。。


    在所选择的时间量子射中靶子一些历史点背部推。,动产净值走到最小化时的产品回撤排列的最高的。最大回撤用来作图买进动产后可能性呈现的最蹩脚的得第二名。最大回撤是一点钟要紧的风险对象,对冲基金与定量战略买卖,大约样品也比动摇更要紧。。
D是第总有一天的净值。,我将来有总有一天,J是I.以后的的秒天,I日净值,Dj是狄以后的总有一天的实价值。
drawdown执意最大回撤率
drawdown=max(Di-Dj)/Di,果真执意对每一点钟净值停止回撤率求值,以后找出最大的。。

                                                              

养育栗色的,

看好稳当可靠的财产姓股,因而他花了1万苦干买了一点钟大的绩优基金。。在前期,义卖市场是好的。,从此,本钱报告的净值从1万元变为。以后义卖市场热从稳当可靠的财产姓转变到创业板。,一万压缩制紧缩,一万。。再附着着,国家队进入义卖市场以营救行动义卖市场。,然后万成了1冲呀。。但不要太长。,义卖市场突跃,义卖市场下跌了。,它早已下降到一万。。肉凉时要谨慎。,大约卑鄙的从一万起大浪到一万。!这从净值的成就到最小化。,执意A报告上的最大资产回撤!

因为词句的计算,也执意A的最大回撤率为:万 一万/W 66.67%

工具前,让我们家先包括两三个有或起作用。:

有或起作用解释:

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

  统计表:元素沿着装设的轴整理和结合。阻塞,它的算术麝香与输入阻塞A划一。

CuSUM有或起作用的限制因素:

  • 答:阻塞
  • 轴:轴样品,整数,倘若A是n维阻塞,轴的值是[0。,N-1
  • Dtype:统计表树或花草结果的数据类型。,倘若未装设,Windows 默认值与A划一。。
  • 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.

发表评论

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