Михаил Михалёв
Михаил Михалёв личный блог
Вчера в 16:10

Да это всё подгонка!

Продолжаю пилить армию роботов. Запустил на тесте с 16 марта на этот раз 10 роботов, наблюдаю. 6 из 10 роботов в плюсе, общий счёт в плюсе.


Да это всё подгонка!

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

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

Кстати, 10 роботов крутятся на апельсинке и весьма немного тратят электроэнергии:

Да это всё подгонка!

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

Да это всё подгонка!



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

Да это всё подгонка!

 

Конечно же это подгонка! Проходите мимо, тут ничего интересного:)

 

Как я писал ранее, система для поиска оптимальных параметров, которая во время поиска максимизирует только чистую прибыль, не предназначена для поиска оптимальных параметров, а служит лишь для оценки потенциала стратегий при проверке гипотез. Настоящая наука начинается после, когда уже найдена стратегия с высоким потенциалом. Проблема в том, что на Out-Of-Sample тестах такой поиск параметров будет закономерно показывать высокую деградацию важных метрик. Для того, чтобы минимизировать деградации на OOS, нужно обосновать физический смысл параметров и зафиксировать их. Т.е. буквально заново переосознать всю стратегию, разобрать до винтика, исследовать каждую из используемых закономерностей, и собрать заново, исключив линейно зависимые параметры.

 

Допустим, поиск параметров нашёл, что для разных зафиксированных параметров, один параметр обычно находится около какого-то магического значения. Не хочу тут палить граали, поэтому буду шифровать высказывания без конкретных примеров. Чтобы обосновать физический смысл этого числа, нужно догадаться или найти это число с помощью статистических исследований в изолированной среде, т. е. вне бэктеста получить это число на основе анализа сырых данных с количеством событий 100+, а лучше 200+. Вычисленное таким способом и зафиксированное значение параметра перестаёт быть подогнанным под результат максимизации чистой прибыли конкретной стратегии и становится статистически обоснованным и независимым от стратегии. Чтобы было физическое обоснование, нужно догадаться и доказать как этот параметр зависит от реальности: что в действительности означает это число, какие событие в реальном мире создают условия для этого числа.


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

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

8 Комментариев
  • Михаил Шардин
    Вчера в 16:18
    А общее управление как здесь smart-lab.ru/mobile/topic/1287648/ ?
    Или через единое окно?
  • Михаил Шардин
    Вчера в 16:25

    То есть это подогнанный максимум на истории?

    для оценки потенциала стратегий при проверке гипотез
  • BobbyKotick
    Вчера в 17:35
    Какой смысл запускать на тесте и писать про это? Запускай на лайве и лови проскальзывания, удвоения позы и прочие приколы (особенно на москухне).

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн