anatolyutkin
anatolyutkin личный блог
08 июля 2016, 17:06

О влиянии плечей на неопытных трейдеров

Давненько чего-то на смартлабе не был, накопился потенциал однако. Чтобы не было совсем уж взрыва волатильности, надо срочно что-то сделать. А тут про плечи и про плечи разговоры, почему разоряются трейдеры: smart-lab.ru/blog/337982.php. Дело разорения трейдеров--это дело важное  и нужное, так что вспомнил свою старинную статейку времен медведевских и покоренья. Вот за что люблю свои древние работы--можно перепечатывать без правок вообще. Вот были же времена, вот умели же люди писать :)

Заранее извиняюсь перед читателями за плохое форматирование--статья выпущена еще аж на стокпортале, потом в жж переехала, у нее сложная судьба, свинцовые игрушки, прикрученные к потолку :)

-----------------

Для большинства не слишком искушенных трейдеров ценовые движения рынка представляют собой полностью случайное, броуновское движение. Почему это так, я попытался раскрыть здесь: http://anatoly-utkin.livejournal.com/16424.html. Если бы не было комиссий, то динамика счета такого трейдера также была бы броуновской, и он жил бы долго. При наличии комиссий происходит плавное сползание счета, то есть время на обучение ограничено. Но есть еще одна, очень существенная опасность для счета “броуновского” трейдера–это взятие плечей, и в настоящей статье я бы хотел пояснить существо этой проблемы.

ээДля моделирования ситуации возьмем случай вкладывания постоянной доли капитала. Тогда капитал после очередной сделки, s_next, выражается через капитал до этой сделки, s как s_next=s*(1+f*x/100), где f–доля вложенных средств, x–результат сделки на один лот. В этой простой формуле уже содержится ответ. Во-первых, следующий капитал–это предыдущий УМНОЖИТЬ на что-то. Поэтому если мы умножимся на ноль, то дальше капитал всегда будет нулем. Таким образом, критическим является вопрос о том, на что умножается капитал, то есть о величине (1+f*x/100). Ясно, что x не может быть слишком большим, по крайней мере, оно ограничено размером -100% (для лонга, по крайней мере). Поэтому для любых долей f, меньших единицы, множитель (1+f*x/100) всегда больше нуля, то есть на ноль при отсутствии плеча мы не умножимся никогда. Напротив, при f больших единицы (взятии плеча) существуют такие x, при которых множитель равен нулю. К примеру, при f=5 достаточно x=-20, чтобы капитал занулился. В общем-то, это очевидная вещь, но очевидные вещи надо повторять.

Рассмотрим теперь проблему количественно. Смоделируем динамику капитала трейдера при помощи генератора случайных чисел.  Для этого в формулу s_next=s*(1+f*x/100) будем подставлять в качестве x случайные числа. Здесь достаточно тонким является вопрос о выборе распределения для x. Очевидный, казалось бы, выбор распределения с нулевым средним (например, нормального) не будет правильным, поскольку при этом появится постоянное смещение счета вниз из-за геометрических эффектов. Не вдаваясь в детали, скажу, что правильным распределением будет, например, логнормальное. Запишу сразу конечную формулу для x, которая использовалась: x=exp(sigma*z)-1+M, где sigma–параметр, определяющий волатильность цены инструмента, z–случайная величина, распределенная нормально с нулевым средним и единичным СКО, M–параметр качества трейдера, для “броуновских” трейдеров он равен комиссии, для опытных он положителен.

Перейду к результатам моделирования. Прежде всего, рассмотрим случай отсутствия комиссий и плечей, то есть M=0, f=1. В этом случае счет показывает обычную броуновскую динамику:

401_1

Отсюда видно, что шансы продержаться неплохи, аж за 10000 сделок ничего особо не происходит (sigma равнялась 1%, что соответствует интрадэйным сделкам). Замечу, что по одной реализации выводы делать не стоит, поэтому в конце я привожу код VBA, по которому каждый может повторить это моделирование. Далее, введем комиссию в размере 0.03%. В общем-то, очевидно, что будет. Счет уменьшится на порядок за число сделок порядка 1/0.03%=около 3000 сделок:

401_2

Комиссии убивают счет и это путь неплечевых “броуновских” трейдеров. Вывод такой, что у “броуновского” неплечевого трейдера есть около 0.5/комиссия сделок, пока его счет уменьшится в два раза.

Теперь самое интересное–влияние плечей. Выберем в качестве f тройку–это соответствует вложению 300% капитала в каждую сделку. А комиссию занулим–без комиссий! Я привожу достаточно типичную картинку:

401_3

Это так похоже на работу многих трейдеров (смотри, например, на comon.ru), не правда ли? Рассмотрев множество таких картинок, можно прийти к выводу, что использование плечей СИСТЕМАТИЧЕСКИ убивает счет. То, что было нейтральным при отсутствии плеча (первый рисунок), становится убийственным при его присутствии. Качественные причины этого приведены во втором абзаце статьи. Ну, и наконец, динамика счет при наличии комиссии 0.03% и f=3:

401_4

Тут, как говорится, без комментариев. 500 сделок–и полсчета нет, 1000 сделок–нет счета полностью.

Выводы:

1) Не умеешь–не торгуй!

2) Если не знаешь, умеешь или нет, торгуй без плечей и пореже–будет больше времени научиться.

3) Единственный способ заработать–это сделать M положительным (то есть, как говорят, торговать с положительным матожиданием).  Но даже при этом большое плечо все равно убьет счет–желающие могут убедиться, поэкспериментировав с кодом.

””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””

Ниже прикладываю код VBA. Он выдает эквити в третий столбец того листа Excel, к которому он приложен. Последовательность действий:

1) Открываем новую книгу Excel (пусть она называется book1)

2) Жмем alt+F11–открываем Microsoft Visual Basic

3) Слева  выбираем VBAProject (book1)–Microsoft Excel Objects–Sheet1. Жмем туда правой кнопкой мыши и выбираем View Code

4) В открывшуюся вкладку копируем код.

5) Жмем на сохранить

6) Возвращаемся в excel, жмем alt+F8 и выбираем макрос Sheet1.Leverage. Запускаем его–три первых столбца листа Sheet1 должны заполниться.

7) Строим диаграмму в виде графика по третьему столбцу.

8) Управление параметрами M (comiss в коде), share и sigma–через код VBA. Положительные M соответствуют положительной комиссии и приводят к убыванию счета.

“”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”

Option Explicit

Sub Leverage()

Dim i%, imax As Integer

Dim s!, comiss!, sigma!, share!, x!, y As Single

imax = 10000

For i = 2 To imax

x = Rnd()

y = Rnd()

Cells(i, 1) = (-2 * Log(x)) ^ (0.5) * Cos(2 * 3.1415926 * y)

Next i

sigma = 1

sigma = sigma / 100

comiss = 0.03

comiss = comiss / 100

share = 3

For i = 2 To imax

Cells(i, 2) = Exp(sigma * Cells(i, 1)) — 1 — comiss

Next i

s = 1

For i = 2 To imax

s = s * (1 + share * Cells(i, 2))

If s < 0 Then s = 0

Cells(i, 3) = s

Next i

End Sub

64 Комментария
  • SergeyJu
    08 июля 2016, 17:10
    Умные знают, дураки не поймут. Так что, хоть и бесполезная публикация  - но плюсую. 
  • DATSKIY
    08 июля 2016, 17:37
    дык надо фьючами торговать, там можна с плечами, можна нет, комес копеечный
      • DATSKIY
        08 июля 2016, 18:02
        anatolyutkin, а небольшие? а как же управление капиталом, какой размер ставки, постоянный или нет?
          • DATSKIY
            08 июля 2016, 18:16
            anatolyutkin, торгуй по тренду и твое м всегда будет больше, если не помогает, уменьшай позу.плечи тут не причем, если они не 1 к 100
              • DATSKIY
                08 июля 2016, 18:30
                anatolyutkin, у меня тренд есть.а статистика это случайное блуждание.она тебе все заоптимизирует и оставит без штанов
          • SergeyJu
            08 июля 2016, 18:18
            anatolyutkin, причем для всех этих кэлли и f-оптимальное «оптимум» устроен так, что слева (недогруз) при подходе к оптимуму плавный рост, а справа от оптимума резкое падение. Поэтому, при минимальной переподгонке все эти статистики дают завышенные оценки оптимального плеча. 
            Поэтому даже относительно опытный спекулянт должен быть особо осторожен при выборе допустимого плеча
              • SergeyJu
                08 июля 2016, 18:34
                anatolyutkin, даже макдд не панацея. Фишка в том, что всегда нужно быть готовым к тому, что система сломается. И МДД выйдет больше плана. 
                Диверсификация по системам и по активам, вот что позволяет хоть как-то контролировать риск, помимо макДД и волюнтаристкой оценки риска на ночном гэпе.
                  • anatolyutkin, и Ваш ник на ЛЧИ?))
                      • Мурен(а)
                        12 июля 2016, 15:45
                        anatolyutkin, бекреверс можно сделать для каши из 5 систем?
                        • Мурен(а)
                          12 июля 2016, 15:46
                          Мурен(а), Reshpekt Fund Russia , ты руками торгуешь? если да, то почему не участвуешь в лчи?
                          • Reshpekt Fund Russia ☮
                            12 июля 2016, 22:38
                            Мурен(а), руками, да. Куда мне, горемыке, тягаться с мастерами лчишными? И без меня там лошариков хватает.
              • Vladimir
                09 июля 2016, 13:40
                anatolyutkin,
  • Алексей Сошников
    08 июля 2016, 18:17
    Ну и дебри написал )))))) Причём тут плечи..))) Варьируй лот, подгоняй его под риски, и всё. Видно, что чел не в теме.
    • SergeyJu
      08 июля 2016, 18:22
      Алексей Сошников, размер лота устанавливает биржа. 
      • DATSKIY
        08 июля 2016, 18:26
        SergeyJu, биржа устанавливает размер го, вот это надо учитывать, а варьировать можно число контрактов в соответствии с размером стопа
        • SergeyJu
          08 июля 2016, 18:31
          DATSKIY, надо аккуратно риски считать, а не стопы и не ГО. Потому что риск состоит не в разовой потере денег на одной сделке со стопом, а в максимально возможной убыточной серии. Тем более, что у меня вообще нет в системах стопов, а вот оценки рисков очень даже есть.
          • DATSKIY
            08 июля 2016, 18:45
            SergeyJu, а размер стопа в соотношении с рамером лота и есть риск.его лучше считать при каждой новой сделке и не ждать когда серия убытков убьет депо
            • SergeyJu
              11 июля 2016, 12:50
              DATSKIY, Вам лучше или всем лучше. 
              Подумайте на досуге о том, что для разных людей может быть разное «лучше».
              • DATSKIY
                11 июля 2016, 13:05
                SergeyJu, лучше для меня ессественно
  • InvMan.xyz
    08 июля 2016, 22:13
    Для большинства не слишком искушенных трейдеров ценовые движения рынка представляют собой полностью случайное, броуновское движение

    По тому что так и есть ;-) Если не Броуновское, то 1000% что рандомное, наверное просто трейдеры верят сказкам учителей что он не не рандомное и что им просто надо продолжать учится… :-) :-) :-)

    Не на любом финансовом инструменте можно получить прибыль одной и той-же стратегией.
  • D.G.
    08 июля 2016, 22:22
    Присоединяйтесь к опросу =) http://smart-lab.ru/blog/338051.php
  • Sergey Pavlov
    09 июля 2016, 04:25
    Корректно было бы говорить следующим образом.
    Систематическое увеличение плечей ведет к систематическому увеличению риска, что приводит к систематическому увеличению просадки, что при определенных обстоятельствах приводит к недостатку средств на счете для открытия новых позиций. К сожалению, движения финансов вверх и вниз не являются арифметически симметричными. Вот и всё.
      • Sergey Pavlov
        09 июля 2016, 06:38
        anatolyutkin, тут важный нюанс. Счет убивают не плечи, а риски. Плечо может быть первым и даже половинным, а счет сольется, поскольку риск большой. Всё зависит от обоснованности стратегии и правильной оценки её рисков. Необходимая корректность в том, что обычно принято ругать плечевую торговлю, а реально люди просто не понимают рисков.
  • Vladimir
    09 июля 2016, 13:57
    «интрадей и мельче фондирую просто по МДД» что это значит? Мне кажется вы не супер сложные вещи, любите выдатдь терминами поумнее :-)
  • Игорь (ФСБ рулит)
    09 июля 2016, 18:06
    наверное только я один прогонял код, если никто не написал про ошибку при копи пасте). Печально(- человек старается, а все проходят мимо.
  • Игорь (ФСБ рулит)
    10 июля 2016, 00:16
    вот эта строка, при копипасте Cells(i, 2) = Exp(sigma * Cells(i, 1)) — 1 — comiss
    некорректно "-" минус переносит, надо подправить вручную. Она выделяется красным цветом в коде. 
  • Кирилл Браулов
    10 июля 2016, 19:49

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


    Т.е. Вы (как искушенный трейдер) считаете, что в ценовых движениях все-таки есть память?

      • Кирилл Браулов
        11 июля 2016, 12:45
        anatolyutkin, 

        Насколько понял, в той публикации утверждаете, что есть инерция в движениях? Т.е. после достаточно большого приращения, последующие приращения в течении некоторого времени скорее всего будут продолжать первоначальный импульс?

        Попробовал это проверить, взял историю фРТС с 2008, приращения всех минуток (примерно 1.3 млн приращений), и для каждого приращения, которое больше 0.1% запоминаю все последующие в течении 1 часа. Получается вот такое облачко зависимостей. По оси Х — первоначальное приращение, по оси Y — те что были после него в течении часа. Как видно — матожидание тут равно 0. Если бы среднее было бы с положительным наклоном, то можно было бы говорить про инерцию (тренд). Если бы с отрицательным — контртренд. Но тут чистый нулевой наклон. Так что, в данном конкретном случае боюсь ни «эджа», ни «памяти» никакой нет :(

        • SergeyJu
          11 июля 2016, 12:59
          Кирилл Браулов, в данном конкретном случае памяти, возможно, и нет. Или Ваш способ анализа недостаточно чувствителен. Но на самом-то деле, в рынке есть память и мы её торгуем. Просто, на фоне почти случайных движений цен эта память сильно замаскирована шумом.
          • Кирилл Браулов
            11 июля 2016, 18:33
            SergeyJu, имеете ввиду широко, что во всей рыночной информации (цены, объемы, ОИ, вола, и т.д.) есть память? Или узко: что память есть в голых ценовых приращениях одного инструмента? Если первое — то наверное соглашусь, а вот насчет второго есть большие сомнения...

            А какая длина у той памяти, которую Вы обнаружили? Т.е. как долго рынок для Вас более-менее закономерен (после распознавания паттерна)?
            • SergeyJu
              11 июля 2016, 18:37
              Кирилл Браулов, и там и там есть память, просто в ценах её легче монетизировать при обнаружении :)
          • Кирилл Браулов
            11 июля 2016, 18:42
            anatolyutkin, 

            Да, может быть я не совсем понимаю, что такое «память», и анализ с облачком не позволяет ее обнаружить. Но, имхо, даже такой простой анализ показывает, что обсуждаемый пример (ждем достаточно большого приращения и потом торгуем в течении какого-то времени) имеет нулевое матождание, как и СБ. А нулевое МО (вернее, чуть отрицательное, если вспомним про комис) говорит, что OptF=0, т.е. надо быть вне позы. Вы же согласны, что с помощью тейков/стопов отрицательное МО в положительное не переделаешь?


            Утверждений про инерцию в движениях там нет :)

            А вот это: "если цена в эти минуты уж пошла вверх, то она пойдет и выше"?

              • SergeyJu
                11 июля 2016, 19:01
                anatolyutkin, и зоны повышенной волатильности в 16-30, 17-30, например.
              • Кирилл Браулов
                11 июля 2016, 19:58
                anatolyutkin, не совсем понял, что значит минутка 10:00 «экстремально трендова». Имеете ввиду, что если взять приращение между Close минутки [10:00,10:01] и Close предыдущего дня, и если это приращение больше 0.3%, то в течении часа (до 11:00) цена скорее всего будет расти (матожидание всех приращений минуток за этот период будет положительным)?
                  • Кирилл Браулов
                    11 июля 2016, 21:19
                    anatolyutkin, сорри, с TS не знаком. Если он прогоняет на барах, то результаты в статье скорее всего далеки от действительности. Если прогон на тиках, то правильно ли происходит вход по стопу. Например, на закрытии предыдущего дня цена была 100000, утром в 10:00 стоит стоп 100300 в лонг и 99700 в шорт. Допустим стоп выбивается тиком 100300 и далее идут тики со строго возрастающей ценой. В этом случае TS будет считать, что удалось открыть лонг по цене 100300 (что невозможно)? Или он корректно будет ждать повторного тика 100300 (или с меньшей ценой) и только тогда будет считать, что открыт лонг?


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

                  • Дмитрий Овчинников
                    31 августа 2019, 23:04
                    anatolyutkin, 
                    теоретически и по тестам все так и есть. Практически в минуту 10:00-10:01 для того, чтобы торговать так, как в обычное время, необходимо иметь совершенно другую инфраструктуру исполнения заявок :(
            • SergeyJu
              11 июля 2016, 19:07
              Кирилл Браулов, память в рынке не проявляется, как постоянно действующий примитивный феномен, сводящийся к инерции в цене. Хотя и так бывает тоже. Если было бы иначе, любой второкурсник зарабатывал бы бабки на рынке с неизбежностью захода и восхода солнца.   
  • Кирилл Браулов
    11 июля 2016, 12:58
    И потом, в той книжке «Введение в эконофизику», которую Вы же и советовали (кстати, спасибо), они после мощных исследований пришли вроде к выводу, что «памяти» в ценах почти нет (если и есть, то очень кратковременная). Для себя так понял, что если «память» и есть, то только на уровне HFT. Был бы рад примеру, который бы опровергал это утверждение и показывал бы, что «память» точно есть и достаточно долгая :)
    • SergeyJu
      11 июля 2016, 13:10
      Кирилл Браулов, память как раз сидит в бОльших таймфреймах и определяется она, глобально, направлением движения больших капиталов. Если взять, к примеру, выборку однодневных относительных приращений РТС в 2008 году и в 2013 году, то почти наверное (лень проверять) эти две выборки различит критерий типа Колмогорова-Смирнова. 
      • Кирилл Браулов
        11 июля 2016, 18:50
        SergeyJu, различие этих двух выборок может доказать наличие памяти в ценовых приращениях? Сомневаюсь. Уверен, что с помощью одного и того же процесса с чистым СБ можно сгенерировать две различные выборки. Например, если добавить в процесс возможность редкого гэпа, после которого резко вырастает вола. В одну выборку гэп попадет, в другую нет. И они будут отличаться. Хотя процесс их сгенерировавший будет один и тот же, основанный только на СБ. 
        • SergeyJu
          11 июля 2016, 18:58
          Кирилл Браулов, если после гэпа выросла вола, значит, есть память. 
          Вообще-то сравнение двух выборок покажет в первую очередь не наличие памяти, а неоднородность (нестационарность) процесса. Но в данном случае общий уровень волатильности в 2008 году был выше, чем в 2013 и эту разницу не убить   исключением 1-2 точек.
          • Кирилл Браулов
            11 июля 2016, 20:03
            SergeyJu, память есть, но в приращениях волы, а не цены, имхо.
            • SergeyJu
              12 июля 2016, 10:32
              Кирилл Браулов, и там есть и там. Ищите и обрящете. Это я Вам как профессиональный алготрейдер говорю и как инвестор любитель.
              Вот смотрите, после 81 года доходность 30-летних государственных облигаций  США падала 30 лет. Какая к бесу случайность!

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

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