Блог им. AleksandrBaryshnikov |Второй раз на те же грабли - Тиньков

    • 21 сентября 2023, 20:27
    • |
    • bascomo
  • Еще
Из тех, с кем мы сбились в стаю, у всех счета в Тинькове. У большинства ИИСы, конечно.

Один раз я уже наступил в этого брокера.

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

Результаты не соответствовали ожиданиям и были хуже.
Я стал исследовать вопрос.

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

Вот вам детали по Сберу (37 свечей не совпадают с рынком за период 06.09.23 — 21.09.23):
Второй раз на те же грабли - Тиньков
Расшифровка:
  • инструмент (Сбер)
  • свеча от Тинькова — дата-время, OHLC
  • свеча от Финама, дата-время, OHLC
Видно, что то цена открытия свечи, то цена её закрытия не соответствует рынку.
Кто хочет проверить — можете поупражняться.

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

Блог им. AleksandrBaryshnikov |Функциональный релиз

    • 18 сентября 2023, 00:02
    • |
    • bascomo
  • Еще
Доброй ночи тебе, читатель!

Когда есть команда, обсуждение и продвижение идёт быстро, как и воплощение в реальность.

Тут немного информации о модулях «Трейдер» и «Селектор», как я их называю.

В новом релизе добавилось функциональности, и вот она на скриншотах.

Функциональный релиз

Комментарии:
  • В заголовке окна отображается путь к исполняемому файлу программы. Это нужно для того, чтобы не запутаться, так как можно запускать сколько угодно экземпляров, торгующих на разных брокерских счетах с индивидуальными настройками и набором торговых систем.
  • Далее, вкладка Positions. На самом деле, это и позиции тоже, но и торговые системы. Каждая строка = торговая система и она же = позиция. Видно внутренний ID позиции, тикер, направление открытой сделки или Empty, если сделка сейчас не открыта. Время входа, цена входа, количество лотов нечего комментировать. Но вот поле NewQty нужно для того, чтобы оперативно, не перезапуская программу, менять число торгуемых лотов. Работает оно так: при изменении значения в этом столбце текущая открытая сделка закрывается с тем же количеством, с которым открылась.


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

Блог им. AleksandrBaryshnikov |Алготрейдинг. Сдаюсь.

    • 31 августа 2023, 21:39
    • |
    • bascomo
  • Еще
Вкратце — я ставил цель, чтобы алгоритм сам подсовывал в активный портфель прибыльные и отключал убыточные системы.
Писал об этом тут: Диверсификация портфеля (smart-lab.ru).

А время идёт, рынки движутся и упущенная прибыль налицо. Не хочу ждать. И так работает выше всяких похвал.

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

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

А вот и интерфейс:

Алготрейдинг. Сдаюсь.

Доброй ночи вам.


Блог им. AleksandrBaryshnikov |Составляем библиотеку торговых систем

    • 27 августа 2023, 12:31
    • |
    • bascomo
  • Еще
Одна из стержневых вещей моего подхода состоит в том, что я собираю библиотеку торговых систем и ранжирую их по успешности.

Подход до безобразия примитивен и потому эффективен.

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

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

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

В первом случае — это WFT (кстати, понятие WFO очень странно для меня звучит).
По сути, я беру ТС и торгую ей на истории с дискретизацией в 1 месяц. И получаю % её эффективности по времени:
  • число месяцев, когда ТС отработала в "+" / общее число месяцев, за которые доступна история цен
Вот что имеем на выходе:
Составляем библиотеку торговых систем

Это означает, что алгоритмы, найденные на каком-то одном месяце, показали на остальных месяцах "+", и доля таких месяцев из всей истории = %.

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

Блог им. AleksandrBaryshnikov |Как я отбираю системы для торговли

    • 23 августа 2023, 14:47
    • |
    • bascomo
  • Еще
Когда имеется большое число торговых систем, которые потенциально можно использовать для торговли, возникает проблема отбора лучших из них — релевантных целевым показателям трейдера и ситуации на рынке.

Расскажу о том, как это делаю я. Подход очень простой. Это текст в продолжение этого поста.

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

Чтобы отобрать из всего множества систем те, которые мне лучше всего подходят, я делаю следующее:
  1. Определяю существенные, на мой взгляд, метрики. Несущественные отбрасываю. Как я это делаю — описано тут, а по сути — строю точечные диаграммы рассеивания метрики А от метрики Б для каждой пары метрик. Такой подход позволяет интуитивно и легко отсеять бестолковые метрики, которые в отборе систем ничем не помогут. Это самый простой и наглядный способ выявить корреляции между различными метриками, чем я тут и занимаюсь.
  2. Для каждой из отобранных метрик я определяю порядок сортировки от лучшего к худшему значению и, опционально, границы интервалов, в которых эта метрика должна находиться для систем, которые считаю приемлемыми.


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

Блог им. AleksandrBaryshnikov |Метрики оценки Equity для тестов

    • 22 августа 2023, 14:51
    • |
    • bascomo
  • Еще
Поскольку торговых систем у меня много, то мне нужно каким-то образом отбирать из них лучшие. Я, кстати, решил перестать использовать слово «стратегия» и заменить его словом «система». Это более точно, поскольку стратегия — это нечто неформальное, и если это формализовать в жёсткие правила, то получим уже систему. Вопросы терминологии и однозначного понимания понятий важны потому, что большинство конфликтов и искажений в коммуникации происходит из-за недопонимания или иного трактования сложных понятий.

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

Итак, на что я смотрю:

Метрики использования капитала (эффективность использования торгового времени).
Позволяют мне отбросить системы, которые постоянно сидят в рынке или наоборот, слишком редко осуществляют сделки.
  • % дней, в которые совершались сделки, по отношению к общему числу торговых дней


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

Блог им. AleksandrBaryshnikov |Критерии отбора IS vs OOS

    • 15 августа 2023, 17:43
    • |
    • bascomo
  • Еще
Прочитал вот тут о том, что некоторые товарищи, при тестировании стратегий, ослабляют гайки критериев для IS и затягивают их для OOS.

Например, соотношение Прибыль/MaxDD для IS 3, для OOS 1.5.

В связи с чем вопрос: у вас критерии одинаковые или они различаются для IS и OOS и почему? И что вы думаете по поводу такого подхода?
Ещё вопрос про соотношения периодов IS и OOS. По ссылке говорят, что используют соотношение 3:2. Я использую 4:17. А вы?

Блог им. AleksandrBaryshnikov |Как умирают стратегии

    • 14 августа 2023, 14:02
    • |
    • bascomo
  • Еще
Когда я написал первого своего успешного робота, который торговал акциями на MOEX, я вообще не задумывался о том, что он может перестать работать. Это было тем, что психологи называют «жить здесь и сейчас» (привет гештальт-терапии и Перлзу лично), а некоторые другие категории персонажей «быть в моменте». Однако, ничто не вечно под этим небом.

А потому, когда пришло осознание, что любая стратегия рано или поздно умрёт — любая из тех, что мне интересны в силу своей высокой доходности — то хорошо бы решить несколько задач:
  • создавать стратегии автоматизированно и без моего участия (что было сделано на отлично)
  • детектировать момент увядания стратегии, чтобы своевременно её отключить, не дожидаясь трупа и всех прелестей разложения слива  выделенной на неё доли депозита
Я много раз подступался к последней задаче, с разных сторон, и неизменно приходил к одним и тем же результатам.

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

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

Блог им. AleksandrBaryshnikov |Как я рассчитываю и использую сигналы ТА в торговле

    • 12 августа 2023, 00:01
    • |
    • bascomo
  • Еще

В этом посте:

  • вводная часть
  • понятие «сигнал»
  • примеры классических сигналов
  • мой подход к определению сигналов
  • как использовать подход
  • оценка качества сигналов
  • пример стратегии, основанной на сигналах
  • заключение

Введение

У нас обещанного три года ждут, но я справился быстрее.

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

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

Блог им. AleksandrBaryshnikov |Overfitting в алготрейдинге

    • 07 августа 2023, 16:28
    • |
    • bascomo
  • Еще
Когда я только начинал писать код, самостоятельно совершающий сделки на рынке, я столкнулся с тем, что стратегии со временем переставали работать. Впрочем, куда чаще было то, что разработанные и оптимизированные стратегии показывали доход только на данных для обучения. И это нормально.

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

И «вечные» алгоритмы были-таки найдены. Только вот доходность по ним оказалась меньше, чем по депозитам, да и просадки не радовали глаз. Зато они стабильно, год от года зарабатывали свои жалкие 5-7% годовых.

Я вижу в этом две крайности: подгонка на максималках сделает так, что на новых, незнакомых данных алгоритм будет сливать. А тем, кто чрезмерно увлекается WFO, много не заработать. Зато тут не нужно плавить мозг. Прогнал алгоритм через годы рынка — получил то, что, скорее всего, будет работать, по крайней мере, до очередного 24 февраля или его аналогов.

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

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