Ability to Normalise / Rank a script

Optuma Forums Feature Requests Ability to Normalise / Rank a script

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
  • #53751
    • Topics: 32
    • Replies: 17
    • Posts: 49


    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.



    • Topics: 28
    • Replies: 1,276
    • Posts: 1,304

    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)


    • Topics: 32
    • Replies: 17
    • Posts: 49

    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.



Viewing 3 posts - 1 through 3 (of 3 total)
  • You must be logged in to reply to this topic.

Pin It on Pinterest

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.