Избранное трейдера krit345

по

Еще раз про любовь (шаг ДХ)

Все что описано в прошлом топике  https://smart-lab.ru/blog/572400.php  , относится к цене опциона. Именно в нем посчитана, заранее, волатильность и известно сколько раз по 100 купили, по 99 продали. В общем, это и есть цена опциона. При том, что не имеет значения, куда придет цена.

То же самое происходит и с нашим ДХ. Напомню как мы считали СКО https://smart-lab.ru/blog/572106.php .(CуммаN  X^2-Xсреднее^2)/N-1. Как видно, само движение цены в расчетах волатильности участия не принимает. Если у нас среднее было 0,01 и цена менялась на 0,01 равномерно и прямолинейно, то это 0. И если цена пошла и пошла, а вы докупаете и докупаете, согласно дельте, то изменение цены опциона будет равно изменению цены вашей позиции в БА. Но в опционе еще зашита IV в тетте, которая будет его удешевлять.  Однако, первичный инструмент у нас БА и цена формируется от его движений. Опцион это производный инструмент. И если мы ни чего не потеряли на ДХ, то почему обязаны списывать деньги со стоимости опциона? А надо. Надо списать тетту. Ну, мы тетту списываем, а IV приписываем. И это игры маркет мейкера. Теперь, если удастся продать такой опцион по новой IV + ожидания, что и дальше так пойдет, то мы в плюсе.



( Читать дальше )

Еще раз про любовь (ДХ частота)

Частота ДХ. Трудно понять людям, которые считают доходность в пунктах, понятия через интеграл. Будем, по простому, в пунктах. Допустим, у вас есть опционная позиция и вы ее ДХ. То есть держите дельту точно такую же как и в опционе.  Начальный ДХ 0,5. Это значит, что вы купили S*delta или 1000*0,5 актива. Предположим, цена прошла 20%, а дельта изменилась до 0,6, на 0,1.  В конце этого движения мы должны и вы должны выровнять дельту 1000*0,6. То есть докупить контрактов на 100. При этом движении вы заработали 500*0,2=100 и конечный итог 1100. Конечно, если бы знали, что дельта станет 0,6, то могли купить сразу 1000*0,6 и 600*0,2=120. То есть 20 пунктов у нас упущенная прибыль. Но так как мы не знали, мы могли бы докупать постепенно с шагом изменения дельты. Тогда бы мы разбили изменение дельты 0,01, у нас бы появилось 0,1/0,01 десять шагов, где один холостой, то есть минус 1 шаг. Один шаг у нас 1000*0,5*0,2*0,01 в пунктах. Ну а цена получилась бы средней, так как мы начали покупать от 0,51, а закончили на 0,6. Таким образом, мы бы улучшили свой результат 120-100=20, 20/2-1, на 9 пунктов. И уровняв дельту на 0,6, у нас бы было 100+9=109 пунктов. Конечно это не 120, но и не 100. Я думаю тут не должно возникнуть вопросов. Как видите без интегралов.



( Читать дальше )

Еще раз про любовь (СКО)

Я разобью свою писанину на части. Что бы можно было делать ссылки на понятия, которые мы будем использовать. Да и короткие посты читать удобнее.

СКО или волатильность. Об этом столько писали, столько считали. Однако, до сих пор меня умиляет, что или кого называют волатильностью. Казалось бы не стоить об этом повторятся, но приходится. Итак Средне Квадратичное Отклонение. Берем закрытия дня и логарифмируем. LN(сегодня/вчера), называем приращением цены. Итак 100 дней. Находим среднее. Потом возводим в квадрат каждое значение LN(сегодня/вчера)^2. Это называется дисперсией. Из каждого значение отнимаем среднее ^2 (впрочем, там значения маленькие и на скорость пули не влияют). Иногда среднее не отнимают. Теперь находят сумму всех этих значений и делят на их количество (100) минус 1. После чего извлекают квадратный корень. Называем это сигмой

Получаем число. И это важно. Это число не АТR, не среднее, не коридор, не Болинжер Бенс. К графику цены оно не имеет ни какого отношения. Не надо откладывать сигмы от цены или умножать цену на сигму. Это СКО. Это переменная необходима, что бы подставить ее в формулу.



( Читать дальше )

Еще раз про любовь (начало)

Еще раз про опционы. Мы много обсуждали улыбки, МаркетМ, прочие тонкости. Сей час для простых опционщиков. Нового ни чего не скажу, но мне кажется, что для многих это может стать откровением.

Как я понял, обычный, не квалифицированный, опционщик не будет заморачиваться всеми этими греками и улыбками. Я хочу показать, как работать с единичным опционом, его ДХ и через это торговлей волатильностью. Вы сами сможете сделать выводы.

Для начала немного теории. Цена опциона, как нам известно, равна S*N(d1)-К*N(d2). Что значит, есть цена S есть страйк К и еще хрень, одна из которой Дельта. И у нас есть некий график IV волатильности и HV волатильности на option.ru. Что это означает и как это работает?

У вас есть синяя линия IV. В любой момент времени вы можете купить/продать опцион согласно ее значению в процентах волатильности. Как только вы это сделали, она, для вас, становится прямой. Это ваша первая нога. На графике я нарисовал красные и зеленые линии. Вы взяли 32.5% волу и все. Другой волы в опционах для вас нет. Это фикс. Это страйк вашей стратегии. Все последующие изменения IV к вам отношения не имеют.



( Читать дальше )

Лохотрон под названием барьерные ноты

Чего только не придумают наши финансисты, чтобы заработать денег. Вот сейчас активно продвигают барьерные ноты. За рубежом я о такой практике не слышал, поэтому возможно это отечественное ноу-хау. На мой взгляд, это полумошенническая схема, сейчас попытаюсь объяснить это на пальцах.

Вот передо мной нота от одного нашего известного финансового института (не буду уточнять от какого именно, потому что смысл у всех одинаковый). Предлагается типа облигация с 10% купоном в валюте. В ноте прописаны аж 5(!!!) акций по которым должно выполниться условие — ни одна из них не должна упасть ниже барьера. Если падает ХОТЯ БЫ ОДНА из пяти то держатель ноты получает деньги исходя из пропорции к этой упавшей акции. В качестве примера, у вас в ноте будут Apple, Microsoft что-то еще выросшее и грохнувшийся The Kraft Heinz Company. Вложив в ноту 100 тысяч баксов на выходе вы получите акций этого KHC на 70 тысяч USD (берется отношение начальной цены самой плохой акции к ее конечной стоимости на дату погашения ноты). При этом четыре другие акции могут замечательно себя чувствовать и штурмовать хаи.



( Читать дальше )

Новый индикатор Zigzag на lua под quik

Создал свой индикатор зигзаг
Предлагаю его для ознакомления
при установке имя индикатора будет Zigzag
параметр delta задает в % плечо индикатора
цель данного индикатора — помочь быстро найти значимые уровни

планирую этот совместить с предыдущим: https://smart-lab.ru/blog/528924.php
и сделать адаптивный STATDIV

в дальнейшем в зигзаг добавлю отображение уровней

файл индикатора:
https://dropmefiles.com/WyjM2

выглядит на графике так:
Новый индикатор Zigzag на lua под quik





сам код индикатора:

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

В преддверии опционной конференции. Нужна ли математика опционщику, если он не может показать свой красивый Бентли.

    • 22 марта 2019, 10:48
    • |
    • Andy_Z
  • Еще

По поводу нужности математики для трейдинга поломано  не мало копий (информацию можно  легко найти в интернете). Что характерно, кто разбирается в математике, тот говорит «Да, нужна», кто не очень — соответственно «Нет». Особенно мне запомнилась видео дискуссия между двумя моими хорошими знакомыми, один из которых (апологет математики) создал с нуля брокерскую компанию, продал ее и сейчас трудится в Финам, а другой оппонент, самый известный продавец краевых опционов,… ну вы знаете что и как.

Сам я в математике разбираюсь крайне слабо, несмотря на то, что в одном из моих дипломов  записана специальность «математик». Поэтому статьи Дмитрия Новикова и комментарии его оппонентов, к сожалению,  зачастую вводят меня в ступор. Самое обидное,  что практическая польза ну никак не улавливается.

В силу такой ограниченности, приходится пользоваться простыми вещами, такими как, к примеру, правило  трех сигм.

Поэтому для таких как я, предлагаю к рассмотрению модель продажи краевых опционов с последующим управлением позицией, основанную на упомянутом выше правиле.



( Читать дальше )

STATDIV3 доработанный индикатор для quik на языке lua

если индикатор больше 0, то покупаем, если ниже то продаем

скачать можно здесь:dropmefiles.com/09FCu
как устанавливать смотрите предыдущие статьи: https://smart-lab.ru/blog/528424.php
название STATDIV3 это доработанный STATDIV


поведение индикатора на графике:
STATDIV3 доработанный индикатор для quik на языке lua


сам код индикатора:
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
 всем удачи!
  • обсудить на форуме:
  • Quik Lua

Лимитные ордера в стакане и как на этом заработать.

 Лимитные ордера в стакане – что это и зачем нужно? Как извлечь из этого максимальную выгоду? Хотелось бы разобрать подробно эти вопросы.

Те, кто торгуют по стакану и постоянно следят за объемами, наверное, наблюдали, что как только цена в стакане подходит к лимитному объему, то объем отрабатывает три варианта:

1) Исполняется по рынку, и мы видим, как на индикаторе объемов (volume) происходит прирост объема на данном баре, тем самым игрок провел сделку по рынку.

2) Объем в стакане просто исчезает, и мы не видим его исполнения по рынку: могу предположить, что крупный игрок по каким-то условиям передумал войти в сделку.

3) И последний вариант – когда объем уходит от цены на несколько пунктов и не дает этим самым исполниться. Вот этот вопрос меня заинтересовал больше всех. Могу предположить, что таким образом Маркет-мейкер исполняет свои обязательства перед биржей в рамках договора



( Читать дальше )

Различия в квиках у БКС, АЛЬФА, Открытие

Может кому-то будет полезной информация о найденных мной различиях в торговых системах Quik у этих трех брокеров

1. Открытие

Различия в квиках у БКС, АЛЬФА, Открытие
Различия в квиках у БКС, АЛЬФА, Открытие

( Читать дальше )
  • обсудить на форуме:
  • QUIK

....все тэги
UPDONW
Новый дизайн