Имя
Имя личный блог
03 февраля 2013, 19:55

Рыночные инварианты, или Зачем трейдеру логарифмы

Термином «инвариант» в науке принято обозначать величину остающуюся неизменной при тех или иных преобразованиях объекта. К примеру, внешность человека может очень сильно меняться под воздействием возраста, грима или пластической хирургии, но его всегда можно опознать по ДНК. Код ДНК является инвариантом – неизменной характеристикой. Инварианты часто несут наиболее важную информацию о том или ином предмете или явлении.Какое отношение все это имеет к финансовым рынкам? Финансовые рынки хорошо известны своей необычайной подвижностью. Цены большинства инструментов меняются, чуть ли не ежесекундно. Естественным образом возникает вопрос: есть ли что-то неизменное в этом море хаоса и нестабильности?

Цена учла все… и заблудилась
Известный постулат технического анализа гласит: «Цена учитывает все». Многие трейдеры поэтому важнейшей характеристикой фининструмента считают его цену. Можно ли признать цену рыночным инвариантом? Не смотря на всю экономическую важность понятия «цена», ответ на этот вопрос отрицательный. Цена постоянно меняется, значит, по определению она не может быть инвариантом. А что же средняя цена? Скользящие средние – один из наиболее популярных методов анализа. Возможно, средняя цена демонстрирует качество неизменности и устойчивости? Оказывается, нет. В этом можно наглядно убедиться из следующей картинки.

Гистограмма дневных «цен» закрытия индекса ММВБ с 1998 по 2009 год

На ней представлена гистограмма дневных «цен» закрытия индекса ММВБ с 1998 по 2009 год. Значения индекса в этот период колебались от минимального 18.53 до максимального 1969.91. Средняя цена составляла 669.19. Гистограмма показывает процент попаданий наблюдаемой цены по интервалам. Напр., в диапазоне от 100 до 200 (пик гистограммы) цена индекса находилась 13% времени, а в интервале от 0 до 300: 12% + 13% + 12% = 37%. Фактически гистограмма цены имеет случайный характер. Никаких сколько-либо выраженных закономерностей на ней не наблюдается. Средняя цена 669.19 не является самой частой, типичной. Это просто формальное число. Подобную картину можно наблюдать, если построить гистограмму любого другого фондового индекса или акции.
 
Связано это с тем, что динамика цен многих инструментов неплохо описывается моделью так называемого «случайного блуждания со сносом». Возьмите тетрадку в клеточку. Киньте монетку. Если выпадет «орел», нарисуйте «свечку» вверх на две клеточки, если «решка» – на две клеточки вниз. Независимо от выпадения монеты всегда приплюсовывайте и к бычьей и к медвежьей свечке одну клеточку вверх – это и есть «снос» или, другими словами, тренд. Если не полениться и провести множество бросаний монеты, полученный график будет довольно похож на график цены какой-нибудь акции. При помощи компьютера можно добиться еще большего реализма, генерируя свечи вверх и вниз случайного размера. Гистограмма цены не содержит какого-либо выраженного паттерна по причине ее случайного блуждания. Нет никаких экономических механизмов, которые бы возвращали цену акции к ее среднему значению. По этой причине она блуждает сама по себе обычно с некоторым положительным трендом. Средняя цена, таким образом, не может быть инвариантом. Продолжим поиск…
 
Добавим смысла
Что если вместо самой цены рассматривать ее дневные приращения? Например, вместо самого значения индекса брать его дневные изменения в пунктах. Для акции это будет дневное изменение цены в рублях или долларах – логика при этом такая же.

Гистограмма приращений индекса ММВБ по итогам дня с 1998 по 2009 год


Гистограмма теперь имеет осмысленный вид. Среднее значение дневного приращения индекса – 0.43 пункта находится вблизи пика. В частности в интервал от -10 до +10 пунктов попадают 69% наблюдений. Таким образом, среднее приращение цены – это действительно наиболее ожидаемая величина (или очень близкая к ней).
 
Линейная доходность
Тем не менее, среднее изменение цены нельзя признать инвариантом. По мере роста цены акции или уровня индекса диапазон ее колебаний также будет расти. Допустим, некоторая акция торгуется сейчас в районе 10 рублей. Тогда увеличение ее цены на 1 рубль будет составлять 10%. Предположим, через несколько лет акция выросла до 100 рублей. Рост на 1 рубль для нее будет уже только 1%. Один рубль для 10-рублевой и 100-рублевой акции – совсем разные вещи, поэтому инвесторы ориентируются не на денежную, а на процентную доходность, т.е. не на абсолютные, а на относительные величины. Процентная доходность не зависит от текущего уровня цен. Она более устойчива и, следовательно, более достойна звания инварианта. Рассчитать процентную доходность очень просто. Для этого нужно знать лишь цену открытия (O) и цену закрытия (C):
 
(C/O — 1)*100%
 
Вообще говоря, доходность не является полностью статичной и меняется от года к году. В один год акция может давать 10%, в другой 15%, а в третий -20%. Однако в очень долгосрочной перспективе можно предположить, что средняя доходность фондовых рынков стабильна и не зависит от времени. Например, старейший фондовый индекс Доу Джонса за последние 80 лет в среднем показывал доходность около 4.5% годовых. Таким образом, в самом общем случае от американского фондового рынка можно ожидать такую цифру доходности.
 
Процентная доходность на первый взгляд кажется наиболее естественно характеристикой фининструмента. Она не зависит от уровня цены. Кроме того, на ней очень интуитивно отражается влияние кредитного плеча – она просто умножается на коэффициент рычага: 1% доходность при плече 1:2 превращается в 2% и т.п. По этой причине ее еще называют линейной доходностью, поскольку рычаг воздействует на нее линейным образом.
 
Однако линейная доходность имеет один недостаток. Цена не может быть отрицательным числом, а доходность не может быть меньше -1 (-100%). Это создает перекос в распределении линейной доходности. Он становится особенно заметен при больших цифрах. Напр., 100% росту соответствует 50% падение, а не 100% падение, как может ошибочно подумать новичок. Это легко проверить. 100-рублевая акция вырастает в 2 раза до 200 р.: 100*2 = 100*(1+1) = 200. Это рост на 100%. Чтобы вернуть ее обратно к 100 рублям, нужно 200 р. разделить на 2 или умножить на 0.5: 200/2 = 200*(1 — 0.5) = 100. Это 50% падение. Диапазон линейной доходности (от -1 до бесконечности) несимметричен относительно нуля, и эта асимметрия никак не связана с вероятностными свойствами цены, поэтому, по сути, она имеет искусственный характер. Как же ее устранить?
 
Логдоходность
Логарифмическая доходность (или просто логдоходность) лишена этого недостатка линейной доходности. Она рассчитывается по формуле:
 
ln(C/O) = ln(C) — ln(O)
 
и принимает значения от «минус» до «плюс бесконечности». Символ ln() обознает функцию натурального логарифма. Что это за функция? В математике кроме знаменитого числа π есть еще и число e. Оно приблизительно равно 2.7183. Натуральный логарифм – это степень, в которую нужно возвести число e, чтобы получить число под знаком логарифма. Например, если число e, 2.7183, возвести в квадрат (степень 2), получится: 2.718322 = 7.3891. Отсюда следует, что ln(7.3891) = 2. Собственно, чтобы пользоваться логарифмами, не обязательно знать все эти тонкости. Функция логарифма является стандартной, ее легко можно вычислить на компьютере, пользуясь калькулятором Windows или Excel и т.п.
 
Логдоходности удобны тем, что их можно складывать. Допустим, известны 5 дневных обычных доходностей за торговую неделю: 1%, -2%, 3%, -1%, 2%. Надо найти недельную доходность. Для этого нужно разделить доходности на 100%, прибавить к ним единицу и перемножить:
 
(1+1%/100%)*(1-2%/100%)*(1+3%/100%)*(1-1%/100%)*(1+2%/100%) =
(1+0.01)*(1-0.02)*(1+0.03)*(1-0.01)*(1+0.02) =
1.01*0.98*1.03*0.99*1.02 = 1.0295
 
За неделю цена выросла на 2.95%. Умножение, однако, не очень удобная и интуитивная операция. Если перейти к логдоходностям, можно заменить ее сложением:
 
0.0100 -0.0202 + 0.0296 -0.0101 + 0.0198 = 0.0291
 
Недельная логдоходность составляет 2.91%. Логдоходность всегда меньше обычной доходности. Величина этого различия становится заметной лишь при больших цифрах. К примеру, линейной доходности -50% соответствует логдоходность -69%, а -100% – «минус бесконечность».
 
Дорога домой
Итак, в поисках инвариантов мы проделали довольно долгий путь от цены, через ее приращения и линейные доходности к такой довольно абстрактной вещи как логдоходность. Гистограмма логдоходности как и гистограмма приращений имеет выраженный пик, поэтому средняя логдоходность является и наиболее ожидаемой, наиболее вероятной. Она, как и линейная доходность, не зависит от текущего уровня цен. И, наконец, она симметрична относительно нуля, поскольку может принимать любые отрицательные и положительные значения. Все это позволяют охарактеризовать ее как натуральный рыночный инвариант. Превратить же цены в логдоходности достаточно просто при помощи MATLAB, Excel или других табличных редакторов.
 
Сейчас существует большое количество программ для прогнозирования адресованных трейдерам, например, нейросетевых. Они просты в управлении и не требуют специальных знаний. Типичная ошибка новичка при использовании такого софта в том, что он пытается «предсказать» непосредственно будущую цену по прошлым ценам. Однако, как мы убедились, изучив гистограмму, прогнозирование самой цены «в лоб» лишено какого-либо вероятностного смысла. Лучше всего прогнозировать будущую логдоходность по прошлым логдоходностям того же самого инструмента или других инструментов, если предполагается межрыночное взаимодействие. Это максимально упростит работу программе, поскольку ей не надо будет тратить силы на поиск очевидных закономерностей: что приращения цены зависят от ее уровня, и что они скошены в положительную сторону.
 
Хорошо, допустим, все это сделано, и программа выдает прогноз: завтрашняя дневная логдоходность составит 0.03. Как это понимать и использовать на практике? Необходимо конвертировать прогноз логдоходности в прогноз цены при помощи обратного преобразования. Делается это очень просто. Предположим, что текущая цена акции 100 рублей. Тогда прогноз завтрашней цены можно получить по формуле:
 
100 р.*exp(0.03) = 100 р.*1.0305 = 103.05 р.
 
Функция exp() – это уже знакомое нам число e в степени икс. Это просто альтернативный вариант записи, часто используемый в компьютерных приложениях. Экспонента является обратной по отношению к логарифму функцией, поэтому, подставляя в нее логдоходность, сразу же получаем коэффициент роста, на него и надо умножить текущую цену, чтобы получить прогноз будущей.
 
Резюме
Таким образом, мы убедились, что логдоходности – очень удобный аналитический инструмент. Их можно складывать, они не зависят от уровня цен и симметричны относительно нуля. На практике, если нужно получить прогноз или исследовать какие-либо вероятности движения цен следует использовать именно логдоходности.
 
Логдоходности легко конвертируются из одного тайм-фрейма в другой. Например, если вы хотите перевести дневную логдоходность в годовую, нужно просто умножить ее на количество торговых дней (около 250). Если затем взять экспоненту от этого числа, будет получен годовой темп роста капитала для торговой стратегии. Его удобно сравнивать с текущими банковскими ставками, доходностью фондовых индексов и других эталонных инструментов.
------------------------------------------------------------------------

Источник:

http://q-trading.ru/index.php/articles/money-management/244-rynochnye-invarianty.html

14 Комментариев
  • Joystick
    03 февраля 2013, 20:10
    Спасибо!
  • jtrade
    03 февраля 2013, 20:28
    Как думаете, почему сам q-trader не запостил это?
    Далее, как автор топика сам применяет то, о чем сделал перепост?
    Насчет логдоходностей, уже к А.Г. он в в этом спец. Я же, для себя применение этому делу не нашел((
    • Скальпёр
      04 февраля 2013, 01:10
      jettrader, иногда я задумываюсь — не я ли, в бессознательном состоянии, являюсь jettrader =)
      про А.Г. хотел написать, что как раз он использует лог. приращения цен.
      И я также не смог найти этому применение!
      Автору жирный плюс!
      • А. Г.
        04 февраля 2013, 02:13
        Максим Викулов,

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

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

        На эти вопросы нет однозначного ответа. Автор корневого поста привел свои «за и против» каждого из приращений и это правильно. А уж каждый пусть найдет свои ответы на вышеуказанные вопросы.
        • Скальпёр
          04 февраля 2013, 10:50
          А. Г., спасибо Вам за проявленное внимание ко мне. Автор поста довольно доступно описал преимущества использования логарифмов, а также показал наглядные примеры. Теперь становиться ясно как их использовать. Теперь возникает проблема написания роботов, использующих в расчетах логарифмы.
          Не имея опыта работы на C# сделать это «подручными» программами проблематично.
          Еще раз спасибо за разъяснения!
          • А. Г.
            04 февраля 2013, 10:57
            Максим Викулов,

            Ну я начинал с Excel+VBA. А в принципе подходит любой язык программирования. Даже во встроенных языках программ теханализа переход к первым разностям логарифмов цен достаточно прост. Другое дело, что из-за использования мной адаптивных итерационных алгоритмов, мне эти встроенные языки работы с массивами не подошли (потому что даже в WL не просто C#, а библиотека к нему и просто так на языке этой библиотеки мои алгоритмы не напишешь, а при «изголениях» программа оказывается сложнее, чем просто на C# и WL получается тормозящей «прокладкой»).
            • Скальпёр
              04 февраля 2013, 16:09
              А. Г., моей первичной целью является адаптация уже существующих идей на работу не с ценами, а с приращениями. так что я думаю WL с этим должен справиться.
  • Мурен(а)
    03 февраля 2013, 21:06
    наконец-то нормальный пост на смартлабе
  • Sergei789
    03 февраля 2013, 22:10
    давно использую степенную функцию для точного подсчета эффективной доходности
  • Urets
    04 февраля 2013, 01:12
    +++++++ нада будет пасматреть! ;-)
  • БорZян Барашкин
    01 марта 2021, 22:09
    отличная статья!!! можете только еще раз разжевать вот это:
    Логдоходности удобны тем, что их можно складывать. Допустим, известны 5 дневных обычных доходностей за торговую неделю: 1%, -2%, 3%, -1%, 2%. Надо найти недельную доходность. Для этого нужно разделить доходности на 100%, прибавить к ним единицу и перемножить:

    (1+1%/100%)*(1-2%/100%)*(1+3%/100%)*(1-1%/100%)*(1+2%/100%) =
    (1+0.01)*(1-0.02)*(1+0.03)*(1-0.01)*(1+0.02) =
    1.01*0.98*1.03*0.99*1.02 = 1.0295

    За неделю цена выросла на 2.95%. Умножение, однако, не очень удобная и интуитивная операция. Если перейти к логдоходностям, можно заменить ее сложением:

    0.0100 -0.0202 + 0.0296 -0.0101 + 0.0198 = 0.0291

    Недельная логдоходность составляет 2.91%.

    заранее благодарю!

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

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