最大回撤计算MATLAB实现

by faruto

一个简单的计算资金流Equity的最大回撤的函数,高手绕行。

最大回撤的定义:

资金流Equity,在索引 index 处,找出之前的资金流最大值max,

如果该索引处的资金就为最大值,则其最大回撤为0。

否则,最大回撤为 (Equity(index)-max)/max;

cnq.net

最大回撤计算MATLAB实现源代码:

function RetraceRatio = RetraceRatio(Equity)

% 计算最大回撤比例

% by liyang 2011/12/13

% farutoliyang@gmail.com

%% 输入参数检查

error(nargchk(1, 1, nargin));


%% 初始化

len = numel(Equity);

RetraceRatio = zeros(len, 1);

%% 计算最大回撤比例

for i = 2:len

    C = max(Equity(1:i));

    if C == Equity(i)

        RetraceRatio(i) = 0;

    else

        RetraceRatio(i) = (Equity(i)-C)/C;

    end

end

%% 

if nargout == 0

    figure;


    subplot(2,1,1);

    plot(Equity);

    title('资金权益');

    grid on;

    axis tight;

   
    subplot(2,1,2);

    plot(RetraceRatio);

    title('最大回撤比例');

    grid on;

%     axis([0 len -0.5 0.3]);

    axis tight;

end

关键字:MATLAB, MATLAB量化投资, equity, 回撤

原文发布于宽客论坛,点击阅读原文

风险提示及免责条款

市场有风险,投资需谨慎。本文不构成个人投资建议,也未考虑到个别用户特殊的投资目标、财务状况或需要。用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部