Блог им. SciFi

Расчет ожидаемого количества убыточных сделок подряд на R

    • 04 мая 2016, 21:35
    • |
    • SciFi
  • Еще
Применим R для того, чтобы быстро посчитать, каково должно быть ожидаемое количество убыточных сделок подряд при совершении 1000 сделок.

Я написал функцию runUnluck(n) которая выдает, сколько раз мы получим n убыточных сделок подряд, если совершим 10000 экспериментов по 1000 сделок в виде подбрасывания монетки, то есть с отношением риска к доходности 1 к 1.

# Created by SciFi, 2016

runUnluck <- function(n) {
        runArray <- numeric(10000)
        for(i in 1:10000) {
                runArray[i] <- sum(rle(sample(c(-1, 1), 1000, TRUE))$lengths == n)
        }
        hist(runArray, main="Гистограмма")
        mean(runArray)
}

Здесь подробнее про функцию rle. Она как раз считает количество одинаковых исходов подряд. 

Результаты:
> source("D:\\Dropbox\\R\\RunUnluck.r")
> runUnluck(6)
[1] 7.8161
> runUnluck(2)
[1] 125.2208
> runUnluck(3)
[1] 62.4047
> runUnluck(4)
[1] 31.179
> runUnluck(5)
[1] 15.6559
> runUnluck(6)
[1] 7.7635
> runUnluck(7)
[1] 3.8831
> runUnluck(8)
[1] 1.9382
> runUnluck(9)
[1] 0.9738
> runUnluck(10)
[1] 0.4922

Таким образом, если мы совершим 1000 сделок, то мы должны ожидать, что серия из 9 убыточных сделок подряд у нас хотя бы 1 раз будет.
Ожидаемое количество серий из 4 убыточных сделок подряд равно примерно 31 раз. 31 Карл!

А это гистограмма для 10000 экспериментов, 4 убыточных сделок подряд при совершении 1000 сделок. 

Расчет ожидаемого количества убыточных сделок подряд на R

То есть в некоторых ситуациях мы получим серию из 4 убыточных сделок подряд аж 50 раз, а в некоторых меньше 20 раз. Но чаще всего будем получать около 31 раза.
★13
23 комментария
А еще ведь будут серии по 5, 6, 7 и 8 подряд убыточных. Так что монетка не вариант в трейдинге.
avatar
чувак, учи теорвер, это все описывается теоритическими формулами, считать через рендом моветон…
avatar
nik, покажи как? Я попробовал, там получается в итоге, что приходится брать 0.5 в 1000 степень, например. И эту фигню умножать на число порядка 10^12. То есть какое-то нереальное вычисление сделать, чтобы получить точную цифру.
avatar
SciFi, и что в этом нереального?
avatar
Тем более через не абсолютный рэндом.
avatar
Какое преимущество это нам дает в реальном трейдинге ? 
avatar
да, (говорят царь-то...) рандом-то -псевдорандомный (… ненастоящий!!!!)
avatar
vladimir doigt, есть повод подать в суд на разработчика функции rle и возместить с него недополученную прибыль в размере пары лярдов баксов из-за введения в заблуждение насчёт случайности исхода)
avatar
stitrace, 
тогда на всех надо подавать. на джаву, сишарп, джаваскрипт и пр.
и судьям то пох, они в этом не секут.
avatar
Ватсон что вы хотите этим сказать? К чему вы клоните?
В вашей деревне математику не учили? Про биноминальное распределение?


avatar
Spekyl, как говорится, математике и физике доверяй, но проверяй. Эти ваши учёные постоянно что нибудь напридумывают, а потом фигак и оказывается что Земля не плоская или Солнце не вокруг Земли вращается. Нельзя так слепо верить всему, может боком выйти.
avatar
stitrace, скорее, фигак и 9 убыточных сделок подряд по -4% в первый же месяц торговли. 
avatar
stitrace, при малых n порядка 20 математики могут точно посчитать. При n=1000 они загнутся ) а в жизни все не так просто, n всегда неудобное число ) сделок то например, не 20 штук, а тысячи.
avatar
Spekyl, не учили. Я посмотрел, но его для данной задачи у меня не получается применить на практике. Вычисления громоздкие с факториалами и возведением вероятности 0.5 в огромную степень. Если можешь — покажи. 
avatar
Код на R можно проще: 

table(rle(sample(c(«Орел»,«Решка»), 1000, replace = TRUE)))

В итоге имеем:


т.е. при 1000 подбрасываний монеты может быть даже 1 раз, когда 15 (!) раз подряд выпадет орел.

avatar
vito2000, В конце понимание покинуло меня… То есть 9, 11 либо 15 раз подряд выпасть может только орёл, решка не может? И ни под каким соусом они не выпадут подряд 10, 12, 13 или 16 раз?! ;) Такова магия чисел и законы этой Вселенной?)
А чё убытки-то сразу. Так и прибыльных может 15 подряд быть)) А W/L ratio? А опыт торговли, который сдвигает вероятность в сторону трейдера? Или все торгуем по фазам луны?)))
avatar
Поздравляю, вы открыли закон арксинуса
avatar
Спасибо, очень интересно! А что нужно поменять в коде, что бы посчитать для других соотношении сделок, когда на одну прибыльную сделку выходит 2,3,4… убыточных?
А что такое «убыточная сделка»? Это если в течении торгового дня не достигается нужный профит, я так понимаю?

теги блога SciFi

....все тэги



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