Getting rid of a loop
Show older comments
Hi,
I have a loop that takes forever. I am wondering if i can get rid of it by using a one step procedure
[yd,md,dd]=datevec(RSSD9999d);%RSSD9999d is the dates vector for my sample
[y,m,~]=datevec(RSSD9999);% RSSD9999 is the dates vector from the database > sample size
for i=1:length(RSSD9001d)% I am running the loop to compute the previous 3 year historical average
x0=find(RSSD9001==RSSD9001d(i) & ismember(RSSD9999,[datenum(yd(i)-3,md,dd):RSSD9999d(i)-1]));
% the minus one is not a mistake, the data has the form year, then quarter (could be 3,6,9,or 12), then day
% by putting minus 1 i ensure that the 3 year average will not include the current date
EquityCapitalgta = RCFD3210(x0)./GTA(x0);
EquityCapital_GTAavg3y(i,1)=nanmean(EquityCapitalgta);
end
Accepted Answer
More Answers (0)
Categories
Find more on Calendar in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!