Pull to refresh
4
0
Иван Петровский@impatient

Java-разработчик

Send message

Во-первый, спасибо большое за фидбек (и отдельно — за то, что и в код заглянули)! Очень ценно получить мнение человека, который, похоже, имеет побольше опыта в сфере трейдинга, чем я.

Во-вторых, вы правы, на данный момент движок не учитывает процент за заёмные средства; и это точно не то упрощение, которое было бы нормально сделать при том уровне реалистичности, в который я целюсь. К счастью, архитектура легко позволяет это добавить — достаточно внутри движка перед вызовом хука onCandle рассчитывать процент исходя из таймстемпа. Я обязательно добавлю это в самый верх списка бэклога.

По ликвидациям — я согласен, что стратегия не должна работать "через ликвидации" (и поэтому не гонюсь за реалистичным моделированием ADL). Формально можно было бы просто останавливать симуляцию, если случился margin call, но я решил просто логировать это событие и продолжать её; но выше уже писал, почему, на мой взгляд, игнорировать ликвидации было бы критично.

Хочу добавить ещё немного по поводу "странностей" в расчёте залога и той же ликвидации: я ориентировался на конкретную крипто площадку, с API которой собираюсь в дальнейшем работать для демо-трейдинга и в конечном итоге для реального трейдинга. Там используется концепция "единого трейдингового аккаунта" для спота, марджина и фьючерсов, и схема расчёта обеспечения из-за этого действительно несколько необычная (фактически она учитывает нереализованную прибыль). Если интересно, можете почитать тут и тут.

С утверждением о том, что если всё упростить, то всё становится легко, трудно не согласиться :)

И эти упрощения правда приходится делать, вопрос — на каком моменте. В своём проекте я представляю себе "стратегию" (то, что у меня представлено интерфейсом Strategy) не как генератор сигналов, а как трейдинговую систему, которая сама и размеры позиций определяет, и риск-менеджментом занимается.

В таком контексте моделирование с "бесконечным депозитом" и без ликвидаций просто не сработало бы. Точнее, оно показало бы только насколько хорошо стратегия определяет точки входа/выхода, но ничего не сказало бы про риск-менеджмент — а в любом реальном применении это всё-такии очень важный фактор. С бесконечным депозитом и без ликвидаций можно просто удваивать размер позиции после каждого проигрыша и рано или поздно выигрывать, но я бы такому трейдинговому боту свои кровные не доверил.

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

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity