Избранное трейдера Тихий омут

по

Алготрейдер ++

Всем привет!

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

  В общем, пост знакомство. Здрасти)

Алготрейдер ++

План такой:

I) Как я познакомился с трейдингом

II) Что и где я учил

III) Что за роботы у меня торгуют

I. Как я познакомился с трейдингом

  2008 год. Я только поступил в университет РЭУ имени Г.В. Плеханова, на дворе разгорался кризис, с подачи моего одногруппника заинтересовался рынком FOREX, записался на курсы в Forex Club, прочитал книгу — Форекс для Чайников, взял у брата 1000 долларов и веря в несомненный успех предприятия пошел зарабатывать свой первый миллион долларов.(Ведь это же так просто)Плечо 1:100 и геп сделали свое дело — депозита хватило ровно на 2 дня. Наверное только тогда я осознал, насколько трейдинг сложен и многогранен. Прошел год с момента потери денег, в течение которого я прочитал множество книг — Швагер, Лефевр, Колби, Кан, Булковский, Аппель, всех и не вспомнишь. Только к концу года я отважился снова открыть счет, попутно решив систематизировать свои знания в этой области начав ходить на подготовительные курсы на получение аттестатов ФСФР.



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

Новичкам. Сложные опционные стратегии: календарный и диагональные спреды.

Всем привет.

Продолжаем грызть тему опционов по рекомендуемой ранее литературе (см.здесь).

Сегодня мы добрались до темы «Сложные опционные стратегии», изучим пока лишь две: календарный и диагональный спред.

Календарный спред.

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

А что же мы знаем про вертикальный спред? Помним, что вертикальный спред состоит из двух опционов с одинаковой датой истечения, но разными ценами исполнения.

А вот календарный спред, напротив, состоит из двух опционов с одинаковой ценой исполнения, но разными датами истечения.

Календарные спреды используют для «игры по восходящему/нисходящему тренду», когда трейдер полагает, что определенный актив будет расти/падать в цене, но делать это медленно.

Рассмотрим на примере. Сейчас очень много «отскочистов», которые думают, что Ri вернется к отметке 140 000. Что можно предпринять в данной ситуации?

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

Нефть и рубль расскореляция

Нефть и рубль расскореляции нет — внутри месяца. Да любой месяц можно привести в пример, к примеру апрель 2019, точка разворота и в рубле и в нефти плюс минус два дня, но месяц нефть и пара доллар рубль закрываются обратно пропорцианально или синхронно нефть падает, рубль падает, особенно хорошо это было видно в декабре 2018, 25 декабря 2018 рубль держался, но месяц все равно доллар закрыл на 70. внутри дня в любом месяце можно найти расскореляцию нефти и рубля, сегодняшняя проблема ослабления нефти и роста рубля это головная боль только внутридневного трейдера.

Расскореляция в паре нефть доллар идет в отдельные дни  лет так пять начиная с девальвации рубля 2014 года, когда 16 декабря рубль падал внутри дня на 15%, нефть при этом была стабильно в этот же день,  месяц и год всегда пара нефть и рубль закрывают синхронично, к примеру если сейчас купить доллар и продать нефть, на мой взгляд к 1 октября  -  нефть будет в районе 57 и доллар в районе 67,  поэтому кто держит диверсификацию до 1 октября расскореляцию не заметит не во сне, не на яву.

Индикатор наклонных уровней

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

Индикатор наклонных уровней

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

function Init()
  
  y1 = nil
  y2 = nil
  x1 = 1
  x2 = 1
    
  return 1
  
end

function OnCalculate(index)

  de = Settings.Procent
  
  delt = 0.01

  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)	        
	  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)  		
	  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 curto ~= curfrom and curfrom ~= nil and curto ~= nil then 
    if C(curto) ~= nil and C(curfrom) ~= nil then 
      k = (C(curto)- C(curfrom))/(curto- curfrom)  
      for i = curfrom, index  do
        curv = i*k + C(curto) - curto*k  		          
	    SetValue(i, 1, curv)
      end   	
	end 
  end
--]]
    
    lev = nil
	if x1 ~= x2 then  
     
	
	k = (C(x1)- C(x2))/(x1- x2)    
	maxd = 0
    for i = x2, x1  do
      
	  lev = i*k + C(x1) - x1*k  		
	  
	  if  C(x2) > C(x1) and lev <= H(i) 
	  then 
	    if maxd < H(i) - lev  then 
          maxd = H(i) - lev 
		end
        --maxd = 0.5		
      end 
	  
      if  C(x2) < C(x1) and lev >= L(i) 
	  then 
	    if maxd > L(i) - lev  then 
          maxd = L(i) - lev
		end 
		--maxd = -0.5
      end 	  
	  
    end   	
      
    lev = nil 
    --[[if x1 < index 
	  and 
	  (
	  C(x2) > C(x1) and C(x1) < C(index) 
      or 
      C(x2) < C(x1) and C(x1) > C(index) 	  
	 )
	then --]]
      lev = 
	    index*k + C(x1) - x1*k + 
		maxd
	--end   
    
	  
	  
	--[[  
	
	map = 10
	lev = 0
	if index-map+1 > 0 then 
      for i = index-map+1, index  do
        lev = lev + C(i)
      end   		
	  lev = lev/map
	  ma = lev
	end
	
	map = 30
	lev2 = 0
	if index-map+1 > 0 then 
      for i = index-map+1, index  do
        lev2 = lev2 + C(i)
      end   		
	  lev2 = lev2/map
	  ma2 = lev2
	end	

	
	if 
	  C(x2) > C(x1) and C(x1) < C(index) and C(index) > lev and C(index) - C(x1) > C(index)*delt
	  or 
	  C(x2) > C(x1) and C(x1) < C(index) and C(index) > lev2 
	then 
	  lev = C(x1)--*(1-delt)
	  prev = lev        
	else  	
	  if 
	    C(x2) < C(x1) and C(x1) > C(index) and C(index) < lev and C(x1) - C(index) > C(index)*delt
	    or
	    C(x2) < C(x1) and C(x1) > C(index) and C(index) < lev2 
	  then 
	    lev = C(x1)--*(1+delt)
	    prev = lev
	  else
        lev = lev2  
	  end		
    end	

	if 
	  C(x1) > C(x2) and ( lev < C(index) or prev == C(x2) )
	then 
	  lev = C(x2)--*(1+delt)
	  prev = lev
	end
	
	if
	  C(x1) < C(x2) and ( lev > C(index) or prev == C(x2) )
	then 
	  lev = C(x2)--*(1-delt)
	  prev = lev
	end	
	
    if C(x1) < C(x2) and ( lev < C(index) or prev == C(x1) )
	then         	  
	  lev = C(x1)
	  prev = lev
    end
	  
    if C(x1) > C(x2) and ( lev > C(index) or prev == C(x1) ) 
	then         	  
	  lev = C(x1)
	  prev = lev       		
	end
	 --]] 

	
  end   
  
  return  lev
 
  
end



БАБЛО ИЗ ВОЗДУХА или теория портфельной ребалансировки.

 

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

БАБЛО ИЗ ВОЗДУХА или теория портфельной ребалансировки.

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

Раздаю x64 lua библиотеки для Quik8

    • 15 июля 2019, 10:06
    • |
    • П М
  • Еще
В рамках добра. 
Для тех кто любит плюшки на lua.
Пересобрал либины w32.dll и ffi.dll для Квика v8.0
ffi проверил на прилагаемом к ней тесте — работает, w32.dll не проверял, сами скажите если что не так.

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

Исходный код w32.dll не менялся вообще, у ffi я внёс минимальные изменения в заголовочный файл чтобы всё собралось.
Возможны некоторые косяки с изменением размера данных в w32.dll, ранее я ей никогда не пользовался. Проверяйте.
хотя судя по этой теме, проблем скорей всего вообще не будет, обрезать данные можно:
https://stackoverflow.com/questions/1822667/how-can-i-share-hwnd-between-32-and-64-bit-applications-in-win-x64

Исходники брал с гита.
ссылки:
ffi - 
www.dropbox.com/s/mqtpqyhi4b35lcq/ffi.dll?dl=1

w32 -
www.dropbox.com/s/1b6kb98uiad7pnc/w32.dll?dl=1
ps: собирал на windows 10, на более ранних скорее всего не взлетит у вас.
  • обсудить на форуме:
  • Quik Lua

Расставляем точки над IV и HV, считаем на R, для новичков

Решил рискнуть и поднять довольно холиварную тему, и разобраться, какие виды волатильностей бывают и чем они отличаются. Всё ниже-сказанное прежде всего рассчитано на новичков, которые уже имеют представление о волатильности, но теряются в догадках, какую же всё-таки использовать (как и я). Чтобы понять о чем пойдет речь далее, необходимо иметь базовые представления о модели Блэка-Шоулза (БШ).

Что такое Implied Volatility (IV)?


Для вычисления цены опциона, обычно используют формулу БШ, которая принимает следующие параметры:

OptionPrice = Vbs(S, t, sigma, r, K, T)

Но на рынке, опционы уже торгуются по неким ценам. Одни продают, другие покупают. Если взять цену опциона с рынка и вычислить волатильность, которую подставив в формулу БШ, мы сможем получить рыночную цену опциона — это и будет подразумеваемая волатильность или Implied Volatility.

Вычисляем IV


Решить уравнение БШ и вывести из него sigma — не простая задача. Скорее всего, даже не возможная, по-этому решается оно методом перебора Ньютона-Рафсона.

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

Продолжаю совершенствовать программу учета сделок TradeJournal

Доброго времени суток, уважаемые коллеги!

Не так давно я опубликовал пост о том, что разрабатываю программу для учета сделок (прежде всего на фондовом рынке) TradeJournal.

К сожалению, я допустил ряд ошибок:
1. опубликовал ссылку в виде файла, а не каталога, что привело к тому, что обновления теперь я могу публиковать только в комментариях
2. выложил довольно сырой продукт, хотя и предупредил об этом.

В данном посте хотелось бы исправить свои недочеты, а так же прояснить ряд вопросов.

Итак, ссылка на программу — yadi.sk/d/dxARhi1DVUmW_Q

Сообщаю, что провел работу по исправлению ряда ошибок, а так же добавил формы, которые облегчают ввод данных.
Добавил разные мелочи в виде, например, групповых операций.

Вот несколько скриншотов:

Отбор акций:
Продолжаю совершенствовать программу учета сделок TradeJournal

учет сделок:
Продолжаю совершенствовать программу учета сделок TradeJournal

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

Как продавать роботов

В продолжение поста "Как покупать торговых роботов". Теперь о том, как их продавать.

Как продавать роботов

«Ты кто такой, давай техзадание!
Ты кто такой, давай техзадание!
Он все тебе объяснить старается,
Отчет-аудит показать пытается,
Знаещщ, где рэальний дэло начинается?
Только там, где ТЗ появляется!

А теперь, товарищ, внимание!
Нет ТЗ — Давай Досвидания!» ©

Как продавать роботов



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

Интервью с трейдером - Максим Шевченко

Записали интервью на конференции Smart-Lab.
Думаю, получилось интересно и полезно! 


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