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

Бэктестинг


Бектест коинтегрированных пар на MOEX за 2018 год на часовом таймфрейме

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

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

В эсперименте участвовало 80 коинтегрированных пар, которые просто втупую, не глядя были загружены в бектестер. Я не видела по ним ни спреды, ни сами ряды. Мне было важно, чтобы алгоритм перемалывал даже пары низкого качества и в среднем выдавал положительный результат. Получилось в среднем 4,78% годовых на 1 контракт.

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

Сколько вешать в граммах? Бэктест равновзвешенного портфеля

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

Газпром стоил 15 лет назад 300₽, а сегодня стоит 170₽ за акцию! Если придерживаться принципов взвешивания по капитализации (как это устроено в Индексе Мосбиржи), то надо набирать его на огромную котлету и надеяться непонятно на что!

Участники подобных дискуссий часто соглашаются, что выбор отдельных акций на основе каких-то личных предпочтений или фундаментальных показателей (которые имеют свойство кардинально меняться всего за месяц) — может стать ловушкой.

И тут приходит на ум вариант с равновзвешенным портфелем. Собрать 20-25 компаний, раздать им равный вес, и в ус не дуть! Звучит заманчиво. Но каким будет результат? Давайте посчитаем.

Расчет делал в «Лаборатории портфелей» Snowball Income.
Сколько вешать в граммах? Бэктест равновзвешенного портфеля
У меня сейчас 39 компаний в портфеле, так что я просто скопировал свой портфель и распределил доли между ними равномерно: примерно по 2,5% на каждую. Я выбрал размер портфеля 1 млн рублей, включил ежеквартальную ребалансировку и реинвестицию дивидендов с учетом уплаты 13% налога.



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

Есть ли премии за риск при покупке трендовых, "недооцененных" и малых компаний на Мосбирже? Много бэктестов

Более года назад в блоге на смартлабе публиковал разрозненные исследования по факторам Momentum, Size и Value. Сейчас решил собрать их в единый кулак в этом посте + обновить методику и данные.

Цель — системно проверить простые идеи инвестирования в акции: можно ли получить прибыль выше индекса если регулярно покупать n% акций с наибольшей целевой характеристикой из всего множества доступных бумаг на каждый период?

Основные результаты:

  • В целом, портфели из 25% наиболее трендовых, недооцененных (по мультипликатору P/E) и малых компаний обгоняют рыночные индексы на горизонте 20 лет;
  • Некоторые портфели имеют значимую положительную альфу — доходность с поправкой на риск по отношению к индексу;
  • Факторы слабо и даже отрицательно коррелируют между собой и с рынком. Это значит, что в разные периоды, как группа, были сильнее акции с определенным свойством: с низкой капитализацией, с относительной недооценкой или находящиеся в сильном растущем тренде.
Серьезные науки стараются не отвечать на частные случаи вроде «Почему мой прадед прожил до 90 лет если курил с 14 лет?». Они проводят клинические исследования, используют контрольные группы и ищут системные взаимосвязи. Также финансовые экономисты не стремятся объяснить почему акции Сбера так сильно выросли, а выделяют ключевое свойство присущее этой и другим акциям. Затем нарезают все доступные акции по данному свойству на каждый период и считают статистические метрики. Что-то подобное постараюсь сделать в этом мини-исследовании :)

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

Эффект Линди - сколько времени будут «работать» стратегии

 

Эффект Линди.

 

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

Например, чем дольше «работает» стратегия, в бэктестинге или на реальном счету, тем больше ожидаемая продолжительность, что стратегия будет и дальше «работать». И хотя, это интуитивно понятно, тем не менее у этого есть своё название — эффект Линди (хотя, понятно это не всем, многим хватает тестинга за 1-2 года, а то и меньше).

Эффект Линди применяется к «нескоропортящимся» предметам, которые не имеют «неизбежного срока годности». 

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

Сравнение бэктеста и прода, продолжение

    • 25 ноября 2021, 19:05
    • |
    • grepan
  • Еще

В продолжение прошлого поста сравниваю по логам еще один день:

На данных бэктеста: 17 сделок, прибыль 844 пунктов

OPEN 236 short 2021-11-24 07:25:00+00:00
CLOSE  short   2021-11-24 07:47:00+00:00 profit= 51.0
OPEN 237 short 2021-11-24 07:54:00+00:00
CLOSE  short   2021-11-24 07:55:00+00:00 profit= 86.0
OPEN 238 short 2021-11-24 08:01:00+00:00
CLOSE  short   2021-11-24 08:03:00+00:00 profit= 40.0
OPEN 239 short 2021-11-24 08:04:00+00:00
CLOSE  short   2021-11-24 08:45:00+00:00 profit= 32.0
OPEN 240 short 2021-11-24 10:10:00+00:00
CLOSE  short   2021-11-24 10:11:00+00:00 profit= 43.0
OPEN 241 short 2021-11-24 10:11:00+00:00
CLOSE  short   2021-11-24 10:27:00+00:00 profit= 32.0
OPEN 242 short 2021-11-24 10:33:00+00:00
CLOSE  short   2021-11-24 10:36:00+00:00 profit= 60.0
OPEN 243 short 2021-11-24 10:52:00+00:00
CLOSE  short   2021-11-24 10:56:00+00:00 profit= 58.0
OPEN 244 short 2021-11-24 11:15:00+00:00
CLOSE  short   2021-11-24 11:18:00+00:00 profit= 53.0
OPEN 245 short 2021-11-24 11:31:00+00:00
CLOSE  short   2021-11-24 11:35:00+00:00 profit= 48.0
OPEN 246 short 2021-11-24 12:22:00+00:00
CLOSE  short   2021-11-24 12:40:00+00:00 profit= 94.0
OPEN 247 short 2021-11-24 13:23:00+00:00
CLOSE  short   2021-11-24 13:30:00+00:00 profit= 61.0
OPEN 248 short 2021-11-24 13:45:00+00:00
CLOSE  short   2021-11-24 13:46:00+00:00 profit= 37.0
OPEN 249 short 2021-11-24 16:51:00+00:00
CLOSE  short   2021-11-24 16:54:00+00:00 profit= 40.0
OPEN 250 short 2021-11-24 19:19:00+00:00
CLOSE  short   2021-11-24 19:23:00+00:00 profit= 35.0
OPEN 251 short 2021-11-24 19:23:00+00:00
CLOSE  short   2021-11-24 19:39:00+00:00 profit= 39.0
OPEN 252 short 2021-11-24 19:42:00+00:00
CLOSE  short   2021-11-24 20:05:00+00:00 profit= 35.0



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

Заглядывание в будущее

Сочинил на днях еще один нескучный метод трендовой торговли.
На скорую руку набросал скриптец в Ami, прогнал на SBRF в M1. 
Не какой-то там HFT, 0.23% на трейд, лимитные заявки, удержание ~500 баров:
Заглядывание в будущее

sharp = 5.15, CAR/MDD = 10.7, и это без реинвеста.

Какой поразительный успех!
Вышел подышать на набережную, стал присматривать яхту. С-189 конечно оптимальный вариант, но ледокол «Сибирь» тоже неплох...

Перевел с AFL в Lua для робота, еще один фигатор типа «тренд», куда проще предыдущего, 10 строчек. Прогнал бэктест роботом на том же интервале… Эээ чего-то совсем не сходится...

Посмотрел на исходный AFL повнимательнее. Чорд, впопыхах неаккуратно написал. Нельзя же выставлять заявку на том же баре, на котором медиану взял.

было:
M = (H + L)*0.5;
BlaBlaMagic(M);

стало:
M = Ref((H + L)*0.5, -1); // сдвиг вектора на 1 бар назад
BlaBlaMagic(M);

Результат немного поменялся:
Заглядывание в будущее

Всего 1 минутный бар, а какая разительная разница!

Пока придется подождать с приобретением яхты…

TesterDashboard - эффективное привлечение эволюционной интеллектуальной машины к поиску закономерностей.

    • 14 октября 2021, 02:30
    • |
    • fxsaber
  • Еще

Идея не нова, вопрос был только в реализации.

Платформа MetaTrader 5 обладает возможностями автоматизации Тестера. Расчет огромного количества данных на истории реальных тиков — обыденность.

Проверка адаптивности ТС — аналогично.


Обработка расчетов.


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

Это можно делать двумя способами:

  1. Создать автоматический критерий, который отфильтрует что-то стОящее от вычислительной шелухи.
  2. Перебрать руками каждый кусочек цифровой кучи, доверяя фильтрацию мощной интеллектуальной машине — головному мозгу человека.


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

Во втором случае все гораздо тщательнее, но очень много времени на это уходит. Элементарно утомить природную машину настолько, что больше никогда не захочется к этому возвращаться.



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

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