Блог им. Buybuy

Палю Грааль. Ну или проблему...

Доброй ночи, коллеги!

В опережение выхода большого цикла статей (который я факаплю уже больше года) есть желание поделиться одним фактом.

Мотивация простая — ряд форумчан: Тихая Гавань3Qu etc. высказsвали/ют мнение, что при работе лимитными ордерами можно практически не думать о проскальзываниях.

Это точно не так.

Допустим, мы имеем массив баров в формате HLC. Мой любимый таймфрейм 1m, но можно использовать и более длинные — 1d, 1w etc.

Теперь мы хотим, чтобы наша система работала лимитными ордерами. Это означает:
1. По итогам бара (и предыдущих баров) считаем индикатор и формируем лимитный ордер на покупку/продажу по цене close
2. Если пытаемся открыться вверх по close(t), то открытие состоится, только если low(t+1) будет меньше close(t) хотя бы на 1 прайсстеп
3. Если пытаемся открыться вниз по close(t), то открытие состоится, только если high(t+1) будет больше close(t) хотя бы на 1 прайсстеп
На формат/принцип расчета индикатора мы не накладываем никаких условий

ВНИМАНИЕ:
Если при этих условиях аккуратно расписать точную формулу для эквити, то мы (с удивлением) выясним, что:
1. В этой формуле присутствует постоянное слагаемое, никак не зависящее от значений индикатора.
2. И это слагаемое всегда неположительно.
3. Так что при работе лимитниками формируется постоянный отрицательный снос.

Таким образом:
1. Хорошая ТС должна показывать на баре (в среднем) более высокий результат, чем (средний) снос
2. Все остальные ТС гарантированно работают в минус
3. Чем крупнее таймфрейм, тем слабее этот снос (в пересчете на бар 1m)
4. Чем крупнее таймфрейм, тем меньше средний профит ТС (в пересчете на бар 1m)
5. Соответственно, либо следует работать на более крупных таймфреймах (если с ростом шага таймфрейма профит начинает опережать снос), либо там грибов нет на более коротких (если все происходит в точности наоборот)

Что вы думаете по этому поводу, коллеги?

С уважением
★7
44 комментария
1. Сие не так. t+1 на нас никак не влияет.
Кроме того, даже систематическая ошибка в неск пунктов не оказывает влияния на результат системы. Если это тест, то сис ошибку можно просто вычесть из результата теста.
2. Даже на тестах совсем не обязательно открываться или закрываться по С или О, вполне можно даже между H и L, при соблюдении некоторых доп условий.
avatar
3Qu, не, дружище, так не пойдет

Проблема реально сложная и на пальцах не объясняется.
Нарисуешь полную формулу для эквити — сам догонишь.

Ну я все же попробую объяснить «на пальцах».

Твоя система выдала сигнал buy по итогам обработки набора баров.
Последний бар выдал цену закрытия C. Направление сделки — вверх.

Следующий бар показал low как раз C.
Мы не смогли открыться лимитником, выставленным на уровне C.
Переставили лимитник на уровень C(+1)

И так далее
До тех пор, пока не смогли открыться

Все это в целом формирует негативный снос

С уважением
avatar
Мальчик Buybuy, в общем, да, но это не имеет значения, если у нас средняя сделка хотя бы 10 п., а если больше, то и подавно.
Кроме того, шум обычно съедает все заявки от бида до оффера. Ну, а на быстрых движениях, если приспичило, шарашим лимитником по рынку (это уже не на тестах).
avatar
3Qu, имеет, имеет

Нужно просто сопоставить реальный снос и среднюю прибыль по сделке)

С уважением
avatar
Мальчик Buybuy, в общем, да.
Обычно я просто вычитаю систематические ошибки из тестовой прибыли.
Скажем, в одной из систем (1м, интрадей), тест у меня был 16%/мес, в реале было 12%/мес. То ли не все вычел, то ли рынок такой, но ошибка, имхо несущественна.
avatar
3Qu, для кого как

На FX снос составляет 0.25$ на сделку на стандартный сценарий — депо $10,000, плечо 10 (у меня и депо побольше ))), и плечо 12 ))))

У меня это 22 сделки в день двойным объемом. За месяц имеем $242 на депо $10k. Если для кого-то 2.4%/мес. чистых накладных — это хуйня..., то это точно не я
avatar
Мальчик Buybuy, я с FX не играю, в тамошних порядках не разбираюсь.
avatar
3Qu, нивапрос

Могу пересчитать.
Si? Ri? Российские акции (какие?) Амерские акции (какие?) Товарка?

С уважением

P.S. Купонные инструменты не анализирую. Причины есть.
avatar
Мальчик Buybuy, не понял.
А так,, меня уже час назад не оч интересует, а уж вчера тем более. Чё там пересчитывать?
avatar
3Qu, вид актива

Меня лично меньше 5m уже ничего не интересует...

С уважением
avatar
Мальчик Buybuy, а как же 1м?
Меньше или больше 5м не интересует? Может ошиблись?
У меня, так от суточных данных остаются 3 цифры и это не OHLCV, а некоторые расчетные значения, полученные из 1м.
avatar
3Qu, сорри...

Короче 5m конечно

С уважением
avatar
3Qu, это вообще очень сложный феномен

Можно попытаться открываться лимитником по усредненной цене предыдущего дня (подлежит отдельному тестированию), ну или по кэптивным методикам уважаемого А. Г. (не смог выяснить точную формулу для тестов).

Но, думаю, что грибов здесь нет все сложнее.
Все мои тесты с положительным маркапом показали ухудшение результата. С отрицательным — еще грустнее...

С уважением
avatar
Мальчик Buybuy, ну, не знаю, я уже на тестах открываюсь/закрывают внутри свечи от L до H. Там могут быть ошибки и в плюс и в минус, потому они более менее усредняются. При этом подходе всегда считаем наихудший для нас вариант эволюции свечи.
avatar
3Qu, ну....

Это вопрос, как конкретно считать
Если для тестов — то пох более-менее
Если для боевой ситуации — нужно учитывать все нюансы...

С уважением

P.S. К сожалению, в реале ничего не усредняется. И не может, на самом деле
avatar
Мальчик Buybuy, да просто надо взять да посчитать за 10 лет и увидим результат
мои ТС льют по рынку… хотя визуально смотрю иногда и если по клоуз бара ставить и ждать, то часто дают по этой цене в течение нового начатого бара.
Но на лимитки не перехожу, т.к. не считал на долгом сроке оправдано или нет, а без просчета не могу ввести
avatar
Мальчик Buybuy, не совсем понятно, чего вы хотите добиться. Суть лимитки в том же и состоит, что она гарантирует цену, но не гарантирует факт исполнения. Если вы постоянно переставляете лимитку на текущую цену, то непонятно, зачем вам вообще лимитка.
avatar
robomakerr, ну Ок

А если лимитка не исполнилась?
Что я должне делать по Вашему на следующем баре?

С уважением
avatar
Мальчик Buybuy, наверное либо смириться с отсутствием сделки, либо цену лимитки рассчитывать таким образом, чтобы повысить вероятность исполнения) 
avatar
robomakerr, тут все просто

Меня интересует снижение костов
Покупая по маркету я теряю спрэд
Покупая лимиткой — я теряю (в среднем) четверть спрэда. В этом и суть наблюдения, о котором идет речь

С уважением
avatar
Мальчик Buybuy, покупая лимиткой, вы просто дожидаетесь цены чуть ниже предыдущего close, если я правильно понимаю? Ну так этот уровень можно же рассчитать заранее и туда и поставить сразу лимитку.
avatar
Мальчик Buybuy, строго говоря, ваши постулаты (лимитка long сработает, только если low(t+1) < close(t) и т.д.) на бирже не совсем точны. С ненулевой вероятностью могут «налить» даже если low(t+1) = close(t). Про Форекс не скажу, не знаю.
avatar
Иван Портной, могут налить, а могут и нет

Обычно не нальют

На FX теоретическое исполнение и выписка по счету расходятся не более, чем на $3/сутки в расчете на каждые $10,000 депо с плечом 12. Это очень хорошее совпадение. Так что на форексе моя модель точно ближе к истине.

С уважением
avatar
Мальчик Buybuy, согласен, что лучше быть немного строже в оценках. Моё замечание скорее про точность в формулировках. Вы же математик )
avatar
3Qu, я не только о тестах, но и о реальной торговле

1. O нас не интересует. Ну и не всегда Cl(t)=Op(t+1)
2. Можно открываться по-другому, это подлежит отдельному тестированию
3. Можно тупо смещать цену открытия от предыдущего Close на n пунктов (это называется маркап), но результат будет еще хуже...

С уважением

P.S. t+1 влияет ровно на тот факт, исполнился предыдущий ордер, или нет
avatar
Дополнительный конкурс в поддержку отечественного кино.

1000 руб. на карту первому челу, который опубликует в этом топике название фильма, из которого заимствована процитированная фраза:

«Не ходи туда. Там грибов нет. Я сам проверил»

Такой маленький квест на знание отечественного кинематографа )))

С уважением
avatar
Мальчик Buybuy, Яндекс (и Гугл) знают все.))
Я не помню.
avatar
3Qu, ну Ок

Тогда это тест на Яндекс / Гугл )))

С уважением
avatar
Мальчик Buybuy, это уже к ним.))
avatar
Мальчик Buybuy, НАЧАЛЬНИК? Там немного иначе эта фраза звучит.
youtu.be/BkClxM-FPTE?t=1006
avatar
Юрий Ч., ДА

Я по памяти. Могу перевести 1 тыр

С уважением
avatar
Мальчик Buybuy, у меня возможность писать в личку отключена. Вы, пожалуйста, скиньте мне ваш e-mail, я вам номер карты вышлю.
avatar
Юрий Ч., скинул

С уважением
avatar
Юрий Ч., перевел

С уважением
avatar
Мальчик Buybuy, это ералаш и не про грибы, а про рыбу… карта №123456… буггагаг

avatar
High след свечи в 95+ процентов случаев больше цены Close предыдущей свечи. Откуда снос, если лимитка или попала в диапазон HL (95%) или нет, в этом случае сделки не будет
Остальные пп не понятны, с выводом не соглашусь — работать надо внутри дня, даже если стратегия долгосрочная
avatar
Даниил Лазарев, насколько больше? Какова вероятность, что «это больше» ваша заявка, а не мм исполняет??
avatar
Это что то умное. Выше моего понимания.
avatar
Мало информации от модели. Много месяцев назад пытался дать понять, что описываемая проблема обязательно возникнет, советовал качать-изучать ордерлоги итд
avatar
Кажется этот феномен похож на эффект volatility drain. Геометрические ретурны меньше арифметических. Не оно?
avatar
И ещё можно подумать от обратного: допустим после очередного закрытия свечи выставляем тысячу бидок ниже клоуза на каждом прайсстепе и тысячу оферов выше клоуза КРОМЕ одной — той которая выдала стратегия. Тогда снос будет в нашу пользу?
avatar
дельно
когда берешь
цену клоса в лимитник
то можно прикинуть вероятность исполнения сделки
по перекрытию свечей
.............
веротяность исполнения лимитки по цене клоса= число свечей без перекрытия / число свечей с перекрытием
.............
и это работает при объеме = 1...2% от объема свечи… либо объем заявки = объему в спреде… иначе от крупной заявки начнется игра и ее не исполнят
avatar
при работе лимитными ордерами можно практически не думать о проскальзываниях.Это точно не так.
У меня на практике — это точно так. И не первый год. Несмотря на все вышеприведенные формулы. 
avatar
А кто эти люди (Тихая гавань, 3Qu и т.д.)? По сути: при работе через лимитные ордеры триггер вообще легко может не сработать, либо будет неполное исполнение. Какой в этом смысл, если при маркет-ордере наше отклонение (проскальзывание) составляет менее 1%? Но даже если и более, это проблема скальперов и торгующий интрадэй. Для тех, кто вознамерился купить/продать в принципе, лимитный ордер может означать, что его заявка может не сработать, т.к.в стакане такая заявка появится только при срабатывании триггера. Особенно касается лимит-стопов. В общем, у вас там междусобойчик скорее всего, который вы решили вынести на всеобщее обозрение. 
avatar

теги блога Мальчик buybuy

....все тэги



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