Jump to content

Blog solandr

  • entries
    107
  • comments
    542
  • views
    181,963

Формула Убера

solandr

3,044 views

Управляющий DIMtrade привёл любопытную форумулу Убера для расчёта максимальной серии убыточных сделок при известном количестве сделок и проценту выигрышных сделок по ней:

 

MaxLS = LN(1 / Trades) / LN(1 — Win%)

 

Здесь MaxLS - непрерывная последовательность убыточных сделок,

Trades - общее количество сделок,

Win% - соотношение выигрышей (0...1).

 

Формула дает ответ с достоверностью 1-(1/Trades).

 

Проверим по этой формуле данные, полученные в предыдущей статье для серии в 10 млрд сделок.

В таблице приведены полученные результаты моделирования с помощью монетки (синий цвет), а также результат расчёта по формуле Убера (красный цвет).

 

blogentry-422792-0-14160600-1420415898.gifblogentry-422792-0-99657100-1420415903.gif

 

Рассматривая полученные результаты можно сделать вывод о весьма неплохом совпадении результатов моделирования с помощью монетки с результатами расчёта по формуле Убера.

Возможно несовершенство генератора псевдослучайных последовательностей, встроенного в язык MQL4, ведёт к более изломанной кривой, которая в идеале и будет стремиться к кривой, полученной на основании формулы Убера.

Solandr Test Drive



9 Comments


Recommended Comments

TheNamelessOne

Posted

Вообще-то, на монетке даже хорошо виден перекос в одну из сторон на 50/50, где выигрыши и проигрыши должны распределяться равномерно. Т.е. для ситуации 28/29 должна существовать и 29/28. Момент возникновения этой ситуации никак не предсказуем, поэтому разницу в 1-3 "единицы" вполне можно считать случайной погрешностью, если она меняет знак от случая к случаю. Если в ходе нескольких опытов погрешность для всех соотношений выигрышей/проигрышей существует только в одну сторону, то это - систематическая погрешность, вызванная "перекосом" функции распределения у генератора псевдослучайных чисел.

Share this comment


Link to comment
TheNamelessOne

Posted

Теперь давайте проанализируем формулу Убера. 1/trades - ничто иное как обратная величина числу сделок, т..е. частота сделок.

(1 - win%) - частота проигрышей, посчитанная как событие, обратное частоте выигрышей. Что такое LN - натуральный логарифм?

Если да, то на выходе формулы мы имеем безразмерный коэффициент, аналогичный соотношению сигнал/шум в технике или энтропии в физике. Итак, формула Убера даёт показатель (степень) числа (1 - win%), в который надо возвести число (1 - win%), чтобы получить 1/trades.

Т.е. это всего лишь переход от линейной шкалы к логарифмической, с учётом того, что отношение общего числа сделок к частоте проигрышей стремится к бесконечности. Т.е. формула Убера предназначена для оценки соотношений выигрыш/проигрыш от 99/1 и выше (999/1).

Share this comment


Link to comment
TheNamelessOne

Posted

Я бы пригляделся к тому каким образом формируется соотношение выигрышей/проигрышей в скрипте, поскольку формула Убера - асимптотическая, и реально генерируемая псевдослучайная последовательность должна отличаться от неё не более чем на единицу.

Share this comment


Link to comment
solandr

Posted

Вообще-то, на монетке даже хорошо виден перекос в одну из сторон на 50/50, где выигрыши и проигрыши должны распределяться равномерно. Т.е. для ситуации 28/29 должна существовать и 29/28. Момент возникновения этой ситуации никак не предсказуем, поэтому разницу в 1-3 "единицы" вполне можно считать случайной погрешностью, если она меняет знак от случая к случаю. Если в ходе нескольких опытов погрешность для всех соотношений выигрышей/проигрышей существует только в одну сторону, то это - систематическая погрешность, вызванная "перекосом" функции распределения у генератора псевдослучайных чисел.

Да, Вы правы. Существуют некоторые небольшие флуктуации в результатах прогонов скрипта. 1-3 единицы разницы могут встречаться, если запускать скрипт много раз. Если брать не 10 млрд бросков, а например 1 млрд, то эти флуктуации могут быть ещё большими. При увеличении количества бросков флуктуации уменьшаются, просто лень было дожидаться окончания расчётов скрипта и решено было остановиться на 10 млрд бросках.

Share this comment


Link to comment
solandr

Posted

Теперь давайте проанализируем формулу Убера. 1/trades - ничто иное как обратная величина числу сделок, т..е. частота сделок.

(1 - win%) - частота проигрышей, посчитанная как событие, обратное частоте выигрышей. Что такое LN - натуральный логарифм?

Если да, то на выходе формулы мы имеем безразмерный коэффициент, аналогичный соотношению сигнал/шум в технике или энтропии в физике. Итак, формула Убера даёт показатель (степень) числа (1 - win%), в который надо возвести число (1 - win%), чтобы получить 1/trades.

Т.е. это всего лишь переход от линейной шкалы к логарифмической, с учётом того, что отношение общего числа сделок к частоте проигрышей стремится к бесконечности. Т.е. формула Убера предназначена для оценки соотношений выигрыш/проигрыш от 99/1 и выше (999/1).

Интересное замечание про сигнал/шум!

Действительно степень достоверности формулы равна 1-(1/Trades). То есть на небольшом количестве сделок она не столь точна.

Хотя на небольшом количестве сделок мало что может работать точно, включая ту же самую монетку. В лучшем случае осуществив множество прогонов монеткой по небольшой серии сделок у нас будет средняя величина последовательности убытков с весьма широкой величиной возможного отклонения.

Но в качестве мгновенной приблизительной оценки максимальной последовательности убытков наверное формула всё же полезна.

Share this comment


Link to comment
solandr

Posted

Я бы пригляделся к тому каким образом формируется соотношение выигрышей/проигрышей в скрипте, поскольку формула Убера - асимптотическая, и реально генерируемая псевдослучайная последовательность должна отличаться от неё не более чем на единицу.

Здесь скорее всего окажется полезным применение в качестве поставщика случайной последовательности физического генератора, например вот такого.

Правда существуют некоторые технические сложности с реализацией данной идеи в коде MQL4. Но думаю они вполне преодолимы. Просто нужно этим плотно заняться. Возможно займусь этим в будущем.

Share this comment


Link to comment
Управляющий DIMtrade привёл любопытную форумулу Убера для расчёта ... ...

 

Вообще, это презанятный факт ;)

Дело в том, что эта "формула Убера" в рунете не упоминается вообще. Хотя она проста, как пробка. Да и вообще, найти такую формулу с именем, чтобы она не упоминалась в интернете - задача просто нереальная.

К тому же гугл обычно сам предлагает англоязычные варианты поиска. А тут - ноль.

 

Что-то здесь не так. То ли г-н DIMTrade приоткрыл нам какое-то адски тайное знание, за что теперь его (и нас) должны ликвидировать адепты, то ли Убер по-английски (а может и по-русски) пишется как-то по-хитрому и формулу всё-таки можно найти.

Что тут не так?

Share this comment


Link to comment
solandr

Posted

Вообще, это презанятный факт ;)

Дело в том, что эта "формула Убера" в рунете не упоминается вообще. Хотя она проста, как пробка. Да и вообще, найти такую формулу с именем, чтобы она не упоминалась в интернете - задача просто нереальная.

К тому же гугл обычно сам предлагает англоязычные варианты поиска. А тут - ноль.

 

Что-то здесь не так. То ли г-н DIMTrade приоткрыл нам какое-то адски тайное знание, за что теперь его (и нас) должны ликвидировать адепты, то ли Убер по-английски (а может и по-русски) пишется как-то по-хитрому и формулу всё-таки можно найти.

Что тут не так?

Действительно в поиске практически ничего нет. Единственное, что смог отыскать по теме это вот это:

http://blog.quantquant.com/blog/money_management/69.html

http://blog.quantquant.com/blog/money_management/60.html

Share this comment


Link to comment

Ух ты, презабавный прикол получился :smt044

Теперь по всему интернету пойдёт информация о "Формуле Убера" (первоисточник - Ваш блог, а Вы взяли название из поста DIMTrade),

кто-нибудь впоследствии статью в википедию напишет о "формуле Убера", слава по всему миру пойдёт... а на самом деле это просто ник ubertrader эту формулу из какой-то книжки взял и выложил на тот форум, на который Вы дали ссылки! Супер! :smt023

Share this comment


Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×