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