Мальчик buybuy
Мальчик buybuy личный блог
09 августа 2021, 03:18

Конкурс на 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. Я сам эту формулу давно знаю. Конкурс устраивается исключительно для тренировки мозгов, ну и чтобы было кому переадресовывать неудобные вопросы )))
63 Комментария
  • Марионеточник
    09 августа 2021, 03:33
    Забавно, но глупо
      • Марионеточник
        09 августа 2021, 03:47
        Мальчик Buybuy, мой ответ стоит денег. У вас есть жизнь. Тратьте свое время, тратьте деньги, исследуйте. Вы же уверены так будет дешевле. Но вчера вам и за миллиард не вернуть. А у меня есть ответ сейчас.
          • Марионеточник
            09 августа 2021, 03:59
            Мальчик Buybuy, у дебилов денег быть не может. Умный посмотрел бы кто я и что могу. Но вы этого не сделали. Вот так легко я раскрыл что нет никаких 50 000 рублей, а есть лишь глупый смешной вопрос расчитаный что умный доверится и ответит))) 
              • Sergey Kovalyov
                09 августа 2021, 21:47
                Мальчик Buybuy, Этот чел — довольно известный дурачок. По сути, как Seven_17, но без размаха, что есть у Seven_17)
      • wrmngr
        09 августа 2021, 20:17
        Кажется я наконец понял задачу. Нужно найти своеобразный opportunity cost при сравнении двух методов экзекьюшена. Первый из них — берём по рынку и платим скольжения, второй — выставляем лимитку и рискуем не получить филл (но по какой цене не совсем ясно, по цене клоуза предыдущего бара?). Тогда формализация похожа на задачу из стохастики для одномерных случайных блужданий с одним поглощающим барьером. Нужно найти вероятность достижения уровня цены за время дельта_Т ( это наш таймфрем). В таком случае нам нужно сделать ряд предположений о статхарактеристиках ценового процесса, ведь очевидно что например дисперсия напрямую влияет на вероятность достижения барьера. Полагаю для коротких фреймов типа минуток нужно взять что-то типа Винеровского процесса без сноса и с сигмой, откалиброванный к рынку.
          • wrmngr
            09 августа 2021, 20:34
            Мальчик Buybuy, получается сам индикатор тут вообще не нужен? Генерируем рандомный ряд ожидаемого знака позиции на следующем баре и пытаемся получить фил по цене клоуза?
              • wrmngr
                09 августа 2021, 20:48
                Мальчик Buybuy, задержки выставления ордеров вроде бы одинаковые в теории. А вот неполное исполнение или полное неисполнение может быть проблемой. Ладно, я сдаюсь
                  • wrmngr
                    09 августа 2021, 21:20
                    Мальчик Buybuy, то что полные неисполнения будут это понятно, но как оценить это теоретически только по барам не имею представления (без предположений о процессе)
  • Марионеточник
    09 августа 2021, 04:11
    Нету у тебя ни копейки. И пруфы тому получены. Это все забавно и глупо)))
  • Samtakoy Samtokoich
    09 августа 2021, 05:40
    Умножаем размер сноса на количество сделок.
  • Механик Рынка
    09 августа 2021, 06:26
    У меня есть формула в личку плииз
  • bozon
    09 августа 2021, 10:41

    • bozon
      09 августа 2021, 10:45
      bozon,… ошибка: во второй формуле floor(Li/Ci).
      В итоге средний член = <<С(t) — C(t-1)>>
  • krolix
    09 августа 2021, 11:29
    Какая-то игра в бисер от математики имхо. Я верю, что для ваших систем это может быть полезно, но в общем случае не понимаю смысл так глубоко закапываться. Матпреимущество гораздо легче получается.

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

     

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

    • О'Грин
      09 августа 2021, 13:39
      Replikant_mih, Я уже заметил тенденцию — чем эффектнее здесь люди жонглируют формулами, тем меньше ( особенно трендовики) они зарабатывают в реальной торговле. 
       В отличие от прикладников с лозунгом — Всё гениальное работоспособное — просто.
  • SergeyJu
    09 августа 2021, 13:04
    Хотел бы уточнить. 
    Если сделка не прошла, положен ли за это штраф, или нужно выставить заново по другой цене. И в каком направлении ставить? 
    Я увсегда рассматривал эту задачу применительно к исполнению медленной ТС. При какой цене лимитка даст наименьшие потери, если при неисполнении на следующем такте выставим по прежней или худшей цене по тому же алгоритму. 
      • SergeyJu
        09 августа 2021, 18:27
        Мальчик Buybuy, все равно не понял. Что служит триггером для перехода в лонг или в аут. Результат же от этого триггера зависит.
        Хорошо бы более точно и полно описать задачу.
  • Юрий Ч.
    10 августа 2021, 09:25
    Решение. Пусть

    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)

     

      • Юрий Ч.
        10 августа 2021, 11:40
        Мальчик Buybuy, ок

        0x0.st/-JA3.csv

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

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

          • Юрий Ч.
            10 августа 2021, 12:00
            Мальчик Buybuy, Моя специальность — промышленная автоматика (электроника, роботы, системы управления — всё вот это).

            Ok, посчитаем.
          • Юрий Ч.
            10 августа 2021, 12:39
            Мальчик Buybuy, Вы знаете, я посчитал по той формуле, что я привёл. И у меня получилось смещение = (-120903) Ровно как и у вас. Расчет я сделал скриптом на языке perl, вы его, наверное, не сможете запустить. Но, на всякий случай, вот он https://0x0.st/-JmA.pl
            Я предполагаю, у вас эксель для расчётов, а у меня его нет. Ок, подумаю, как нам синхронизировать расчёт.
              • Юрий Ч.
                10 августа 2021, 13:31
                Мальчик Buybuy, Да, точно. В скрипте я должен был поделить результат на 2, чтобы было соответствие с постом. Но вы правы, и вот почему. У меня расчёт для сделок с одним контрактом. А при торговле реверсной системы мы всегда совершаем сделки удвоенным объёмом — одним контрактом закрываем позицию, другим — переворачиваемся. Поэтому, правильная формула
                EQUITYbias = -1 * (сумма абсолютных значений (CLOSE — CLOSE предыдущего бара) для всех баров из SPECIAL)
                • Юрий Ч.
                  10 августа 2021, 13:36
                  Юрий Ч., Или можно сказать, что у меня в посте формула смещения, нормированная на количество контрактов :)
    • Юрий Ч.
      10 августа 2021, 13:37
      Мальчик Buybuy, Другой нет, но вы вычтите комисс, так тоже ок :)
        • Юрий Ч.
          10 августа 2021, 13:41
          Мальчик Buybuy, получил, спасибо!
            • Юрий Ч.
              10 августа 2021, 17:36
              Мальчик Buybuy, 
              Не хотите выписать явную формулу для лимитной эквити? 

              Я когда примеривался к вашим первым конкурсам, что были в проекте, думал над этим. И я выбрал иной метод. До готового решения я его пока не довёл, но предварительные результаты обнадёживающие. Детали пока не раскрываю — мало ли, вдруг вы вернётесь к идее тех конкурсов, а конкурентов кормить не охота :) Но, если кто-то решит это в аналитическом виде, это будет чистая и заслуженная победа.
                • Юрий Ч.
                  10 августа 2021, 17:54
                  Мальчик Buybuy, Я не смотрел «Начальника», я загуглил )
                  Я решил в аналитическом виде)
                  Поздравляю. Видите, вы математик, вам понятнее язык формул. Мне понятнее язык алгоритмов, мне проще машине объяснить, чего мне надо, пусть она думает.
                    • Юрий Ч.
                      10 августа 2021, 18:09
                      Мальчик Buybuy, Мне российское кино не нравится, голливудское тоже. Вот французское 60-х… 70-x годов — то, что надо.

                      Если есть аналитическое выражение, да, вы получаете максимум. Но численными методами тоже можно хорошие результаты получать. 
            • .i.
              11 августа 2021, 14:21
              Мальчик Buybuy, что такое альфа, бета? какой раздел математики, вообще, этим занимается?
    • Тимофей Мартынов
      10 августа 2021, 14:56
      Мальчик Buybuy, просьба не материться

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн