Избранное трейдера elektroyar
Вот эта картинка очень просто обьясняет, почему рынок имеет или должен иметь улыбку.
Это простой вертикальный Bull call spread на SPX, с нулевой теттой. Обратите внимание на соотношение max P/max L. Я думаю любой более менее понимающий этот рынок скажет, что так и должно быть, иначе деньги можно было бы лопатой грести. А теперь вопрос — а возможно ли было бы такое без улыбки? Мой ответ нет. Чем отличается рынок SPX от других рынков, где нет улыбки, тем, что он трендовый.
Вывод — причина возникновения улыбки волатильности это трендовость рынка.
Рынок саморегулирующийся механизм, который стремится к нулевому матожиданию. И если у рынка появляется трендовость (смещение вероятности), то рынок компенсирует это смещением волатильности и возвращает матожидание к нулю.
Например, был профит 20000 пипсов при 1000 трейдов. Сделали маркап -1 пипс (Bid -= -1pips, Ask += -1pips). Тогда MarkupProfit = 20000 — 1000 * (-1 ) * 2 = 22000 пипсов.
Если вы устанавливаете впервые Jatotrader, то
1. Cкачайте сначала установщик и запустите его.
2. Затем скачайте обновление, распакуйте его поверх старых файлов в папку Jatotrader (с заменой).
3. Иногда нужно ставить «заплатку», если она отличается от обновления по дате (в ней, как правило, устраняются ошибки).
Я разобью свою писанину на части. Что бы можно было делать ссылки на понятия, которые мы будем использовать. Да и короткие посты читать удобнее.
СКО или волатильность. Об этом столько писали, столько считали. Однако, до сих пор меня умиляет, что или кого называют волатильностью. Казалось бы не стоить об этом повторятся, но приходится. Итак Средне Квадратичное Отклонение. Берем закрытия дня и логарифмируем. LN(сегодня/вчера), называем приращением цены. Итак 100 дней. Находим среднее. Потом возводим в квадрат каждое значение LN(сегодня/вчера)^2. Это называется дисперсией. Из каждого значение отнимаем среднее ^2 (впрочем, там значения маленькие и на скорость пули не влияют). Иногда среднее не отнимают. Теперь находят сумму всех этих значений и делят на их количество (100) минус 1. После чего извлекают квадратный корень. Называем это сигмой
Получаем число. И это важно. Это число не АТR, не среднее, не коридор, не Болинжер Бенс. К графику цены оно не имеет ни какого отношения. Не надо откладывать сигмы от цены или умножать цену на сигму. Это СКО. Это переменная необходима, что бы подставить ее в формулу.
Settings={ Name="MNKMK", period=200, delta = 1, line= { { Name = "cur1", Type =TYPE_LINE, Width = 2, Color = RGB(255,0, 0) }, { Name = "cur2", Type =TYPE_LINE, Width = 1, Color = RGB(0,0, 255) }, { Name = "cur3", Type =TYPE_LINE, Width = 1, Color = RGB(0,0, 255) } } } --[[ описание свойств: period - период, за каротрый делается расчет delta - множетель отступа по вертикали H - L назначение: распознавание точки разворота тенденции использовался метод: метод наименьших квадратов (аппроксимация линией) --]] function Init() return 1 end function OnCalculate(index) sz = Size() n = Settings.period d = Settings.delta if index == 1 then a1_0 = 0 a2_0 = 0 a3_0 = 0 a4_0 = 0 a1_1 = 0 a2_1 = 0 a3_1 = 0 a4_1 = 0 HiLo_0 = 0 HiLo_1 = 0 prevk = 0 end i = index a1_1 = a1_1+i*C(i) a2_1 = a2_1+i a3_1 = a3_1+C(i) a4_1 = a4_1+i*i HiLo_1 = HiLo_1+H(i)-L(i) y = nil if index-n > 0 then i = index-n a1_0 = a1_0+i*C(i) a2_0 = a2_0+i a3_0 = a3_0+C(i) a4_0 = a4_0+i*i HiLo_0 = HiLo_0+H(i)-L(i) a1 = a1_1-a1_0 a2 = a2_1-a2_0 a3 = a3_1-a3_0 a4 = a4_1-a4_0 HiLo = (HiLo_1-HiLo_0)/n if((n*a4 - a2*a2) ~= 0) then a = (n*a1 - a2*a3)/(n*a4 - a2*a2) b = (a3 - a*a2)/n y = a*index + b y1 = y - HiLo*d y2 = y + HiLo*d if O(index) < y1 then y = y2 prevk = 1 else if O(index) > y2 then y = y1 prevk = 2 else if prevk == 1 then y = y2 end if prevk == 2 then y = y1 end end end end end return y endЬЛ
Settings={ Name="MNKM", period=200, line= { { Name = "cur1", Type =TYPE_LINE, Width = 1, Color = RGB(255,0, 0) } } } --[[ описание свойств: period - период, за каротрый делается расчет назначение: построение кривой, у которой сумма квадратов расстояний от цен закрытия до нее минимальна таким образом, кривая показвает общую тенденцию движения цены использовался метод: метод наименьших квадратов (аппроксимация линией) --]] function Init() return 1 end function OnCalculate(index) sz = Size() n = Settings.period if index == 1 then a1_0 = 0 a2_0 = 0 a3_0 = 0 a4_0 = 0 a1_1 = 0 a2_1 = 0 a3_1 = 0 a4_1 = 0 end i = index a1_1 = a1_1+i*C(i) a2_1 = a2_1+i a3_1 = a3_1+C(i) a4_1 = a4_1+i*i y = nil if index-n > 0 then i = index-n a1_0 = a1_0+i*C(i) a2_0 = a2_0+i a3_0 = a3_0+C(i) a4_0 = a4_0+i*i a1 = a1_1-a1_0 a2 = a2_1-a2_0 a3 = a3_1-a3_0 a4 = a4_1-a4_0 if((n*a4 - a2*a2) ~= 0) then a = (n*a1 - a2*a3)/(n*a4 - a2*a2) b = (a3 - a*a2)/n y = a*index + b end end return y end