Начало - раз, два, три. Насколько я припоминаю, за давностью событий, стояла тогда передо мной задача продемонстрировать в одном интересном месте наглядно разницу между «классическим» (сверху продаем, снизу покупаем) и «обратным» (сверху покупаем, снизу продаем) сеточными (гридерными) алгоритмами.
Был у меня тогда повод что-то сказать о MATIC. Взял я его тиковые исторические данные за пару лет, и тут у меня возник вопрос. А как на этих данных считать результат «сетки» так что бы не было мучительно больно за потраченное время. Понятно, что тики нужно было агрегировать в некие более крупные ценовые формации - бары. А вот в какие бары агрегировать - это вопрос.
Манера записи биржевых данных в виде ценовых баров (свечей) классифицированных по времени, возникла давно и стала , де-факто, стандартном индустрии. Но ценовой бар сам по себе структура закрытая и предполагать что же там внутри него происходило внутри системы координат OHLC - занятие не благодарное. И соответственно под мою тогдашнюю задачу (наглядный вычислительный эксперимент на исторических данных объясняющий разницу между классическим и обратным сеточными алгоритмов) бары ранжированные по времени не подходили. Ведь в этом случае мне пришлось бы предлагать какую то модель поведения цены актива внутри бара.
Думал я не долго, и решил особо не заморачиваться а ранжировать бары по их высоте, High - Low каждого из моих баров была величиной постоянной. Определил я ее исходя из размеров комиссионного вознаграждения отдаваемого торговой площадке. По моему мнению, на сетке, где окончание каждой сделки является началом следующей - отдать 10% комиссии на элементарный торговый акт (а фактически 5%) на транзакционные издержки вполне приемлемо.
А уж на этих рендж барах одинаковой высоты рассчитать финансовый результат работы сеточника - плевое дело. Сказано сделано, расчеты были произведены и для алчущих знаний было доведена специфика сеточных алгоритмов.
И тут выскочила вторая задача. Доказать что на вероятностной «метле» траекторий
Определенные виды сеточных алгоритмов по факту будут напоминать классические опцион, только немного со скругленными углами. В прошлой статье я рассказывал о полученных результатах.
Ну и тут что, вычислительный модуль который эт и самые сетки гоняет туда сюда на ренджах у меня есть. Осталось только эти самые ренджи в будущее продлить и метру имени Монти Карлы :) из них сформировать и уж на ней насчитаться/навычисляться от души.
С моделированием рендж баров заморачиваться тоже долго не пришлось. Я взял всего одну характеристику рендж бара - положение его центра и из огромного массива исторических данных набрал статистику - на какое расстояние (в абсолютных значениях) центр следующего рендж бара отстоит от центра бара предыдущего и как все это соотноситься с текущей ценой, определенной по центру первого бара.
Эксперимент у меня тогда был вычислительный, и поэтому ни логарифмировать, ни возводить отрицательные значения в квадрат смысла я не видел.
Ну и в итоге я получил вот такую гистограмму распределения вероятностей -
Но тут я уже допустил некоторое упрощение, на исторических данных карманы с третьего по девятый несколько отличались друг от друга (незначительно, но все - же). А я для удобства сделал их равными.
Ну а дальше дело техники. Абсолютное значение отступа следующего рендж бара от предыдущего для отдельного события я я вероятностно получал в соответствии с приведенной выше гистограммой. А его направление с помощью случайного выбора из двух чисел ( 1; -1).
Вот на таким образом синтезированных данных я свои тогдашние исследования и проводил.
И когда передо мной возникла очередная задача синтеза возможных траекторий, я вспомнил про те свои упражнения и понял что я, буквально говоря - «потерял время».
В тогдашнем эксперименте время мне было не особо важно, и я вовсе не принимал его в расчет. А вот новая задача требовала от меня обойтись со временем ответственно. Ибо на финансовых рынках время и волатильность это «близнецы - братья» или все таки - «близнецы- сестры»???
Но это уже будет материалом для следующей статьи.