Избранное трейдера АлексейФ

по

4 варианта, как заработать на дельтахэдже опционов.

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

Я для дельта хеджа использую option workshop, но каждый может использовать свое ПО.
Как пользоваться софтом записал видосы тут

Итак начнем.

Вариант номер 1.

Этот вариант самый безопасный, главное не переборщить с ГО. 
Использовать его лучше, когда до экспирации остается мало времени и дельта меняется быстро, я использую его на недельках. 

Тут все просто покупаем пут и колл центрального страйка. И запускаем дельтахэдж. Если цена улетает нам приносит прибыль купленные опционы, если цену пилит и колбасит, нам приносит дельтахэдж. Тут рисков особых нет, только если резко и сильно упадет цена опционов, а дельта хэдж не успеет наколбасить прибыль. Лучше запускать, когда резко упала вола и сильно в цене просели опцики, что часто бывает. 

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

Отчёты об открытии счетов у иностранного брокера. Последствия нарушений.

С 2020 года физическим лицам придётся отчитываться перед ФНС России об открытии и закрытии счетов у иностранных брокеров. Обязанность ещё не наступила, но возникает вопрос: что будет, если не сообщать о счетах?

С 2020 года в налоговую инспекцию по месту регистрации будет необходимо предоставить следующие документы. Уведомление об открытии (закрытии) счёта. Следует подать не позднее одного месяца со дня открытия (закрытия). Уведомление об изменении реквизитов счёта. Также подаётся не позднее одного месяца со дня изменения реквизитов. Отчёт о движении средств по счёту (вкладу).

На данный момент законодательством предусмотрены санкции (в рамках счетов, открытых в иностранных банках):

за неподачу уведомления грозит штраф в размере от 4 000 до 5 000 руб. (п. 2.1 ст. 15.25 КоАП РФ);

за уведомление инспекции, но с нарушением срока или не по установленной форме, штраф составит от 1 000 руб. до 1 500 руб. (п. 2 ст. 15.25 КоАП РФ);



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

Индикатор - ближайшие уровни



--[[
параметры: 
Procent - процент зигзага 
--]]
Settings={
Name="ZIGZAGLEVELS",
Procent=1,
    line=                                     
                {  
					{  
                        Name = "cur1",
                        Type =TYPE_LINE,
                        Width = 2,
                        Color = RGB(0,0, 255)
                    },				
					{  
                        Name = "cur2",
                        Type =TYPE_LINE,
                        Width = 2,
                        Color = RGB(0,0, 255)
                    },
					{  
                        Name = "cur3",
                        Type =TYPE_LINE,
                        Width = 2,
                        Color = RGB(0,0, 255)
                    },
					{  
                        Name = "cur4",
                        Type =TYPE_LINE,
                        Width = 2,
                        Color = RGB(255,0, 0)
                    },				
					{  
                        Name = "cur5",
                        Type =TYPE_LINE,
                        Width = 2,
                        Color = RGB(255,0, 0)
                    },
					{  
                        Name = "cur6",
                        Type =TYPE_LINE,
                        Width = 2,
                        Color = RGB(255,0, 0)
                    }					
                }
}

function Init()
  
  y1 = nil
  y2 = nil
  x1 = 1
  x2 = 1
  levelsy={}
  levelsx={}  
  cntlevels=0
      	
  return 6
  
end

function OnCalculate(index)

  de = Settings.Procent
  sz = Size()

  vl = C(index)
  if index == 1 then 
	y1 = vl
    y2 = vl
  else   
	  if C(index) > y1*(1+de/100) and y1 < y2 then 
	    x2 = x1
	    y2 = y1	
	    x1 = index 
	    y1 = C(index)	        
        cntlevels = cntlevels + 1		
		levelsx[cntlevels]=x2
	    levelsy[cntlevels]=y2        
	  end 	
	  if C(index) > y1 and C(index) > y2 then 
	    x1 = index 
	    y1 = C(index)	  			  
	  end 
	  	  		
	  if C(index) < y1*(1-de/100) and y1 > y2 then 
	    x2 = x1
	    y2 = y1
	    x1 = index 
	    y1 = C(index)	  		
		cntlevels = cntlevels + 1
		levelsx[cntlevels]=x2
	    levelsy[cntlevels]=y2		
	  end 	
	  if C(index) < y1 and C(index) < y2 then 
	    x1 = index 
	    y1 = C(index)	  			  
	  end 	  	  		
	end 	
  
  if x1 ~= index then 
    curfrom = x1
	curto = index
  else 
    curfrom = x2
	curto = x1
  end 
  
  if sz == index then 
   cnt = 6
   for k = 1, cnt do  
	for i = 1, index  do        
	  SetValue(i, k, nil)
    end     
   end 
  
   cnt = 3
   k = 0
   for j = cntlevels, 1, -1 do
    d = 0
    if levelsy[j] > C(index) then 
      d = levelsy[j] - C(index)
	end 
	if d < 0.2*C(index) and d > 0 then 
	 if k <= cnt then 
	   k = k + 1
	   y = levelsy[j]
	   for i = levelsx[j], index  do        	     
	     SetValue(i, k, y)
       end   
	 end
	end 
   end

  
   k = 0
   for j = cntlevels, 1, -1 do
    d = 0
    if levelsy[j] < C(index) then 
      d = C(index) - levelsy[j]
	end 	
	if d < 0.2*C(index) and d > 0 then 	 
	 if k <= cnt then 
	   k = k + 1
	   y = levelsy[j]
	   for i = levelsx[j], index  do        	     
	     SetValue(i, k+3, y)
       end   
	 end
	end 
   end
   
  end   

 
  
end

Релально работающий канал в онлайне


Релально  работающий канал в онлайне

Settings={
Name="MNKKANAL_new",
period=200,
delta=0,
line=                                     
                {  
					{  
                        Name = "cur1",
                        Type =TYPE_LINE,
                        Width = 1,
                        Color = RGB(0,255, 0)
                    },
					{  
                        Name = "cur2",
                        Type =TYPE_LINE,
                        Width = 2,
                        Color = RGB(255,0, 0)
                    },
					{  
                        Name = "cur3",
                        Type =TYPE_LINE,
                        Width = 2,
                        Color = RGB(255,0, 0)
                    }
                }

}
--[[

описание свойств:
period - период, за каротрый делается расчет

назначение:
построение тенденции

использовался:
метод наименьших квадратов (аппроксимация линией)

--]]

function Init()

    a1_0 = {}
	a2_0 = {}
	a3_0 = {}
	a4_0 = {}  
    a1_1 = {}
	a2_1 = {}
	a3_1 = {}
	a4_1 = {} 
 	
  return 3
end

function OnCalculate(index)
    
  sz = Size()
  n = Settings.period
  d = Settings.delta
  
    
  if index == 1 then 
    a1_0[index] = 0
	a2_0[index] = 0
	a3_0[index] = 0
	a4_0[index] = 0  
	i = index
    a1_1[index] = i*C(i)
	a2_1[index] = i
	a3_1[index] = C(i)
	a4_1[index] = i*i
  else       

   i = index
   a1_1[index] = a1_1[index-1]+i*C(i)
   a2_1[index] = a2_1[index-1]+i
   a3_1[index] = a3_1[index-1]+C(i)
   a4_1[index] = a4_1[index-1]+i*i  
   
   end
   
   y = nil
   y1 = nil
   y2 = nil
   
   if index-n > 0 then
        
    i = index-n
	a1_0[index] = a1_0[index-1]+i*C(i)
	a2_0[index] = a2_0[index-1]+i
	a3_0[index] = a3_0[index-1]+C(i)
	a4_0[index] = a4_0[index-1]+i*i
	
	a1 = a1_1[index]-a1_0[index]
	a2 = a2_1[index]-a2_0[index]
	a3 = a3_1[index]-a3_0[index]
	a4 = a4_1[index]-a4_0[index]
	
	 if((n*a4 - a2*a2) ~= 0) then
	  
	  a = (n*a1 - a2*a3)/(n*a4 - a2*a2)
	  b = (a3 - a*a2)/n
      c1 = 0
      c2 = 0
      n1 = 0
      n2 = 0       
      for j=index-n+1, index do  
       y = a*j + b
	   if C(j) < y then
	     c1 = c1 + (y -C(j))
		 n1 = n1 + 1
	   end
	   if C(j) > y then
	     c2 = c2 + (C(j) - y)
		 n2 = n2 + 1
	   end	  
	   
      end	
	  
	  if n1 ~= 0 then
	    c1 = c1/n1
	  end
	  if n2 ~= 0 then
	    c2 = c2/n2
	  end			 
 
	 
	 j = index-d
	 y = a*j + b
     y1 = y-2*c1	
     y2 = y+2*c2		 
	 	  
  
     end 	
	

   else
	a1_0[index] = 0
	a2_0[index] = 0
	a3_0[index] = 0
	a4_0[index] = 0 
   end 
   

   
  
   return y,y1,y2
 
  
end

MNKA - угол наклона канала

Предположительно MNKA (нижний график) надо использовать совместно с MNKAVG
Если цена пробивает среднюю (черную) линию MNКAVG и MNKA загибается вниз, то сигнал на продажу и наоборот

MNKA - угол наклона канала


Settings={
Name="MNKA",
period=200,
line=                                     
                {  
					{  
                        
                        Type =TYPE_LINE,
                        Width = 1,
                        Color = RGB(0,0, 0)
                    },
					{  
                        
                        Type =TYPE_LINE,
                        Width = 1,
                        Color = RGB(255,0, 0)
                    }
                }

}
--[[

описание свойств:
period - период, за каротрый делается расчет

назначение:
построение тенденции

использовался:
метод наименьших квадратов (аппроксимация линией)

--]]

function Init()
  
  return 2
end

function OnCalculate(index)
    
  sz = Size()
  n = Settings.period
       
 --[[ if (index ~= sz) then
    return nil
  else --]]
   y = nil  
   if index-n > 0 then
    a1 = 0
	a2 = 0
	a3 = 0
	a4 = 0
    for i=index-n+1, index do  

	  a1 = a1+i*C(i)
	  a2 = a2+i
	  a3 = a3+C(i)
	  a4 = a4+i*i
	
    end  
	
	if((n*a4 - a2*a2) ~= 0) then
	 a = (n*a1 - a2*a3)/(n*a4 - a2*a2)
	 --b = (a3 - a*a2)/n
     y = a
     --[[for j=index-n+1, index do  
      y = a*j + b
      SetValue(j, 1, y) 
     end--]]	
    end 
   end 	
   return 0, y
  --end
 
  
end

Индикатор наклонного канала

сам тренд это такая линия сумма квадратов расстояний до которой от каждой цены закрытия бара минимальны (метод наименьших квадратов)
дайте мне тимофейчиков
:)
Индикатор наклонного канала
 
 

Settings={
Name="MNKHL",
period=200,
delta=0,
line=                                     
                {  
					{  
                        Name = "cur1",
                        Type =TYPE_LINE,
                        Width = 1,
                        Color = RGB(0,0, 0)
                    },
					{  
                        Name = "cur2",
                        Type =TYPE_LINE,
                        Width = 1,
                        Color = RGB(0,255, 0)
                    },
					{  
                        Name = "cur3",
                        Type =TYPE_LINE,
                        Width = 1,
                        Color = RGB(255,0, 0)
                    },
					{  
                        Name = "cur4",
                        Type =TYPE_LINE,
                        Width = 1,
                        Color = RGB(255,0, 0)
                    },
					{  
                        Name = "cur5",
                        Type =TYPE_LINE,
                        Width = 1,
                        Color = RGB(0,255, 0)
                    }

                }

}
--[[

описание свойств:
period - период, за каротрый делается расчет
delta - смещение назад 

назначение:
построение тенденции

использовался:
метод наименьших квадратов (аппроксимация линией)

--]]

function Init()
  
  return 5
end

function OnCalculate(index)
    
  sz = Size()
  n = Settings.period
  d = Settings.delta
       
  if (index ~= sz) then
    return nil, nil, nil, nil, nil
  else  	   
   y = nil  
   if index-n-d > 0 then
    a1 = 0
	a2 = 0
	a3 = 0
	a4 = 0
    for i=index-n+1-d, index-d do  

	  a1 = a1+i*C(i)
	  a2 = a2+i
	  a3 = a3+C(i)
	  a4 = a4+i*i
	
    end  
	
	if((n*a4 - a2*a2) ~= 0) then
	 a = (n*a1 - a2*a3)/(n*a4 - a2*a2)
	 b = (a3 - a*a2)/n
    
	 j = index-n+1-d
	 mh1 = H(j)
	 ml1 = L(j)
	 mh2 = H(j)
	 ml2 = L(j)
	 dmh1 = 0
	 dml1 = 0
	 dmh2 = 0
	 dml2 = 0
     for j=index-n+1-d, index-d do  
      y = a*j + b
      SetValue(j, 1, y) 
	  if H(j) < y and y - H(j) > dmh1 then
	    mh1 = H(j)
		dmh1 = y - H(j)
	  end
	  if L(j) < y and y - L(j) > dml1 then
	    ml1 = L(j)
		dml1 = y - L(j)
	  end
	  if H(j) > y and H(j) - y > dmh2 then
	    mh2 = H(j)
		dmh2 = H(j) - y
	  end
	  if L(j) > y and L(j) - y > dml2 then
	    ml2 = L(j)
		dml2 = L(j) - y
	  end
     end	
	 
     for j=index-n+1-d, index-d do  
      y = a*j + b
      SetValue(j, 2, y-dmh1) 
	  SetValue(j, 3, y-dml1) 
      SetValue(j, 4, y+dmh2) 
	  SetValue(j, 5, y+dml2) 	  
     end		 
	 
    end 
   end 	
   return y
  end
 
  
end

Индикатор, показывающий тренд

индикатор рисует линию
работать с ним нужно так:
если цена ниже линии, то перепроданность — нужно покупать, если сверху, то перекупленность — продавать
можно построить несколько трендов за разные периоды и делать покупки тогда, когда сигналы совпадают
PS:
кидайте тимофейчики

Индикатор, показывающий тренд





Settings={
Name="MNK",
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 ~= sz) then
    return nil
  else  
   y = nil  
   if index-n > 0 then
    a1 = 0
	a2 = 0
	a3 = 0
	a4 = 0
    for i=index-n+1, index do  

	  a1 = a1+i*C(i)
	  a2 = a2+i
	  a3 = a3+C(i)
	  a4 = a4+i*i
	
    end  
	
	if((n*a4 - a2*a2) ~= 0) then
	 a = (n*a1 - a2*a3)/(n*a4 - a2*a2)
	 b = (a3 - a*a2)/n
    
     for j=index-n+1, index do  
      y = a*j + b
      SetValue(j, 1, y) 
     end	
    end 
   end 	
   return y
  end
 
  
end

Обобщенная модель ценообразования опционов

Я попробую небольшими частями изложить основные положения обобщенной теории опционов. При ее разработке не использовалась гипотеза о случайном поведении цены базового актива по причине того, что для большинства финансовых рынков ее невозможно ни подтвердить, ни опровергнуть. Обобщенная теория индифферентна по отношению к причинам ценовых изменений и в этом ее отличие от классической теории опционов, для которой гипотеза о случайном поведении цен является незыблемым основанием. Важно отметить, что в случае согласия с гипотезой классическая теория не вступает в противоречие с обобщенной, но оказывается ее составной  частью. Отсюда и название “обобщенная”. Она должна понравиться тем, кто не очень хорошо разбирается в методах ТВ и МС, но хочет разобраться в опционах.

Постараюсь обойтись минимальным количеством формул, хотя совсем без математики не получится. Поэтому, если что-то будет непонятно, спрашивайте.

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



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

Как быть в курсе всех новостей о компании и не погибнуть в потоке.

Запилил короткий видосик как фильтровать новостной поток, отслеживать отчеты и тд.
Фильтровать можно все, от Смартлаба до OFAC.

Буду рад, если облегчит тяжелую жизнь инвестора на ММВБ.



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

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