C1am. Осредненный ROC (Price ROC) c расчетом доверительных интервалов. | ||
Re: Технический (статистический) анализ. Механистические торговые системы -- admin3 | Ответить | Форум |
Отправлено: 06/20/2002, 17:04:27 e-mail автора |
Осредненный ROC.
Идея индикатора: Оценка изменений цены по данным OHLC нескольких последовательных баров. Метод: Расчет среднего (Js) всевозможных комбинаций изменения по Op-Открытие H-максимум L-минимум C-закрытие. Например, для 4 баров (12 точек): X(1) = (Op(0)-Op(-1)) X(2) = (Op(0)-Op(-2))/2 X(3) = (Op(0)-Op(-3))/3 X(4) = (H(0)-H(-1)) X(5) = (H(0)-H(-2))/2 X(6) = (H(0)-H(-3))/3 X(7) = (L(0)-L(-1)) X(8 )= (L(0)-L(-2))/2 X(9) = (L(0)-L(-3))/3 X(10) = (C(0)-C(-1)) X(11) = (C(0)-C(-2))/2 X(12) = (C(0)-C(-3))/3 Далее, расчет ошибки оценки по 12 точкам mjs=Sqrt(Cумма((X(i)-Js)^2)/11/12) Оценка средней ошибки оценки mja как среднего от mjs по числу vs-точек (vs-параметр) mja=Cреднее(mjs,vs); Оценка доверительного интервала с помощью квантиля dv (dv-параметр) Js-dv*mja < Js < Js+dv*mja Интерпретация: 1. Если Js-dv*mja>0, то наблюдалась тенденция к росту в рамках 4 баров 2. Если Js+dv*mja<0, то наблюдалась тенденция к падению в рамках 4 баров 3. Иначе — были колебания в диапазоне без ярко выраженной тенденции Изменяемые по желанию пользователя параметры: p1:=Input("Использовать Log:1",0,1,1); vs:=Input("Число точек для расчета дисперсии",1,9999,20); dv:=Input("3начение квантиля",0,99,3.5); Пути совершенствования индикатора: 1. Использование урезанного среднего. Урезанное среднее является промежуточным между медианой (наиболее устойчивой оценкой) и выборочным средним (оптимальной оценкой для нормального случая). Подходит для случая загрязненного нормального распределения. Можно, например, выбросить верхнюю и нижнюю четверть, оставшуюся внутреннюю половину усреднить. 2. Выбор именно 4 или 9 баров — произвол. Cледует выписать процедуры для произвольного числа баров ( N ) и подумать о выборе адекватного N при помощи некоторого критерия. Тексты программ Текст индикатора для Метастока по 4 барам {OcRoc-4} p1:=Input("Использовать Log:1",0,1,1); vs:=Input("Число точек для расчета дисперсии",1,9999,20); dv:=Input("3начение квантиля",0,99,3.5); Xo:=If(p1>0,Log(O),O); XH:=If(p1>0,Log(H),H); XL:=If(p1>0,Log(L),L); XC:=If(p1>0,Log(C),C); js:=(ROC(Xo,1,$)+ROC(Xo,2,$)/2+ROC(Xo,3,$)/3+ ROC(XH,1,$)+ROC(XH,2,$)/2+ROC(XH,3,$)/3+ ROC(XL,1,$)+ROC(XL,2,$)/2+ROC(XL,3,$)/3+ ROC(XC,1,$)+ROC(XC,2,$)/2+ROC(XC,3,$)/3)/12; mjs:=Pwr((Pwr(ROC(Xo,1,$)-js,2)+Pwr(ROC(Xo,2,$)/2-js,2)+Pwr(ROC(Xo,3,$)/3-js,2)+ Pwr(ROC(XH,1,$)-js,2)+Pwr(ROC(XH,2,$)/2-js,2)+Pwr(ROC(XH,3,$)/3-js,2)+ Pwr(ROC(XL,1,$)-js,2)+Pwr(ROC(XL,2,$)/2-js,2)+Pwr(ROC(XL,3,$)/3-js,2)+ Pwr(ROC(XC,1,$)-js,2)+Pwr(ROC(XC,2,$)/2-js,2)+Pwr(ROC(XC,3,$)/3-js,2))/132,0.5); mja:=Mov(mjs,vs,TRI); js-mja*dv; js+mja*dv; js; Текст индикатора для Метастока по 9 барам {OcRoc-9} p1:=Input("Использовать Log:1",0,1,1); vs:=Input("Число точек для расчета дисперсии",1,9999,30); dv:=Input("3начение квантиля",0,99,3.5); Xo:=If(p1>0,Log(O),O); XH:=If(p1>0,Log(H),H); XL:=If(p1>0,Log(L),L); XC:=If(p1>0,Log(C),C); js:=(ROC(Xo,1,$)+ROC(Xo,2,$)/2+ROC(Xo,3,$)/3+ROC(Xo,4,$)/4+ROC(Xo,5,$)/5+ ROC(Xo,6,$)/6+ROC(Xo,7,$)/7+ROC(Xo,8,$)/8+ ROC(XH,1,$)+ROC(XH,2,$)/2+ROC(XH,3,$)/3+ROC(XH,4,$)/4+ROC(XH,5,$)/5+ ROC(XH,6,$)/6+ROC(XH,7,$)/7+ROC(XH,8,$)/8+ ROC(XL,1,$)+ROC(XL,2,$)/2+ROC(XL,3,$)/3+ROC(XL,4,$)/4+ROC(XL,5,$)/5+ ROC(XL,6,$)/6+ROC(XL,7,$)/7+ROC(XL,8,$)/8+ ROC(XC,1,$)+ROC(XC,2,$)/2+ROC(XC,3,$)/3+ROC(Xc,4,$)/4+ROC(Xc,5,$)/5+ ROC(Xc,6,$)/6+ROC(Xc,7,$)/7+ROC(Xc,8,$)/8 )/32; mjs1:=(Pwr(ROC(Xo,1,$)-js,2)+Pwr(ROC(Xo,2,$)/2-js,2)+Pwr(ROC(Xo,3,$)/3-js,2)+ Pwr(ROC(XH,1,$)-js,2)+Pwr(ROC(XH,2,$)/2-js,2)+Pwr(ROC(XH,3,$)/3-js,2)+ Pwr(ROC(XL,1,$)-js,2)+Pwr(ROC(XL,2,$)/2-js,2)+Pwr(ROC(XL,3,$)/3-js,2)+ Pwr(ROC(XC,1,$)-js,2)+Pwr(ROC(XC,2,$)/2-js,2)+Pwr(ROC(XC,3,$)/3-js,2)); mjs2:=(Pwr(ROC(Xo,4,$)/4-js,2)+Pwr(ROC(Xo,5,$)/5-js,2)+Pwr(ROC(Xo,6,$)/6-js,2)+ Pwr(ROC(XH,4,$)/4-js,2)+Pwr(ROC(XH,5,$)/5-js,2)+Pwr(ROC(XH,6,$)/6-js,2)+ Pwr(ROC(XL,4,$)/4-js,2)+Pwr(ROC(XL,5,$)/5-js,2)+Pwr(ROC(XL,6,$)/6-js,2)+ Pwr(ROC(XC,4,$)/4-js,2)+Pwr(ROC(XC,5,$)/5-js,2)+Pwr(ROC(XC,6,$)/6-js,2)); mjs3:=(Pwr(ROC(Xo,7,$)/7-js,2)+Pwr(ROC(Xo,8,$)/8-js,2)+ Pwr(ROC(XH,7,$)/7-js,2)+Pwr(ROC(XH,8,$)/8-js,2)+ Pwr(ROC(XL,7,$)/7-js,2)+Pwr(ROC(XL,8,$)/8-js,2)+ Pwr(ROC(XC,7,$)/7-js,2)+Pwr(ROC(XC,8,$)/8-js,2)); mja:=Mov(Sqrt((mjs1+mjs2+mjs3)/31/32),vs,TRI); js-mja*dv; js+mja*dv; js; Обсуждения на форуме (адреса действительны до 30 июня 2002 года) http://www.howtotrade.ru/wtboard/3504.shtml
Обсуждения на форуме (адреса действительны после 30 июня 2002 года) http://howtotrade.wallst.ru/archive/3504.shtml
|
Ответить | Назад |Вперед |Текущая страница |