К содержимому
Форекс
на автомате

Сравниваю форвард с бэктестом бутстрепом. Где дыра в методе?

KseniaPSTс 06.2023
Автор разборов
31сообщение
Автор темы#1
Хочу перестать сравнивать форвард с тестом на глаз. Сделала так: беру сделки бэктеста, результат каждой в R, то есть в долях риска. Случайно выбираю с возвращением столько сделок, сколько уже есть на форварде, складываю, и так 10 000 раз. Получается распределение того, что должно было выйти за такое число сделок, если форвард похож на тест. Потом смотрю, на каком процентиле лежит реальный форвард.
Код:
import numpy as np r = np.loadtxt('backtest_r.csv') # сделки теста в R fwd = np.loadtxt('forward_r.csv') sims = np.random.choice(r, size=(10000, len(fwd)), replace=True).sum(axis=1) pct = (sims < fwd.sum()).mean() * 100 print(len(fwd), round(fwd.sum(), 2), round(pct, 1))
На форварде 54 сделки, сумма минус 1,8R, процентиль 9: хуже, чем в 91% симуляций, но не запредельно. Порог остановки поставила 2%. Где тут дыра? Подозреваю, что в независимости сделок, но не понимаю, насколько это важно.
gennady_1991с 08.2020
Автор разборов
34сообщения
#2
Дыра там, где ты думаешь. Выбор по одной сделке с возвращением убивает структуру: серии, пачки убытков в определённые месяцы, зависимость от волатильности. Если у системы убытки ходят кучно, а у трендовых почти всегда так, то настоящие плохие отрезки бывают хуже, чем в твоих симуляциях. Значит, распределение у тебя слишком узкое, и 9-й процентиль на самом деле может быть 15-м или 20-м. Твой тест строже, чем надо, и будет чаще кричать, что форвард не похож.

Попробуй брать блоками по 5-10 подряд идущих сделок, это сохраняет часть серий, и сравни процентиль. И второе: R в тесте посчитан на тиках тестера, а форвард идёт с настоящим спредом и проскальзыванием. Если разницу исполнения не вычла, ты сравниваешь немного разные системы.
dobryak48с 06.2022
Первый прогон
4сообщения
#3
Я бы на тех же симуляциях смотрела ещё и максимальную просадку внутри отрезка. Для решения выключать или нет она важнее итога.
KseniaPSTс 06.2023
Автор разборов
31сообщение
Автор темы#4
Сделала блоками по 8 сделок, процентиль стал 17. Гена, ты прав, по одной сделке тест строже, чем надо. Просадку добавила: на форварде максимальная 6,2R, в симуляциях такая и глубже в 23% случаев. Проскальзывание на форварде в среднем 0,04R на сделку, вычла из теста, процентиль 21. Порог остановки оставила 2%, но теперь по блочной версии и отдельно по просадке, что сработает раньше.
Продолжить обсуждение

Для ответа войдите в свой аккаунт.

Войти
← Предыдущая темаСледующая тема →