Блог им. dvstarkov

Grid по N и target sweep: K=75, N=4, median(fwd_5d) — плато, а не оптимум

Продолжаю разбирать kNN v2. В прошлый раз feature mining не сработал. Теперь проверяю гиперпараметры, но не хаотично, а по одному — с заморозкой всего остального.

Что заморожено: K=75, feature set — текущий кандидат из 10 фич, target = median(fwd_5d), bucket-механика, walk-forward, costs = 0.

Грид по N

N — сколько топ-инструментов берём в портфель на каждый день. Прогнал N ∈ {1, 2, 3, 4, 5, 7, 10}.

 
N IS Score IS Calmar IS CAGR IS MDD VAL Score
1 2.1164 0.7200 58.43% −81.16% 2.1805
2 1.9501 0.5826 46.44% −79.71% 2.1683
3 2.3053 0.8577 45.97% −53.60% 2.2966
4 2.3698 0.9429 43.99% −46.66% 2.4222
5 2.0417 0.7826 36.48% −46.61% 2.5191
7 1.9244 0.7286 33.43% −45.88% 2.3967
10 1.7674 0.6463 30.79% −47.64% 2.5893

Что видно:

  • Плато на 3–4. N=3 и N=4 дают близкие IS Score (2.31 и 2.37). Обрыв на N=5.

  • N=1 и N=2 — высокая доходность, но глубокая просадка. N=1 даёт CAGR 58%, но MDD −81%. Это не торговля, это рулетка.

  • VAL попал в тест. N=10 на VAL даёт лучший Score 2.5893, но я его не смотрю. Это тест, а не критерий выбора. N не меняется.

  • Выбор: N=4. Плато, лучший IS Score, приемлемый MDD.

Target sweep

Теперь горизонт и агрегатор. H ∈ {3, 5, 10, 20}, агрегатор median vs mean.

 
H agg Score CAGR MDD
5 median 2.3698 43.99% −46.66%
3 median 2.0043 37.94% −51.64%
10 median 1.9729 36.74% −51.60%
20 median 1.8898 38.50% −63.52%
10 mean 1.7199 35.29% −65.00%
20 mean 1.6705 35.03% −67.14%
3 mean 1.6235 33.03% −68.75%
5 mean 1.5869 32.34% −67.57%

Median >> mean. На H=5 median даёт 2.37, mean — 1.59. Разница 0.78. Median устойчив к выбросам, mean ловит хвостовой шум. Для kNN с bucket-механикой median критичен.

H=5 — оптимум. H=3 даёт 2.00, H=5 — 2.37, H=10 — 1.97, H=20 — 1.89. Пятидневный горизонт — естественный для этой модели.

K grid

 
K Score CAGR MDD
75 2.3698 43.99% −46.66%
50 2.3503 42.97% −44.94%
150 2.0751 39.05% −51.23%
100 1.9614 35.82% −48.06%

K=50 и K=75 — плато (разница 0.02). K=100 и K=150 — падение. Малое K работает, большое размывает. K=75 остаётся.

Итог

Финальная конфигурация: 10 фич, N=4, target = median(fwd_5d), K=75, bucket = 5 expanding quantiles, costs = 0.

IS: Score = 2.3698, Calmar = 0.9429, Sortino = 1.4269, CAGR = 43.99%, MDD = −46.66%, coverage = 89.0%.

VAL: Score = 2.4222, Calmar = 0.9668, Sortino = 1.4554, CAGR = 35.06%, MDD = −36.27%.

Baseline exp_016 (7 фич): IS = 2.1456. Кандидат (10 фич): IS = 2.3698. Δ IS = +0.2242.

Что дальше

Модель уже была на лучших параметрах. Фриз. Больше ничего не крутим.

Вопрос к сообществу: кто-нибудь сталкивался с тем, что VAL систематически даёт выше IS на kNN-моделях? Это переобучение наоборот или просто везение на коротком отрезке?

Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
346
1 комментарий

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

Кстати где-то у меня тут чат про AI в трейдинге завалался).

А вот же он: t.me/+3b1J_hgnBqk2OTAy

Народу достаточно для поддержания дискуссий, и компетенций тоже. Но активности щас нет, но ее можно всколыхнуть).

 


Читайте на SMART-LAB:
Фото
USD/CAD: Четверг за продавцами, пятница за покупателями — кто заберет неделю?
В четверг пара сформировала свечную модель «падающая звезда», аккурат протестировав сильный уровень сопротивления 1.4240. На рынке это обычно...
Фото
Средние доходности облигаций в зависимости от кредитного рейтинга. От B- до AA+
Средние доходности облигаций в зависимости от кредитного рейтинга (бледные столбцы — доходности без сглаживания). И как они изменились за...
Фото
4 года роста и трансформации 🌟
Нашей компании исполнилось 4 года. За это время мы стали открытым, публичным бизнесом с мультипродуктовой моделью и сильной...

теги блога dvstarkov

....все тэги



UPDONW
Новый дизайн