A little bit late to the party, but this thread and Rob's books are really amazing. I am currently implementing some aspects of the book before I stumbled on here. Admittedly, the whole topic of dynamic optimisation is quite involved. It took me about 1 week to implement and debug it. There are really quite a few ugly details like matrix stability and it took me some time to figure out that I should floor the values of the correlation matrix at 0.
Adding to the discussion of changing the starting weights. Sounds like a really reasonable idea but the implementation gets even more complex. If you have a positive, unrounded position and you decrease it (down to 0 at most), then the costs must also be decreased because the resulting state of the portfolio requires less trading to reach. Starting the search from 0 always produces costs for every new proposed solution.
How do your implementations fare performance-wise? I struggle to get this thing faster, currently a full DO run takes 20 minutes for about 80 instruments with some of them starting in the late 70s. I used R to implement it with some parts inlined C++ for performance reasons. How long do your runs take?
Adding to the discussion of changing the starting weights. Sounds like a really reasonable idea but the implementation gets even more complex. If you have a positive, unrounded position and you decrease it (down to 0 at most), then the costs must also be decreased because the resulting state of the portfolio requires less trading to reach. Starting the search from 0 always produces costs for every new proposed solution.
How do your implementations fare performance-wise? I struggle to get this thing faster, currently a full DO run takes 20 minutes for about 80 instruments with some of them starting in the late 70s. I used R to implement it with some parts inlined C++ for performance reasons. How long do your runs take?