cumulative maximum loss code

I'm new to Matlab and I'm having trouble with the code for the computation of cumulative maximum loss for a time series. What I need to do is to compute the maximum loss compared to the highest levels of the variable over a period T which is set to 522 days.
Specifically,
.
Thank you for any help

Answers (1)

According to my understanding you have a variable x’ which has ‘n(say) number of values.
You would like to find the value of
where the value 522 is T’ value.
You can do it in the following manner
1-(x(t))/max(x(1:T+1))
We have ‘+1’ as matlab index starts from ‘1

6 Comments

Thank you for your reply.
I'm going to explain better. The time series x has t daily observations (let's say t=10,000), and for each observation I want to find this value. Obviously for the first 522 observations it wouldn't be possible.
so you want to compare the observations from x(t) to x(t-T) for all the values of t > T
Let's take for example observation 560. For that observation I need to compute the value as . An that for all observations. So for each obs I need to consider the 522 observations before that and find the maximum value among these obs, then to compute the final expression.
you can do that in this manner (let us take 560 for example)
1-(x(560)/max(x(560-522:560)))
This will check the values from x38 to x560 and takes the max value of it as the denominator
Thank you, what about doing that in loop for all the observations of the time series?
for i = T+1:length(x)
sol(i)=1-(x(i)/max(x(i-T:i)))
end
Here we are iterating from T+1 (index should be greater than 0) to max of x.
This will give you your desired result

Sign in to comment.

Categories

Asked:

on 6 Mar 2020

Commented:

on 16 Mar 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!