New Ranking System Optimizer Spreadsheet

I’ve always been appreciative of members’ sharing their tools or research with others here. It’s sped my learning experience along and made getting to better results easier. So thanks Ralph!

Just curious, is there a body of math or science behind this tool that makes outputs a key driver to more quickly finding the optimal set of factor weights? Or is this simply a tool to generate a set of random weights? Being an English major, I haven’t a clue. :wink:

THanks

Dear Herton,

I am not sure if I fully get what you mean, but let me give it a try :slight_smile:
Both tools (the RS optimizer as well as the random-number generator) generate random patterns, so the Excel file as such does not include any trading rules or patterns. However, once you put the matrix generated into P123 and let the P123 ranking optimizer tool do it’s job, the results show which permutation might be better than the other one. The simplest measure is the max.return, others favor the delta (sum of last and absolute of first bucket value). When creating a more complex ranking system, I found that the results translate particularly well into simulations when calculating a sort of a Sharpe-like coefficient for each permutation result, i.e. max.result (or delta) divided by standard variation (and optionally: times slope). Based on that outcome, the ‘best’ result is used as input in the Excel RS optimizer for the next iteration cycle.

Dear Steve,

thanks for sharing thoughts about further room for improvement - I like these a lot, particularly the idea of the rolling patterns. With VBA Macros, it should work to add a lot of automation as described. I think it will be possible to implement these functions within the next 10 days approximately, perhaps even earlier. I will then post it here!

Interesting…didn’t know about the iterative approach. I’ll give it a try.

Many thanks

Dear Herton,
hope my comments are of help.
I am looking forward to meet you in New York in June!

Me too.

“…is there a body of math or science behind this tool that makes outputs a key driver…”

Herton - this isn’t meant to be a criticism but I am always curious as to why people here want to follow what the academic establishment does. Profits don’t come from following the accepted thinking of the day, they come from original thought.

Steve

I’m principally motivated by a desire to learn all the capabilities of this system including tools offered by users. In this particular case, I was trying to understand if there was a mathematical methodology or practice underneath the Excel spreadsheet that goes into deriving what appears to be iterated or refinements to factor weightings.

It is essentially a fast way to an optimized solution. Every time you repeat the process you will likely end up with a different optimized solution, sometimes with different nodes zeroed out. I like to do the optimizer trick 5 times to get 5 distinct RS’s then run the 5 optimized ranking systems in parallel without any further change. This tends to give really good results without the overfit that can arise with one optimized RS.

Steve

Dear Steve, dear all,

it was quite some work and sometimes a challenge,
but I managed to update the spreadsheet and implement most of the functionality Steve had on his ‘wish list’ above :wink:

As a first step, start by entering the NODE NUMBER at the bottom in the PRESETS area, because all the coding refers to that number of nodes. Everything else is up to you to alter.

Implemented:

  1. Random number generator
  2. Equal weightage distribution
  3. Set revolving single node to 0 for each iteration
  4. Set revolving single node to 1 (=100%) for each iteration
  5. Set 2 random nodes to 50% each all others 0
  6. Set number of digits up to 5 (Steve, only 2 are shown, but up to five are copied to the dashboard)
  7. Copy a single iteration to the dashboard
  8. Copy whole matrix to the dashboard
  9. Screen width - I do not have that problem with 27’’ iMac, but the table is now usable even with small width screens (on top of that, you can always lower the Excel sheet zoom level in the Excel settings…)
  10. Some further extras

Have fun!! Any comments welcome.

https://drive.google.com/file/d/0B0QWfpBUsNOKVHhvWFhpVDQxdFU/view?usp=sharing

I just found out that theres still a bug in the digits number setting. Please disregard this particular issue, I will try to solve it, however, the digit setting should not be such an important thing, everything else hopefully works.

Ralph - much thanks. I’m starting to appreciate your “vertical style” as opposed to spreading things out horizontally. It is better for people wanting to put two windows side by side. The functionality looks great, I don’t need five digits, 3 is probably enough and I don’t think it warrants a control to be able to change the setting. The column widths need to be a little larger because I only see number signs.

Even with zoom to 75% I still can’t see the whole spreadsheet. I might try shrinking/rearranging the buttons because they are much larger than need be. Also, I’ll put the select column->generate iterations->copy into clipboard on my Christmas list.

Thanks for the great effort,
Steve

Steve - today must be Christmas in Canada - look here, the U-buttons in row no. 9 do exactly what you want:

https://drive.google.com/file/d/0B0QWfpBUsNOKVHhvWFhpVDQxdFU/view?usp=sharing

p.s.
You can simply lower the font size in the matrix, so that the numbers should become visible. When I open the file, it’s all well visible and not #-out.
Everything else is up to you to rearrange and redesign so you see all information at once as you like it.
The only thing that most probably completely destroys the functionality is to add rows or columns.

Does anyone have a copy of this spreadsheet that they’re willing to share?

Yuval,

I hope I sent you this in an email attachment. I had a little trouble (did not go twice but seemed to this last time) so let me know if it did not go through. Is your email yuvaltaylor@portfolio123.com?

Thanks.

-Jim

I am new to all this, but where can i find more information on how to optimize a ranking system?

Further, how do i know that my optimized ranking system will be the optimal performer in the future?

thanks for helping me understand!

Best,

Click on the gear box in the ranking system and then click “Optimize.” Unfortunately the documentation for this feature, which is ancient, seems to have been lost, but you might be able to figure it out. Some of the other posts in this thread might be helpful. Personally, I haven’t tried it in years. It’s a bit of an artifact.

There are lots of other ways to optimize a ranking system. One could, for instance, find weights that work pretty well through trial and error, then add 3% or 4% to one while subtracting 3% or 4% from another, see if that improves it, and repeat ad infinitum. One could randomly sample a half-dozen to ten ranking factors out of your set of ranking factors and equal weight them, test it, repeat the process hundreds of times, and average the best-performing systems. One could test ten or twelve sets of random weight assignments, take the best performing one, and test ten or twelve variations of those weights, and go from there.

It’s very unlikely that a system that is optimized for one specific period will be the optimal performer in a future period. But it’s also very unlikely that a system that is not optimized will be the optimal performer in a future period. We basically have no way of knowing what will be the optimal performer in a future period. We can, however, deduce (though we can’t know for certain) that it’s more probable that a system that would have worked in the past will work in the future than a system that would have utterly failed in the past. There will always be, however, exceptions.

Does anyone still have this spreadsheet? and is someone using it?

1 Like

Would be interested in this spreadsheet too. Thanks in advance!

2 Likes