Индикатор KST и другие приключения с ROC

В этот раз повторим на Python🐍 индикатор KST (Know Sure Thing), созданный Мартином Прингом. Если вы подписаны на StockCharts.com, то вы получаете платную рассылку обзоров рынка от Джона Мэрфи и Мартина Принга. Принг в своих анализах постоянно ссылается на свой индикатор KST. И у него всегда всё складно и точно совпадает.

Я же в бессонных😴 поисках граалей🏆 решил повторить индикатор KST и провести коротенький анализ за предыдущие 14 лет.

Читать далее «Индикатор KST и другие приключения с ROC»

Простой бэктестинг Rate-of-Change (ROC) на Python

Данная статья продолжает цикл анализа простых стратегий со стандартными индикаторами. Тестируем стратегии в Quantopian, а пишем на Python🐍. В этот раз мы сравним индикатор Rate-of-Change (ROC) и популярное пересечение скользящих средних SMA(50) и SMA(200).

Дополнительно рассмотрим подход быстрого получения доходности📈 и просадки📉 простых стратегий в блокноте Jupyter.

Читать далее «Простой бэктестинг Rate-of-Change (ROC) на Python»

Как из PostgreSQL и ClickHouse в Python много, быстро и сразу в numpy

Разбил много ☕кружек в поисках решения для 🏎️быстрого получения длинных историй цен для большого количества активов в Python🐍. Ещё имел смелость желать работать с ценами в numpy-массивах, а лучше сразу в pandas.

Стандартные подходы в лоб работали разочаровывающе, что приводило к выполнению запроса к БД в течение 30 секунд и более. Не желая мириться, я нашёл несколько решений, которые полностью меня удовлетворили.

Читать далее «Как из PostgreSQL и ClickHouse в Python много, быстро и сразу в numpy»

Торговый алгоритм на Python для IB.API: Contracts

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

Читать далее «Торговый алгоритм на Python для IB.API: Contracts»

Оптимизация размера блока графика Renko

Использование диаграмм Ренко позволяет фильтровать шум на графике цены, при этом он не учитывает время и объем. График сильно зависит от величины блока, который будет использован при построении.

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

Читать далее «Оптимизация размера блока графика Renko»

Торговый алгоритм на Python для IB.API: EClient и EWrapper

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

Я настоятельно рекомендую дочитать эту статью до конца, ибо то, что описано здесь, вы не найдете ни в мануале IB, ни в других статьях, ни в репозиториях. Читать далее «Торговый алгоритм на Python для IB.API: EClient и EWrapper»

Торговый алгоритм на Python для IB.API: подключение к TWS

Это третья статья в данной серии. В ней мы создадим алгоритм, который будет подключаться к TWS и получать «первичные сообщения».

Создавая данный алгоритм, мы рассмотрим реализацию двух обязательных классов EClient и EWrapper. И в конце заглянем «за кулисы» и посмотрим, что происходит, когда мы подключаемся к TWS.

Читать далее «Торговый алгоритм на Python для IB.API: подключение к TWS»

Торговый алгоритм на Python для IB.API: установка и настройка

Это вторая статья в серии про работу с терминалом Trader Workstation от брокера Interactive Brokers.

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

В конце статьи вы будете обладать программным окружением, которое позволит создавать программы на 🐍Python3, работающие с терминалом TWS.

Читать далее «Торговый алгоритм на Python для IB.API: установка и настройка»

Торговый алгоритм на Python для API TWS от Interactive Brokers: начало

Данной статьей мы открываем серию материалов по использованию API от брокера Interactive Brokers и написанию простых торговых алгоритмов, в которых будет задействован Trader Workstation.

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

Данная статья является вступлением ко всей серии. В ней мы познакомимся с TWS, с его API, определим как их использовать в наших приложениях на Python3 и посмотрим на статьи в предстоящей серии.

Читать далее «Торговый алгоритм на Python для API TWS от Interactive Brokers: начало»

ClickHouse и Python для хранения истории цен

Продолжая поиски быстрой базы данных для хранения цен я попробовал применить для своих нужд ClickHouse от Яндекса. Это open-source колоночная база данных для хранения и обработки временных рядов в реальном времени.

У ClickHouse огромный список ограничений, к которым мы не привыкли работая с реляционными базами данных. Но кто нас остановит?

Так же попробуем подружить ClickHouse с Python🐍.

Читать далее «ClickHouse и Python для хранения истории цен»