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

Бэктестинг


Градиентный бустинг с годовой перспективой ч.2

Неделю назад, я рассказал о своих попытках применить градиентный бустинг к выбору акций на годовую перспективу.
Тогда, в комментариях мне рассказали много всего полезного, но основные замечания над которыми я работал в течении недели были:
1. Бэктест был проведен всего на 3-х годах (что было обусловлено небольшим обучающим набором)
2. Граница принятия решения 1.01 обеспечивала «заглядывание в будущее» из-за того что использовала прошлогоднюю отчетность.
Я сместил границу принятия решения на апрель и расширил тренировочный датасет (и ещё провел кучу мелких улучшений, например вместо RMSE перешел на квантильную функцию потерь, что оказалось очень уместно). К сожалению, расширение тренировочного датасета ни на грамм не снизило ошибку при обучении на 20 годах, но теперь при уменьшении количества лет, качество страдает значительно меньше, что в свою очередь позволило мне провести бэктест на 7 годах (хотя в качестве 2014-го я сильно сомневаюсь).
С выборкой в 7 наблюдений, уже можно (зажмурившись) попытаться оценить статистическую доствоерность гипотезы о том что моя модель дает лучшие результаты чем S&P500 по итогам года. У меня получилось p-value ~ 0.03 (парный стьюдент-тест), что вроде-бы хорошо, но я что-то в этом сильно сомневаюсь и буду ещё перепроверять.

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

Вопрос программистам. На чём быстрее писать и проверять торговые системы?

Сейчас пишу на MQL, есть демо-аккаунт у брокера с кучей интересных мне тикеров (не только валюта). Т.е. по-сути уже есть инструмент для бэктестов и бонусом бесплатная маркет-дата (я не изучаю HFT, поэтому погрешность тиков от метака меня устраивает). Не устраивает сам язык, очень топорная работа с массивами, устаревшая IDE, отсутствует функциональная парадигма, не редактируемый фронтенд с выводом статистики системы, невозможность применения навыков MQL на международном рынке труда (я программист), поэтому хочу перейти на питон и какой-нибудь quantopian. Но есть вопросы:

1. Изучив эти 2 новые технологии, будет ли выйгрыш во времени написания бэктестов?
2. Хорошо ли дружат quantopian и подобные системы с csv форматом маркет-даты из метака? Меня интересуют 5-15 минутные свечи, поэтому какой-нибудь yahoo finance не подходит. Вообще этот вопрос не кретичен, думаю всегда можно переформатировать в удобный формат или найти другую бесплатную и удобоваримую маркет-дату в другом месте.
3. Есть ли решения на питоне лучше, чем quantopian?

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

Системно тестируем аномалии на Python. Релиз библиотеки Portfolio Quantitive Research (PQR)

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

  • Моделирование портфелей по кросс-секции и временным рядам;
  • Квантильная методика формирования портфелей в % от выборки или фиксированное число инструментов;
  • Возможность гибко задавать веса в портфеле по дополнительному фактору (почти smart beta);
  • Можно вырывать данные для аналитики на каждом промежуточном этапе: сделки, размер позиций, комиссии, доходность портфелей;
  • Возможность относительно точно учесть комиссионные расходы;
  • Пока самая простая визуализация и метрики.

Как выглядит итоговая отрисовка:
Системно тестируем аномалии на Python. Релиз библиотеки Portfolio Quantitive Research (PQR)

Небольшая предыстория или зачем писать свой тестер

 

Не являясь базовым программистом, я пользовался готовыми решениями для бэктестов и особенно долго засиживался на платформе Quantopian. В прошлом году компания не получила нового транша от инвесторов и объявила о закрытии. Вместе с ней сгинул и весь написанный код, а знания синтаксиса несуществующей платформы близки по полезности к 1С-программированию при переезде в долину.
Поработав с другими сервисами, понял, что их существенные недостатки можно разделить на 3 группы:



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

Опционы. Тест одной известной системы

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

Опционы. Тест одной известной системы

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

Опционы. Тест одной известной системы

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

Опционы. Тесты бабочки, зигзага, стрэнгла и кондора

Как вели себя в прошлом на нашем рынке опционные спреды? 
В этой статье мы рассмотрим результаты тестирования бабочки, стрэнгла, кондора и зигзага(risk reversal).
Очевидно, что обычно трейдеры входят в эти позиции, имея свой прогноз по базовому активу и волатильности.
Тем не менее, мне было интересно, дают ли указанные спреды постоянное статистическое преимущество, способное компенсировать неверный прогноз. Отрицательный результат теста не является приговором, ведь он получен при ограниченном наборе методов выбора позиции и хеджа.

Подробнее о расчетах

Во многом техника тестов повторяет ту, которая была использована ранее при анализе единичных опционов.
Тестируются только месячные опционы на индекс РТС.
Расчеты основаны на теоретической стоимости опционов с июня 2010 г. по июнь 2018 г.  
Данные предоставлены Московской Биржей и одним из известных опционных трейдеров, которому выражаю благодарность.

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

Быстрый бектестинг стратегии на python с pandas

Я уже давно использую для бектестов python и pandas. pandas это библиотека для работы с матрицами и её прелесть в том, что она оперирует векторами и работает ГОРАЗДО быстрее, чем обычные циклы. Для того, чтобы сохранить это достоинство при бектестах я использую логарифмическую доходность (log-return на английском). Не ручаюсь за русские термины, так как узнал про них из англоязычных статей. Написанное ниже не истина в первой инстанции, а моя попытка разобраться как это всё работает чтобы применять на практике. Если я не прав, напишите. Я хоть и защищал кандидатскую диссертацию, но не по математике или экономике.

Немного теории



Логарифмическая доходность — разница стоимости актива в разные промежутки времени в процентах. Рассчитываеся по такой формуле:  
Быстрый бектестинг стратегии на python с pandas


Формула для расчёта логарифмической доходности, логарифм натуральный

Теперь на примере акций теслы. Цена по дням:  

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

Опционы. Тесты продаж одиночных опционов

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

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

Как устроены тесты

Раз в месяц продаются сто опционов одного страйка и держатся до экспирации. 
Для каждого теста фиксируется удаленность страйка от центрального в шагах.
К примеру, стратегия «Strike -1» означает, что раз в месяц продаются опционы страйка, находящегося на 1 шаг слева от текущего центрального страйка.

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

Какие параметры для Вас главные при бэктесте стратегий?

    • 18 февраля 2021, 21:10
    • |
    • genom
  • Еще
Всем привет! В очередной раз при тестировании системы ловлю себя на мысли, что не могу определится по каким метрикам (Recovery Factor, CAR/MDD, Profit Factor, Ulcer Index, Sharpe Ratio, Avg % Profit/Loss и т.д.) лучше отбирать параметры системы  в тестеровщие. Каждая метрика отвечает за свои плюшки, но какая/какие самая важная? На что Вы в первую очередь смотрите после проведения тестирования? Есть разные подходы когда такая неоднозначность в выборе параметров систем, например, торговать частью депо с параметрами системы при наивысшем Profit Factor и одновременно ту же систему с параметрами при наивысшем CAR/MDD и т.д.

Бэктест мультипликаторов P/E, P/S и пр. с учетом ошибки выжившего

В прошлом году я опубликовал бэктест доходности различных мультипликаторов на американском рынке акций. В том исследовании я протестировал коэффициенты P/E, P/S, P/B, P/DIV, P/FCF, EV/EBITDA, EV/S, а также некоторые их комбинации с точки зрения доходности и риска. Недостатком того исследования, на который я прямо указывал, был тест только тех бумаг, которые котируются в настоящее время. Многие компании вышли из бизнеса, их акции в расчеты не попали, что сместило гипотетическую доходность вверх. Это называется survivorship bias или ошибкой выжившего. Я посчитал, что все равно исследование имеет смысл. Логика была такая: выжили многие компании, но в лидеры по доходности почему-то попали лишь некоторые из них. Значит, необходим поиск причин, почему одни акции опередили других.

В тот момент необходимых данных у меня просто не было.
Потребовалось время, чтобы найти:

  • списки акций, входивших в индекс S&P 500 в тестируемые периоды;
  • динамику котировок индексных акций, позже прошедших делистинг;
  • финансовые показатели компаний, акции которых ушли с биржи.


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

Мат. ожидание VS Комиссия

    • 08 февраля 2021, 10:22
    • |
    • fxsaber
  • Еще

Мат. ожидание VS Комиссия


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



( Читать дальше )
  • обсудить на форуме:
  • MQL5

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