how do i create this loop in matlab?
Mostrar comentarios más antiguos
i want to create this loop in matlab, this is a python code :
mvols = np.zeros((len(df['NASDAQ']),len(risks)))
for j in range(len(risks)):
mvols[0:windowsize,j] = np.std(np.array(df[risks[j]])[0:windowsize],ddof=1)
for i in range(windowsize-1,len(df['NASDAQ'])-1):
mvols[i+1,j] = np.sqrt(l*mvols[i,j]**2+(1-l)*df.iloc[i][risks[j]]**2)
for j in range(len(risks)):
the variable risks is a matrix of indices which are all the same length :
risks = ['NASDAQ','AEXUSD','DAXUSD','Nikkei','EURIBOR']
matlab gives me an error because i want to calculate the varaible mvols(i+1,j) which is one time period ahead and its past, mvols(i,j) is in the formula , i have no idea how to code this in matlab, does anyone have any idea?
thanks in advance
6 comentarios
Rik
el 23 de Abr. de 2021
What Matlab code is your best try?
L Mllr
el 23 de Abr. de 2021
Rik
el 23 de Abr. de 2021
I have no clue what you're trying to achieve, so it is difficult to help.
I do notice that you have some vector logNASDAQ which you want to loop over (but don't use in the loop). This loop will only run if that vector is of size 1, as otherwise the definition is invalid. If you want to loop backwards, you must specify a negative step size, e.g. numel(logNASDAQ):-1:1.
You also don't need to change the value of your loop variable, as that change will be overwritten when the loop restarts. The Matlab IDE will warn you about this. In this short code snippet I have no fewer than 5 warnings from mlint. Your should try to fix those as well.
L Mllr
el 23 de Abr. de 2021
Rik
el 23 de Abr. de 2021
From my limited knowledge of Python I suspect that line of code becomes this in Matlab:
mvols(i+1,j) = sqrt(l*mvols(i,j)^2+(1-l)*risks{j}(i)^2);
I had to guess df.iloc[i][risks[j]].
Using the previous element of a vector is easy as that, but depending on what data you have stored in each variable, converting the rest to Matlab might be a bit more tricky.
L Mllr
el 23 de Abr. de 2021
Respuestas (0)
Categorías
Más información sobre Call Python from MATLAB en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!