Постов с тегом "backtesting": 23

backtesting


Автоматический бактестинг стратегии в TradingView с сохранением результатов в CSV

    • 17 сентября 2021, 11:52
    • |
    • akumidv
  • Еще

Если вы используете стратегии в трейдингвью, например чтобы быстро накидать прототип идеи из какого нибудь источника и посмотреть её, то у вас наверняка также появлялся вопрос поиска приемлемых параметров и проверка как они влияют на стратегию. Делать это вручную крайне трудозатратно. Простейшая стратегия двух скользящих средних может давать 400 и более вариантов параметров. А любое увеличение кол-ва параметров и диапазона их значений приводит к необходимости перебора значений растущих в геометрической прогрессии. Например стратегия из 5 параметров по 15 значений дает 15 ^ 5 = 759 375 вариантов. Подобрать их руками, когда один вариант вычисляется пару секунд не реально.

А можно ли автоматизировать этот процесс? Ниже описание решения через расширение для браузера на основе Chrome.
Автоматический бактестинг стратегии в TradingView с сохранением результатов в CSV

В прошлый раз я публиковал статью, в которой говорил об ассистенте для



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

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
и многое другое. 

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

Знаешь, как считать взвешенную по времени доходность? Очень нужен твой совет!

    • 10 августа 2020, 12:06
    • |
    • Grin
  • Еще
Доброго дня, товарищи инвесторы. 

Для знающих сразу вопрос:
Есть ли какой либо инструмент, рассчитывающий взвешенную по времени доходность для S&P 500?  
Если прямо инструмента нет, то есть ли инструмент считающий эту TWR для набора данных?
Может там сайт какой или эксель у кого завалялся?



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

Теперь к теме топика. Я затормозил в вроде бы совершенно простом моменте — как считать доходность!
Тут можно начинать кидать в меня тапки, отписываться и вот это все, ведь даже школьник знает, что считать доходность при условии пополнения и изъятия можно двумя методами:
Взвешенно по деньгам MWR и взвешенно по времени TWR!

Для взвешенного по деньгам расчета (Money weight return) я нашел и честно скомуниздил готовое решение, вы можете посмотреть его в

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

Что же такое бэктестинг и есть ли у него сердце?

    • 02 июля 2020, 10:23
    • |
    • Grin
  • Еще
Не понятно, к чему это все? Почитай тут

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

Вот сидел я, смотрел на графики и прозрел! Все же просто в этих ваших инвестициях, покупай на дне, продавай на пике! Изи же! 

Осталось понять, когда оно на дне, когда на пике.

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

Ну и как водится, истина где то там, в безбрежном океане информации и пока не попробуешь, не узнаешь. 
А пробовать то надо за деньги, а деньги жалко! 

И тут снова приходит великолепная идея, есть же данных о прошлых значениях, цен, объемов, мультипликаторов, осцилляторов, корреляций. Что если сформировать портфель в прошлом и посмотреть, как все было бы сейчас, если бы мы все купили/продали тогда?  

Это и есть backtest. Ответ на вопрос, что было бы, если бы мы в соответствии с подсказками, которую дает наша стратегия, купили / продали в прошлом. 
Такое тестирование можно делать смотря на графики, табличками в экселе используя специально предназначенные для этого инструменты. 

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

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

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

Минимальный набор аналитика для бэктеста

    • 16 июня 2020, 20:56
    • |
    • Grin
  • Еще
Вот тут написано, к чему это вообще и содержание

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

Отдельной ремаркой, немаловажной для данного сайта, все инструменты описанные ниже совершенно open source, то есть даром! 
Используемый инструментарий:

Python 3.8 + Pycharm + anaconda + git(необязательно)

В комменты накидали еще инструментов, грех упускать случай.
Что еще используют пользователи smart-lab:
Язык R
jupyter notebook
Collab google


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

Я предупреждал. 


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

Склад грабель в проекте

    • 14 июня 2020, 20:51
    • |
    • Grin
  • Еще
Это будет пополняемый пост с общими решениями по ходу проекта и набором грабель, на которые я натолкнулся. 

Тут будет пополняемый список общих решений, которые мне помогли:
1. Найти ментора. То есть человека, который работает с python и за вменяемую деньгу будет рассказывать как вылезти из того треша, что я написал. Не делать за меня, а именно рассказывать и давать ссылки.
Найти такого человека совсем не просто. Искал в яндекс услугах и профи. За неделю, откликнулись всего четверо, с одним договорился. 
Найти человека, который ответил на мои вопросы по инвестиционному анализу, было труднее. Помогли товарищи, мы вскладчину оплатили инвестиционного советника. Закрепил с ним те идеи, которые у меня были. 

2. git — система контроля версий, это круто удобно и правильно. Но для старта, очень трудно. Посвятил какое то время изучению статей для новичков, поиграл в игру и неделю разбирался, как его подключить в pycharm. Помог ментор и создание пары тестовых проектов / репозиториев на github

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

Зарождение личинки инвестиционного аналитика, без регистрации и смс!

    • 14 июня 2020, 13:11
    • |
    • Grin
  • Еще
День добрый! 
Предлагаю вам понаблюдать в прямом эфире процесс зарождения и танцев по граблям начинающего автоматизатора анализа ценных бумаг. 

Немного про проект:

Написание собственного пошагового бэктестинга инвестиционных идей на python. 

Это попытка развития под свои нужды кода из вот этой статьи:

Репозиторий вот тут

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

Если вы все еще читаете, у вас наверняка возникли вопросы:

Кто ты вообще такой?
В анамнезе:
— профессия и профильное образование бизнес / системный аналитик
— куски знаний про инвестиции набранные на курсах про инвестиции курсеры 
— куски знаний по python набранные на курсах по машинному обучению той же курсеры и всякие 

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

Большой бэктест модифицированного Momentum. Лениво обыгрываем рынок с 1984 года на глобальных рынках

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

Но в последний момент решили выпускать стратегии по нарастанию их сложности.  Сегодня речь не об «иксах», но об очень устойчивой штуке – получению доходности выше рыночной за длинный промежуток по разным классам активов без принятия рисков отдельных компаний или стран.

Традиционный график с результатом перед стеной текста:
Большой бэктест модифицированного Momentum. Лениво обыгрываем рынок с 1984 года на глобальных рынках

Источник: Sentimetrica

 

Синяя линия – модификация Моментума на глобальных рынках, зеленая – индекс глобальных акций MSCI World, красная – равновзвешенный портфель из акций, казначейских векселей США и сырьевой корзины.

 

Из всех стратегий американских биржевых гуру – самыми полюбившимися для меня стали идеи получения ВСЕЙ рыночной доходности Джона Богла и CANSLIM Уильяма Онил. У фраз «Индекс в долгосроке всегда растет» и «Лучшие компании остаются лучшими» много общего, верно? Попробуем оформить объединенную стратегию на основе классиков.



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

По стопам Спирина и его Лежебоки 2019

В прошлом году написал пост https://smart-lab.ru/blog/557902.php

На СЛ он зашел неплохо.
Думал, что после этого я просто должен сделать такой же по итогам 2019.
Но появилось одно но. Некто Дмитрий Никитенко (https://twitter.com/capitalgainru наверняка есть акк и здесь, но я его не знаю) запилил самое вкусное в porfoliovisualizer.com (бэктестинг) с блэкджеком. Точнее с российскими активами.

Находится он здесь https://capital-gain.ru/app/#/backtest

Загоню туда лидеров прошлогоднего исследования
Порфели в формате P1-P2-P3-P4-P5, где
  • P1 — доля российского рынка акций, P
  • P2 — доля долларового кэша (в бэктестинге Казначейские векселя США)
  • P3 — доля золота
  • P4 — доля S&P500 TR
  • P5 — по задумке это инфляция в РФ, но здесь возьмем депозиты в РФ, как наиболее точную замену.
Портфели ежегодно ребалансируются (доли на начало года становятся прежними).
Данные за полный год по всем активам есть с 1996
По средней доходности за все время 70-0-0-30-0 (70% Акции РФ, 30% Акции США)

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

Несоответствие минутных и m10, H1, D1 свечей по USD000000TOD

Привет всем граалемайнерам! Пришлось мне двинуться от тиков в сторону более длинных таймфреймов, а для этого таки разобраться с получением свечек с ИСС Мосбиржи. Для большей уверенности, что все сделано правильно, я решил провести тест данных на самосогласованность. Т.е. я собираю из минутных свечек более длинные и проверяю с теми, что получены с сервера. В итоге, по USD000000TOD нашлось несколько дней за всю имеющуюся историю «минуток», где наблюдается несоответствие. Например, начало торгового дня 23 апреля 2013. В этот день минутки начинаются с 10:23, а отличие собранных «минуток» отмечается со свечами
m10: 10:20:00-10:29:59
H1: 10:00:00-10:59:59
D1: (соответственно) 00:00:00-23:59:59

При этом, разница между восстановленными и скачанными свечами может быть по всем параметрам (o,c,h,l,q), но нагляднее ее здесь показать на примере объемов:
<таймфрейм>: <объем скачанной> <восстановленной> <разница>
m10: 51672000         23361000        28311000
H1:   409230000        236901000      172329000

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

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