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

Бэктестинг


Системно тестируем аномалии на 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

Почему на бектесте +100%, а в реале -100%?

    • 06 февраля 2021, 17:40
    • |
    • GOLD
      Популярный автор
  • Еще
Глядя на графики, ты замечаешь, что сегодняшний график похож на вчерашний, а вчерашний похож на позавчерашний. График за текущий месяц похож на график за прошлый месяц. А график за прошлый год мало чем отличается от графиков за предыдущие годы.

И тут тебе в голову приходит гениальная идея:

Нужно придумать несколько торговых стратегий и протестировать их на исторических данных! Торговать нужно по стратегии, которая покажет максимальный профит с минимальной просадкой с учетом комиссий и проскальзываний! Ура!

И вот, через некоторое время ты создаешь стратегию, которая с учетом всех потерь показывает 100% годовых на 10-летнем бэктесте с просадкой менее 30%. Понятное дело, ты покрываешься счастливым потом и кидаешься считать доход с учетом капитализации. От полученных цифр теряешь сон и начинаешь торговать по своей гениальной стратегии.

Через год ты получаешь убыток -100%. Как так??? Что за муда$кий рынок????

Мой дорогой друг, спешу тебя утешить. Рыночек меняется. Хотя выглядит на графике всегда одинаково. Сравни графики звуковых колебаний:

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

Реинжениринг грааля, который никому не нужен.

    • 01 февраля 2021, 04:06
    • |
    • fxsaber
  • Еще
Девушка анонсировала нового робота, но забыла сказать, что это псевдо-грааль.

Один из результатов, показывающий, почему это так.
Реинжениринг грааля, который никому не нужен.
Почему псевдо? -потому что не Моцарт! Так не бывает и где-то должен быть подвох. Но со всем своим опытом мне не удалось его найти.


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

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