Микаелян Саро
Микаелян Саро личный блог
13 июня 2013, 14:44

Моделирование цены, hft

      Сразу оговорюсь, что все исследования проводились в программе EViews 3 и TSLab 1.2  
       Торговля в классическом виде корреляции двух инструментов, постепенно давно вымирает, в арбитраже, конкуренция высока, а в парном трейдинге для реально существенного дохода, необходимы большие капиталы!
         Еще со студенчества любил эконометрику, и решил проверить в трейдинге как будет выглядеть моделирование цены, и насколько это реально эффективно. Прежде всего, необходимо определиться, что нам необходимо:
  • Либо мы делаем модель цены для краткосрочных спекуляций, или же hft алгоритм или же скальперский, обычно для создания модели необходимы данные цены ohlc так же объем, ои, любой индикатор, постоянная переменная и любые значения, исходя из которых можно проследить зависимость ценового движения!
  • Если модель ценового движения построить, исходя из движения любого другого инструмента, то можно проследить взаимозависимость двух цен, и использовать это для парной торговли.


Разберем первый вариант, создания скальперских или высокочастотных алгоритмов.
         Для начала нам необходимо создание модели, естественно можно сделать разные ценовые модели, отдельно для цены открытия, закрытия, хая или лою. Создание модели для бида и аска смысла не имеет практически, так как в течении таймфрейма они могут меняться даже если тайм выбран самый маленький (тиковый).
         Раз создается модель по одному инструменту, то полет фантазии у нас неограниченный! Ввиду того, что моделирование регрессионное, а оно бывает линейным или нелинейным, парным и многофакторным, то наилучшая модель все же будет нелинейный многофакторный анализ, но проще собрать (если нет особых навыков прораммиста и математика) линейную многофакторную модель. В качестве факторов выбрать лучше логически связанные элементы цены, как качественные, так и  количественные элементы! Например фиктивные (они принимают обычно фиксированные значени типа 1 и 0, или 1, 2 ,3,1,2,2,3 и тд)  для этого лучше всего подходит условие растущая/падающая свеча, большой хвост/тень или нет, большая свеча или маленькая, коллерируемая свеча с другим инструментом или нет и тд и тп. В качестве количественных берем, объем, цену закрытия/о/х/л так же можно брать со старшего таймфрейма, ои, любой индикатор,  так же любые другие бумаги.
        Математическо-экономическое обоснование: Исходя из исторических данных, мы прогнозируем цену новой свечи, и так как данные постоянно обновляются, мы получаем модель цены на основе которой, можно не только увидеть текущие смоделированные ценны, но и оттестировать как будет выглядеть результат алгоритма на истории.
        Формулы расчета писать не буду, в интернете много материала, или же в книге Доугерти по эконометрике, а так же в статистике Булашева, скажу только что использовать стоит метод наименьших квадратов. 
 Моделирование цены, hft                           
В расчетах самый важный показатель, это R-squared либо коэфициент детерминации, который показывает насколько модель соответствует реальности, чем ближе к единице тем лучше! На примере используется выборка из 655 баров, и чем больше она тем лучше (надежнее расчеты).
К примеру с такой выборкой модель Газпрома (акции) выглядет следующим образом
GAZ = 0.07955123122*LKOH + 0.02769130859*ROSN + 1.06873875*SBER — 72.10589351, и в идеале должно получиться так, чтобы коэффициенты можно было бы использовать не только на исторических данных, но и на вновь поступающих барах. При выборке 655 эти коэффициенты будут работать в ближайшие 10-20 баров, если же использовать выборку в 655000 баров, то данные будут работать ближайшие 10000 баров, НО качество R^2 будет меньше, она все так же будет значима, но погрешность будет постепенно нарастать, поэтому не совсем правильно будет использовать большую выборку, так как по отношению ко всему графику модель будет лучше, но в текущий момент торговать будет не совсем верно, так как есть более близкая модель к графику, которую можно построить  на меньших входящих данных.
 Моделирование цены, hft
         На рискунке (ниже по тексту) демонстрация того, что модель к графику построенному по выборке из 65292 (больше в эксель не влазит)барам, остается адекватной и на 75000-м баре, но она бессмысленна, так как для построения модели нам необходимо свечи за несколько лет.
 Моделирование цены, hft
 
        Следом на рисунке, видно как при неизменяемых коэффициентах модель резко уходит от реальной цены (еще один показатель что газик должен был быть много выше его реального значения, если моделировать ее значение по смежным акциям)
 Моделирование цены, hft
 
     Поэтому останавливаемся на том, что используем данные за последние N-баров. И в качестве точки входа используем погрешность расчетов, а именно отклонение от модели для открытия позиции. В таком варианте получаем сделки вида, и это самый простой способ совершения сделок по модели.
 Моделирование цены, hft
         Статистика за квартальный фьюч ВТБ с комисом 2р на круг.  Касается это всех бумаг, но больше всего касается малоликвидных бумаг, так как свеча на ней рисуется по первой сделке, которая может пройти на спреде в 10-20р, но алгоритм сразу в стакане будет держать свою заявку, поэтому она пройдет именно по заданной цене, а не случайной сделке спреда.
Исходя из скальперского принципа сделок, статистика на истории будет не верной, только лишь от 30 до 60% сделок будут реально проходить.
 Моделирование цены, hft
      Но кроме обычного отклонения лучше использовать наиболее адаптивные математические методы, например квантильное распределение, впрочем может и любые другие можно использовать, но я пробовал только квантили.
 Моделирование цены, hft
Желтая линия – верхний квантиль, черная – нижний, работаем по принципу на верхнем продали на нижнем купили. Ниже результаты за рим3
 Моделирование цены, hft
       И как выше говорил, статистика только историческая, в реальном времени будет исполняться половина сделок или меньше в зависимости от инфраструктуры.
На основе регрессионного моделирования, можно делать не только торговлю одного инструмента, но и создание арбитража и парной системы, но это будет отдельная статья.
49 Комментариев
  • Марина
    13 июня 2013, 14:45
    Отличная статья!) Крутяк!
  • Prosto_tak
    13 июня 2013, 15:02
    Если это круто, то чем я занимаюсь, вообще тогда за гранью тогда.
    Статья детская, методы детские.
  • siva
    13 июня 2013, 15:02
    Опуская полемику по поводу того, как плох линейный факторный анализ, сразу к делу:

    1) У роснефти P-value >0.05 и коэффициент 0.02 — выкинуть СРАЗУ из уравнения!!!
    2) Нет анализа качества модели, R-squared это хорошо, но хотелось бы ещё статистику льюнга-бокса и нормальность остатков :)
    3) Если торговать без комиссий и на быстрых скоростях, то конечно это грааль :(
  • SMA
    13 июня 2013, 15:32
    Вы извините, но без показанной методики расчета, очень смахивает на какую то рекламу(!!!
    Не могли бы Вы подробней описать что из чего считаете и откуда и почему берете коэффициенты?
    А то это знаете, показывали здесь ролик как нейронная сеть угадывает цвет следующего бара, но сразу сделали пометку что не покажут методику обучения сети!!! Так прошло уже наверно более двух месяцев, а я до сих пор их матом крою, типа нахера мне ваше видео если вся суть в методике обучения сети? вот как бы и с вашим постом то же самое проглядывается!!! По этому нельзя ли по подробней?

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

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