Простой бот для IB

В этот раз напишем на Python простого бота для торговли через платформу Interactive Brokers TWS. Торговать будем внутри дня на американском фондовом рынке акциями и ETF. Наш код сможет работать в среде Jupyter Notebook вместе с пакетом IB.API. Для примера, реализуем стратегию на основе пересечений SMA (простых скользящих средних).

Стратегия очень проста. Используем комбинацию скользящих средних (SMA) разных периодов. Например, 26-периодной (длинная) и 9-периодной (короткая). Когда короткая средняя выше длинной, это показатель восходящего тренда. Если короткая средняя пересекает длинную сверху вниз, считаем это сигналом на продажу и наоборот, если короткая пересекает длинную снизу вверх, сигнал на покупку. На основании пересечений алгоритм будет давать сигнал терминалу TWS от Interactive Brokers на покупку или продажу актива.

Читать далее «Простой бот для IB»

Python в помощь тестированию структурных продуктов

Тестирование структурных продуктов

Воодушевлённый статьёй с рекламой структурных продуктов на Хабре 🤔, адаптировал 🐍python-скрипт для их самостоятельного тестирования. Основная идея в том, что подобные продукты предлагают 100% защиту капитала💰.  А учитывая 10 лет бычьего рынка, исторические показатели подобных продуктов одурманивают безрисковым раем.

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

Код выложен в GitHub в виде 🐍Jupyter-блокнота. Поехали!

Читать далее «Python в помощь тестированию структурных продуктов»

Календарный спред фьючерсов в IB.API на Python

Календарный спред на кукурузу ZC

В этой статье рассмотрен пример кода для получения истории цен и выставления приказа на календарный спред фьючерсов на 🌽кукурузу (ZC) через IB.API. К статье приложен Jupyter блокнот. Ну, а код написан на Python🐍.

Читать далее «Календарный спред фьючерсов в IB.API на Python»

Простая моментум-стратегия с хэджированием

Данную стратегию порекомендовали читатели телеграм-канала📣 @Mindspace_ru, откликнувшиеся на вопрос Оксаны Гафаити. Алгоритм щедро сдобрен🍩 комментариями и позволяет лучше познакомиться с Quantopian. От себя добавил примитивную логику хэджирования на росте волатильности, подсказанную удивительным человеком, за что Никите отдельная благодарность.

Всё как всегда на Python🐍. Поехали!

Читать далее «Простая моментум-стратегия с хэджированием»

Знакомимся с техническими индикаторами на Python. Часть 2

В первой части статьи мы познакомились с источниками информации, где можно изучить основы анализа данных и построение графиков на Python🐍.

В этой части познакомимся с двумя простыми техническими индикаторами. И построим их графики с помощью pandas, matplotlib и TA-Lib.

Читать далее «Знакомимся с техническими индикаторами на Python. Часть 2»

Знакомимся с анализом данных на Python. Часть 1

В этой статье мне хотелось бы рассказать о втором этапе обучения алготрейдингу, нацеленном на такую важную вещь как анализ данных. Мы рассмотрим изучение и использование библиотек pandas, matplotlib, продолжим осваивать Python и биржевое дело.

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

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

Читать далее «Знакомимся с анализом данных на Python. Часть 1»

Установим и запустим бэктестеры для криптовалюты

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

Итак, место встречи: VirtualBox.
Действующие лица: отважный трейдер, свежеустановленный и обновленный дистрибутив Lubuntu (минимальная установка), “афтор”.
Боевая задача: установить и проверить работу двух бэктестеров: cryptocurrency.backtester и catalyst.
В этот раз меньше слов и больше дела. Поехали!

Читать далее «Установим и запустим бэктестеры для криптовалюты»

Начинающему алготрейдеру: что можно найти, чтобы не делать самому

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

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

Читать далее «Начинающему алготрейдеру: что можно найти, чтобы не делать самому»

Как подступиться к алготрейдингу

Моя первая мысль о трейдинге появилась на 4 курсе экономического факультета, когда понял, что необходимо иметь пассивный доход. Начинал со вкладов в банке и паевых инвестиционных фондов (ПИФов), затем судьба забросила меня в IT. Я очень увлекся этим, поступил в технический ВУЗ и поставил цель совместить информационные технологии и биржевую торговлю, так как это интересно, перспективно и высокооплачиваемо.

Я расскажу о том, с чего начать освоение алгоритмического трейдинга не имея опыта в торговле и программировании. Точнее это будет серия статей разбитых по этапам с подробным описанием процесса обучения и рекомендациями. Программа обучения подойдет не только новичкам, но и опытным программистам, т.к. она предполагает еще и освоение биржевой торговли. Также, она может быть интересна трейдерам, которые получат необходимые знания в программировании. Каждый этап составлен так, что он не отнимет много времени, возможно совмещение с работой или учебой.

Читать далее «Как подступиться к алготрейдингу»

Простой event-driven бэктестер, или как быстро потерять деньги на бинарных опционах

В этот раз сделаем простой бэктестер. Начнём с бинарных опционов, так как у них примитивный принцип работы. Мы делаем ставку, а она на следующей свече выиграет или проиграет.

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

Для проверки, проведём тесты на минутном таймфрейме за июль 2018 года на паре EUR/USD. Поможет нам в этом Jupyter и Python 3.6.

Читать далее «Простой event-driven бэктестер, или как быстро потерять деньги на бинарных опционах»