Постов с тегом "Бэктестинг": 136

Бэктестинг


Недостаток итерационного бэктестера - возможность заглядывать в будущее (на самом деле нет).

«Один из недостатков итерационного бэктестера — возможность заглядывать в будущее». 

Серьёзно? А не судьба написать защиту от заглядывания, чтобы код стратегии физически не мог этого сделать.
Мой вот не заглядывает) — запретил)).

Всё-таки свой полностью контролируемый, не переусложненный, с нужным именно тебе набором функциональных возможностей софт — это круто!

Сторонникам и противникам Технического Анализа… Посвящается

Любителям Технического Анализа, посвящается

Наверное, один из самых вечных споров на фондовом рынке, является спор о «Работает Технический анализ (ТА) или нет!»

Уж сколько было сломано копий, сколько исписано бумаги, сколько различных доказательств приводилось в поддержку той и другой точки зрения. Моё личное отношение к ТА менялось несколько раз. От восторженного в самом начале своего обучения, далее — крайне негативного в середине своей инвестиционной деятельности, и к умеренному восприятию в текущих реалиях. Моя ошибка, как и ошибка многих, заключалась в том, что мне очень хотелось найти «грааль», который позволит мне прыгнуть из «грязи в князи», быстро и с минимум трудовых и денежных затрат. Молодо – зелено, как говорится. На самом же деле, как и практически во всём остальном в нашей жизни, всё дело в статистике и в упорном труде. Я не буду здесь писать очередную книгу по техническому анализу, но расскажу о том, что требуется сделать трейдеру или техническому аналитику, чтобы получить своё «статистическое преимущество» (я эту фразу применительно к фондовому рынку прочёл в книге Тимофея Мартынова «Механизм трейдинга» и почему-то подумал, что эти слова принадлежат Александру Горчакову).

Я продемонстрирую важность нахождения «статистического преимущества» на самом простом индикаторе – скользящей средней МА, называемой на биржевом слэнге — Машкой. Принцип проверки полезности индикатора очень прост – когда цена пересекает МА снизу вверх открывается длинная позиция (на покупку), когда цена пересекает МА сверху вниз, то считается открытой короткая позиция. Это неполноценная торговая система, поэтому здесь нет никаких стоп-лосс и т.п. Задача состоит в том, чтобы продемонстрировать как технический аналитик должен подготовить к работе инструментарий, прежде чем делать какие-то прогнозы или выводы.

Параметры индикаторов, которые известны всем на фондовом рынке и написаны почти во всех книгах – далеко не всегда работают. Я протестировал много различных индикаторов, и могу с уверенностью сказать – что это действительно так. Например, можно часто услышать такое мнение «цена пресекла 200 дневную скользящую среднюю, и поэтому рынок перешёл….» а дальше зависит от того, куда цена пересекла.

График 1

Индекс Московской биржи и 200 дневная скользящая средняя

Если мы возьмём, например, индекс Московской биржи (история которого доступна с 2003 года), и посмотрим какое математическое ожидание нам дало использование простой 200 дневной МА, то увидим, что историческая доходность индикатора составила 4.6% годовых, ожидаемая доходность равна 7.5 % годовых, а волатильность результатов индикатора составляет 24.6 % годовых!

И всё бы ничего, если бы не два «ужаснейших» обстоятельства:

  • Первое. Не применяя индикатор (так называемый вариант Buy&Hold) мы имели историческую доходность 13,57 % годовых, ожидаемую – 16% при практически той же волатильности в 24%.
  • Второе. Форма графика доходности индикатора повергает в шок любого здравомыслящего человека (График 2 – синяя линяя).
График 2
Доходность 200 дневной скользящей средней на IMOEX

В книге «Малая энциклопедия трейдера» Эрик Нейман предлагает нам использовать Экспоненциальную скользящую среднею для дневных графиков со следующими периодами усреднения 21, 55, 89, 144, 200

Давайте ради интереса сравним результаты для всех этих вариантов.

Таблица 1
Сторонникам и противникам Технического Анализа… Посвящается

Из таблицы видно, что практической пользой может обладать только параметр в 21, потому что даёт преимущество примерно в 1% над B&H, однако если наложить налоги и транзакционные издержки, с очень большой вероятностью всё преимущество исчезнет, а скорее всего приведёт к худшему результату. К тому же профиль графика доходности индикатора тоже оставляет желать лучшего (смотрите график 3 и таблицу со значениями по годам)

График 3

результаты 21 дневной EMA на IMOEX
Таблица 2
Значение доходности 21 дневной по годам
Что же тогда делать техническому аналитику? Как минимум, постараться найти те параметры Машки, которые бы давали наибольшую доходность.

Оказывается, для случая EMAи по отношению к Индексу Московской биржи таким будет «18», оно даст 18,8% годовых против 13.6 на B&H, однако несмотря на конечный неплохой результат индикатор давал кучу ложных сигналов в период с 2014 по 2019 год.

График 4

Доходность 18-дневной EMA на IMOEX

Этот аспект подталкивает к рассуждениям на тему, что искать лучшие показатели, только на основании расхождения конечных результатов – не есть получение рабочего устойчивого значения. Хотелось бы найти такой показатель МА, который бы приводил линии доходности индикатора к более прямой линии, уменьшал его колебания и был, конечно лучше или равен конечному результату B&H. То есть нужна уже целевая функция, по который мы бы искали наш параметр.  

Написав такую функцию и присвоив каждому из её элементов одинаковый вес, мы получим следующие показатели.

Таблица 3
Различные МА

График 5
Результат простой 14 дневной скользящей средней
Получили ли мы сейчас значения, которые помогли бы нам строить надежные прогнозы? Нет, мы только начали. Хотя уже существенно продвинулись вперед. По крайней мере мы уже понимаем, что далеко недостаточно взять какой-то индикатор с его стандартными показателями и строить на нём прогнозы или искать подтверждения на нём своим выводам. 

 

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

 

И это только один индикатор! А представьте себе если мы решили построить торговую систему, которая будет включать в себя несколько индикаторов, элементы управления позицией, риск-менеджмент. Там вероятности могут перемножаться, вычитаться, ошибки могут плодиться с огромной скоростью, потому что они напрямую зависят от количества параметров, которые использует аналитик/трейдер.

 

На этом я пока, пожалуй, остановлюсь. Если меня посетить вдохновение, может я двинусь дальше в своём рассказе.

 

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


Есть ли здесь противоречие?

Возьмём 2 распространённых утверждения:

1. Рынок меняется.

2. Историческое тестирование алгоритмов возможно.

Не противоречат ли эти утверждения друг другу? Если нет, то почему?

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


Маркет-нейтральная стратегия на производных VIX

Маркет-нейтральная стратегия на производных VIX


В этой статье рассмотрим простейшую маркет-нейтральную стратегию из производных инструментов на индекса страха для S&P 500 (VIX). В основу положим контанго фьючерсов на VIX. Будем опережать SPY.

Использовать будем ETF на фьючерсы разных сроков. Всё это мы приготовим в Quantopian. Поехали!



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

Простая стратегия с фундаменталом для Quantopian

Простая стратегия с фундаменталом для Quantopian
Данный алгоритм появился из стороннего примера, найденного на Quantopian. Я его оптимизировал и сопроводил обильными комментариями на русском. Это не лучшее использование воронок (Pipeline). Но зато использует произвольные факторы (CustomFactor).

Всё это появилось по просьбе автора MindSpace.ru, Оксаны Гафаити. Поехали!



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

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

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

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

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



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

В поисках потерянного ГРААЛЯ или О беге Ж...ОЙ вперед... (всем алготрейдерам посвящается).

Баллада о Граале.


Чуть не выбил от радости стену
Даже руку сломать не жаль
Я придумал сегодня Систему
Не систему -а просто Грааль!

Раньше был я кретином полнейшим
И оценивал фундаментал
А теперь приобщился к мудрейшим
Я теперь Алготрейдером стал!

На экран с наслажденьем взирая,
За бэктестом бэктест провожу
За пять лет миллион получаю,
Если седня пять тысячь вложу

Да конечно, бывают просадки
Ну процентов так двадцать пять
Да и раньше все было не гладко
И нас этим не надо пугать.

Своему дружбану Сереге
Заценить я бэктест предложил
Он решил что мильен слишком много
А вот тысячь семьсот бы вложил.

Я в квике  программу сварганил
На квипайле -все по уму..
Запустил и работать оставил
Но где прибыль опять не пойму?

Не растет моей эквити график
А Серега звонит, злодей
Ты похоже ошибся нафиг!!
Выключай все давай скорей!!

Я все выключил… сердце бьется.
Как же так? Я же все посчитал!
И с проскользами все удается
И комиссии верно задал

Через час  позвонил Серега
И я долго ему обьяснял,
Что терпеть нам осталось немного
Алгоритм мой в просадку попал


Успокоились… больше не ноем
Все нормально -смотри и терпи
Мы за месяц с таким настроем
До просадки в пол депо дошли


Не звонит мне больше Сережка
Не купил я пежо для жены
Алгоритм я подправил немножко
Жаль, для тестинга деньги нужны


От тревожных таких занятий
Постоянно мне снится сон
Будто я зверек непонятный
С перевернутым взад лицом

И бегу я вдаль с голой жопой
А башка всегда позади
Но никак не найти дороги
Сколько задом вперед не беги


Не осилить мне эти тропы
Или хищник коварный  сьест
Ведь на каждую хитрую жопу
Жизнь придумала левый бэктест)))


Как научиться работать в матлаб?

Приветствую.
Передо мной встал вопрос бэктестинга торговых стратегий. Проведя небольшое исследование, понял, что самым лучшим вариантом будет работа в Матлабе. Знания программирования по 10-бальной шкале оценю в 1, английский знаю хорошо, но не технические термины, экселем владею на уровне формул (много практиковался в поиске закономерностей движения цен). Это все входные данные. Как мне научиться работать в Матлабе? На данный момент попробовал установить 2017б, не получилось, гиковскую терминологию я не знаю, поэтому комментарии к раздаче мне ничего не дали. Сейчас скачиваю 2015а и боюсь. Нашел полный самоучитель Дьяконова, но он в книге рассматривает версии 2006-2007. Будет ли это проблемой и есть ли лучший способ обучения? Конечной целью вижу алгоритмическую торговлю, знаю, что матлаб плохо подходит для написания торговых роботов, но меня привлекает идея возможности работать в такой крутой программе, это может пригодиться в дальнейшем, лишь бы не получилось так, чтобы для написания торгового робота пришлось бы учить что-то совершенно другое с 0… Помогите, люди добрые!

Торговая стратегия для коинтегрированных пар: результаты бэктестов за 2017 год на Poloniex

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

Как проводились бэктесты

  1. Сбор данных: список тикеров был взят с сайта Poloniex через публичный API-метод returnTicker. Нашлось 99 тикеров, для которых есть данные о ценах криптовалютных пар за 2017 год. Цены за 2017 год были также выкачаны с Полоникса через публичный API-метод returnChartData.
  2. Проверка на стационарность с помощью теста Дики-Фуллера: в результате тестирования на стационарность получилось 89 нестационарных криптовалютных пар со стационарными приращениями.
  3. Проверка на коинтеграцию с помощью теста Энгла-Грэнджера: в результате тестирования для прямой регрессии было получено 539 коинтегрированных пар в случае регрессии со свободным членом и 716 коинтегрированных пар в случае регрессии без свободного члена. Для обратной регрессии было получено 527 коинтегрированных пар в случае регрессии со свободным членом и 737 коинтегрированных пар в случае регрессии без свободного члена.


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

Стоит ли играть такую систему?

Разрабатываю стратегию, получил такое эквити на истории в 3 года:
Стоит ли играть такую систему?

Около 20 сделок в год, удержание — 1 день. В 2015 она неплохо заработала, отлично заработала в 2016, однако в 2017 почти ничего не заработала.
Стоит ли торговать по этой стратегии в надежде что она будет зарабатывать в дальнейшем? Есть какие-то логичные соображения или метрики?



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