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

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

Цель — описать все процессы: от установки и настройки необходимого программного окружения до создания базовых алгоритмов, которые выполняют полезный функционал в связке с IB Trader Workstation.

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

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

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

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

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

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

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

Выгоден ли арбитраж криптовалютой?

В этот раз разберём анализ арбитражной торговли криптовалютой (ETH/USD) на криптобиржах, подготовленный риск-аналитиком банка New York Mellon. Принебрегая комиссиями, его анализ показал впечатляющую доходность на $10 тыс. в ☝️39% за 5 месяцев без просадок.

Мы, в нашёй команде Quantrum.Team, увидев данный материал решили добавить учёт комиссий для приближения результатов к реальности. Что из этого получилось читайте дальше.

Код на 🐍Python 3.6 в блокноте Jupyter.

Читать далее «Выгоден ли арбитраж криптовалютой?»

C/C++ и Python = Boost.Python на Windows

Для многих не секрет, что Python🐍 не блещет скоростью обработки большого количества данных. При этом обладает преимуществом легкого подключения расширений на C/C++. Я писал о расширениях C в этой статье, а здесь рассмотрен альтернативный способ с помощью популярной С++ библиотеки Boost.

Рассказывает Роман Щеголихин. А расширение будет подключаться к Python 2.7🐍.

Читать далее «C/C++ и Python = Boost.Python на Windows»

Как быстро скачать котировки с IEX

Многие расстроились😭, когда Yahoo.Finance закрыл🚫 все лазейки для получения бесплатных котировок. Но к всеобщему счастью🎉, уже есть альтернативы бесплатных данных. В этот раз мы скачаем бесплатную дневную историю с биржи IEX для ~8 тысяч американских активов примерно за ~2 минуты⏱️. Поможет нам в этом Python 2.7🐍. А рассказывать будет Роман Щеголихин.

Пытливые умы на сайте биржи могут найти бесплатную историю тиков за предыдущие 10 месяцев в формате pcap (tcpdump).

☝️На бирже IEX совершается примерно ~2.5% оборота акций, что необходимо учесть. Тики не дадут построить идеальную историю изменения цены из-за недостатка данных по остальным биржам.

Читать далее «Как быстро скачать котировки с IEX»

Настройка Cassandra для хранения цен акций

Продолжая поиски баз данных, наиболее подходящих для хранения истории цен, получил комментарий от Романа Щеголихина. Роман был любезен и подготовил инструкцию по установке и настройке БД Cassandra и несколько примеров использования на Python 2.7🐍.

Cassandra👁️ — это NoSQL база данных, предназначенная для распределенного хранения огромных массивов данных. Отлично подходит для хранения времянных рядов.

Читать далее «Настройка Cassandra для хранения цен акций»

MySQL: Как получить из дневных цен недельные?

Пусть здесь полежит SQL-запрос, который позволяет быстро получить цены более высокого таймфрейма из MySQL. На примере получения недельных цен из дневных.

Читать далее «MySQL: Как получить из дневных цен недельные?»

История цен с Quandl и IEX

Я сейчас выбираю базу данных для хранения ⏳временных рядов, к которым относится история цен📈. Для себя подготовил несколько классов для скачивания и хранения данных, чтобы упростить дальнейшие тестирования. Со мной Python🐍.

В этот раз мы рассмотрим:

  • Класс для скачивания бесплатной истории цен с Quandl единым архивом.
  • Класс-обертка для хранения данных в HDF5.
  • Класс скачивания цен с биржи IEX.

Читать далее «История цен с Quandl и IEX»

Бэктестинг: торгуем SPY по сигналам RSI(3)

В этот раз будем тестировать стратегию разворотов по сигналам 3-х-дневного индикатора RSI. Начнем с проведения анализа пересечения границ перепроданности/перекупленности методом, описанным в предыдущей статье.

Анализ и тесты будем проводить на Python🐍, используем библиотеку Zipline и Quantopian.

Читать далее «Бэктестинг: торгуем SPY по сигналам RSI(3)»

Алготрейдинг: о чём расскажет RSI?

При бэктестингах индикатора RSI заметил разное поведение на разных активах. На некоторых активах сигналы перекупленности и перепроданности по RSI за короткий период (2-5 дней) работают одинаково хорошо в обе🎏 стороны, а иногда преобладает только один🐟 сигнал. На крупных индексах за последние 10 лет лучше работает сигнал перепроданности⤴.

При поиске🔎 ответа на «Почему?» удалось найти решение для определения оптимального периода RSI и лучших порогов. Итак, проанализируем это вместе на Python🐍.

Читать далее «Алготрейдинг: о чём расскажет RSI?»