Впервые на top traders desk?

Деск сам считает рынок и публикует решения рядом со счётом, который по ним торгует. Короткий маршрут:

ОТЧЁТ ЛАБОРАТОРИИ ·

Сколько держать: счёт отвечает не то, что таблица

Лаборатория выходов ставит выход через 90 баров выше десятибарного по profit factor. Она права в том, что меряет: одна позиция за раз, сделки перекрываются, капитала нет. Этот прогон задаёт тот же вопрос счёту — те же 10 долей счёта, тот же вход, те же издержки — и порядок переворачивается.

итого
1382.3%
годовых
58.3%
просадка
-29.9%
sharpe
1.51
сделок
463
прибыльных
52.9%

Плитки — у срока с лучшим sharpe (10 бар.). Контроль в плитки не кладётся: он ниже, в своей колонке.

Ответ

Чем дольше держится позиция, тем хуже становится каждая ось сразу: просадка растёт с -29.9% до -83.4%, sharpe падает с 1.51 до 0.72, итог сжимается с 1382.3% до 365.8%. Ничего не переворачивается в середине — это направление, а не две точки.

Причина видна в колонке «в рынке». Удержание в 90 баров держит позицию 73.0% времени, то есть почти повторяет удержание корзины — вместе с её просадкой (944.8% у корзины за то же окно). Правило, которое почти всегда в рынке, перестаёт быть правилом входа и становится корзиной с издержками.

И контроль это подтверждает. Контроль здесь свой у каждого срока: случайный вход, который держит 90 дней, зарабатывает больше случайного, который держит 10 — просто потому, что дольше сидит в растущем рынке. С поправкой на это единственный срок, обыгравший свой p95, — 10 баров. У 90 итог 365.8% против медианы случайности 725.8%: ниже монетки.

Все сроки одной таблицей

удержаниеитогогодовыхпросадкаsharpeсделокв рынкеслучайный вход p50случайный вход p95лучше случайного
10 бар.1382.3%58.3%-29.9%1.5146323.7%192.8%852.0%да
20 бар.957.1%49.4%-44.9%1.1137236.3%306.1%1204.8%нет
40 бар.1071.4%52.0%-67.3%0.9827251.5%411.4%1660.1%нет
60 бар.484.8%35.1%-77.5%0.8022562.9%511.1%2082.2%нет
90 бар.365.8%29.9%-83.4%0.7217673.0%725.8%2350.3%нет

Клик по заголовку сортирует. «Случайный вход» — случайный вход тем же движком, 5 сроков, у каждого свои 200 случайных прогонов.

Кривая капитала

1x2x5x10x2020-092022-092024-082026-0810 бар. · 90 бар.
Лог-шкала. Верхняя кривая — 10 бар., нижняя — 90. Наведение показывает обе на одну дату.

По годам

удержание2020 (09-12)202120222023202420252026 (01-08)
10 бар.33.1%444.5%-16.1%16.5%92.5%17.3%-7.3%
20 бар.36.0%449.2%-29.8%78.9%50.2%-3.7%-22.0%
40 бар.43.2%1108.5%-36.4%56.7%76.4%-26.6%-47.5%
60 бар.39.5%685.3%-65.5%69.1%73.8%-4.3%-44.9%
90 бар.44.9%1229.7%-70.1%90.5%63.8%-48.0%-50.1%

Правила целиком

Вход и модель капитала одни на все строки, меняется только срок удержания: константа HOLD_BARS в tools/indicators/bt_time_exit.py. Спека, которую импортирует бот, лежит для победившего срока: data/algo/donchian-time-20-10.json.

Чего это не доказывает

Список инструментов — выборка выживших, поэтому любая строка здесь верхняя граница, а не ожидание. Окно содержит один медвежий год против бычьего 2020-21 и восстановления 2023-26: медвежьего рынка длиной в окно в нём нет, и лонг-только правило на таком окне структурно выглядит лучше, чем выглядело бы на полном цикле. Вход всего один — пробой канала; вывод про срок удержания проверен на нём и не переносится на другие входы без прогона.

Исследовательская записка, не инвестиционный совет. Измеренное прошлое не является обещанием доходности. Назад в лабораторию →