how do i create this loop in matlab?
조회 수: 4 (최근 30일)
이전 댓글 표시
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
Rik
2021년 4월 23일
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.
답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Call Python from MATLAB에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!