Постов с тегом "разработка торговых систем": 9

разработка торговых систем


Аналитические обзоры. Человек или Алгоритм.

18 интеллектуальных алгоритмов генерируют 50 возможных сценариев поведения цены и формируют Аналитические обзоры.
Эти обзоры нейросеть использует для консультаций). Видно, что ответы формирует ИИ.
Но можно ли им доверять и строить на них прогнозы?)
Это покажет только время.


Тестируем стратегию с помощью backtrader

Прошел полный месяц торгов, и мой робот показал +60%

Тестируем стратегию с помощью backtrader

В прошлом посте я просил у вас лайки, на данный пост я потратил 6 часов, которые мог бы потратить на что-то другое. Если вы хотите увидеть следующий пост, где мы уже будем подбирать параметры для нашей торговой системы. С вас 50 лайков :) 

Сам я НЕ программист, мне нравится, когда мне рассказывают все по шагам. Бродя по интернету я нашел блог Игоря Чечета, который выложил небольшой курс по старту в backtrader: https://finlab.vip/wpm-category/btquikstart/

Я просто просмотрел все видео и повторял каждый шаг. Нет никакой магии. Просто смотрите и повторяете у себя. 

Еще раз, для тех, кто читает слишком быстро: Просто смотрим видео, повторяем действия и у вас все получится. 

Тестируем стратегию с помощью backtrader



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

Разработка и тестирование робота по вашей стратегии!

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

Лайки собраны, поэтому наступает момент расплаты для меня. 

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

Я постараюсь ее реализовать, протестировать в бектрейдере, оптимизировать параметры и запустить в лайв.

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

Весь исходный код будет выложен в следующий постах, можно подписаться.






3 варианта создания роботов. (личный опыт)

В этой статьи я опишу 3 варианта создания роботов.

На самом деле вариантов очень много, тут опишу только свой опыт. 


OsEngine

плюсы:

все в одном. Можно скачать дату, сделать бэк тесты и запустить в лайв из одного софта. Это очень удобно. 

минусы:

Тяжело для новичков. 

Нужно знать C# чтобы сделать своего робота, C# я знаю плохо и он мне не нравится.


Открыл, понажимал кнопочки, повспоминал C# и понял, что я не готов опять программировать на C#. Скорее всего это какие-то флешбеки из института. Но мне просто не нравится этот язык программирований. 

Заниматься тем, что вам не нравится это плохо…


TradingView + Wonderbit

Как это работает смотрим пост №2

плюсы:

очень просто написать и протестировать стратегию.

минусы: 

очень сложно запустить 10+ роботов. (из опыта)



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

Просто цена или что-то, стоящее за ней?

    • 13 июля 2020, 13:23
    • |
    • _sk_
  • Еще
При разработке торговой системы на основании свечного графика можно идти двумя путями.

Путь 1. Сфокусироваться только на ценовом графике, искать некоторые закономерности, сформулировать правила входа в позицию и выхода из неё на основании пороговых значений неких индикаторов (не обязательно классических). Торговля паттернов, по-видимому, тоже сюда попадает: сформировали волны с такими-то соотношениями — входим в позицию с некоторыми тейками и стопами. При этом объяснение, почему торговая система работает, будет статистическим: за некоторый период эти правила входа выхода обеспечивают приемлемый график эквити. Почему индикаторы и паттерны именно такие? Да так просто повелось, такая рыночная экология сложилась. Пока она существенно не поменялась торговая система будет зарабатывать.

Путь 2. Предложить более глубокую модель, где каким-то образом вычисляется что-то, стоящее за ценой и определяющее её. Например, пусть в модели как-то связываются спрос и предложение в предыдущие и текущий момент времени некоторой ощутимой группы участников рынка, после чего вычисляется текущий совокупный спрос (total demand) и предполагается, что именно этот совокупный спрос и будет двигать цену в ближайшем будущем (есть корреляция между будущим приращением цены и текущим total demand модели). Если есть заметный перекос, надо быстро зайти в рынок и успеть прокатиться на этом дисбалансе (есть положительное математическое ожидание). В этом случае модель делает статистический прогноз на ближайшее будущее более обосновано, что-ли, по сравнению  тем, как это было для первого пути.

Какой из вариантов более плодотворен для получения хороших результатов в алготрейдинге?

Есть ли какие-то существенные аргументы за или против второго пути?

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

Супер ускорение расчета индикаторов

Когда-то давно я занимался распознавание образов и использовал такую вещь как интегральное представление изображения. И на самом деле этот же метод применим и в алготрейдинге, например для быстрого расчета SMA, или сбора статистики винрейта за указанный период. 

Например, был ценовой ряд из 6-ти элементов:

1.104, 1.102, 1.105, 1.106, 1.103, 1.101 

Найдем его интегральное представление (начнем с нуля):

0.0, 1.104, 2.206, 3.311, 4.417, 5.52, 6.621

Чему будет равно SMA за последние 3 элемента? Достаточно посчитать разницу: 6.621 - 3.311 и разделить ее на 3.

SMA(3) = (6.621 - 3.311)/3 = 1.103

Убедимся, что SMA(3) найдено верно. 

(1.106 + 1.103 + 1.101)/3 = 1.103

Таким образом можно найти SMA с любым периодом, совершив всего навсего одну операцию вычитания и одну операцию деления. Это позволит гораздо быстрее получить набор значений индикаторов типа SMA, RSI, STD_DEV.
Вроде все хорошо, НО НАДО ПОМНИТЬ, что если использовать тип данных с плавающей точкой, то у нас будет накапливаться ошибка. Поэтому ценовой ряд лучше сначала преобразовать в целочисленный тип. Для этого достаточно для 5-ти значных котировок умножить цену на число 100 000.

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




Новая Алгоритмическая Платформа?

Ковыряя последние несколько месяцев WL, TSLab & S#.Studio испытывал все время неприятное ощущение каши, не смотря на то, что вроде визуально все понятно. Нифига не понятно. Каша из пересечений. В схеме, построенной три месяца назад разобрался с третьей попытки. Проблема — нужно эту схему все время помнить. А если еще вдруг вносятся редакции, то теряешься где-то на третьей итерации. Даже если откатываешься на предыдущую версию, то нужно вспоминать как она работала.

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

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

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

Алгоритмический подход к созданию стратегий.Часть 2

    • 17 апреля 2016, 10:00
    • |
    • uralpro
  • Еще

Interview-with-a-Quant-Part-2-980x423

Первую часть интервью смотрите здесь.

Что нужно учесть при запуске стратегии в производство?

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

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

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



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

Algotrading workflow

хороший пост не грех и перепостить из уютнейшей 
http://kazai-trader.livejournal.com/148815.html


Я всегда недооценивал порядок, в любых его проявлениях.

Мне почему-то всегда было комфортно, когда все вокруг находится в состоянии срача. Видимо, что б всегда можно было быстро вернуться к делу, включиться и сделать hot-fiх.

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

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

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

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