Portfolio Design

Advanced concepts in stock investment portfolio design.  Fundamentals, technical analysis and many other related topics are discussed.

Adaptive Ranking Systems Part 3 - A Superior SiRatio Factor

In Part 2 of Adaptive Ranking Systems, tests were performed using the Short Interest Ratio (SiRatio) company factor as the singular ranking factor.  The objective of the testing was to estimate the historical Annualized Return and Maximum Drawdown for a series of simulations. Each simulation adjusted the ranking threshold, above which stocks were rejected for purchase. From the test results, it was concluded that a rank threshold of approximately 70 appeared to minimize drawdown.

In Part 3, a simple adaptive ranking system is devised using SiRatio, and further tests are conducted to evaluate the historical behavior of the ranking system.

Stock market analysis tools provided by Portfolio123.

The ranking system "Adaptive SiRatio" has been updated for Part 3, replacing the simple factor SiRatio with a formula of the structure:

Eval(MT=TRUE, SiRatio, Eval(FRank("SiRatio",#All,#ASC) <= THR, SiRatio, 10000))

where MT is a market timer and THR is the ranking threshold


IF the market timer is true THEN use SiRatio as is

ELSE IF the SiRatio rank is <= THR THEN use SiRatio as is

ELSE replace SiRatio with a really big number i.e. 10,000

Ideally, one should experiment with all sorts of market timers to see how this adaptive ranking system behaves. But in the interests of saving time and energy, the credit spread timer as described in Stock Market Timing Using Credit Spreads was chosen. Thus the stock ranking formula becomes:

Eval(EMA(20,0,##CORPBBBOAS) < (SMA(500, 0, ##CORPBBBOAS) + SMA(500, 500, ##CORPBBBOAS))/2, SiRatio, Eval(FRank("SiRatio", #All, #ASC)<=THR, SiRatio, 10000))

THR will be replaced by several different ranking threshold in the formula. The value of THR was initially set to 75 as shown below.

Adaptive ranking system formula

For testing purposes, the simulation from Part 2 is re-used. The previous Buy rule is deleted and there are now none as shown below.

Simulation with no Buy rules


The time period must be adjusted to start in 2002. The reason for this is that the ##CORPBBBOAS index did not start until sometime in late 1997, and a four year average of the index is used in the formula.  Thus results prior to 2002 may not be representative.

(Note to myself:  I have to go back and review my previous market timing tests to see if a start date of 2002 impacts the results for this indicator.)

Simulation time period adjusted for 2002 to present

The simulation is run with the results provided below. The good news is that the drawdown has been reduced to -47%. The bad news is that I have nothing to compare the results against as the original non-adaptive ranking system wasn't run starting from 2002.

Simulation backtest results with adaptive ranking system

In order to rectify this problem the ranking system was quickly reverted back to the simple SiRatio factor and the simulation was run with the following results:

Original simulation adjusted for new time period

As can be seen, the original non-adaptive ranking system had better annualized return, 14.79% versus 12.57%. The drawdown for the original was substantially higher at -68.72% versus -46.75%. So half the mission has been accomplished.

Now, before jumping to conclusions, remember that these are simulations that may have some luck or subconscious optimization involved. So an additional study is going to be performed using a perturbation technique described in a tutorial. This will be a one-on-one test, non-adaptive versus adaptive ranking system.

The non-adaptive ranking system will have the following structure:

Eval(FRank("SiRatio", #All, #ASC) <= THR, SiRatio, 10000)

where THR is the same ranking threshold that is used by the adaptive ranking system.

The side-by-side comparison of non-adaptive versus adaptive ranking system is shown below.

Annualized Return comparison: Non-Adaptive versus Adaptive

Maximum Drawdown comparison: Non-Adaptive versus Adaptive

As can be seen from these graphs, the adaptive ranking system modestly outperforms the adaptive ranking system with a ranking threshold of 90 and below. The optimal setting is 75, which is also 0.6% higher annualized return better than having a rank threshold of 100 which is synonymous with having a simple SiRatio factor with no ranking threshold. In addition, with a ranking threshold of 75, the maximum drawdown is less than -54%, substantially better than the original -69%.

Now this improvement in backtest results appears to be relatively minor, but keep in mind that this is one factor only, and not all variations of market timing have been explored.

Also, please remember that this analysis was done with the benefit of hindsight. There is no guarantee than any observations will persist in the future, nor is there any guarantee that such a strategy will be profitable.