Venice FL/USA
Posts: 1 since May 2012
Thanks Given: 0
Thanks Received: 0
|
I just wanted to find out if there is a way to make a scan based on this single value bubble thinkscript. Thanks for any help.
declare lower;
# Mark Laczynski
# 3.13.2014
# look at 1 year of history
input length = 252;
#clean up the IV data from TOS
rec 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)));
|