Ability to Normalise / Rank a script


A number of whitepapers including CMT papers require a % normalisation of an indicator across its universe to make the best calls.

E.g. if I rank a change in roc, earnings, indicator valye etc I take this number by itself its not as useful if used in a composite model. However if I have the ability to take this number and divide it by the sum of each securities associated indicator value then we can reach a multi factor ranking model.



Hi Mandeep,

This is something that we have been thinking about. We have a plan for “Group” functions where you can specify a group of securities and then perform some action. eg this is one example from our spec on this :

c1 =jdkrs(); g1 = GroupAverge(LIST=MyWatchList, jdkrs(), DATERANGE=10 Years, TIMEFRAME=1 Week ); c1 / g1

That would compare this RRG value (c1) to the average of the group.

We are planning for GroupSum, GroupAverage, GroupProduct

My main driver was so that we could do risk adjusted position sizing in a watchlist.

The project has been put on hold because it is really hard and early tests were grinding Optuma to a halt. If there is a lot of interest then we can revive it for Optuma 1.6 (1.5’s work is almost done and it will go into Beta by September).

A small point though. What I wrote above is more for comparison than normalization. When I think of normalization I think of it more as a way of converting all values into a comparable scale. When we teach CMT3, we talk about the COT Oscillator which is a long stochastic applied to the three commitment of traders values for a commodity. It is telling us how the current levels compare to the history. Since that is a number from 0 to 100, it is easy for us to compare a basket of securities to find what we want. You can add a long stochasitc to any indicator.

Another way is to add a moving average and take the percentage deviation above and below:

i1 = {My Indicator};
m1 = MA(i1);

(i1-m1) / m1 * 100

For reference, a couple of slides on the COT Data. First is the raw data and the second is the COT Oscillator.

Hope that helps


Behavioral Techniques

Behavioral Techniques (1)


Hi Mathew,

Thanks for your reply - your point re the MA and % deviation is a really interesting idea. I’ll definitely explore that. To date I have used the zscore function to ‘normalise’ data.

I would definitely support the work you are doing on the group functions - hopefully you have the support to take that forward.