Diamond
Diamond личный блог
09 января 2022, 16:07

Стратегия случайного открытия позиции

В качестве эксперимента возникла гипотеза о случайном открытии позиций и оказалось, что в TradingView уже готовая стратегия, которая это делает. Её код выглядит так:

//@version=4
strategy(title="Random Entries Work", shorttitle="REW", overlay=true, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100, currency=currency.USD,commission_type=strategy.commission.percent,commission_value=0)

// === GENERAL INPUTS ===
strategy = input(defval="Long Only",title="Direction",options=["Long Only", "Short Only", "Random"])
enter_frequency = input(defval=10,minval=1,maxval=100,title="Percent Chance to Enter")
exit_frequency = input(defval=3, minval=0,maxval=100,title="Percent Chance to Exit",tooltip="This should be much lower than Percent Chance to Enter. Higher values decrease time in market. Lower values increase time in market.")
start_year = input(defval=2020, title="Start Year")


// === LOGIC ===
r = random(0,100)
enter = enter_frequency > r[0]
exit = exit_frequency > r[0]
direction = random(0,100) >= 50

// === STRATEGY - LONG POSITION EXECUTION ===
enterLong() =>
    strategy.opentrades == 0 and enter and (strategy == "Long Only" or (strategy == "Random") and direction) and 
       time > timestamp(start_year, 01, 01, 01, 01)
exitLong() =>
    exit
strategy.entry(id="Long", long=strategy.long, when=enterLong())
strategy.close(id="Long", when=exitLong())
// === STRATEGY - SHORT POSITION EXECUTION ===
enterShort() =>
    strategy.opentrades == 0 and enter and (strategy == "Short Only" or (strategy == "Random" and not direction)) and 
       time > timestamp(start_year, 01, 01, 01, 01)
exitShort() =>
    exit
strategy.entry(id="Short", long=strategy.short, when=enterShort())
strategy.close(id="Short", when=exitShort())

Эта стратегия случайно открывает лонг или шорт, а также случайно закрывает позицию, всё это происходит с учётом вероятностей, которые задаёт пользователь. Результат получился интересный. Сначала попробуем шортить индекс S&P500, как это любят делать армагеддонщики:

Стратегия случайного открытия позиции

Винрейт лишь 20%, а депозит на дистанции сокращается. Если шортить другие биржевые инструменты, то чаще будет получаться то же самое. Вообще у шорта есть закономерность — его математическое ожидание во многих случаях ниже, чем у лонга, поэтому теперь пробуем случайно открывать лонг, но с умными настройками:

Стратегия случайного открытия позиции

Вероятность того, что открывается лонг будет 10%. Вероятность закрытия позиции 1%, учитываем кризисы (включаем худшие для рынков годы в тестирование), получаем совершенно другой результат.

Новатэк:

Стратегия случайного открытия позиции

Норильский Никель:

Стратегия случайного открытия позиции

Сбербанк:

Стратегия случайного открытия позиции

Лукойл:

Стратегия случайного открытия позиции

Во всех случаях депозит всегда растёт, а винрейт выше 50%. Таймфрейм тестирования — дневной (одна свеча — один день). В бумагах с плохой историей типа ВТБ или ОГК кривая доходности будет со знаком минус и пытаться в них инвестировать это как покупать шлаки. Кстати, этот принцип хорошо работал в ChartGame — если попытаться купить бумагу, которая на истории только падает, то длительное удержание скорее принесёт убыток.

Если покупать чаще, то кривая доходности начнёт постепенно падать. Если начать чаще закрывать позиции, то растёт вероятность убытков.

Ещё один интересный момент — насколько случайно поведение цены при таких условиях? Воспользуемся индикатором Probability Distribution Histogram, проанализируем все дневные свечи на трёх случайно выбранных биржевых инструментах и получим знакомые картинки:

Стратегия случайного открытия позиции

Стратегия случайного открытия позиции

Стратегия случайного открытия позиции

Это говорит о том, что приращения цены случайные и их гистограммы повторяют хорошо знакомое нормальное распределение с «толстыми хвостами».

Какие выводы это даёт?

1. Не надо шортить рынки

2. Биржевые инструменты с хорошей историей можно покупать в любом случайном месте, закрывать такую позицию можно тоже в случайном месте и на длинной дистанции это может системно приносить прибыль

3. Если случайно покупать слишком часто, будет убыток

4. Если слишком часто закрывать позицию, убытки вырастут

5. Сам рынок находится в состоянии суперпозиции — он одновременно случайный и неслучайный

6. Если по этой системе беспорядочно торговать шум на более мелких таймфреймах, то это уже не даст прибыль

А теперь о грустном — все эти манипуляции всё равно проигрывают по доходности стратегии Buy & Hold, а плечи вас обанкротят из-за больших просадок.

Если посмотреть исходный код стратегии в TradingView, можно найти наблюдения её автора:

// === TIPS ===
//
// -Increasing «Percent Chance to Exit» will shorten the time in a trade. You can see the «Avg # Bars In Trade» go down as you increase. If «Percent Chance to Exit» is too high, the study won't be in the market long enough to catch any movement, possibly exiting on the same bar most of the time.
// -If you're getting the red screen, that means the strategy lost so much money it went broke. Try reducing the percent equity on the Properties tab.
// -Switch the start year to avoid black swan events like the covid drop in 2020.
// -
// === FINDINGS ===
//
// Most markets lose money with a «Random» direction strategy.
// Most markets lose ALL money with a «Short Only» strategy.
// Most markets make money with a «Long Only» strategy.
//
// Try this strategy on: Bitcoin (BTCUSD) and the NASDAQ (QQQ).
//
// There are two popular memes right now: «Bitcoin to the moon» and «Stocks only go up». Both are seemingly true. Bitcoin was the best performing asset of the 2010's, gaining several billion percent in gains. The stock market is on a 100 year long uptrend. Why? BECAUSE FIAT CURRENCIES ALWAYS GO DOWN! This is inflation. If we measure the market in terms of others assets instead of fiat, the Long Only strategy doesn't work anymore.
// Try this strategy on: Bitcoin/GLD (BTCUSD/GLD), the Eurodollar (EURUSD), and the S&P 500 measured in gold (SPY/GLD).
//
// Bitcoin measured in gold (BTCUSD/GLD) still works with a Long Only strategy because Bitcoin increased in value over both USD and gold.
// The Eurodollar (EURUSD) generally loses money no matter what, especially if you add any commission. This makes sense as they are both fiat currencies with similar inflation schedules.
// Gold and the S&P 500 have gained roughly the same amount since ~2000. Some years will show better results for a long strategy, while others will favor a short strategy. Now look at just SPY or GLD (which are both measured in USD by default!) and you'll see the same trend again: a Long Only strategy crushes even when entering and exiting randomly.
//
// === «JUST TELL ME WHAT TO DO, YOU NERD!» ===
//
// Bulls always win and Bears always lose because fiat currencies go to zero.


Очевидно, он тоже не торгует против рынка.
23 Комментария
  • О'Грин
    09 января 2022, 16:20
    Эта стратегия случайно открывает лонг или шорт, а также случайно закрывает позицию, всё это происходит с учётом вероятностей, которые задаёт пользователь.
     Заданные вероятности УЖЕ делают вход/выход совершенно неслучайными. 

     НИКТО и НИКОГДА не торгует случайными входами, как бы они эту случайность не проповедовали. Иначе бы они делали направления и время входов подбрасыванием монетки или сигналов из генератора случайных чисел. )))
  • felidae
    09 января 2022, 17:46
    Писал на mql скрипт, который открывает позицию в случайную сторону со случайным тейком и таким же стопом, пргонял его ИРЛ на большом количестве счетов на основных парах. Результат немного предсказуем: потери очень близки спреду. Собственно, на этом форекс и живёт.
    Про нормальное распределение приращений цен была гипотеза, но я её даже проверять не стал, а принял как данное.

  • ezomm
    09 января 2022, 18:52
    Сжатие или растяжение свечей зависит от фазы времени фрактала Эла.Фаз всего 8.Размер свечей падает по фазам 3-1-5-с-2-а-в-4 
    • Сергей Иваненко
      09 января 2022, 19:12
      ezomm, сколько годовых заработал в 2021?
    • Серёга Ростовский
      09 января 2022, 20:42
      ezomm, а может С и 1 поменять местами? С вроде тоже крупная.
      • ezomm
        10 января 2022, 21:08
        Серёга Ростовский, C чаще равна А.
        • Серёга Ростовский
          10 января 2022, 21:53
          ezomm, волна С большим объёмом, чем А. Разве это не увеличивает её шансы быть большей?
  • Loki_Lzhec
    09 января 2022, 20:03
    не все так радужно… ну если есть много медяшек и уйма времени — то подсев на индекс или на акции из индекса — то да, будешь в профите… но обычно  нет ни того ни этого.
  • GAURANGA
    09 января 2022, 20:08
    Какие выводы это даёт?

    1. Не надо шортить рынки  Это вывод для случайного входа! Ведь профит там генерируется за счет глобального тренда вверх
  • iAkuma
    09 января 2022, 20:10
    Если акция растёт, то случайные лонги будут в прибыль. Если падает, то шорты будут в плюс. Учитывая, что рынок в целом растёт, случайные лонги будут прибыльными, так же как и купи-держи. Ничего удивительного.
      • Свой Мужик
        09 января 2022, 23:51
        Diamond, просто год не тот выбран )))
  • svgr
    09 января 2022, 20:19
    Подвох тут в том, что выбираются растущие инструменты и по ним делаются все выводы.
    Справедливее было бы составить случайный портфель всего по чуть-чуть.
    Там преимущество лонга сохранится, но уже не будет столь явным. И, возможно, профита по нему не будет из-за комиссий.
      • svgr
        09 января 2022, 21:10
        Diamond, поэтому надо научиться определять неслучайные точки для входов как вверх, так и вниз. Занимаюсь этим. Три инструмента в теме как раз отслеживаю.
        ГМК и Сбер — волатильные ликвидные. То есть хорошие для системной торговли. Новатэк ещё легче по волатильности, но менее ликвиден.
        • Salvinit
          09 января 2022, 23:09
          svgr, поэтому надо дольше ждать, хороших просадок, и на них покупать 😒

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

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