My intention was to create 1 script for the Commitment of Traders report but I wasn't not aware there is a limit on how many instrument calls can be made in PineScript so I had no choice but to divide the script into instrument categories. So far I have created 4 of them: Forex, Metals/ Commodities, Treasuries & Indexes which is the one presented here. If you are interested in the other ones, feel free to do a search.
Available Instruments: Mini S&P, VIX, Mini NASDAQ, Mini RUSSELL, EAFE Index (Global Developed Markets & EMRG Index (Global Emerging Markets)
The script calculates and plots the ZScore of both Net Long (Money Managers / Asset Managers) and Net Long (Dealers / Swap). In some instrument categories you will also see Open Interest. It depends on whether I was maxed out or not on making security calls.
If you are not familiar with ZScore, it basically calculates the distance of price from a mean average in units of Standard Deviation. In theory when price reaches +2 it signifies overbought while if it reaches -2 is oversold. However just because it's hitting an extreme in one particular average doesn't necessarily mean it will reverse as the position of price in relation with the next longer average might not be so out of range.
Must be attached to weekly chart.
If you have any questions/suggestions, feel free to add them in the comments below