Избранное трейдера ✔️AlgoDevil

по

Нейросети в торговых системах. 2.

    • 10 июля 2020, 15:35
    • |
    • 3Qu
  • Еще

В прошлом топике [1] мы разобрались с тем, что и как подавать на входы нейросети (НС). Теперь надо как-то сказать НС — «Горшочек, вари», предварительно рассказав, что конкретно и как именно надо «варить». Мыслей, в общем, нет никаких. Потому, давайте обратимся к классикам — Саймону Хайкину [2,c.33]:
Нейросети в торговых системах. 2.
Вот так вот, сразу и на первых страницах — «не могут обеспечить готовые решения», необходимо интегрировать в сложные ситемы", «относительно простые задачи, часть из которых может решаться НС». Книга конечно старая, но и наш MLP (Multilayer perceptron) в составе scikit-learn новизной не отличается. Этому MLP еще и простую, да конкретную задачу подавай, и вокруг него «сложную систему» городи. Как-то энтузиазма поубавилось.

Ладно, коли на вход нашего MLP уже подается временной ряд, пусть он нам определяет, хотя бы приблизительно, моменты входа в Лонг. А мы потом его проверим, и уточним эти моменты.
Теперь нашу НС надо как-то научить находить Лонг — показать НС как правильно и как неправильно. А мы сами-то знаем как правильно? Учителя фиговы. Это с кошечками-собачками хорошо — показывай себе, и пусть учится.
А давайте что-нибудь предположим, назовем какие-то входы в Лонг правильными, а остальные неправильными. Если мы предположили какую-нибудь ерунду, то НС просто ничему разумному не научится, и при дальнейшей проверке это быстро выяснится. А что-то предположить нам поможет интернет.
Кстати, это свойство НС, отличать фантазии от действительных закономерностей, уже вполне можно использовать для проверки каких-либо наших педположений о поведении рынка. Надо только рассказать о них НС, и она скажет, есть там что-то, с чем следует работать, или выкинуть это и забыть.
Однако, обратимся к интернету. Несколько лет назад наш коллега по несчастью занимался методами Машинного обучения (МО) с целью победить рынок. Он строил массу предикторов, подавал их на входы различных систем МО, и обучал по разметке Зиг-Зага. А что, неплохая идея, входы — лучше не придумаешь.
Вообще, если на минимуме Зиг-Зага загородить правую часть графика, как-то сомнительно, что вообще можно что-то сказать о дальнейшем движении. Да, и по ходу пьесы этот минимум будет постоянно перемещаться. Да и наш коллега долго и упорно менял предикторы и системы МО, потом все реже, реже, и вообще пропал из поля зрения. А на истории, конечно, Зиг-Заг — лепота.
Давайте сдвинем точку входа в Лонг немного вправо от минимума Зиг-Зага, где цена уже начала расти. Мы получим некую U-образную кривую цены, на которой НС хотя бы cможет построить линию регрессии. Не говорю, что это хорошая идея, но мы с помощью НС попробуем ее проверить. Что получим? — понятия не имею, я это делаю по ходу написания материала.
Разметку правильных входов для обучения можно сделать по Зиг-Загу, установив какой нибудь разумный порог от его минимума.
А разметку неправильных входов кто сделает? Опять обращаемся к [2,c.60].
Нейросети в торговых системах. 2.



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

Нейросети в торговых системах. 1.

    • 25 июня 2020, 22:59
    • |
    • 3Qu
  • Еще

Вначале о грустном. Не понимая теорию нейросетей (НС) у вас вряд ли получится построить на ней ТС. Поэтому лучше для начала почитать теорию, например, Хайкин Саймон. «Нейронные сети. Полный курс». Книга уже достаточно старая и в ней нет новомодных веяний, но она дает базовые представления о НС.

И второе, мы будем далее для построения систем использовать пакет scikit-learn для Python. рекомендую ознакомиться. Есть и более продвинутые пакеты, скажем, TensorFlow и др., но их использовать мы не будем, и ограничимся более простым scikit-learn.
Теперь о том, чего здесь не будет. Здесь не будет теории НС, разве эпизодически и оч кратко. Здесь не будет описания пакетов Python, работы с графикой и пр. Обо всем этом вы можете прочесть в интернете, книгах, и документации Python.
В топике мы будем обсуждать только применение НС к ТС и их построению.
Так как тема достаточно велика, в один топик не влезет, сегодня мы займемся самыми общими вопросами. Следующая часть будет недели через две, раньше не получается.



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

Шип по нефти 27.04, потиковый разбор

Визуализация вчерашнего шипа

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

Причиной этого, ИМХО, является Автоматическое исполнение опциона в деньгах в последний день срока действия опциона. Подробнее об автоэкспирации опционов (раздел 1).
При исполнении опциона заключается фьючерс, являющийся базовым активом опциона, по цене, равной цене исполнения опциона. Держатель опциона становится продавцом фьючерса, подписчик опциона становится покупателем фьючерса

Если до 18-50 владелец опциона в деньгах не отказался от его исполнения то ему принудительно наливают фьючерс

В итоге вот что мы видим потиково:


Шип по нефти 27.04, потиковый разбор
За последнюю минуту дневной сессии равномерно проходит 8191 контрактов и мы уходим на вечерний клиринг.

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

Фильмы про трейдинг и биржу. Самая полная подборка

Обновил нашу статью словаря Фильмы про биржу и трейдинг 

Топ-10 выглядит так:
  1. В погоне за счастьем / The pursuit of Happyness (2006) КП8.4
  2. Сериал Миллиарды (2016), КП: 8,2
  3. Области Тьмы / Limitless (2011) КП8.0
  4. Волк с Уолл-Стрит / The Wolf of Wall Street (2013) КП7.8
  5. Уолл-Стрит / Wall Street (1987) КП7.7
  6. Инсайдеры / Внутреннее дело / Inside Job (2010) КП7.7
  7. Поменяться местами / Trading Places (1983) КП7.7
  8. Пи / Pi (1997) КП7.5
  9. Стать Уорреном Баффеттом / Becoming Warren Buffett КП: 7.5
  10. Капитализм: История любви / Capitalism: A Love Story (2009) КП7.5 
А в статье Фильмы про биржу и трейдинг всего под сотку фильмов.
Смотрите наздоровье)

Если есть что добавить в большую статью, кидайте сюда в комментарии

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

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

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

--[[
параметры: 
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



просили выложить ответ налоговой. Выкладываю

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


Я обратился в районную налокговую, к тем,

кто меня будет судить и выписывать штрафы, если я где то оступлюсь,

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

Вот чётко и конкретно.  Кому не жалко — ставьте плюсики.

просили выложить ответ налоговой. Выкладываю






Отчет о движении средств на брокерском счете

Добрый день!

С 1 января 2020 года каждый инвестор, который имеет брокерский счет у зарубежного брокера, обязан будет сдавать Отчет о движении денежных средств. Правильно называется такой документ – «Отчет о движении средств физического лица – резидента по счету (вкладу) в банке за пределами территории Российской Федерации».

Все дело в том, что в Федеральный закон «О валютном регулировании и валютном контроле» были внесены изменения, которые вступают в силу с нового года (изменения вносятся Федеральным законом от 02.08.2019 г. № 265-ФЗ).

В частности, изменения коснулись статьи 12 указанного закона. Посмотрите ниже на фото, как изменилось название статьи…

Было
Отчет о движении средств на брокерском счете

Стало
Отчет о движении средств на брокерском счете



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

Виртуальный портфель эмитентов, отфильтрованных по параметру NetDebt<EBITDA

Поводом для создания портфеля послужило моё маленькое открытие, описанное в статье Магический фильтр NetDebt<EBITDA
В портфель добавлены все акции, прошедшие это фильтр, без фильтрации по ДД и по ликвидности.
На каждого эмитента выделено по 1млнр.
Если у эмитента есть привелегированные акции, то в портфель добавлялись именно они, за исключением KZOS.
Т.е. принципы создания портфеля не поменялись с момента создания первого виртуального портфеля Виртуальный портфель эмитентов-экспортеров
Портфель расположен по ссылке
smart-lab.ru/q/watchlist/Speculator2016/10784/


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

Граль - торговля по опережающим индикаторам или парный трейдинг

    • 16 июля 2019, 22:30
    • |
    • gluhov
  • Еще
Подскажу новичкам куда копать. Копайте в паный трейдинг — это когда например две акции очень связаны между собой. Например Сургут ПР и бакс.
Или роснефть и нефть.

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

Например индекс — а акции из 10 топ акций этого индекса.

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

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



Ставку ФРС снизят, скорее всего. Фьючи на федеральные фонды редко ошибаются

    • 14 июля 2019, 23:11
    • |
    • RUH666
  • Еще
Вопрос лишь в том, на сколько, 0.25 или 0.5. Пока вероятность говорит в пользу первого.
Ставку ФРС снизят, скорее всего. Фьючи на федеральные фонды редко ошибаются
Вероятность оставления ставки без изменений пока считают равной нулю.



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