Rolling window using optimProbelm
4 views (last 30 days)
Show older comments
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 Comment
dleal
on 15 May 2022
Have you tried using a cell array?
diverseProbs = cell(1,T-WindowSize);
for i=1:T-WindowSize
diverseProb{1,i} = optimproblem('ObjectiveSense','minimize');
end
Answers (1)
Nipun
on 2 Nov 2023
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 Comments
See Also
Categories
Find more on Portfolio Optimization and Asset Allocation 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!