Избранное трейдера Саня
Решил начать писать небольшие заметки по алгоритмической торговле и всему что с ней связано. Возможно, когда-нибудь расширю, склею и опубликую в виде книжки. Пока же это просто наброски заметок, сделанные на скорую руку.
Можно часто слышать от тех, кто торгует алгоритмически, да и просто систематически, такие понятия как «оверфиттинг», «курвафиттинг», «зафит» и прочие ругательства с корнем «фит». Что все это значит?
На самом деле, все эти слова, как правило, используются для описания одного и того же явления, являющегося врагом всех трейдеров, торгующих систематически и пытающихся оценить исторический перформанс своих торговых логик — а именно, что «живой» аут-оф-сампл перформанс на реальном счете, как правило, хуже ожиданий, полученных ими при проверке своих идей на истории. Например, при тестировании торговой логики на истории трейдер с помощью своей модели «зарабатывал» 30% годовых, а в реале может в среднем иметь 10% годовых. Разница 20% годовых — может объясняться именно оверфиттингом (если нет других факторов — например, некорректный учет комиссионных и проскальзываний, или ошибка в торговом коде; но прочие факторы легко устранить, в отличие от оверфиттинга). На картинке в начале статьи — пример перформанса некоторого фонда в бэктесте и в реальности, наглядно иллюстрирующий написанное выше.
Оверфиттинг является следствием комбинации одного или нескольких из следующих факторов, положительно влияющих на бэктест (результаты прогонки модели на истории), что и создает у трейдера завышенные ожидания от своей модели. В этой части мы рассмотрим основные источники оверфиттинга, в следующей — поговорим о способах избежания или минимизации оверфиттинга при историческом тестировании моделей.
Коллеги, всем добрый день! Представляю вашему вниманию свою небольшую разработку в области автоматизации торговли. Будет правильно, если упомяну автора концепции данной программы — это всем небезызвестный Артём Крамин (пост). Я думаю, многие старожилы данного форума помнят его автоматический исполнитель приказов. К сожалению, Артём перестал поддерживать своё детище, более того, мне не удалось найти ни одной работающий ссылки на дистрибутив его программы, поэтому ничего не оставалось, как
написать данную программу самому. У Артёма программа была реализована на языке С#, у меня — на Java. Писал данную программу, в первую очередь, для себя, но выкладываю её для всеобщего использования, может кто-нибудь найдёт данное ПО полезным для себя.
Лично я в свое время очень активно использовал TSLab, но цена на него значительно выросла. Платить 4500 р. в месяц, откровенно говоря, жалко + если еще добавить стоимость виртуального сервера (это ещё порядка от 500 до 2500 р. в месяц), получается довольно
приличная сумма. Если у кого-то есть стойкое желание сократить свои затраты на торговлю и хоть как-то автоматизировать процесс своей торговли (без знания языка программирования), то решение, предлагаемое мной, может оказаться крайне полезным. Напомню основную
концепцию данной программы.
В этом посте описал 3 основные причины, почему подавляющее большинство инвесторов (трейдеров) теряет деньги на рынке. Те проблемы, поработав над которыми, у нас есть шанс серьезно улучшить свой результат.
1. Неправильный момент входа в рынок. Для людей свойственно инвестировать в модные идеи. Идеи, в которых сверхприбыль уже собрана профессионалами.
Помните 2000-е? Когда был максимальный приток денег на РФР? Начиная с 2005. И, по моему, до 2007. Непрофессионалы пришли на рынок. Сам, кстати, был в их числе. В 2008 пришла расплата. Большинство пришедших с 2005 потеряло существенную часть своего капитала.
Помните начало 2015-го? Зашел сразу после нового года в отделение ВТБ на юге Москвы. Полный зал народу. Что-то все покупали. А сейчас больно, потому что в убытках. И боль будет нарастать по мере продолжения боковика на валюте.
Помните 2013? Боковик на РФР продолжается несколько лет. Волы нет. Многие стали торговать контртренд (канал, «от бортов» — назовите как угодно). Расплатились в 2014.
В определенный момент у любого алготрейдера количество торговых систем переваливает за ту цифру, которую можно держать в голове вместе со всеми параметрами и результатами тестов. Конечно, в тс лабе можно сохранять результаты тестов, но из массы кубиков или переменных в коде быстро вычленить идею практически невозможно, особенно, если ТС строилась больше недели назад. Лично мне в такой ситуации помогает Development Worksheet (Паспорт робота), обычный эксель файл с общей информацией о стратегии.
Данный лайфхак, если мне не изменяет память, был найден в книжке Кевина Дэйви «Building Winning Algorithmic Trading Systems». В самой книге автор рассказывает о том, как он тестирует стратегии. Автор делает очень сложное многоступенчатое тестирование, которое начинается предварительными тестами входов и выходов: фиксированный стоп/профит, поза по фиксированному числу баров, monkey тест и прочее (если есть интерес, то могу описать все его изощрения подробно в следующей заметке). После этого он проводит форвардное тестирование и тест монте карло. Перед запуском стратегии на больших деньгах он дает системе поторговать маленьким капиталом (по-моему порядка полугода) и сверяет результаты торговли с тестовыми, вносит поправки. Таким образом на создание системы уходит как минимум 7-8 месяцев.
В свое время у меня была задумка — посмотреть какой в реальности (включая комиссии) спред между спотом и фьючерсом и стОит ли его торговать. Так как, ни С#, ни Lua я, пока, не изучил, то пришлось писАть на Qpile…
Торговый функционал в скрипте не прописывал, поэтому его можно использовать только, как анализатор.
Кому надо – забирайте, так как я решил для себя дальше эту тему не развивать (по крайней мере пока)…
Выглядит интерфейс вот так:
Особенности:
— текущий фьючерс определяется автоматически, в день экспирации автоматически переключается на новый;
— перед использованием надо указать папку в настройках пользователя для расчетов;
— в скобках отражается средний процент за последние 500 замеров для объективности расчетов (цифру можно менять в настройках пользователя);
Надеюсь дальнейшая инфа убережет хоть кого-то от залета на много денег. Видео торгов прилагается.
Пост вышел немного длинный, но думаю вам понравится.
Биткоино-фанатам, любителям доходности в 100500% в день, форексникам, и всем кто жаждет узнать, как урвать много и сразу посвящается…
…этот сезон пампов на удивление хорош, а впереди еще и сезон отчетов. Хотя я не люблю пампы трейдить из-за слишком большой волы, от одного трейда было очень сложно отказаться. Герой сегодняшней истории HMNY. Думаю кто фонду трейдит уже насмотрелись на него за последние пару недель.
Скрин кто не видел.
Стак по классике пампов вырос с 2,7$ за акцию до 38,86$ за акцию (>1000%) всего за каких-то 19 дней на объемах 10-20 млн акций в день.
В компании работает 44 сотрудника, капитализация до момента пампа была вообще мусорная – меньше 100 млн. Была накачана на утопических возгласах по всем информ. фронтам (reuters, twitter, yahoo finance и т.д. и т.п.). Ей пророчили стать новым Netflix, совершить революцию в киноиндустрии и прочую ересь которая не может быть реальностью. Детали сами можете найти в гугл. Если посмотреть на чарт, то видно как до сих пор есть миллионы «не очень интеллектуально развитых» людей, которые в такое верят и несут свои кровные, и их все больше (пошли б лучше книг по инвестициям и поведенческой экономике купили). Что происходит с такими людьми на дистанции всем известно и увы в «наших» кругах в последнее время печальных историй все больше, но не будем о плохом – флаг им в руки за неспособность мыслить и нежелание учится.