Избранное трейдера Dmitriy Dmitrich
Решил начать писать небольшие заметки по алгоритмической торговле и всему что с ней связано. Возможно, когда-нибудь расширю, склею и опубликую в виде книжки. Пока же это просто наброски заметок, сделанные на скорую руку.
Можно часто слышать от тех, кто торгует алгоритмически, да и просто систематически, такие понятия как «оверфиттинг», «курвафиттинг», «зафит» и прочие ругательства с корнем «фит». Что все это значит?
На самом деле, все эти слова, как правило, используются для описания одного и того же явления, являющегося врагом всех трейдеров, торгующих систематически и пытающихся оценить исторический перформанс своих торговых логик — а именно, что «живой» аут-оф-сампл перформанс на реальном счете, как правило, хуже ожиданий, полученных ими при проверке своих идей на истории. Например, при тестировании торговой логики на истории трейдер с помощью своей модели «зарабатывал» 30% годовых, а в реале может в среднем иметь 10% годовых. Разница 20% годовых — может объясняться именно оверфиттингом (если нет других факторов — например, некорректный учет комиссионных и проскальзываний, или ошибка в торговом коде; но прочие факторы легко устранить, в отличие от оверфиттинга). На картинке в начале статьи — пример перформанса некоторого фонда в бэктесте и в реальности, наглядно иллюстрирующий написанное выше.
Оверфиттинг является следствием комбинации одного или нескольких из следующих факторов, положительно влияющих на бэктест (результаты прогонки модели на истории), что и создает у трейдера завышенные ожидания от своей модели. В этой части мы рассмотрим основные источники оверфиттинга, в следующей — поговорим о способах избежания или минимизации оверфиттинга при историческом тестировании моделей.
iss.get_trades_for_session( 'futures', 'forts', 'RIH8', 2 ) # доступны значения 0, 1, 2
Успешно прошел курс по Машинному обучению, а так же прослушал соответсвующие лекции в Школе анализа данных Яндекса. Следующая задача — реализовать на Python те расчеты, которые я сейчас выполняю в Excel. Опыт программирования близок к нулю, поэтому процесс будет небыстрым. Для начала создал репозиторий. В перспективе хочу попробовать немного модифицировать текущую торговую систему с использованием машинного обучения.
Коллеги, всем добрый день! Представляю вашему вниманию свою небольшую разработку в области автоматизации торговли. Будет правильно, если упомяну автора концепции данной программы — это всем небезызвестный Артём Крамин (пост). Я думаю, многие старожилы данного форума помнят его автоматический исполнитель приказов. К сожалению, Артём перестал поддерживать своё детище, более того, мне не удалось найти ни одной работающий ссылки на дистрибутив его программы, поэтому ничего не оставалось, как
написать данную программу самому. У Артёма программа была реализована на языке С#, у меня — на Java. Писал данную программу, в первую очередь, для себя, но выкладываю её для всеобщего использования, может кто-нибудь найдёт данное ПО полезным для себя.
Лично я в свое время очень активно использовал TSLab, но цена на него значительно выросла. Платить 4500 р. в месяц, откровенно говоря, жалко + если еще добавить стоимость виртуального сервера (это ещё порядка от 500 до 2500 р. в месяц), получается довольно
приличная сумма. Если у кого-то есть стойкое желание сократить свои затраты на торговлю и хоть как-то автоматизировать процесс своей торговли (без знания языка программирования), то решение, предлагаемое мной, может оказаться крайне полезным. Напомню основную
концепцию данной программы.
Добрался до 5 недели Курса Яндекса и ВШЭ по машинному обучению. После достаточно напряжного начала, когда было необходимо поставить и освоить кучу программ, далее обучениях пошло достаточно просто — лекции вполне доступные, а задания решаются в несколько строчек кода, особенно если немного покопаться в описании библиотек.
Дополнительно решил послушать лекции Школы анализа данных Яндекса — материалы во многом пересекаются, но охват больше и раскрывается много интересных интерпретаций алгоритмов машинного обучения и их взаимосвязей.