Archive for the 'Как строить торговые системы' Category


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

posted by admin @ 13:06 ПП
22 Февраль 2012

     Для большинства не слишком искушенных трейдеров ценовые движения рынка представляют собой полностью случайное, броуновское движение. Почему это так, я попытался раскрыть здесь: http://www.2stocks.ru/utkin/?p=319. Если бы не было комиссий, то динамика счета такого трейдера также была бы броуновской, и он жил бы долго. При наличии комиссий происходит плавное сползание счета, то есть время на обучение ограничено. Но есть еще одна, очень существенная опасность для счета “броуновского” трейдера–это взятие плечей, и в настоящей статье я бы хотел пояснить существо этой проблемы.

ээДля моделирования ситуации возьмем случай вкладывания постоянной доли капитала. Тогда капитал после очередной сделки, 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.jpg

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

401_2.jpg

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

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

401_3.jpg

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

401_4.jpg

Тут, как говорится, без комментариев. 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


О моделях рынка

posted by admin @ 14:29 ПП
21 Февраль 2012

     Любой торгующий на рынке использует некую модель рынка. Как сказал один известный трейдер, “мы торгуем не рынок, а наше мнение о нем”. Полное понимание, что такое рынок, недоступно никому, как недоступно полное понимание любой другой проблемы. Природа неисчерпаема, и рынок, как часть природы–тоже неисчерпаем. Поэтому любым торгующим всегда явно или неявно используются некоторые модели рынка. Настоящая заметка посвящена некоторым наиболее уместным моделям.

    Наиболее уместной базовой моделью рынка, на мой взгляд, является такая: рынок–это совокупность многих агентов, стремящихся заработать деньги. Эта модель сразу же объясняет хорошо известный факт высокой случайности движений рыночных цен. При наличии множества стремящихся заработать неглупых агентов, влияние каждого из которых на весь рынок невелико, создаваемые этими агентами ценовые движения высокослучайны, поскольку если бы они не были высокослучайны, то это тут же бы использовалось агентами пошустрее, приводя к рассасыванию неслучайности (подробнее смотри здесь). Отсюда также следует тот качественно более или менее правильный факт, что большинство на рынке проигрывает (см., например, здесь и здесь). Ведь для среднего участника (а такие и составляют большинство–это определение среднего участника), рынок представляет собой случайное блуждание с плавным сползанием вниз из-за комиссий (кстати, плечи также очень плохо влияют на среднего участника–об этом в следующей статье).

    Всвязи с такой высокой случайностью цен самой простой моделью рынка будет модель полностью случайного блуждания. В физике такая модель называется броуновским движением, в математике–процессом без памяти. Этот процесс получается очень просто–нужно просуммировать независимые случайные величины, каждая из которых обладает нулевым средним. Самый простой пример–бросать монету и прибавлять к итогу +1 при выпадении орла и -1 при выпадении решки. Типичная реализация броуновского движения изображена на рисунке.

slide2.JPG

Видно, что график чертовски похож на биржевые цены–то есть модель неплоха.

    Таким образом, уже самая простейшая модель неплохо отражает реальность. Однако, есть факты, которые в такую модель не укладываются. Например, известно, что существуют трейдеры, стабильно зарабатывающие из года в год и даже из месяца в месяц. Вероятность такого события в рамках модели броуновского движения ничтожно мала, следовательно, модель не описывает данный феномен. Попробуем построить более адекватную модель. Модель броуновского движения–это крайность, это полностью случайное движение, один только шум. Для начала построим другую крайность–полностью неслучайное движение. Это модель “всевидящего ока”. В рамках такой модели мы знаем о действиях и намерениях всех участников рынка, следовательно, любое движение цены полностью предсказуемо, и шума нет вообще. Также, как и броуновское движение, “всевидящее око”–это слишком грубое приближение, однако изучение этих двух крайностей позволяет построить адекватную модель рынка.

    Самой адекватной моделью рынка при описании результатов успешных трейдеров является промежуточная между двумя крайностями модель не полностью случайного блуждания. То есть движение не полностью беспамятно, существуют ситуации, когда среднее  очередное приращение цены смещено от нуля. Опытные трейдеры ищут такие ситуации, это и называется построением хорошей системы. При этом в силу принципа рассасывания закономерностей (все хотят денег), найденная закономерность не вечна. Скорость ее распада зависит от класса трейдера–чем лучше он большинства, тем дольше проживет торгуемая закономерность.

    Выводы:

1) Для большинства рынок является броуновским движением со сползанием за счет комиссий. Так было, есть и будет–в этом суть рынка.

2) Из п.1 следует, что большинство проигрывает (медленно и уныло без плечей, быстро и весело–с плечами–об этом в последующих заметках).

3) Для тех, кто лучше большинства–рынок не является полностью случайным. Он имеет некоторую неслучайность, или, как говорят финансисты, неэффективность. Самые известные неэффективности: инвестиционность, трендовость, арбитраж (по сути, арбитраж–это контртрендовость синтетического инструмента), обдирание больших слонов (это HFT технологии, связанные с выявлением крупных заявок). Принцип этих неэффективностей известен всем, но мало кто умеет ими пользоваться–что опять же связано с основным принципом рынка–большинство на нем не зарабатывает.

4) Замечание, не следующее из этой статьи, но следующее из моего опыта. Любой может стать лучше большинства–для этого нужны знания и опыт. И то и другое берется из упорного труда.


   Продажа опционов–это один из способов зарабатывания денег на рынке. Продажа опционов вне денег обладает высокой вероятностью прибыльной сделки, поэтому она весьма неплохо дополняет трендовые системы, обычно имеющие невысокую «угадайку». Для нашего трендового российского рынка связка «трендовая система+система продажи опциона» является потенциально неплохой.

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

     Итак, предположим, что после тестирования (как его проводить, описано здесь) у нас есть некая система продажи опционов, дающая статистическое преимущество. Вопрос: сколько контрактов в этой системе использовать? Сразу отмечу, что система обязательно должна иметь некий метод контроля убытков, иначе это только вопрос времени, когда опционный счет обнулится. Стопы в опционах не очень подходят из-за слабой ликвидности, поэтому в роли ограничителя обычно выступает достижение базовым активом некоего уровня. Рассмотрим для примера продажу колла 150 000 на RI при текущей цене RI 130 000. Пусть наш ограничительный уровень-150 000, если RI достигнет этого уровня, то мы начинаем дергаться. Так вот, размер позиции должен быть таков, чтобы мы додержали позицию до этих 150 000, не получив маржин колл. Оценим этот размер позиции. Опасность нам угрожает из двух мест:

1) Гарантийное обеспечение. При движении базового актива (БА) против продавца опциона ГО увеличивается. Однако, ГО не бывает больше ГО самого фьючерса RI. ГО фьючерса RI составляет обычно в районе 15% от его стоимости, но в волатильные времена может быть существенно больше. Будем полагать ГО равным 25% (это с хорошим запасом, но опыт показывает, что запас в этих вопросах не повредит) от стоимости фьючерса, то есть ГО одного опционного контракта при дохождении фьючом до 150 000 величину 150 000*0.6*0.25=22 500 рублей (я взял переводной коэффициент между величиной фьючерса в пунктах и рублях в виде 0.6, что соответствует курс доллара 30 рублей за доллар). Если у нас x контрактов, то надо иметь 22 500*x рублей, чтобы хватило на ГО.

2) Для современных маржируемых опционов все расчеты ведутся при помощи вариационной маржи. Поэтому к моменту дохождения БА до 150 000 наш счет уменьшится. Насколько-оценить сложно, это зависит от стоимости опциона в момент выхода в деньги. Будем полагать стоимость опциона в момент выхода в деньги 2000 рублей. Это значит, что наш счет уменьшился по сравнению с первоначальным на 2000*х рублей (здесь пренебрежено ценой продажи опциона- ибо она обычно находится в рамках погрешности оценки цены опциона).

    Теперь проведем простейшую оценку. Пусть у нас на счету было А рублей. Тогда после дохождения БА до 150 000 на счету останется А-2000*х рублей, и их должно хватить на ГО, которое равно 22 500*х рублей. В итоге получаем уравнение на х: А-2000*х=22 500*х, из которого х=А/24 500.

    В заключение краткие выводы:

1) Приведенная оценка-простейшая, но тем не менее дает правильные ориентиры. Основной целью заметки является указание на необходимость таких оценок, чтобы потом не было мучительно больно.

2) В выводе нет ни слова про доходность. И это не спроста. Основной задачей при продаже опционов является контроль рисков. Так же, как и при других способах торговли. Доходность-вторична, риски-первичны. Характерной доходностью при продаже опциона будет 500 рублей (характерная цена продажи)/24 500 рублей=2% на экспирацию. Это тоже условно, эта цифра может быть и существенно больше,  но доходности в десятки процентов в месяц при продаже опционов-нестабильны.


О тестировании опционных стратегий

posted by admin @ 23:12 ПП
14 Сентябрь 2011

     Опцион-это производная ценная бумага, в некотором смысле являющаяся страховкой от нежелательного движения цены базового актива (ЦБА). Опцион заключается между продавцом опциона и покупателем опциона на некоторый срок, в течение которого покупатель имеет право купить (такой опцион называется опционом колл) или продать (это опцион пут) базовый актив по оговоренной в опционе цене (эта цена называется ценой страйк). Соответственно, продавец опциона берет на себя обязательство выступить контрагентом такой сделки. Поскольку продавец берет на себя некоторые обязательства, то за эти обязательства он требует определенную премию (в дальнейшем-цена опциона). Поскольку даже на момент истечения опциона зависимость его цены от ЦБА носит ярко выраженный нелинейный характер, то ценообразование опциона достаточно нетривиально (см., например, здесь: http://www.2stocks.ru/utkin/?p=547) .

  Чем опцион может быть полезен при биржевой торговле? Прежде всего тем, что опционы позволяют зарабатывать на любых типах рынков и даже на рынке, который вообще никуда не движется. Но весьма важно понимать, что опционы сами по себе никакого преимущества не дают (см., например, здесь: http://www.2stocks.ru/utkin/?p=547). Опционы-это не грааль, а лишь удобный инструмент. Поэтому для стабильного заработка при работе с опционами необходимо иметь статистическое преимущество, так же, как и в случае торговли самим БА. Следовательно, для разработки опционных стратегий необходимо тестирование на прошлых ценах, такое же, как и для БА. Краткому описанию того, как провести такое тестирование, и посвящена статья.

  Опционные стратегии можно условно разбить на два класса:

1) Экспирационные. Это тип стратегий, когда набирается некоторое количество позиций в опционах и далее ожидается экспирация (истечение срока действия) опциона. Такие стратегии обязательно включают в себя покупки опционов-ибо только с проданными опционами любую экспирационную стратегию ждет крах. К такого сорта стратегиям относится покупка опционов, покупка/продажа спредов, покупка/продажа кондоров, и.т.д.

2) Спекулятивные. Для этих стратегий характерно активное управление позицией во время всего срока действия опциона. Пример-продажа опционов с дальнейшим роллированием в соседние страйки или/и месяцы при неблагоприятном движении цены.

  Основной принципиальной проблемой для создания опционного тестера является определение цены опциона. Для тестирования опционов нужна их цена. Существуют два основных способа добывания цены опциона:

а) Используя историческую волатильность. Историческая волатильность (HV)-это среднеквадратичное отклонение ЦБА от своего среднего. С практической точки зрения, это индикатор технического анализа, который умеет считать любая тестирующая программа. Затем цену опциона можно найти по известной модели Блэка-Шоулса (Модель Блэка-Шоулса дает взаимно однозначное соответствие между волатильностью и ценой опциона при известных ЦБА, цене страйк и времени до экспирации-см. здесь http://www.2stocks.ru/utkin/?p=547). Таким образом, для тестирования опционов по такой методике реальные цены опционов не нужны, они заменяются модельными. Плюсы такого подхода-в простоте, минусы-иногда реальная цена опциона весьма существенно отличается от рассчитанной по HV.

566.JPG

Рис. 1: Результаты тестирования по методу HV-исторической волатильности.

  На рисунке 1 представлены результаты тестирования следующей опционной стратегии: продажа опционов колл на индекс РТС со временем до истечения один месяц, со страйком на 15% выше рынка на момент продажи. Синей кривой представлена эквити при работе с одним контрактом, внизу-OHLC график базового актива (фьючерса на индекс РТС), красной линией-линия страйка. Таким образом, протестирована экспирационная стратегия-продажа непокрытых опционов.

б) Использование реальных цен опционов. Основная трудность такого подхода-добыча цен опционов. Некоторые данные (OHLC) можно скачать здесь: http://mfd.ru/export/ , однако даже такие данные не вполне адекватны. Опционы-товар слаболиквидный, спреды достигают процентов и десятков процентов, поэтому в идеале следует иметь цены ask и bid, да еще и с количеством лотов. Я таких данных не встречал, но и OHLC дата из mfd.ru дает весьма неплохое приближение.

567.JPG

Рис. 2: результаты тестирования той же стратегии, но по реальным ценам опционов.

  На рисунке 2 представлено тестирование той же стратегии, но по реальным ценам. Видно, что кривые эквити рис.1 и 2 отличаются довольно существенно, хотя общий вывод один–торговать ни ту, ни эту нельзя. То есть для качественного анализа вполне подойдет идейно и технически существенно более простой метод HV–уже из него видно, что экспирационная продажа непокрытых опционов–это путь к краху.

  Выводы:

1) Добывание цен опционов, естественно, намного более адекватно, нежели чем использование HV. Однако, и метод HV вполне имеет право на жизнь. Я бы сказал так: для экспирационных стратегий и для качественных оценок подойдет метод HV. Кроме того, эта методика вообще полезна для понимания, что такое опцион, что такое модель Блэка-Шоулса, и других вопросов теории опционов.

2) Для спекулятивных стратегий необходимо полноценное тестирование с ценами опционов и в последующей статье я опишу блок-схему опционного тестера по методу б).


     Опционы являются мощным средством для получения прибыли на финансовом рынке. Их основное преимущество-в том, что их много. Всего лишь для одного актива-фьючерса на индекс РТС существует несколько сотен различных опционов. В результате этого можно создавать всевозможные опционные стратегии, в широких пределах варьируя доходности и риски. Включение опционных стратегий в портфель систем способно существенно улучшить параметры торговли. Классическим примером на эту тему является сочетание трендовых систем для акций и систем с продажей опционов.

     При торговле опционами широко используется понятие теоретической цены опциона. Это понятие важно и нетривиально, и в настоящей заметке я бы хотел прояснить смысл этого термина. В теории ценообразования опционов краеугольным камнем явялется формула Блэка-Шоулса. Это однозначная связь между ценой опциона, ценой базового актива и волатильностью. Например, цена опциона колл равна C=S*F(d1)-K*F(d2), где S-цена базового актива, K-страйк опциона, F-функция стандартного нормального распределения, d1={ln(S/K)+V^2*T/2}/V*T^0.5, d2=={ln(S/K)-V^2*T/2}/V*T^0.5, V-волатильность базового актива. Несмотря на кажущуюся сложность, физический смысл формулы Блэка-Шоулса весьма прост-цена опциона такова, чтобы его продавец и покупатель в среднем получили ноль в модели броуновского движения (подробно это описано здесь: http://www.2stocks.ru/utkin/?p=547 ) . Рассмотрим подробно эту формулу с точки зрения практика, торгующего опционами. В этой формуле нам известны C (цена опциона, она задается рынком), S (цена базового актива, также задается рынком), K (страйк опциона), Т (время до экспирации). Таким образом, в этой формуле известно все, кроме буквы V-волатильности. Поскольку формула задает однозначную связь между всеми входящими в нее величинами, то зная текущее состояние рынка, всегда можно найти букву V. Именно этим и занимается биржа-она мониторит цены на опционы и на базовый актив и периодически (приблизительно раз в минуту) рассчитывает волатильности (найденная таким образом волатильность еще называется IV-implied volatility: подразумеваемая волатильность). Естественно, IV волатильность для каждого опциона будет своей. Обычно рассматривают группу опционов в одинаковой датой экспирации и строят зависимость IV от страйка. Типичная получающаяся картинка выглядит так:

volatility_curve1.JPG

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

     Обсудим особенности этого графика. Прежде всего, видно, что подразумеваемая волатильность различается для разных стайков. То есть реальная ситуация существенно отличается от модели Блэка-Шоулса с броуновским движением. Видно, что кривая загибается вверх по мере удаления от центральных страйков (центральные страйки-это страйки, близкие к цене базового актива. На данном графике она в районе 175 000). Это-широко известная улыбка волатильности.  Она означает, что опционы с далекими от текущей цены страйками рынок ценит больше, чем это следовало бы в модели случайного блуждания. Этот факт является подтверждением хорошо известной и принятой в науке модели так называемых «тяжелых хвостов» рынка. Простейший пример «тяжелого хвоста»-любой черный лебедь Талеба (кризис 2008, безумный рост 2003 и 2005).

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

    Обсудим теперь, как получается теоретическая цена опциона. Из графика видно, что неплохо бы провести через все квадратики некую сглаживающую кривую. Этим и занимается биржа, делая приблизительно вот так:

volatility_curve2.JPG

Таким образом, вместо набора рыночных IV появляется некая усредненная по всем страйкам сглаженная волатильность (подробности процедуры сглаживания можно посмотреть на сайте биржи РТС здесь: http://fs.rts.ru/files/5562/ ). По этой сглаженной волатильности затем можно при помощи формулы Блэка-Шоулса восстановить цену любого опциона. Полученная таким образом цена и называется теоретической ценой опциона и транслируется биржей.

     Выводы:

1) Кривая волатильности является простым и удобным средством увидеть весь рынок опционов с некоторой датой экспирации.

2) Эта кривая ярко демонстрирует основные рыночные особенности и ожидания участников рынка.

3) Теоретическая цена опциона-это достаточно искусственная вещь, и относиться к ней надо с опаской. Возможны резкие отклонения реальной цены от теоретической, причем процедура усреднения, применяемая биржей, может просто не справиться с резким выбросом. На эту тему существуют роботы, один из них описан Алексеем Смывиным на его блоге (gamblesome в ЖЖ).

4) Зачем вообще нужна вся эта процедура бирже? Она в основном нужна для установления ГО для проданных опционов. Поэтому в случае быстрого рынка ГО может не вполне адекватно отображать риски опциона опять же вследствие возможной  неадекватности усреднения, применяемого биржей.


О паттернах

posted by admin @ 16:17 ПП
9 Июнь 2011

      Паттерн-это некоторая специфичная ситуация на рынке. Например, гэп, ударный день, молот-это примеры паттернов. Ценность паттернов для торговли заключается в том, что из-за специфичности ситуации, влекущей за собой паттерн, дальнейшая динамика цены может не являться полностью случайным блужданием. Например, после сильного и неожиданного ударного дня вниз дальнейшее среднее смещение рынка меньше нуля-это связано со срабатыванием стопов и маржинколлов. Наряду с трендовостью, использование паттернов является одним из основных инструментов для построения торговых систем. Все фигуры классического анализа-это в том или ином виде паттерны.   Приведу простейший и грубый пример того, как можно подойти к первоначальной стадии разработки паттерновой системы. Пусть мы хотим использовать в своей системе истеричность рынка после сильного движения вниз. Определим паттерн как движение цены закрытия вниз более чем на 1 средний по последним 14 дням истинный диапазон. То есть цена закрытия падает за день больше, чем на ATR. Чтобы проверить эффективность такого паттерна, рассчитаем среднее приращение цены закрытия на следующем после паттернового дня. Приведу результаты для некоторых ликвидных Российских акций:

ГАЗПРНЕФТЬ, n=54, delta=-0.6136

ГАЗПРОМАО, n=66, delta=-0.0138

ГМКНОРНИК, n=65, delta=-0.6948

ВТБАО, n=59, delta=-0.7825

РОСНЕФТЬ, n=69, delta=0.3503

РОСТЕЛ-АО, n=44, delta=-0.5352

ЛУКОЙЛ, n=56, delta=0.8974

ПОЛЮСЗОЛОТ, n=60, delta=-0.5462

МТС-АО, n=56, delta=-0.0994

СБЕРБАНК, n=68, delta=0.6315

СЕВСТ-АО, n=53, delta=0.0537

СУРГНФГЗ, n=50, delta=-0.384

ТАТНФТ3АО, n=59, delta=0.5699

ТРАНСНФАП, n=46, delta=-0.4372

Здесь delta-среднее процентное приращение цены закрытия на следующем после паттерна баре, n-количество образовавшихся паттернов на периоде 01.01.2007-01.05.2011.  Видно, что результаты достаточно разбросаны для различных акций, а среднее по акциям находится в районе -0.11%.

    Как можно использовать эту информацию? Грубо, возможны два варианта.

1) Мы говорим, что среднее приращение цены меньше нуля, проверяем это утверждение на статистическую значимость, и если оно значимо, то торгуем портфель акций по системе-«шорт по цене закрытия в паттерновый день и откуп на следующем закрытии». Будучи выполненной грамотно, такая система способна приносить небольшую прибыль.

2) Более тонкий подход. Наша физическая идея заключена в том, что сильное движение рынка создает кучу отчаявшихся участников, которые более или менее предсказуемо будут действовать на следующий день. Однако, сильные движения могут происходить по разному. Грубо, все зависит, где и в какую сторону загрузились будущие отчаявшиеся. Соответственно, от этого будет зависеть будущее смещение шансов. Исследовать эти вещи следует в более мелком таймфрейме, но это выходит за рамки данной статьи. И если после такого исследования для какой-то акции, например, оказалось, что в нее на рывке вниз загружаются в среднем слабые шортисты, и это подтверждается цифрами типа вышеприведенных (например, у  Сбера смещение на следующий после паттерна день сильно положительное: +0.63%), то это уже основа для торговли в лонг по системе  «лонг по цене закрытия в паттерновый день и продажа на следующем закрытии».

     Некоторые замечания.

1) Приведенные выше расчеты-это очень грубый макет поиска и использования паттерна и не более.

2) При использовании паттернов (как впрочем и построении любых систем) чрезвычайно важно понимать физические основы системы. Иными словами, откуда возьмутся деньги? Кто и почему двигает цену в нашем направлении?

3) Хорошие паттерновые системы дополняют трендовые системы и улучшают общие характеристики портфеля.

4) Отличное многостороннее исследование паттерновой торговли изложено на форуме forex.kbpauk.ru :

http://forex.kbpauk.ru/showflat.php/Cat/0/Number/11259/an/0/page/0#Post11259 .


Как сравнивать торговые системы

posted by admin @ 9:40 ДП
12 Апрель 2011

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

     1) По доходности. Чем выше доходность, тем лучше система. На мой взгляд, способ не выдерживает никакой критики. Доходность на банковском депозите равна 4%, доходность победителей ЛЧИ составляет тысячи процентов. Но это не значит, что победители ЛЧИ в тыщу раз лучше депозита—ведь почти все эти люди слили не по одному депозиту. К сожалению, в России основным способом сравнивания инвестиционных стратегий является именно доходность, что говорит о не очень высоком уровне владения предметом.

     2) Отношение годовой доходности к максимальной просадке счета. Чем оно больше, тем лучше. Это уже гораздо более хороший способ—ибо он включает в рассмотрение не только доходности, но и риски. В принципе, таким способом можно даже пользоваться, но лично мне он не нравится. Дело тут вот в чем. Максимальная просадка счета не является статистически устойчивой величиной. Она сильно зависит от результатов конкретных сделок. Приведу пример. Пусть у нас уже накопилась просадка в 10%. Следующая сделка с вероятностью 0.5 может быть с результатом +1.2% и с вероятностью 0.5—с результатом -1%. Допустим, дальше просадка кончится. Это значит, что мы равновероятно получим просадку либо 8.8% либо 11%. Это большая разница, и возникает она из-за того, что максимальная просадка счета, не являясь никаким средним, не обладает статистической устойчивостью. Поэтому этот способ также мне не нравится.

    Для справки приведу еще другие примеры «плохих», то есть статистически неустойчивых величин: максимальное количество идущих подряд убыточных сделок, максимальное количество идущих подряд прибыльных сделок

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

       3) Способы, включающие рассмотрение как доходности, так и риска при помощи средних по результатам сделок.

Для справки: среднее—это некоторая величина, усредненная по всему массиву данных (в данном случае массивом данных являются результаты всех сделок). Например, средняя прибыль на сделку—среднее. Этот класс способов является самым научно обоснованным. Я использую следующие параметры:

    а) МО (выборочная средняя результатов сделок). Это средняя прибыль на сделку. Должна быть существенно больше транзакционных издержек. Если честно, я не люблю название МО, поскольку выборочная средняя—это не матожидание. Но так уж принято в трейдерской тусовке.

     б)  СКО-выборочное среднеквадратичное отклонение (неисправленное) результатов сделок от своего среднего. Оно должно быть не слишком большим по сравнению с МО.

     в) Величина SQN=МО*sqrt(N)/СКО, где N-общее число сделок. С легкой руки Ван Тарпа эта величина названа System Quality NumberTM . Значок ТМ поставил Ван-Тарп—типа он это придумал. Ну простим ему это—он же трейдер, к тому же американец—такого сорта людям положено выпендриваться : ) Справедливости ради скажу, что считаю Ван-Тарпа трейдером и биржевым тренером высокого уровня.

      Итак, что такое SQN? Это t-статистика или статистика Стьюдента, придуманная лет сто назад для выявления значимости отличия выборочной средней нормального распределения от нуля. То есть логика такая: предполагаем, что распределение сделок—нормально. Далее вычисляем SQN по этому распределению. Чем SQN больше, тем вероятнее, что система действительно имеет отличное от нуля матожидание.

     Из моего опыта следует, что SQN—отличный классификатор. Им даже можно пользоваться как целевой функцией при компьютерной ранжировке систем. Система считается хорошей, если SQN>3.

   SQN является очень хорошим сравнивателем систем, но он хорошо работает лишь когда число сделок велико. Однако есть системы с малым числом сделок, например—система купил-держи. Как быть с ней? Все классификаторы, основанные на статистике сделок, для купил-держи не работают. Поэтому выделяют еще одну группу классификаторов.

    4) Способы, включающие рассмотрение как доходности, так и риска при помощи параметров кривой эквити. В отличие от статистики сделок, кривая эквити любой системы, независимо от числа сделок может быть охарактеризована статистически значимыми параметрами. Я использую не очень научно обоснованный метод изучения эквити. Он таков: соединяем первую и последнюю точку эквити прямой и вычисляем среднеквадратичное отклонение эквити от этой прямой (СКО). Тогда наклон прямой соответствует ожидаемой прибыли на один бар (МО), а отношение МО/СКО характеризует соотношение доходность/риск. Этот классификатор я обычно использую для сравнения с системой купил-держи—все мои системы должны быть лучше купил-держи.

    Этот метод не очень правилен вот почему. Не совсем верно соединять концы эквити прямой. Лучше провести линию линейной регрессии, и уже по ней отсчитывать СКО и МО. Но это сложней технически, а для моих целей впоне хватает вышеупомянутого метода.


    Одной из важнейших особенностей заработка на финансовых рынках является нестабильность. Нестабильность связана со случайным характером движений цены, и, как следствие, случайным характером результатов сделок. На рисунке приведена реализация зависимости заработка от времени при следующих предположениях: каждый день мы зарабатываем 0.1% плюс некоторое случайное число, равномерно распределенное от -1% до +1%.

stability1.jpg 

Как нетрудно понять, матожидание нашей игры равно 0.1% в день, а СКО–около 0.6% в день, что достаточно реалистично. Видно, что в этой заведомо выигрышной игре никакой стабильности даже рядом нет–есть и падения и периоды застоя длиной дней в сто.

Выводы таковы:

1) При работе на финансовом рынке не стоит расчитывать на стабильный заработок–столько-то рублей в день (месяц, год). Хотя стабильность может быть существенно повышена за счет диверсификации, все равно она недостаточна для заработка вида N рублей за период.

2) При работе на финансовых рынках не стоит бросать основное место работы (по крайней мере, если нет солидного капитала).


Об оптимизации методом Монте-Карло

posted by admin @ 16:47 ПП
3 Февраль 2011

     Оптимизация–это настройка торговой системы на рынок. Если взглянуть широко, то по сути весь процесс построения системы–это оптимизация. Однако в настоящей заметке я бы хотел продемонстрировать свои текущие подходы к оптимизации в классическом понимании этого слова.  

    Если следовать классическому подходу, то процесс построения системы можно условно разбить на следующие этапы:

1) Наблюдения за рынком,

2) Формулировка какого-то количества грубых закономерностей,

3) Выбор некоего множества этих закономерностей и сведение их в единый алгоритм,

4) Подбор параметров (Это оптимизация в общепринятом смысле).

Этапы 1 и 2–это в большей мере искусство, и эта часть определяется, в основном, опытом и знаниями трейдера. Этапы же 3 и 4 поддаются формализации, причем одновременно, нет необходимости разделять 3 и 4. Вот как это может быть выполнено. Допустим, есть две грубых закономерности (Они приведены ниже, но это модельные вещи, а в реальном рынке к поиску закономерностей следует относиться серьезно. Еще раз подчеркну: поиск закономерностей–это искусство):

а) Если цена выше длиннопериодной средней, то рынок настроен на рост,

б) Если короткопериодная средняя ниже среднепериодной, то рынок настроен на разворот вверх.

        Задача–слепить из этих закономерностей систему. Зададимся вопросом–сколько здесь параметров? Прежде всего, это периоды средних–их три. Кроме того, можно включать, или не включать саму закономерность–это еще два параметра со значениями 1 или 0 (используем или не используем закономерность). Нам необходимо выбрать из всех возможных вариантов некий один, устраивающий нас. Вопрос–как это сделать?

    Первый вариант–перебрать все возможности. К сожалению, экспоненциальный рост числа возможностей от числа параметров делает эту идею при большом числе параметров безнадежной. Это то же самое, что угадать многозначный пароль. Посчитаем общее число вариантов в нашей задаче. Пусть период короткой средней лежит от 1 до 10, среднепериодной–от 11 до 50, длиннопериодной–от 51 до 200. Тогда общее число вариантов составит 10*40*150*2*2=240 000. Даже в нашем небольшом наборе правил четверть миллиона возможностей. Если тестер тратит 0.01 секунды на прогон (что быстро), то даже при этом будет потрачено 2400 секунд, то есть 40 минут. При увеличении числа параметров это время растет экспоненциально и для систем средней сложности может достигать веков и тысячелетий. Поэтому прямой перебор применим лишь для простейших систем.

     Как же быть? Для нахождения оптимальных параметров в многокритериальных задачах человечеством давно уже придуманы мощные и быстрые  методы. Основный из них–это генетическая оптимизация. Однако, поскольку я ей в настоящее время в трейдинге не пользуюсь, то про нее рассказывать здесь не буду. Опишу то, чем пользуюсь я. Это так называемый метод Монте-Карло (в физике его еще называют методом отжига). Фактически, это весьма усеченная версия генетики. Его суть такова: случайным образом выбирается точка в пространстве параметров. Затем от нее в некоторой окрестности радиуса R1 также случайным образом выбираются другие точки и смотрится, в какой из них целевая функция наилучшая (назовем эту точку A). Затем от точки A в радиусе R1 опять случайно выбираются точки и смотрится наилучшая. И такой процесс повторяется много раз, причем R1–сравним с размером всей области параметров. Назовем все вышеописанное фазой 1. После окончания фазы 1 наступает фаза 2. Она совпадает с первой фазой, единственное отличие–в радиусе. Для фазы 2 радиус R2 меньше R1. После фазы 2 проводится фаза 3 с R3<R2<R1, и так далее. На некотором числе фаз процесс останавливается.

      Вся эта процедура приводит к тому, что точка в пространстве параметров в среднем двигается в направлении максимума целевой функции (но не факт, что глобального, в этом недостаток и Монте-Карло и генетики). При этом число прогонов тестера равно “число фаз*число процессов*число точек в процессе”. Видно, что число прогонов тестера не зависит от числа параметров вообще, и в этом огромное преимущество метода. Хорошей физической моделью метода Монте-Карло является неровная поверхность с песком. Если ее потрясти, то песок скопится в наинизшей точке, то есть найдет оптимальную наинизшую точку неровной поверхности.

    Таким образом, пользуясь современными методами поиска экстремумов, можно весьма упростить процесс системостроительства по сравнению с “индикаторной эрой”.


      Данная заметка возникла вследствие интересного обсуждения моей статьи “Из среднего звена в миллионеры” на форуме Николая Степенко: http://forum.stepenko.com/index.php?showtopic=5535 . Речь пойдет о налогообложении трейдера и ПИФа. Трейдером я называю активного торговца, он не имеет сделок, длящихся более одного года, и, как следствие, платит налоги с прибыли каждый год. ПИФом я называю заработок типа купил и держи с единственной продажей при выходе, частным случаем которго являются вклады в ПИФы. ПИФ платит налог один раз в конце периода со всей полученной прибыли. Как нетрудно понять, такая разница в налогообложении приводит к различным результатам при прочих равных. Пусть у нас изначально есть сумма А, мы можем заработать f*100 процентов в год либо трейдерством, либо ПИФом, ставка налога равна p*100%. Как нетрудно вывести, через N лет на счете будет A{1+f(1-p)}^N для трейдерского способа заработка и A{(1+f)^N*(1-p)+p} для ПИФного способа заработка. Как видно, ответы разные. Из формул ясно, что трейдерский способ хуже, ибо показатель экспоненты для него меньше. На рисунке представлены кривые зависимости итоговой суммы после налогов от полного времени инвестирования для двух этих способов в случае ставки налога 13% с прибыли, а ставки дохода 25% в год (начальная сумма–миллион в обоих случаях) :

 506.jpg

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

счетчик посещений