python怎么计算最大回撤-创新互联
创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!
成都创新互联公司是专业的蚌埠网站建设公司,蚌埠接单;提供网站设计、成都网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行蚌埠网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!python怎么计算大回撤?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
如何使用python计算大回撤,下面给大家举个小例子:
1. 单期简单收益率
import datetime import pandas as pd pd.core.common.is_list_like = pd.api.types.is_list_like
price = pd.Series([3.42,3.51,3.68,3.43,3.56,3.67], index=[datetime.date(2015,7,x) for x in range(3,9)]) price
2015-07-03 3.42 2015-07-04 3.51 2015-07-05 3.68 2015-07-06 3.43 2015-07-07 3.56 2015-07-08 3.67 dtype: float64
利用ffn库计算单期简单收益
import ffn
r = ffn.to_returns(price) r
2015-07-03 NaN 2015-07-04 0.026316 2015-07-05 0.048433 2015-07-06 -0.067935 2015-07-07 0.037901 2015-07-08 0.030899 dtype: float64
2. 大回撤
大回撤(Maximum Drawdown, MDD) 用来衡量投资(特别是基金)的表现。
2.1 回撤:某资产在时刻T的回撤是指资产在(0,T)的最高峰值与现在价值之间的回落值,用数学公式表达为:
2.2 对应的回撤率为:
2.3 利用收益率计算大回撤
value = (1 + r).cumprod() value
2015-07-03 NaN 2015-07-04 1.026316 2015-07-05 1.076023 2015-07-06 1.002924 2015-07-07 1.040936 2015-07-08 1.073099 dtype: float64
D = value.cummax() - value D
2015-07-03 NaN 2015-07-04 0.000000 2015-07-05 0.000000 2015-07-06 0.073099 2015-07-07 0.035088 2015-07-08 0.002924 dtype: float64
d = D / (D + value) d
2015-07-03 NaN 2015-07-04 0.000000 2015-07-05 0.000000 2015-07-06 0.067935 2015-07-07 0.032609 2015-07-08 0.002717 dtype: float64
MDD = D.max() MDD
0.07309941520467844
mdd =d.max() mdd # 对应的大回撤率值为
0.06793478260869572
# 采用ffn库计算收益率累积大回撤 ffn.calc_max_drawdown(value)
-0.06793478260869568
from empyrical import max_drawdown
# 使用 empyrical 计算收益率序列大回撤 max_drawdown(r)
-0.06793478260869572
关于python怎么计算大回撤问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联-成都网站建设公司行业资讯频道了解更多相关知识。
当前文章:python怎么计算最大回撤-创新互联
文章起源:http://scpingwu.com/article/doohsp.html