Open Interest for non commercial traders from legacy commitment of traders ( COT ) report. For the main symbol but also allows to override it. Also allows to include options in consideration.
study("Noncommercial Interest", shorttitle="Noncom Int", precision=0) force_root = input("", title="Override Product") is_includeoptions = input(false, type=bool, title="Include Options") fxroot = ticker == "USDCAD" ? "CD" : ticker == "USDCAD" ? "CD" : ticker == "USDCHF" ? "SF" : ticker == "USDCZK" ? "CZ" : ticker == "USDHUF" ? "FR" : ticker == "USDILS" ? "IS" : ticker == "USDJPY" ? "JY" : ticker == "USDMXN" ? "MP" : ticker == "USDNOK" ? "UN" : ticker == "USDPLN" ? "PZ" : ticker == "USDRUB" ? "RU" : ticker == "USDSEK" ? "SE" : ticker == "USDZAR" ? "RA" : ticker == "EURUSD" ? "EC" : ticker == "AUDUSD" ? "AD" : ticker == "GBPUSD" ? "BP" : ticker == "NZDUSD" ? "NE" : ticker == "BRLUSD" ? "BR" : "" root = force_root == "" ? fxroot == "" ? syminfo.root : fxroot : force_root code = root + (is_includeoptions ? "_FO" : "_F") + "_L_ALL" is_inversed = ticker == "USDCAD" ? true : ticker == "USDCAD" ? true : ticker == "USDCHF" ? true : ticker == "USDCZK" ? true : ticker == "USDHUF" ? true : ticker == "USDILS" ? true : ticker == "USDJPY" ? true : ticker == "USDMXN" ? true : ticker == "USDNOK" ? true : ticker == "USDPLN" ? true : ticker == "USDRUB" ? true : ticker == "USDSEK" ? true : ticker == "USDZAR" ? true : false long_noncom = security("QUANDL:CFTC/"+code+"|1", "D", close) short_noncom = security("QUANDL:CFTC/"+code+"|2", "D", close) spread = security("QUANDL:CFTC/"+code+"|3", "D", close) long = is_inversed ? short_noncom : long_noncom short = is_inversed ? long_noncom : short_noncom plot(long, color = green, title="Long") plot(short, color = red, title="Short") plot(long-short, color = yellow, title="Net", style=histogram) plot(spread, color = purple, title="Spread", style=area) hline(0, color=yellow, linestyle=dashed)