Избранное трейдера krit345
Чего только не придумают наши финансисты, чтобы заработать денег. Вот сейчас активно продвигают барьерные ноты. За рубежом я о такой практике не слышал, поэтому возможно это отечественное ноу-хау. На мой взгляд, это полумошенническая схема, сейчас попытаюсь объяснить это на пальцах.
Вот передо мной нота от одного нашего известного финансового института (не буду уточнять от какого именно, потому что смысл у всех одинаковый). Предлагается типа облигация с 10% купоном в валюте. В ноте прописаны аж 5(!!!) акций по которым должно выполниться условие — ни одна из них не должна упасть ниже барьера. Если падает ХОТЯ БЫ ОДНА из пяти то держатель ноты получает деньги исходя из пропорции к этой упавшей акции. В качестве примера, у вас в ноте будут Apple, Microsoft что-то еще выросшее и грохнувшийся The Kraft Heinz Company. Вложив в ноту 100 тысяч баксов на выходе вы получите акций этого KHC на 70 тысяч USD (берется отношение начальной цены самой плохой акции к ее конечной стоимости на дату погашения ноты). При этом четыре другие акции могут замечательно себя чувствовать и штурмовать хаи.
Settings= { Name = "Zigzag", -- название индикатора delta=3, -- параметр индикатора line= { { Name = "zigzagline", Type =TYPE_LINE, Width = 1, Color = RGB(120,90, 140) } } } function Init() vMin = 0 vMax = 0 vMinindex = 0 vMaxindex = 0 voldMinindex = 0 voldMaxindex = 0 return 1 end function OnCalculate(index) if index == 1 then vMin = C(index) vMax = C(index) vMinindex = index vMaxindex = index voldMinindex = index voldMaxindex = index v = C(index) else if voldMaxindex >= voldMinindex then if C(index) > (1 + Settings.delta/100)*vMin then vMin = C(index) vMax = C(index) vMaxindex = index voldMinindex = vMinindex vFrom = vMinindex else if vMin > C(index) then vMin = C(index) vMinindex = index vFrom = voldMaxindex else vFrom = vMinindex end end else if voldMaxindex <= voldMinindex then if C(index) < (1 - Settings.delta/100)*vMax then vMax = C(index) vMin = C(index) vMinindex = index voldMaxindex = vMaxindex vFrom = vMaxindex else if vMax < C(index) then vMax = C(index) vMaxindex = index vFrom = voldMinindex else vFrom = vMaxindex end end end end for i = vFrom, index do k = (C(index)- C(vFrom))/(index- vFrom); v = i*k + C(index) - index*k SetValue(i, 1, v) end end end
По поводу нужности математики для трейдинга поломано не мало копий (информацию можно легко найти в интернете). Что характерно, кто разбирается в математике, тот говорит «Да, нужна», кто не очень — соответственно «Нет». Особенно мне запомнилась видео дискуссия между двумя моими хорошими знакомыми, один из которых (апологет математики) создал с нуля брокерскую компанию, продал ее и сейчас трудится в Финам, а другой оппонент, самый известный продавец краевых опционов,… ну вы знаете что и как.
Сам я в математике разбираюсь крайне слабо, несмотря на то, что в одном из моих дипломов записана специальность «математик». Поэтому статьи Дмитрия Новикова и комментарии его оппонентов, к сожалению, зачастую вводят меня в ступор. Самое обидное, что практическая польза ну никак не улавливается.
В силу такой ограниченности, приходится пользоваться простыми вещами, такими как, к примеру, правило трех сигм.
Поэтому для таких как я, предлагаю к рассмотрению модель продажи краевых опционов с последующим управлением позицией, основанную на упомянутом выше правиле.
Settings={ Name="STATDIV3", period=50, line= { { Name="curve", Color=RGB(0,0,255), Type=TYPE_LINE, Width=1 }, { Name="line", Color=RGB(255,0,0), Type=TYPE_LINE, Width=1 }, { Name="MA", Color=RGB(0,0,255), Type=TYPE_LINE, Width=1 }, { Name="MA2", Color=RGB(0,128,128), Type=TYPE_LINE, Width=1 }, { Name="line2", Color=RGB(0,0,255), Type=TYPE_LINE, Width=1 }, { Name="line3", Color=RGB(0,128,128), Type=TYPE_LINE, Width=1 } } } function Init() cache_ind={} cache_ind2={} cache_ind3={} return 2 end function OnCalculate(index) if index < Settings.period then return nil else local sum1=0 local sum2=0 local sum0=0 local sum02=0 local sum03=0 for i=index-Settings.period+1, index do do if C(i) > O(i) then sum1 = sum1 + C(i) - O(i) sum2 = sum2 + C(i) - O(i) else sum2 = sum2 + O(i) - C(i) end end cache_ind[index] = sum1/sum2 if index > Settings.period+12 then --[[ sum0 = 1*cache_ind[index]+ (1)*cache_ind[index-1]+ (1)*cache_ind[index-2]+ (1)*cache_ind[index-3]+ (1)*cache_ind[index-4]+ (1)*cache_ind[index-5]+ (1)*cache_ind[index-6]+ (1)*cache_ind[index-7]+ (1)*cache_ind[index-8]+ (1/2)*cache_ind[index-9]+ (1/3)*cache_ind[index-10]+ (1/4)*cache_ind[index-11]+ (1/5)*cache_ind[index-12] --]] sum0 = 1*cache_ind[index]+ (1/2)*cache_ind[index-1]+ (1/3)*cache_ind[index-2]+ (1/4)*cache_ind[index-3]+ (1/5)*cache_ind[index-4]+ (1/6)*cache_ind[index-5]+ (1/7)*cache_ind[index-6]+ (1/8)*cache_ind[index-7]+ (1/9)*cache_ind[index-8]+ (1/10)*cache_ind[index-9]+ (1/11)*cache_ind[index-10]+ (1/12)*cache_ind[index-11]+ (1/13)*cache_ind[index-12] end --[[ sum0 = sum0/(1+1+1+1+1+1+1+1+1+1/2+1/3+1/4+1/5) --]] sum0 = sum0/(1+1/2+1/3+1/4+1/5+1/6+1/7+1/8+1/9+1/10+1/11+1/12+1/13) cache_ind2[index] = sum0 if index > Settings.period+50 then sum02 = 1*cache_ind2[index]+ (1)*cache_ind2[index-1]+ (1)*cache_ind2[index-2]+ (1)*cache_ind2[index-3]+ (1)*cache_ind2[index-4]+ (1)*cache_ind2[index-5]+ (1)*cache_ind2[index-6]+ (1)*cache_ind2[index-7]+ (1/2)*cache_ind2[index-8]+ (1/3)*cache_ind2[index-9]+ (1/4)*cache_ind2[index-10]+ (1/5)*cache_ind2[index-11]+ (1/6)*cache_ind2[index-12] --[[ sum02 = 1*cache_ind2[index]+ (1/2)*cache_ind2[index-1]+ (1/3)*cache_ind2[index-2]+ (1/4)*cache_ind2[index-3]+ (1/5)*cache_ind2[index-4]+ (1/6)*cache_ind2[index-5]+ (1/7)*cache_ind2[index-6]+ (1/8)*cache_ind2[index-7]+ (1/9)*cache_ind2[index-8]+ (1/10)*cache_ind2[index-9]+ (1/11)*cache_ind2[index-10]+ (1/12)*cache_ind2[index-11]+ (1/13)*cache_ind2[index-12] --]] end sum02 = sum02/(1+1+1+1+1+1+1+1+1/2+1/3+1/4+1/5+1/6) --[[ sum02 = sum02/(1+1/2+1/3+1/4+1/5+1/6+1/7+1/8+1/9+1/10+1/11+1/12+1/13) --]] cache_ind3[index] = sum0 - sum02 if index > Settings.period+50 then sum03 = 1*cache_ind3[index]+ (1/2)*cache_ind3[index-1]+ (1/3)*cache_ind3[index-2]+ (1/4)*cache_ind3[index-3]+ (1/5)*cache_ind3[index-4]+ (1/6)*cache_ind3[index-5]+ (1/7)*cache_ind3[index-6]+ (1/8)*cache_ind3[index-7]+ (1/9)*cache_ind3[index-8]+ (1/10)*cache_ind3[index-9]+ (1/11)*cache_ind3[index-10]+ (1/12)*cache_ind3[index-11]+ (1/13)*cache_ind3[index-12] end sum03 = sum03/(1+1/2+1/3+1/4+1/5+1/6+1/7+1/8+1/9+1/10+1/11+1/12+1/13) end if sum1/sum2 > 0.5 and sum03 > 0 then sum1 = sum03 else if sum1/sum2 < 0.5 and sum03 < 0 then sum1 = sum03 else sum1 = 0 end end return sum1, 0 end end
Лимитные ордера в стакане – что это и зачем нужно? Как извлечь из этого максимальную выгоду? Хотелось бы разобрать подробно эти вопросы.
Те, кто торгуют по стакану и постоянно следят за объемами, наверное, наблюдали, что как только цена в стакане подходит к лимитному объему, то объем отрабатывает три варианта:
1) Исполняется по рынку, и мы видим, как на индикаторе объемов (volume) происходит прирост объема на данном баре, тем самым игрок провел сделку по рынку.
2) Объем в стакане просто исчезает, и мы не видим его исполнения по рынку: могу предположить, что крупный игрок по каким-то условиям передумал войти в сделку.
3) И последний вариант – когда объем уходит от цены на несколько пунктов и не дает этим самым исполниться. Вот этот вопрос меня заинтересовал больше всех. Могу предположить, что таким образом Маркет-мейкер исполняет свои обязательства перед биржей в рамках договора
Итак. Когда мы встали в нашу scale позицию, мы стали на сторону индустрии. Наш профит складывается из спреда, а это не что иное как тетта и она всегда положительна и минус волатильность. Если рынок сдвинется относительно начальной позиции. С другой стороны, чем выше волатильность, тем чаще к нам приходят сделки. Поэтому наш интерес, что бы 5 минутные свечи были как можно больше. Для этого, мы должны научить трейдеров торговать как можно чаще и «лучше».
Идеально научить их ставить условные ордера. То есть (например) если цена ниже 100 то мы продаем. Ну а продаем мы по любому (бьем по рынку). Тут можно остановить наш scale ордер и дать им опустить рынок до 95, а потом закупиться. Таким образом «снимаются» стоп заявки и делаются шпильки. Стопы надо ставить всегда, это помогает развитию индустрии. Соответственно, необходимо научить, входить в позицию по рынку, бить по нему, желательно, большим объемом. Тут хорошо подходит скальпинг. Технический анализ это отдельная песня. Пробой уровня, выход из треугольника просто граальные науки для индустрии.
Тут многоуважаемый коллега выразился термином "… купил отрицательную тетту...", а сам смотрит на право.
Я хотел бы дополнить синонимы соответствующего действия...(поизвращаться на эту тему))):
Самое наверно простое:
— Купил гамму(это зеркало...);
— Купил вегу;
Посложнее:
— справа загнул улыбку воллы вверх;
— купил рост дельты если цена б/а пойдет вверх и снижение дельты если цена пойдет вниз;
— потратился на увеличение скорости изменения дельты при одном и том же изменении цены базового актива вверх));
— оплатил увеличение цены опциона при увеличении волатильности;
— отдал деньги в размере максимального убытка при снижении цены базового актива);
— потратил часть депозита и готов на убыток при снижении волатильности;
— если времения мало осталось до экспирации — играет в гамму, если много — то в вегу;
— тупо купил часть фьюча);
Еще сложнее:
— заплатил за то, что при изменении цены базового актива вверх, финансовый результат будет увеличиваться по параболе;
— сделал ставку в размере премии на то, что при переходе цены выше страйка при экспирации будет неограниченная прибыль;
— оплатил расходы на жизнь продавцам, если до экспирации цена будет стоять в узком диапазоне;
— готов каждый день раздавать деньги в надежде на «дикий» рост б/а;
— купил страховку на то что даже если Российский рынок обвалится он все равно будет в плюсе;
— потратился на хэдж по обязательствам которые могут возникнуть на следующем страйке;