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, 回撤

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

点赞(0)
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部