What is the Chicago Quantum Net Score?
What is the Chicago Quantum Net Score?
The Chicago Quantum Net Score is a proprietary quantum algorithm that scores each equally weighted portfolio. It has 2 parts that are subtracted from each other:
To make the model work correctly, we set the CQNS value for no stocks and all the stocks at approximately zero. We search for the lowest CQNS value. Based on the stocks you provide, the balance between risk and reward is set and the model seeks the most return with the least risk. This is also called an efficient portfolio, because you cannot get more expected return for the same amount of risk.
Why do you focus on variance and expected returns?
Markets and investors prefer stocks with lower variance in prices given a certain expectation of returns. Market participants will provide greater liquidity for stocks with lower price variance, which makes them easier and less costly to trade. We find that in the short-term, stocks with higher variance for a given expected return underperform the market, all else being equal. From a behavioral view, investors generally prefer to avoid losses in achieving their financial objectives. A loss hurts more than a gain, so investing in stocks with less volatility 'should' reduce drawdowns and losses.
What is your platform of classical solvers that you will use?
The following classical solvers are included in this service:
Where do you source your market data?
We purchase our data from Intrinio and use their Python API calls to download fresh data for every analysis. This is a professional service provider.
How do you validate stock data?
We validate your data by checking different conditions:
Why is CQNS a quantum algorithm?
The traditional way of finding efficient portfolios, or those portfolios that are expected to deliver a maximum return for a given level of risk, is to use the Sharpe Ratio. This divides expected return (%) by the standard deviation of the returns (%). This ratio is simple, as we divide two percentages to get a real number (say 5.10). A quantum annealing computer cannot perform multiplication or division, so we need to reformulate the Sharpe Ratio into something that works similarly. Our formulation works on quantum annealing computers, and therefore is a quantum algorithm.
How many stocks do you analyze?
We start with a composite list of US listed stocks (or tickers) that traded that day. That number has been running over 11,000 each day. We then apply our data validation filters and find ~ 1,300 stocks in the "DOWN" run and ~ 2,000 stocks in the "UP" run.
Observation on portfolio sizes:
Our "DOWN" portfolios are smaller than our "UP" portfolios. This is because diversification helps the investor to reduce their risk. Diversification reduces the CQNS scores of "Down" or short positions. Diversification also reduces the benefit of "UP" run CQNS scores, which is why we find stocks that work together to improve their CQNS scores (they complement each other).
Please describe the solver types that you use?
The best way is to point you to Wikipedia, after we give you a few 'plain English' words of explanation of each.
Quantum Annealer - Uses quantum energy level (think of atoms jumping around trying to find their 'groove'). When we start, atoms are still and are loaded with data. As the atoms heat up, they jump around and seek out the lowest energy level where they can settle in, which equates to the lowest CQNS score. As the system cools, the atoms become more still and only look in their immediate area. Finally, we stop and read the qubits, calculate the CQNS scores and whether the portfolio found was valid, and we keep the valid portfolios.
* we run the quantum annealer in certain situations...not all the time.
Monte Carlo - roll the dice, purely random chance
Simulated Annealing - based on temperature. When it is hot, we search more widely. As it gets colder we focus our search.
Genetic Algorithm - based on taking the best parts of each portfolio and creating new portfolios. Should always move us to better solutions. Add in mutations to capture 'nearby' portfolios.
Simulated Bifurcator - we simulate a pressure chamber. We form portfolios by having individual stocks migrate to be either in or out of the portfolios. We push the stocks in, and pull them out, and the pressure is the amount of impact applied from the matrix of data we created. We are looking for convergence as the pressure increases.
Particle Swarm Optimization - we have a set of particles that are each starting out in different parts of the portfolio search space (the 2^64 search space). Each one finds the best answer per turn, and the group of particles has momentum attracting all particles towards the center of gravity of the best answers. Over time, the particles settle into their best local solutions, and the center of gravity also moves to the best local solution found.
TABU (Multi-Start) - This one seems to operate mostly randomly with the best answers found collected and stored in memory for the next iteration. We generally do not find better answers than we find in a Monte Carlo run.
Greedy (steepest gradient descent) - imagine you are atop a mountain and want to find the deepest valley. You can step around you...so you feel around with your toe, and pick the way that goes down the most. Step that direction, then repeat with your toe. At some point, you stop going down in any direction, and then you stop.
Chicago Quantum Value Proposition:
Disclosures
We think investors should perform due diligence on stocks and ensure they understand the risks associated with equities investing. We do not guarantee investment results.
Our algorithm and methods are subject to change. They can be tuned to meet client needs and tastes. For example, we can adjust the risk parameter in the model, along with data validation limits and profitability constraints. We can add available financial metrics to our data validation process.
The Chicago Quantum Net Score is a proprietary quantum algorithm that scores each equally weighted portfolio. It has 2 parts that are subtracted from each other:
- expected return of the portfolio (based on the BETA of the stocks and the average market return for the measurement period, usually ~ 252 trading days)
- expected risk (or variance) of the portfolio (based on the variance of that portfolio for the measurement period)
To make the model work correctly, we set the CQNS value for no stocks and all the stocks at approximately zero. We search for the lowest CQNS value. Based on the stocks you provide, the balance between risk and reward is set and the model seeks the most return with the least risk. This is also called an efficient portfolio, because you cannot get more expected return for the same amount of risk.
Why do you focus on variance and expected returns?
Markets and investors prefer stocks with lower variance in prices given a certain expectation of returns. Market participants will provide greater liquidity for stocks with lower price variance, which makes them easier and less costly to trade. We find that in the short-term, stocks with higher variance for a given expected return underperform the market, all else being equal. From a behavioral view, investors generally prefer to avoid losses in achieving their financial objectives. A loss hurts more than a gain, so investing in stocks with less volatility 'should' reduce drawdowns and losses.
What is your platform of classical solvers that you will use?
The following classical solvers are included in this service:
- Quantum Annealer*
- Monte Carlo
- Simulated Annealing
- Genetic Algorithm
- Simulated Bifurcator
- Particle Swarm Optimization
- TABU (Multi-Start)
- Greedy (steepest gradient descent)
Where do you source your market data?
We purchase our data from Intrinio and use their Python API calls to download fresh data for every analysis. This is a professional service provider.
How do you validate stock data?
We validate your data by checking different conditions:
- Adjusted close prices are in an acceptable range
- Ticker traded every day for the past year
- Stocks with a positive BETA, and a limit of BETA < 4.0.
- Market capitalization (default $100M or above)
- Common stock or MLP (not an ETF, fund, SPAC, BDC, etc.)
- Positive net income.
- We can and do add data validation steps as we refine our analysis. For example, we can add positive cash flow and adjust market capitalization levels. If you can think of a new data validation filter, we can code it (as long as Intrinio has the data).
Why is CQNS a quantum algorithm?
The traditional way of finding efficient portfolios, or those portfolios that are expected to deliver a maximum return for a given level of risk, is to use the Sharpe Ratio. This divides expected return (%) by the standard deviation of the returns (%). This ratio is simple, as we divide two percentages to get a real number (say 5.10). A quantum annealing computer cannot perform multiplication or division, so we need to reformulate the Sharpe Ratio into something that works similarly. Our formulation works on quantum annealing computers, and therefore is a quantum algorithm.
How many stocks do you analyze?
We start with a composite list of US listed stocks (or tickers) that traded that day. That number has been running over 11,000 each day. We then apply our data validation filters and find ~ 1,300 stocks in the "DOWN" run and ~ 2,000 stocks in the "UP" run.
Observation on portfolio sizes:
Our "DOWN" portfolios are smaller than our "UP" portfolios. This is because diversification helps the investor to reduce their risk. Diversification reduces the CQNS scores of "Down" or short positions. Diversification also reduces the benefit of "UP" run CQNS scores, which is why we find stocks that work together to improve their CQNS scores (they complement each other).
Please describe the solver types that you use?
The best way is to point you to Wikipedia, after we give you a few 'plain English' words of explanation of each.
Quantum Annealer - Uses quantum energy level (think of atoms jumping around trying to find their 'groove'). When we start, atoms are still and are loaded with data. As the atoms heat up, they jump around and seek out the lowest energy level where they can settle in, which equates to the lowest CQNS score. As the system cools, the atoms become more still and only look in their immediate area. Finally, we stop and read the qubits, calculate the CQNS scores and whether the portfolio found was valid, and we keep the valid portfolios.
* we run the quantum annealer in certain situations...not all the time.
Monte Carlo - roll the dice, purely random chance
Simulated Annealing - based on temperature. When it is hot, we search more widely. As it gets colder we focus our search.
Genetic Algorithm - based on taking the best parts of each portfolio and creating new portfolios. Should always move us to better solutions. Add in mutations to capture 'nearby' portfolios.
Simulated Bifurcator - we simulate a pressure chamber. We form portfolios by having individual stocks migrate to be either in or out of the portfolios. We push the stocks in, and pull them out, and the pressure is the amount of impact applied from the matrix of data we created. We are looking for convergence as the pressure increases.
Particle Swarm Optimization - we have a set of particles that are each starting out in different parts of the portfolio search space (the 2^64 search space). Each one finds the best answer per turn, and the group of particles has momentum attracting all particles towards the center of gravity of the best answers. Over time, the particles settle into their best local solutions, and the center of gravity also moves to the best local solution found.
TABU (Multi-Start) - This one seems to operate mostly randomly with the best answers found collected and stored in memory for the next iteration. We generally do not find better answers than we find in a Monte Carlo run.
Greedy (steepest gradient descent) - imagine you are atop a mountain and want to find the deepest valley. You can step around you...so you feel around with your toe, and pick the way that goes down the most. Step that direction, then repeat with your toe. At some point, you stop going down in any direction, and then you stop.
Chicago Quantum Value Proposition:
- We create and invest a repeatable, scalable service that we continually run, analyze and improve. Over time we better serve our clients. We keep growing our data input sizes and solver effectiveness. We learn from our successes and our failures over time. We are growing our expertise in the US equities markets.
- We offer an alternative, which is to pay us to code, test and operate a custom analysis and model. This makes sense for clients that want to 'own' the analysis and have a very specific idea in mind of how they want to select stock portfolios. We welcome this business.
- This algorithm is free from emotion. This is a fact-based analysis, run repeatedly. The stocks selected change over time.
- Finally, this is a proprietary algorithm run on an in-house technology platform that uses professional market data services. You get the benefit of those investments and expenses.
Disclosures
We think investors should perform due diligence on stocks and ensure they understand the risks associated with equities investing. We do not guarantee investment results.
Our algorithm and methods are subject to change. They can be tuned to meet client needs and tastes. For example, we can adjust the risk parameter in the model, along with data validation limits and profitability constraints. We can add available financial metrics to our data validation process.
We have described our work on arXiv in a series of three articles, with the first one here. second one here, and the third one here.