Блог им. Buybuy

Конкурс на 50,000 руб.!

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

В одном из предыдущих топиков я обратил ваше внимание на интересный феномен:
1. При работе маркетными ордерами проскальзывание зависит только от биржи/жадности брокера (но не меньше спрэда)
2. При работе лимитными ордерами проскальзывание (ну, так все считают) равно 0

На самом деле, конечно, это не так.

Допустим, мы имеем массив баров в формате 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 прайсстеп
На формат/принцип расчета индикатора мы не накладываем никаких условий

Если при этих условиях аккуратно расписать точную формулу для эквити, то мы (с удивлением) выясним, что в этой формуле присутствует постоянное слагаемое, никак не зависящее от значений индикатора.

ОБЪЯВЛЯЮ КОНКУРС:

50,000 руб. получит человек, который предъявит точную формулу для расчета этого слагаемого (комбинация H, L, C) в срок до 31.08.21.
С 01.09.21 эта оферта отзывается.

С уважением

P.S. Я сам эту формулу давно знаю. Конкурс устраивается исключительно для тренировки мозгов, ну и чтобы было кому переадресовывать неудобные вопросы )))
★3
63 комментария
Забавно, но глупо
avatar
Марионеточник, хм

Почему....

С уважением
avatar
Мальчик Buybuy, мой ответ стоит денег. У вас есть жизнь. Тратьте свое время, тратьте деньги, исследуйте. Вы же уверены так будет дешевле. Но вчера вам и за миллиард не вернуть. А у меня есть ответ сейчас.
avatar
Марионеточник, нивапрос

Если мое вознаграждение Вас не устраивает — засуньте, плз, свой ответ себе в жопу. Ну или промолчите.

С уважением

P.S. Повторяю — мне ответ известен. Давно.

avatar
Мальчик Buybuy, у дебилов денег быть не может. Умный посмотрел бы кто я и что могу. Но вы этого не сделали. Вот так легко я раскрыл что нет никаких 50 000 рублей, а есть лишь глупый смешной вопрос расчитаный что умный доверится и ответит))) 
avatar
Марионеточник, вот мудак, пилят!

У меня есть и сильно больше денег)))
А ты, дружище, понаблюдай за конкурсом.
Если удастся — научишься правильно читать и писать по-русски)))

Уже без уважения

P.S. Смотреть на незнакомых персонажей — это для совсем отмороженных человеков. Я пытаюсь общаться с адекватами. Без обид.
avatar
Мальчик Buybuy, Этот чел — довольно известный дурачок. По сути, как Seven_17, но без размаха, что есть у Seven_17)
avatar
Кажется я наконец понял задачу. Нужно найти своеобразный opportunity cost при сравнении двух методов экзекьюшена. Первый из них — берём по рынку и платим скольжения, второй — выставляем лимитку и рискуем не получить филл (но по какой цене не совсем ясно, по цене клоуза предыдущего бара?). Тогда формализация похожа на задачу из стохастики для одномерных случайных блужданий с одним поглощающим барьером. Нужно найти вероятность достижения уровня цены за время дельта_Т ( это наш таймфрем). В таком случае нам нужно сделать ряд предположений о статхарактеристиках ценового процесса, ведь очевидно что например дисперсия напрямую влияет на вероятность достижения барьера. Полагаю для коротких фреймов типа минуток нужно взять что-то типа Винеровского процесса без сноса и с сигмой, откалиброванный к рынку.
avatar
wrmngr, это уже ближе, но не оно

(разницу с логарифмом комментировать не стал — оно не в кассу)

На самом деле можно выписать абсолютно точную формулу для эквити (если задан массив значений индикатора/ТС) без всякой стохастики. В этой формуле будет присутствовать свободное слагаемое (независимое от всех предыдущих значений индикатора). О нем и идет речь. И оно неположительно.

С уважением
avatar
Мальчик Buybuy, получается сам индикатор тут вообще не нужен? Генерируем рандомный ряд ожидаемого знака позиции на следующем баре и пытаемся получить фил по цене клоуза?
avatar
wrmngr, формула для него не нужна

Массив значений нужен. Иначе как мы поймем, в какую сторону открываться?
Смысл задачки в том, что при открытии лимитниками задержки в исполнении (связанные с периодической невозможности открыться по close на следующм баре) формируют систематический негативный снос финреза. Вне зависимости от того, какая стратегия используется.

С уважением
avatar
Мальчик Buybuy, задержки выставления ордеров вроде бы одинаковые в теории. А вот неполное исполнение или полное неисполнение может быть проблемой. Ладно, я сдаюсь
avatar
wrmngr, неполное исполнение убираем — считаем объем малым

А вот неисполнение сразу — штука систематическая

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

С уважением

P.S. Итоговая формула для эквити от массивов индикатора и HLC очень громоздка и весьма красива. Свободный от индикатора член посчитать проще.
avatar
Нету у тебя ни копейки. И пруфы тому получены. Это все забавно и глупо)))
avatar
Марионеточник, хм

Ну мудак в натуре, не?

И шо же ты, бро, потер все камменты из предыдущего топика?
smart-lab.ru/blog/714553.php

Ссышь?

Без уважения

P.S. Пруфы в студию плз. Ну или голую жопу )))
avatar
Умножаем размер сноса на количество сделок.
avatar
У меня есть формула в личку плииз
avatar

avatar
bozon,… ошибка: во второй формуле floor(Li/Ci).
В итоге средний член = <<С(t) — C(t-1)>>
avatar
bozon, нет

С уважением
avatar
Какая-то игра в бисер от математики имхо. Я верю, что для ваших систем это может быть полезно, но в общем случае не понимаю смысл так глубоко закапываться. Матпреимущество гораздо легче получается.

По теме — понятия не имею, как там что считается. Бью по рынку, закладывая для тестов 2 спреда на круг в виде проскальзывания. Лимитники не использую, т.к. эмпирически как раз в моменты сдвига вероятности и появление сильного тренда, когда системы должны входить, тебе часто будут не наливать в ордер. Точно не просчитывал.
avatar
Представьте ситуацию — цена падает.  Первый тик следующего бара имеет цену Close(t)+priсestep, он же High(t+1). Второй тик уже Close(t)-priсestep, остальные еще ниже.
Далее «По итогам бара (и предыдущих баров) считаем индикатор и формируем лимитный ордер на покупку/продажу по цене close». По вашему алгоритму лимитка исполнится. На первом тике следующего бара. По моему не очень реальная картина получается.
avatar
При работе лимитными ордерами проскальзывание (ну, так все считают) равно 0

 

Я чё-то опять нихрена не понял. Встаешь в стакан — получишь (или не получишь) цену такую какую вбил. Бьешь по рынку лимиткой получишь цену какую вбил или лучше (исполнишься на всю величину заявки или не на всю). Ну и конечно выставиться по клоузу закрытой свечи не гарантирует исполнение.

avatar
Replikant_mih, Я уже заметил тенденцию — чем эффектнее здесь люди жонглируют формулами, тем меньше ( особенно трендовики) они зарабатывают в реальной торговле. 
 В отличие от прикладников с лозунгом — Всё гениальное работоспособное — просто.
avatar
Хотел бы уточнить. 
Если сделка не прошла, положен ли за это штраф, или нужно выставить заново по другой цене. И в каком направлении ставить? 
Я увсегда рассматривал эту задачу применительно к исполнению медленной ТС. При какой цене лимитка даст наименьшие потери, если при неисполнении на следующем такте выставим по прежней или худшей цене по тому же алгоритму. 
avatar
SergeyJu, штрафа нет

Ордер перевыставляется каждый бар

С уважением
avatar
Мальчик Buybuy, все равно не понял. Что служит триггером для перехода в лонг или в аут. Результат же от этого триггера зависит.
Хорошо бы более точно и полно описать задачу.
avatar
SergeyJu, да все просто на самом деле

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

Так понятнее

С уважением

P.S. Аутов нет — система всегда в лонге или в шорте. Но можно, конечно, открыться не сразу
avatar
«Есть данные (HLC), есть логика симуляции исполнения ордеров».

А как ее на сайзе эмулировать, если глубины стакана в моменте нет.
По тем тикам (сделкам), что сматчились без вас? А отмену, частичное исполнение как в тестере задать. Все статистически?
Каждую прошедшую  минуту проверять объемы свечи. А если его не было, с каким стопом выходить.

Сам автор, про объемы не пишет, они не участвуют в его формуле. Но при этом есть точная формула эквити, как и некоторый коэффициент. Возможно, задача немного не полна.
avatar
Eugene Logunov, практический смысл прост

Явная формула для лимитной эквити очень красива и познавательна (несмотря на свою громоздкость). Из нее можно сделать полезные выводы.

С уважением

P.S. Из программного симулирования выводы делать значительно сложнее
avatar
Мальчик Buybuy, Если никто не напишет, то формула в сентябре будет опубликована?
avatar
Sergey Kovalyov, нет, не будет

Я положил на это много усилий. Очень много.
Буду в настроении — м.б. подарю в личку.
Но без понимания механики процесса она будет бесполезна. Разве что как бенчмарк, который следует обогнать.

С уважением
avatar
Мальчик Buybuy, так может быть варианты тоже на публику не выкладывать?
avatar
bozon, как сами решите

Не могу и не хочу ничего требовать
Формула очень простая. Угадать ее абсолютно невозможно (ну это я про себя, итоговое решение меня очень сильно удивило).

С уважением
avatar
Sergey Kovalyov, ну и

Те 3 человека, которые (пока) собрались решить задачу, не планируют выкладывать решение. И я не могу их заставлять.

С уважением
avatar
Решение. Пусть

EQUITY = EQUITYsig + EQUITYbias, где
EQUITY — результирующая эквити,
EQUITYsig — компонент, зависящий только от сигналов индикатора.
EQUITYbias — компонент, не зависящий от сигналов индикатора (то, что нужно найти по условию конкурса).

При инверсии сигнала индикатора (суффикс inv означает инверсию):
EQUITYinv = EQUITYsiginv + EQUITYbias
но
EQUITYsig = — EQUITYsiginv
поэтому
EQUITY + EQUITYinv = EQUITYsig — EQUITYsig + 2 * EQUITYbias
2 * EQUITYbias = EQUITY + EQUITYinv
Что такое EQUITY + EQUITYinv? Это суммарная эквити, из условия, что на каждом баре мы будем пытаться и покупать и продавать. Часто такое возможно, поэтому, вклад каждого бара в сумму EQUITY + EQUITYinv равен нулю. Для каких баров это не так? Вот пример таких баров:

Это все бары (назовём эту совокупность SPECIAL), для которых
HIGH <= CLOSE предыдущего бара
либо
LOW >= CLOSE предыдущего бара.
Каждый такой бар даст отрицательное приращение для EQUITY + EQUITYinv в размере абсолютного значения (CLOSE — CLOSE предыдущего бара)
Таким образом,
2 * EQUITYbias = -1 * (сумма абсолютных значений (CLOSE — CLOSE предыдущего бара) для всех баров из SPECIAL)

 

avatar
Юрий Ч., нет

Но это весьма близко к правильному ответу

Чтобы не заниматься формализмом — предлагаю Вам выложить здесь любой минутный массив HLC (и любой рандомный массив индикатора) для комфортного Вам актива (валюты, акции etc.)

Я опубликую число (не формулу) сноса за период, а Вы устраните (мелкие) ошибки в своем рассуждении.

Думаю, это будет справедливо

С уважением

P.S.
avatar
Мальчик Buybuy, ок

0x0.st/-JA3.csv

Там столбцы
date, time, open, high, low, close, indicator
Это EURUSD c ценами, умноженными на 100000, чтобы они стали целыми

Пока предполагаю, что вы имеете ввиду влияние шага цены на снос. Из условия "(комбинация H, L, C)" мне показалось, что вы  его считаете стремящимся к нулю.

avatar
Юрий Ч., накопленный дрифт -120903

Расчет начинается со второго бара (дабы успеть посчитать первую разницу цен)

С уважением

P.S. Мне импонирует Ваша манера рассуждений. Если не секрет — на что учились и что заканчивали?
avatar
Мальчик Buybuy, Моя специальность — промышленная автоматика (электроника, роботы, системы управления — всё вот это).

Ok, посчитаем.
avatar
Мальчик Buybuy, Вы знаете, я посчитал по той формуле, что я привёл. И у меня получилось смещение = (-120903) Ровно как и у вас. Расчет я сделал скриптом на языке perl, вы его, наверное, не сможете запустить. Но, на всякий случай, вот он https://0x0.st/-JmA.pl
Я предполагаю, у вас эксель для расчётов, а у меня его нет. Ок, подумаю, как нам синхронизировать расчёт.
avatar
Юрий Ч., все возможно

Тогда ошибка содержится в Вашем посте
А скрипт считает правильно

С уважением
avatar
Мальчик Buybuy, Да, точно. В скрипте я должен был поделить результат на 2, чтобы было соответствие с постом. Но вы правы, и вот почему. У меня расчёт для сделок с одним контрактом. А при торговле реверсной системы мы всегда совершаем сделки удвоенным объёмом — одним контрактом закрываем позицию, другим — переворачиваемся. Поэтому, правильная формула
EQUITYbias = -1 * (сумма абсолютных значений (CLOSE — CLOSE предыдущего бара) для всех баров из SPECIAL)
avatar
Юрий Ч., Или можно сказать, что у меня в посте формула смещения, нормированная на количество контрактов :)
avatar
Бинго!

У меня уже есть Ваша карта, но при переводе штуки за Начальника с меня сняли комиссию 3%, что овердохуя.

М.б. есть другая карта? Подключена СБП? Внести нал на карту? Что-то еще?

С уважением
avatar
Мальчик Buybuy, Другой нет, но вы вычтите комисс, так тоже ок :)
avatar
Юрий Ч., перевел

С уважением
avatar
Мальчик Buybuy, получил, спасибо!
avatar
Юрий Ч., You are welcome!
avatar
Юрий Ч., кстати

Не хотите выписать явную формулу для лимитной эквити? (при заданном массиве значений индикатора)
Судя по аккуратности Ваших рассуждений, у Вас это вполне может получиться)

С уважением

P.S. Но предупреждаю — это начало дороги в Ад...
P.P.S. Я опубликовал топик по итогам конкурса и упростил Ваш алго. В итоговой формуле условие можно поменять на Alpha(t)+Beta(t)~=2. Так будет еще ближе к Вашему рассуждению
avatar
Мальчик Buybuy, 
Не хотите выписать явную формулу для лимитной эквити? 

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

Я решил в аналитическом виде)
И саму формулу для эквити и задачу оптимизации)

Более того — существует деформация (однозначное преобразование) ценового ряда, которое переводит лимитную эквити (на старом ряде) в маркетную (на преобразованном ряде).

А сейчас я просто развлекаюсь и ищу единомышленников. К сожалению, их очень и очень мало… Никто не хочет включать мозги...

С уважением

P.S. Неохота кормить конкурентов — есть личка и мейл. Я не думаю, что буду устраивать сильно сложные конкурсы. К примеру, решенную Вами задачу я считаю сложной, поэтому и поставил такой прайс. Однако в общей массе моих вычислений это частный результат, который был получен мимоходом за 5 мин (внутри других, более сложных вычислений). Просто мои выкладки не слишком элементарны, а Вы предложили очень изящное рассуждение. Поэтому деньги я платил с удовольствием, а жабу временно придавил ))) (надеялся, что никто не решит, блин...)
P.P.S. Вы второй человек среди моих знакомых, который смотрел «Начальника» )))
avatar
Мальчик Buybuy, Я не смотрел «Начальника», я загуглил )
Я решил в аналитическом виде)
Поздравляю. Видите, вы математик, вам понятнее язык формул. Мне понятнее язык алгоритмов, мне проще машине объяснить, чего мне надо, пусть она думает.
avatar
Юрий Ч., загуглил?!

Круто! Хотя Быков — интересный режиссер. Его стоит смотреть (только не заказные сериалы — это адский трэш). И «Начальника» гляньте, плз. Он короткий.

С алго есть проблема. Для решения задачи оптимизации (максимальной эквити) требуется точное аналитическое выражение. Ну или квантовый комп на 512+ кубит. Это уже очень сложно...

С уважением
avatar
Мальчик Buybuy, Мне российское кино не нравится, голливудское тоже. Вот французское 60-х… 70-x годов — то, что надо.

Если есть аналитическое выражение, да, вы получаете максимум. Но численными методами тоже можно хорошие результаты получать. 
avatar
Юрий Ч., эх, ностальгия

1. Я тоже терпеть не могу российское кино. Но Быков — один из 2.5 интересных режиссеров. Как киноман, я за всем этим наблюдаю
2. Франция золотого периода — это мечта. Но хороших фильмов мало. Мельвилль мало снимал и быстро умер. Лотнер быстро скатился в маразм и тоже умер. У остальных — по 2-3 фильма макс.
3. Я уже лет 8-9 как сижу строго на Ю.Корее и Гонконге (с редкими вкраплениями Японии и Латинской Америки). Голливуд смотреть невозможно, Европу уже тоже. К сожалению.
4. Без аналитики численным образом результат можно не получить вообще. Возможно, позднее я опубликую пост, в котором показано, что случайным образом выбранные коэффициенты индикатора имеют нулевую вероятность получить профитную эквити. Во вселенной лимитных ордеров все устроено сложно на самом деле. А во вселенной маркетных ордеров невозможно точно оценить издержки (ну это если не обманывать себя, конечно)

С уважением
avatar
Мальчик Buybuy, что такое альфа, бета? какой раздел математики, вообще, этим занимается?
avatar
Мальчик Buybuy, просьба не материться
Тимофей Мартынов, принято

Я просто подумал, что этот топик (почти) никто не будет читать до конца.
И расслабился...

Виноват. Исправлюсь.

С уважением
avatar

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

....все тэги



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