Постов с тегом "бэктестинг": 134

бэктестинг


Минимальная выборка для понимания прибыльна ли ТС

Друзья и коллеги, всем привет! Удачных и приятных выходных!😎
Тестирую свою торговую идею интредейную вручную в КВИКе с линейкой и калькулятором!😀 В связи с чем вопрос, какова минимальная выборка должна быть, cколько сделок на истории просчитать, чтобы понять эта ТС вообще будет зарабатывать или нет, 50 cделок достаточно, а 100?

Работает или нет статистический арбитраж из-за проскальзывания?

    • 09 июля 2021, 15:02
    • |
    • grepan
  • Еще

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

Далее будут приведены мои субъективные умозаключения.

Для начала перечислю виды арбитража, которые я знаю:

  1. Арбитраж одинаковым активом между разными биржами. Сложность работы по этой технологии заключается в том, чтобы разместить торговый сервер между двумя биржами так, чтобы задержки пакетов между биржами были одинаковыми.
  2. Арбитраж между активом и его деривативом.
  3. Статистический арбитраж между коррелируемыми активами.
  4. Календарный арбитраж.

Момент, который объединяет эти стратегии, состоит в том, что торговая позиция выставляется всегда одновременно по двум инструментам в противоположные стороны (если активы прямо скоррелированы, и в одинаковые стороны в ином случае).

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



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

Прохладный пост о системной торговле. Тестируем торговые идеи на Python бесплатно и без зауми с библиотекой PQR.

Привет, почти 2 месяца назад мы запустили первую версию нашей библиотеки PQR для тестирования инвестиционных идей. Основная суть: системно проверять аномалии на большой группе акций. Например, вы ведете таблицы с мультипликаторами компаний и биржевых котировок. Цель — покупать 10% недооцененных бумаг с наименьшим значение P/E и ребалансировать портфель раз в месяц.

Прохладный пост о системной торговле. Тестируем торговые идеи на Python бесплатно и без зауми с библиотекой PQR.


Разделов для улучшения было так много, что Андрей (github.com/eura17) почти полностью переписал все функции. Основные изменения:

1) Переход к объектно-ориентированному программированию. Код легче читается и занимает меньше места.

2) Добавили функцию correct_matrices — она приравнивает матрицы с исходными данными к одному виду. Сортирует и удаляет отсутствующие в остальных матрицах столбцы (акции) и строки (периоды);

3) Появилась документация на readthedocs: pqr.readthedocs.io/en/latest/index.html

4) Возможность перебора параметров стратегии через grid_search. Быстрый вывод таблицы с результатами или отдельного параметра (например, Шарп) для стратегий с разными периодами наблюдения, удержания и лагом;



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

Backtesting / Бэктестинг - подскажите простой бесплатный сервис с историей (end of day)

Доброго времени суток вам, 

Пожалуйста, подскажите простой (без программирования) бесплатный сервис с историей (end of day подойдет).
Роюсь в сети уже больше четрых часов, не могу найти. Нужен простой сервис который будет:
— искать по всему рынку США, а не по отдельным бумагам (NYSE, NASDAQ, AMEX) 
— не требовать знаний питона и другого языка — нужны простые параметры: цена пробивает SMA, Relative Volume, Capitalization, etc
— бесплатный или за триальные пригоршню баксов
— с историей больше чем 1 год (интрадей, тики — не надо) 
— желательно детальные репорты чтобы прооптимизировать там где надо (но не обязательно)

Нужно что-то очень похожее на 
https://www.marketinout.com/stock-screener/backtest/strategy.php (все хорошо, но ограничение на историю — дают всего 6 мес)


Смотрел:
— Amibroker
https://www.portfoliovisualizer.com/backtest-portfolio
https://www.wealth-lab.com/
-
 www.alphaarchitect.com/tools
и многое другое. 

Багодарю заранее.

Трейдинг или инвестирование? Большой бектест на 650 активах. Второй подход

Для начала хочу сказать спасибо, всем кто читает мои заметки и, главное, комментирует их! Благодаря комментарию А.Г. нашёл ошибку в расчётах. Пересчитал и заливаю новые данные. Старый пост оставлю, пусть будет мне уроком. Видимо пора тесты начинать писать.

Кардинально ничего не поменялось, купи и держи в среднем работает лучше чем рассмотренная стратегия.

Расчётные данные в предыдущей заметке неправильные. Вместо пяти результатов публикую 10. Исходные данные всё те же.

На всякий случай опишу параметры:
— Return: доходность
— MaxDrawdown: максимальная просадка
— BuyholdRet: доходность стратегии купи и держи
— BuyholdDrawdown: максимальная просадка стратегии купи и держи
— Deals: количество сделок
— AvgTrade: средняя сделка
— ProfitDeals: количество прибыльных сделок, для процентов нужно умножить на 100
— MaxProfit: максимальный доход в одной сделке
— MaxLoss: максимальный убыток в одной сделке
— ProfitFactor: профит фактор
— SharpeRatio: коэффициент шарпа



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

Трейдинг или инвестирование? Большой бектест на 650 активах

Данные в этой заметке неправильные. Я неправильно считал некоторые параметры. Можно не читать, и сразу прочитать следующую smart-lab.ru/blog/699827.php Я всё пересчитал и залил новые данные.

Этот пост оставлю как напоминание, что нужно проверять как и что считается. Видимо пора начинать писать тесты...


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

Раньше я уже писал про стратегию покупки на закрытии и продажи на открытии Её и выбрал для пробного полёта.

Суть страетегии очень проста. Каждый день покупаем на закрытии, продаём на следующем открытии. Нужно было взять что-то простое для теста.

Всего собрал 650 тикеров:
— индекс IMOEX в полном составе
— наиболее ликвидные фьючерсы на мосбирже (нам же нужно, чтобы миллионы торговались без проскальзываний): рубль/доллар, индекс РТС, нефть, золото, сбербанк

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

Градиентный бустинг с годовой перспективой ч.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 группы:



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

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

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

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

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

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

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

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