input days_back = 252; def df = if (GetSymbol() == "/ES") then close("VIX") / 100 else if (GetSymbol() == "/CL") then close("OIV") / 100 else if (GetSymbol() == "/GC") then close("GVX") / 100 else if (GetSymbol() == "/SI") then close("VXSLV") / 100 else if (GetSymbol() == "/NQ") then close("VXN") / 100 else if (GetSymbol() == "/TF") then close("RVX") / 100 else if (GetSymbol() == "/YM") then close("VXD") / 100 else if (GetSymbol() == "/6E") then close("EVZ") / 100 else if (GetSymbol() == "/6J") then close("JYVIX") / 100 else if (GetSymbol() == "/6B") then close("BPVIX") / 100 else if (GetSymbol() == "/ZN") then close("TYVIX") / 100 else if (Getsymbol() == "/ZW") then close("WIV") / 100 else if (Getsymbol() == "/ZB") then imp_volatility("TLT") else if (Getsymbol() == "/ZC") then imp_volatility("CORN") else if (Getsymbol() == "/ZS") then imp_volatility("SOYB") else if (Getsymbol() == "/KC") then imp_volatility("JO") else if (Getsymbol() == "/NG") then imp_volatility("UNG") else if (Getsymbol() == "/6S") then imp_volatility("FXF") else imp_volatility(); def df1 = if !IsNaN(df) then df else df[-1]; def counts_below = fold i = 1 to days_back + 1 with count = 0 do if df1[0] > df1[i] then count + 1 else count; plot percent = Round(counts_below / days_back * 100.0, 0);