Iterated Distillation and Amplification (IDA) — это концепция, которая появилась в ходе эволюционирования систем машинного обучения. Например, широко известный алгоритм AlphaGo использовал, а системы обучения с подкреплением (reinforcement learning) могут использовать эту концепцию для повышения качества своей работы.
В случае ML, амплификация — это разбиение сложной задачи на более простые подзадачи, которые решаются, а потом их результаты объединяются и, таким образом, создаётся сложная модель, которая способна решать сложные задачи в различных контекстах.
Дистилляция же — это процесс создания упрощённой модели на основе сложной, но так, что качество работы этой простой модели практически не ухудшается. Она проще в смысле архитектуры: меньше в размерах, менее требовательна к ресурсам, но обеспечивает качество решения задач на уровне сложной.
Как всё это связано с трейдингом?
Хотя я создаю торговые системы с использованием генетических алгоритмов, всё равно, в каком-то смысле, это брутфорс: нужно придумать элементы стратегии (условия входов/выходов), нужно придумать их параметры, собрать из этих ингредиентов ТС, нужно просчитать каждую ТС, проанализировать результаты, ранжировать ТС по эффективности, объединить в портфель.
Как можно заметить, предыдущий сентенс очень сильно похож на эту концепцию: в первой части происходит амплификация, а во второй — дистилляция.
Зачем мне применять эту концепцию?
Во-первых, несмотря на то, что элементы моих ТС не предусматривают параметризации, о чём я писал ранее, зато само число комбинаций этих условий столь огромно, что проблема вычислений только усугубляется.
Во-вторых, часто обнаруживаю, что на выходе возникают несколько торговых систем, которые очень похожи по профилю своих статистических метрик, однако используют совершенно разные алгоритмы, а это значит, что вычислительная работа, связанная с поиском реплик, была избыточной.
Это подтверждает самоочевидную идею: число алгоритмов эффективных входов и выходов конечно, потому что конечно число точек на ценовом графике, когда эффективность совершения торгового действия максимальна. Поэтому, если взять двух совершенно разных алготрейдеров, имеющих разный опыт и навыки, и представить, что они в своей работе дойдут до логического финала, то мы обнаружим, что точки входов и выходов их торговых систем будут практически полностью идентичны, хотя алгоритмы, которыми эти точки выбираются, могут оказаться принципиально разными — как и используемые языки, инструменты, рынки, торговая логика и прочее, и прочее, и прочее.
Как именно её применить?
Интуитивно я её уже применил. Амплификация — это генерация огромного набора торговых систем, а дистилляция — это их кроссвалидация и ранжирование по результатам, сравнение между собой. Однако, первый этап был очень тяжёлым с точки зрения компьюта. Оказывается, можно было сократить число вычислений на 2 порядка (а то и больше), заведомо отбросив такие комбинации элементов торговой системы, которые заведомо приведут к неудовлетворительным результатам. Оказалось, что я и раньше пытался уже решить эту проблему, и решил её, но наполовину. А вот теперь я решил её полностью. Попробуйте и вы.
Пока я ещё работаю, потому что работа — это не только зарплата, но ещё и общение с профессионалами и коллегами, и приобретение нового опыта. Но, как знают те, кто меня читает, финансовой необходимости в работе по найму с января этого года у меня уже нет.
В очередной отпуск — в виллы с бассейном, в прошлый раз мне это зашло. Сначала — Мальдивы, потом — Бали, разные локации, так интереснее. Я обнаружил, что в том, что делаешь, теряется смысл, если торговать, зарабатывать и складывать под матрас. И даже трейдинг перестаёт мотивировать. Поэтому отпуск должен быть таким, чтобы физически ощущалось, а зачем это всё нужно.
Домашняя инфраструктура — куча ноутбуков, на которых выполняются вычисления, со всеми возникающими отсюда проблемами, мне надоела. С ней куча известных проблем: и резервирование, и возможные поломки или проблемы со связью и даже пожароопасность. И потому я планирую перенести вычисления в облака. Сейчас это стоит недорого, вариантов — масса, тем более, что можно использовать технологии автомасштабирования вычислительных мощностей. Думаю использовать для этого Kubernetes: когда нужно что-то посчитать или пересчитать, он сам поднимет столько нод, сколько будет необходимо, а как закончит считать — сам же их и выключит. А я заплачу только за фактически выполненную работу, что очень удобно. Думаю, что считать торговые системы на домашних компьютерах — это пройденный этап.
Следующий этап — перестать
1) сепарировать их вручную,
2) руками переносить их в продуктив,
3) следить за тем, как бы что не пошло не так.
Думаю, можно дать себе на это время до декабря 2026. Перенапрягаться в трейдинге опасно. Особенно, алгошникам.
Добрый день. Спасибо за пост — давненько вы не писали.
Как успехи биржевые?