declare lower;# Mark Laczynski# 3.13.2014# look at 1 year of historyinput length = 252;#clean up the IV data from TOSrec clean_iv_r = if (isNaN(imp_volatility()) and !isNaN(close)) then clean_iv_r[1] else imp_volatility();rec iv_today_r = GetValue(clean_iv_r, -length);rec bar_number_of_todays_iv_projected_back = if IsNaN(bar_number_of_todays_iv_projected_back[1]) then 0 else if (isNaN(iv_today_r)) then BarNumber() else bar_number_of_todays_iv_projected_back [1];rec iv_today_projected_back_r = if(IsNAN(iv_today_projected_back_r[1])) then double.nan else if(!isNaN(iv_today_r)) then iv_today_r else if(isNaN(clean_iv_r)) then double.nan else iv_today_projected_back_r[1];rec is_considered_for_counting_r = if(isNan(iv_today_projected_back_r)) then double.nan else if (BarNumber() - bar_number_of_todays_iv_projected_back != 0) then double.nan else 1;rec count_is_under_iv_today_r = if if (isNan(close)) then double.nan else (isNan(is_considered_for_counting_r )) then 0 else if (clean_iv_r < iv_today_projected_back_r and !isNan(is_considered_for_counting_r )) then count_is_under_iv_today_r[1] + 1 else count_is_under_iv_today_r[1];AddLabel(yes,concat("Percentile: ", round(count_is_under_iv_today_r * 100 / length,2)));plot Percentile = round(count_is_under_iv_today_r * 100 / length,2);