теги.алготрейдинг.
Только для алготрейдеров.Остальным настоятельно рекомендую игнорировать писанину (с)
это АД / эти алготрейдеры уж,как напишут так напишут .. 
копипаст
ник hrenfx
P.S.
В свое время много постил на большое количество тем, но все было несистемно и затерялось в инете.
Выискивать, в принципе, неплохие, как считаю до сих пор, мысли — нет желания. Ну вот и кратенько написал некоторые из них.
Дальше уже на ваш выбор, что из этого взять себе.
Как не надо писать о флэте
Почти пообещал написать про свое видение флэта. Но чувствую, что меня занесет…
Поэтому очень сумбурно, насколько позволяют минуты вынужденного пребывания за нетбуком, несколько алготрейдерских тезисов. Ну и, конечно, флэт.
Что мы вообще торгуем?
Практически всех ограничивает список ФИ (фин. инструменты — торговые символы), которые предоставляет торговая площадка (не важно, биржа, FOREX или что-то иное). Говоря об ограничении, имею в виду, что исследуют каждый ФИ по отдельности на предмет наличия скрытых закономерностей. Кто-то смышленее делает маленький шажок в сторону абстрагирования ФИ — парный трейдинг, когда ищутся взаимосвязи между парами ФИ. Кто-то делает еще шажок — портфельная торговля. Потом еще и еще шаги на пути абстрагирования. Чем-то это напоминает историческое обобщение натурального ряда чисел, когда путем несложных, но смелых умозаключений приходят к отрицательным, рациональным, иррациональным, трансцендентным, комплексным числам. Или обобщают N-мерное пространство до уровня, где N — положительное вещественное число (т.е. не обязательно натуральное).
В общем, абстракция в этом деле — это некая свобода от заезженных рамок мышления. Одна из таких абстракций называется Рынок (с большой буквы).
Рынок — синтетический ФИ, состоящий из всех возможных реальных ФИ, взятых с определенным весом. Т.е. некая такая корзина, но с одним замечательны свойством равновесия, которое можно иногда даже назвать страшным словом квазистационарность. Короче, рыночно-нейтральный портфель в самом универсальном его виде.
Synth = Symbol[0]^W[0] * Symbol[1]^W[1] *… * Symbol[N]^W[N],
где N — количество всех символов, Symbol[i] — Bid/Ask-цена Symbol[i] и W[i] — его вес.
Причем Sum(Abs(W[i])) = 1.
Веса для Рынка и подобраны ЖИЗНЬЮ так, чтобы обеспечить эту общую квазистационарность.
И вот когда мы идем от этой простой абстракции в сторону обычного представления о торговле, оказывается, что практически любая торговля — это торговля таким Synth, но в условиях ограниченной информации: N мы не знаем, некоторые Symbol[i] — аналогично. Да и вообще нам иногда проще работать не заморачиваясь.
Например, если среди ФИ имеется EUR/CAD — исследуем его. Нет — ну значит не судьба: не исследуем. А то, что есть у кого-то в голове EURCAD_Synth = EURUSD * USDCAD и может торговаться — не сильно волнует.
Флэт
Так что же это такое? Возьмем все тот же EURCAD. Вот мы видим его в горизонтальном канале — красивый флэт. А вот он в зятежном тренде — красивый тренд? Или может быть опять флэт? Давайте вспомним EURCAD_Synth и общую формулу построения Synth.
Фишка в том, что если у вас такой, вроде как тренд, то это всего лишь обозначает, что есть некий иной EURCAD_SYnth2, который находится во флете:
EURCAD_Synth2 = EURUSD^W1 * USDCAD^W2. И если для EURCAD_Synth веса мы ленились записать, то для EURCAD_Synth2 записали все же. Так вот, для W1 = W2 = 0.5 вы увидите якобы тренд. Но стоит поиграться весами и перед нами великолепный флэт.
На самом деле мы и здесь с весами поленились, ведь EURCAD_Synth2 — это и есть универсальный Synth, у которого почти все веса просто нулевые (нулевая степень дает единицу).
Так что же такое флэт? И вообще корректно ли о нем говорить? Судить вам.
Флетовость символа
Есть популярный способ исследования символа на флетовость — показатель Херста и пляски вокруг.
Однако, если вспомнить о EURCAD_Synth2, то могут прийти мысли качество флетовости рассматривать, как ширину канала ЛР (линейной регрессии). Это чем-то должно напомнить расчет коэффициента Шарпа.
Следует такая мысль из соображений, что если на EURCAD в какой-то момент узкий канал ЛР (тот самый красивый тренд), то это автоматом обозначает наличие EURCAD_Synth2 с отличным флетом на участке построения ЛР. Заметьте, что угол ЛР при таком исследовании символа на флетовость никакой роли не играет.
Если проводить совсем простую аналогию, то такой ракурс видения флетовости обозначает, что флетовый символ — тот, на график любой его исторической выборки которого всегда можно посмотреть под таким углом, что он становится флетовым, как это обычно принято считать. Т.е. если вы всегда можете наклонить свою голову (монитор или листок с графиком символа) так, что график становится горизонтальным каналом.
Как мы не торгуем?
Есть некое альтернативное понимание торговли, описание рынка и его закономерностей. Каждая ТС (торговая система) представляет из себя критерий оптимальности некого торгового синтетического ФИ. На пальцах это выглядит так:
Берется понравившийся кусок истории цВР. На нем выбираются понравившиеся интервалы, для которых суммарно будет проделываться нижеследующее. Например, берем крайний месяц, и рассматриваем далее только ночные интервалы.
Задача разложить данные по косточкам и написать ТС именно под этот кусок истории (точнее под выбранные интервалы в нем), чтобы на нем ТС показывала как можно больший профит.
Т.е. задача сводится к тому, чтобы обнаружить уже на известном куске истории закономерности для максимального профита.
Очевидно, что вычислить максимально-возможный профит на куске истории очень просто. Но надо создать такую ТС, у которой показатель Profit / Func(AmountIN) был бы максимален, где AmountIN — количество явных и неявных входных параметров ТС, а Func — некая функция (для простоты начала исследования — простейшая линейная: Func(X) = X).
Например, нескольким людям нравится какой-то замечательный флэтовый кусок, который эти люди считают чуть ли не классическим рыночным флэтовым (типовым) состоянием. Люди выкладывают этот кусок публично и устраивают своего рода соревнование по созданию оптимальной ТС для этого куска. Далее сравниваются характеристики полученных ТС, идеи в них заложенные. И уже исходя из этого анализа происходит некоторое понимание формализации флэтовости и более обобщенных понятий.
Т.е. вы не ищите ТС под ФИ, а создаете себе синтетический ФИ под ТС. Например, у вас есть в руках прибыльная ТС на Symbol_k. Берете ее, как критерий оптимизации искомого Synth. Рассмотрим brute-force подход:
Вы берете все известные символы в количестве N1-штук, строите все возможные синтетики (перебираете веса) и на каждом из них прогоняете еще оптимизацию вашей ТС с количеством входных параметров N2. Получается, что вы решаете оптимизационную задачу с N1 + N2 входными параметрами.
Так вот после нахождения наилучшего синтетика окажется так, что характеристики вашей ТС гораздо лучше, чем на Symbol_k. И если предположить, что ваша ТС работала только на Symbol_k, то и Synth будет с Symbol_k совпадать.
В общем, надеюсь, что хоть что-то уловили в этом ночном косноязычии.
Классический флэт
Опустимся на землю и опишем самый простой алгоритм идентификации флэта.
Сначала логарифмируем два цВР: BestBid И BestAsk. Затем строим множество ЗигЗагов с условием мин. колена не меньше MinSize. При этом вершинки ЗигЗага строятся по Bid, а низинки — Ask. Такое построение, кстати, позволяет уйти от навязанного астрономического квантования цВР, мизерная часть которого именуется таймфреймами (ТФ).
Так вот есть набор MinSize[i] и для каждого из значений этого набора построены соответствующие ЗигЗаги.
Берется некий входной параметр Koef.
Колена каждого ЗигЗага начинаются складываться (от самого правого — свежего) до тех пор, пока колено не станет больше Koef * MinSize[i]. Получаем наборы Sum[i] (сумма колен) и Amount[i] (количество просуммированных колен).
Далее находим такой j, чтобы значение Abs(Sum[j] / (Amount[j] * MinSize[j]) — 1) было минимальным.
Так вот, найденный кусок истории, на котором построен ЗигЗаг[j] — это наилучший флэт для входного параметра Koef.
И такой кусок будет всегда находиться на реальных цВР. Т.е. флэт будет всегда существовать, но его характеристики будут разниться: будут большие по времени участки флэта с огромными внутренними движениям, а где-то короткие с мелкими флуктуациями.
©
Сообщение отредактировал Nika: 06 December 2013 - 21:49