Pull to refresh
  • by relevance
  • by date
  • by rating

Событийно-ориентированный бэктестинг на Python шаг за шагом. Часть 1

ITI Capital corporate blog Website development *Python *
Translation


Ранее в нашем блоге на Хабре мы рассматривали различные этапы разработки торговых систем (есть и онлайн-курсы по теме), среди которых одним из наиболее важных является тестирование на исторических данных (бэктестинг). Сегодня речь пойдет о практической релизации событийно-ориентированного бэктест-модуля с помощью Python.
Читать дальше →
Total votes 15: ↑13 and ↓2 +11
Views 24K
Comments 3

Событийно-ориентированный бэктестинг на Python шаг за шагом. Часть 2

ITI Capital corporate blog Website development *Python *
Translation


В предыдущей статье мы поговорили о том, что такое событийно-ориентированная система бэктестинга и разобрали иерархию классов, которую необходимо для нее разработать. Сегодня речь пойдет о том, как подобные системы используют рыночные данные как в контексте исторического тестирования, так и для «живой» работы на бирже.
Читать дальше →
Total votes 12: ↑12 and ↓0 +12
Views 11K
Comments 3

Событийно-ориентированный бэктестинг на Python шаг за шагом. Часть 3

ITI Capital corporate blog Website development *Python *
Translation


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

Сегодня мы опишем объект NaivePortfolio, который отвечает за отслеживание позиций в портфолио и на основе поступающих сигналов генерирует приказы с ограниченным количеством акций.
Читать дальше →
Total votes 13: ↑12 and ↓1 +11
Views 13K
Comments 0

Событийно-ориентированный бэктестинг на Python шаг за шагом. Часть 4

ITI Capital corporate blog Website development *Python *
Translation


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

Сегодня речь пойдет об исполнении ордеров с помощью создания иерархии классов, которая будет представлять симулированный механизм обработки приказов, связанный с брокерской системой или другим интерфейсом доступа на рынок. Также мы рассмотрим метрики для оценки производительности тестируемой стратегии.
Читать дальше →
Total votes 13: ↑10 and ↓3 +7
Views 8.4K
Comments 0

Событийно-ориентированный бэктестинг на Python шаг за шагом. Часть 5 (и последняя)

ITI Capital corporate blog Website development *Python *
Translation


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

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

Примечание: В качестве примера автор использует API зарубежной компании Interactive Brokers, отсюда названия обсуждаемых модулей (IBExecutionHandler и т.п.). У ITinvest есть собственный API-интерфейс SmartCOM, который может быть использован при создания систем, подобных описываемой.
Читать дальше →
Total votes 16: ↑14 and ↓2 +12
Views 10K
Comments 4

How-to: Объектно-ориентированная система бэктестинга на Python

ITI Capital corporate blog Website development *Python *Programming *


Известный британский трейдер и разработчик Майк Халлс-Мур написал в своем блоге статью о том, как создать объектно-ориентированную систему бэктестинга финансовых стратегий торговли на бирже. Мы представляем вашему вниманию главные мысли этого материала.
Читать дальше →
Total votes 14: ↑13 and ↓1 +12
Views 12K
Comments 4

Торговая стратегия для торговли коинтегрированными парами акций

Mathematics *
Цель данной статьи — поделиться простейшей стратегией статистического арбитража, основанной на торговле коинтегрированными парами акций, которые были выявлены на Московской и Нью-Йоркской биржах.

Если мы возьмём пару коинтегрированных акций, то у нас есть возможность захеджироваться и построить рыночно-нейтральную стратегию, когда убытки по одной бумаге будут компенсироваться прибылями по другой. Как это выглядит на практике?
Читать дальше →
Total votes 16: ↑15 and ↓1 +14
Views 6.1K
Comments 11

Подборка: 6 открытых фреймворков для создания бэктестеров торговых стратегий на Python

ITI Capital corporate blog Finance in IT
Translation


В своей статье на ресурсе QuantStart, эксперт по разработке финансовых приложений Фрэнк Смитана (Frank Smietana) рассказал о существующих фреймворках для создания софта для бэктестинга торговых стратегий и дал несколько советов по выбору подобных инструментов. Мы адаптировали этот полезный материал.
Читать дальше →
Total votes 22: ↑21 and ↓1 +20
Views 14K
Comments 1

Завещание Баффета или о чём молчат финконсультанты

Python *Statistics in IT Finance in IT
У. Баффет завещал жене после своей смерти вложить все средства  в биржевой фонд ETF на S&P 500 (VOO) и жить в своё удовольствие. Однако книги, интернет и финконсультанты призывают нас составлять диверсифицированные портфели с обязательным включением в них облигаций. К слову, о диверсификации Баффет тоже отзывается не лестно и призывает все яйца хранить в одной корзине, просто внимательно за ней присматривать.

В данной статье мы попробуем разобраться, стоит ли верить оракулу из Омахи или прислушаться к финансовым консультантам. А поможет нам в этом Python и Quantopian.
Читать дальше →
Total votes 44: ↑41 and ↓3 +38
Views 60K
Comments 136

Как Python помогает заменить финконсультантов

Python *Statistics in IT Finance in IT
Tutorial
В продолжение статьи о вреде избыточной диверсификации создадим полезный инструментарий по подбору акций. После этого сделаем простую ребалансировку и добавим уникальные условия технических индикаторов, которых так часто не хватает в популярных сервисах. А затем сравним доходность отдельных активов и различных портфелей.

Во всём этом задействуем Pandas и минимизируем количество циклов. Погруппируем времянные ряды и порисуем графиков. Познакомимся с мультииндексами и их поведением. И всё это в Jupyter на Python 3.6.
Читать дальше →
Total votes 12: ↑11 and ↓1 +10
Views 12K
Comments 5