Portfolio Design

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

Ranking System Optimizer: The first Iteration

Up to this point, the reader has been introduced to the Portfolio123 ranking system optimizer and also the custom spreadsheet that I have prepared. Now it is time to use them both together. If possible, you should try to use two monitors with your computer. You don't have to, but it makes this procedure a lot easier as you will be going back and forth between the optimizer and spreadsheet frequently.

Lets start with the EXCEL spreadsheet.

Zero Out Unused Nodes

The Stitts Piotroski ranking system has eight nodes (stock factors/formula) so it is a good idea to zero out the remaining nodes in the spreadsheet as shown below. You don't have to perform this action but it helps visually to prevent copying the wrong size array in the future. It is also a good idea to manually recalculate just to ensure that you are starting with good randomized data. I recommend starting with 50% sensitivity setting although you can always experiment with this setting.

Generate Permutations

Now open up the ranking system study if not already open.  We are about to perform the first iteration of the optimization process.  Click on the button with a "plus sign" as shown below to add permutations.


Switch back to the spreadsheet and copy the array of randomized node weights.  

WARNING:  Be sure not to copy the reference weights and also do not copy nodes 9 through 15.  Doing so will cause an error because the wrong amount of data would be pasted into the ranking system optimizer.


Now return to the ranking system optimizer.  You should be on the screen "Add Permutation for Stitts Piotroski".  Select all of the permutations listed as shown in the figure below.  Paste the 8 rows by 10 columns of randomized data, overwriting the original permutations listed in the ranking system optimizer.  Then click on Update.

Now you will see the permutations listed as shown below.  Click on Generate Permutations

Process the Permutations

Select Run to start processing the 10 permutations.  Click on Toggle Charts to disable the display of charts as they are not necessary for this exercise. 

Choosing the Best Permutation

When the permutations are finished processing you will see the results.  At this point in time you must choose the "best" result from the 10 permutations. Now this is very much a personal decision.  I look at the last bucket first, and the Delta (highest bucket to lowest bucket) second.  As you can see from the figure below, permutation #3 has the highest last bucket with 22.17%.  However, permutation #5 is a fraction lower but has a much larger delta of 20.01 versus 18.90. Thus I decided that permutation #5 is the best permutation.  As I said before, there is no right or wrong choice so don't get hung up on your decision.


Updating the Spreadsheet


Now that I have chosen permutation #5 I can go back and update the spreadsheet.  This is done by copying iteration #5 from the randomized array as shown below.

Now paste the weights from iteration #5 into the reference array.

WARNING:  Make sure that you paste Values Only into the reference array.  In the past I have succeeded in completely locking up my spreadsheet by pasting values and formulas.  It isn't easy to recover from such an event.


Donation box

One iteration of the optimization process has now been completed.  This will be performed over and over again, starting with Manual Calculation

That completes this portion of the ranking system optimizer tutorial.  The next post will focus on pruning the nodes and completing the optimization.