Effacer les filtres
Effacer les filtres

Rolling window using optimProbelm

2 vues (au cours des 30 derniers jours)
Karoline Bax
Karoline Bax le 11 Mai 2022
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 commentaire
dleal
dleal le 15 Mai 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

Connectez-vous pour commenter.

Réponses (1)

Nipun
Nipun le 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

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by