Good morning quantum computing and portfolio optimization researchers,
So, a few days ago our models went haywire. They started picking low BETA stocks to reduce portfolio risk (without us telling it to do that). Who would have thought? We are in the middle of a sector rotation from COVID 19 stocks to mainstreet stocks (small businesses = $IWM = Russell 2000) and low BETA stocks (those that provide a bit of safety when markets fall).
But, it also started to fall behind the power curve in picking deep enough minima. It could be that picking low BETA stocks is easier than finding high BETA stocks that offset each other's risk.
We ran our problem on the D-Wave 2000Q solver 6 last night and received good results, but no longer better than our classical models. A few updates: we modified our chain strengths (0.75, 1.5) and our chain lengths varied (28, 38). We failed to embed once out of 7 times (max clique of 64 fully connected vertices). The system was fast and responsive. We shifted our matrix to the negative at first, and received good answers, then shifted our matrix positive, and also received good answers (albeit, different ones). Our best answers classically, and on the D-Wave, were between 7 and 9 stocks in a portfolio, and very low BETA securities (~0.4 or less).
Why did our classical do better? Thanks to Davood Rashmanifard, who as a Masters student in Iran wrote a thesis* on how to optimize a portfolio with a genetic algorithm, we found an optimization step in our Genetic Algorithm that was missing, and it caused a team discussion that uncovered a few more improvements we could make. We increased the mutant:child ratio in our breeding (more noise), and updated how we determine the fitness (CQNS score) of each chromosome (stock portfolio). We also updated our mutations to be more reasonable (flip only 1 or 2 stocks) in some cases. We also blast out our initial population 100x before starting to breed. Our Genetic Algorithm performs better now.
We also modified our custom simulated annealer. We created two versions of it, and customized them further for the task at hand. One annealer jumps very often, even to less attractive portfolios, runs very hot to start (100 degrees), and finds a solution from a random seed. We made this one start hotter. It jumps to different neighborhoods easily and often, seeking out the best global minima before settling into a local minima.
Our second annealer starts with our best portfolio found (at that moment), and starts cooler, but runs more cold. It may start at 0.001 degree and run to 1e-13 degrees. We also suppressed its ability to jump to a less attractive portfolio...so it runs deeper in looking for local minima in the neighborhood. In other words, it is nearsighted, and that is good for making that portfolio area the best it can be.
Finally, we continue to find ways to optimize our code in the Jupyter Notebooks to run faster and find deeper solutions. We have found a number of promising research papers to keep learning new tricks and methods for deepening all of our methods.
Now that we have improved our stock picking algorithm and solvers, we plan to run another 3,200+ stock run and see if we start picking higher BETA stocks (like we did in October).
Here are a few pictures of what a successful run looks like on the D-Wave. This uses the D-Wave Problem Inspector application. Thank you D-Wave!
Finally, our research on Kurtosis and Skewness in portfolios has slowed down as we continue to improve our stock picking model. Our next step, is to try and run our stock picker on the D-Wave Pegasus with only 64 stocks, and see if we get better answers. We will also port our desktop stock picking code to our HPe deskside server to see if we can find deeper and better portfolios.
Written by: Jeffrey Cohen, Chicago Quantum
Contact me at +1.312.515.7333 (cell) and email@example.com (email).
Client inquiries welcome.
To learn about and try our stock analysis service, please click the button below. Your purchase funds our research.
Strategic IT Management Consultant with a strong interest in Quantum Computing. Consulting for 29 years and this looks as interesting as cloud computing was in 2010.