Rolling window using optimProbelm
조회 수: 4 (최근 30일)
이전 댓글 표시
Hello,
I am trying to set a portfolio in an optimization problem as a rolling window. Bascially I am trying to recereate the following portfolios on this website but in a rolling window fashion:
diverseProb = optimproblem('ObjectiveSense','minimize');
My problem is that I cannot create many diverseProb = optimproblem(.....); in a loop. I tried it with indexing
for i=1: T-WindowSize
diverseProb(i) = optimproblem('ObjectiveSense','minimize');
end
However, it does not work - as I have many wndows I do not want to do it manually, Is there a way to " stack thee OptimizationProblem objects?
Thank you.
댓글 수: 1
dleal
2022년 5월 15일
Have you tried using a cell array?
diverseProbs = cell(1,T-WindowSize);
for i=1:T-WindowSize
diverseProb{1,i} = optimproblem('ObjectiveSense','minimize');
end
답변 (1개)
Nipun
2023년 11월 2일
Hi Karoline,
I understand that you are trying to pre-allocate the Optimization Problem objects for latter deployment in your code. I assume you have created a list of the required size that you wish to pre-allocate.
I suggest using a cell array for preallocation. I am attaching a reference code below that might help with allocating the optimization objects.
diverseProb = cell(T-WindowSize,1)
for i=1:T-WindowSize
diverseProb{i,1} = optimproblem('ObjectiveSense','minimize');
end
Note that I have created a column vector as MATLAB stores elements column-first in memory. This way, it can leverage fast retrieval from memory when called. Hope this helps.
Regards,
Nipun
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Portfolio Optimization and Asset Allocation에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!