mrisk121
Профессор
 
Зарегистрирован: 17/11/2003
Сообщений: 2208
|
|
Доброго времени всем!
Решил тут написать про "грабли", на которые сам наткнулся, попутно делая изыскания по фильтрации стоков. Речь пойдет об использовании нелинейных моделей типа МА, AR и разном схожем в свинговых системах торговли.
ДИСКЛЕЙМЕР.
1. Выводы и исследования относятся к тому о чем спрашивал здесь http://forex.kbpauk.ru/showflat.php/Cat/0/Number/298724/an/0/page/0#Post298724 2. Материал не является торговой системой, т.е. такая цель не ставилась. 3. Материал носит исследовательский характер без претензий на новизну, научные работы или тому подобное. 4. Формул и алгоритмов в материале нет. Все изложено с точки зрения представления и интерпретации результатов - типа картинками на пальцах. 5. В исследовании используются данные инструментов, стоки и фьючи, с финамовского форума и тикеры не уточняются.
ЦЕЛЬ ИССЛЕДОВАНИЯ. Целью данного исследования является определение возможности использования в построении торговых систем нелинейных аппроксимирующих функций типа МА, а также адаптивных моделей, аналогов алгоритмам автоматической подстройки частоты гетеродина используемых в радио и теле вещании.
ВВЕДЕНИЕ В разное время, начиная с Херста, возникают всплески интереса к нелинейным алгоритмам для аппроксимации и прогнозирования поведения рыночных инструментов. Бурное развитие компьютерных технологий последние 10-15 лет были особенно "продуктивны" в данном направлении. То о чем Херст мог только мечтать в 60-х сейчас можно осуществить несколькими кликами мышки и получить то ... что в алгоритме заложено. Здесь на форуме подобное тоже обсуждалось не раз. Например, ветки про цифровые фильтры и журиковские мувинги. Цифровые фильтры в исследовании не рассматриваются по причине отсутствия, в понимании автора, "приличной" стабильности периодов(частот) на рынках. Журиковские МА более интересны с т.з. адаптации. В исследовании они упоминаются, но не используются по причине закрытости алгоритмов. Из того, что теоретически описано подробно были отобраны 2 направления. Первое - раздел эконометрики рассматривающий модели типа МА. Второй - раздел радиоэлектроники рассматривающий подстройку под частоту вещания. Вот эти хорошо описанные в учебниках модели(точнее по одной из вариаций) будут использоваться в исследовании.
Почему? Причины 2: 1. Модели хорошо прописаны формально. Многое разжевано в учебниках. Можно легко найти готовые реализации в исходниках и в эконометрических пакетах можно посмотреть досконально их поведение "вживую". 2. Можно найти модели, которые не содержат параметров для оптимизации, т.е. их нет или это константы, изменение которых ничего не меняют практически(результаты практически нечувствительны к изменению поведения входных данных).
В конечном итоге наиболее привлекательными оказались 2 модели, которые удовлетворяли требованиям открытости алгоритма, хорошо описаны формально и реализованы в эконометрических и/или статистических пакетах. Одна модель эконометрическая, другая близкая по сути, из радиотехники(2-я типа ностальгия по базовой специализации и долгому боданию). Какие именно алгоритмы использованы, не конкретизируется, т.к. речь идет о свойствах присущих нелинейным алгоритмам в целом. Конкретная реализации алгоритмов не является целью данного опуса. Цель, как написано выше, это возможность использования подобных моделей, а не именно конкретно выбранных.
В дальнейшем модели будут называться эконометрической и радиотехнической по направлениям для которых они разрабатывались.
Часть 1. МОЛОЧНЫЕ РЕКИ И КИСЕЛЬНЫЕ БЕРЕГА Начнем с графической визуализации моделей. На рис. 1 представлены бары фьюча и стоки(разные). Кривые разных цветов.
Рис. 1 Синим цветом эконометрическая модель. Золотистым - радиотехническая.
Как видно из рисунка модели не отличаются ничем от простых мувингов. Отличает их только то, что алгоритмы не содержат оптимизируемых параметров. В верхнем пейне показаны часто называемые в эконометрике фазы цены. Обычно это просто разность между исходной серией данных и кривой модели. Такое представление упоминается и в книжках ТА. Например, пишут, что если цена выше простого 200-периодного мувинга то тренд бычий и наоборот, если ниже то тренд медвежий. На рисунке кривые фазы приведены, чтобы показать обилие несоответствий предполагаемого поведения реальному изменению. Как видно из рисунка, аппроксимация неплохая и возможна ее практическая эксплуатация. Выбираются приглянувшиеся ситуации и далее, по канве, как написано у "классиков", тестируются и берутся на вооружение или отбрасываются. Параметров для настроек нет. Алгоритмы сами подстраивваются под рынок и нет повода для беспокойства с оптимизацией. Если приглянувшееся пропустить через приблуду ТА получим численные оценки и увидим количество заработанных виртуальных енотов. НО!
Часть 2. БЕСПЛАТНЫЙ СЫР ТОЛЬКО В МЫШЕЛОВКЕ ОБЫЧНО БЫВАЕТ В математике исследование нелинейных аппроксимаций описано в частях связанных с полиномиальной аппроксимацией кривых. В книжках о практическом применении аппроксимаций предупреждают о том, что полиномиальная аппроксимация хорошо аппроксимирует данные(серию) посередине и "врет" по краям. А любой спекуль на базаре заинтересован как раз в правом крае(конце) серии и в том, что за ним может последовать. В этой области с полиномом, к сожалению, практики говорят - облом. Попробуем проверить так ли оно с выбранными моделями на практике. Для этого перепишем алгоритмы т.о. чтобы при каждом увеличении серии на одно значение производился расчет и результат сохранялся в выходной серии, а не велся расчет по серии целиком как на рис 1. На рис 2 показан только один алгоритм - эконометрический т.к. картинки получаются схожими для обоих алгоритмов и обилие кривых размазывает картину.
Рис. 2 Синим расчет по серии целиком. Красным расчет на каждом баре
Теперь из рисунка 2 понятно, что кисельные берега и молочные реки могут оказаться просто болотом и кучей навоза при использовании для принятия решений результатов расчетов серии целиком. Если обратить внимание на разницу в показаниях алгоритмов побарного расчета и расчета серией(красные и синие кривые) справа налево, то видно, что кривые расходятся довольно быстро. Это говорит о том, что аппроксимация действительно "плавает" прилично на краях. Пейн с "классическим" понятием медведи-быки тоже подтверждает расхождения. Вероятнее всего такое представление нельзя использовать на практике с прибылью в "классическом" стиле, т.е. так как в книгах пишут, типа пересекло вверх - покупаем, пересекло обратно продаем с переворотом позиции. Последнее предложение содержит оговорки, которые необходимо озвучить, а то все слишком плохо как-то получается.
Ремарка №1 : По наблюдениям качество таких моделей лучше оценивать не приближенностью и прогнозируемостью цены, а длиной окна стабильности результатов модели. Т.е. откуда она уже не "пляшет" или на сколько баров отступить назад чтобы результаты были приемлемо стабильны. Другими словами можно ли соорудить какую-то кривую типа тех, которые используются во всем известном индикаторе ишимоку сдвигом вправо на заданное количество значений(аналог исследования лэгов в эконометрике). Ремарка №2 : Во введении упоминались журиковские МА. Кто их смотрел, наверно обратили внимание на то, что Журик дает для каждого индикатора два варианта функций. Один вариант с обычным названием, а другой с суффиксом или префиксом(вылетело из памяти) Х. Журик пишет, что функция с суффиксом или префиксом дает значение на баре. Про вторую, кажется, он ничего не пишет. Интересно, что значения при построениях аналогичным тем, которые приведены на рис 2 отличаются и для функций МА журика. В мануале по МА, Журик упоминает о "перелетах" результатов алгоритма во впадинах и вершинах исходной серии. Ремарка №3 : Во многих прогах ТА расчеты ведутся по всей серии сразу, а результирующая серия потом используется в системе для определения моментов входов-выходов системы или оптимизации ее параметров. Практически такой подход может привести к так называемому фиттингу или "скрытому заглядыванию в будущее". Этот эффект является бичем для трейдеров и лакомым кусочком для пиарщиков и околорыночных воротил, которые продают чудо проги - "черные ящики", книги, системы-граали ...
Часть 3. ТАК ЛИ ВСЕ ПЛОХО ИЛИ МОЖНО ЛИ КАКТО НАЖИТЬСЯ БЕДНОМУ СПЕКУЛЮ В конце второй части в ремарках упоминались возможные пути дальнейшего "приспособления" теории к практическому применению. Рассмотрим модель с расчетами на каждом баре. Т.е. если ткнуть в любой бар серии, то алгоритм при расчете видит только левую часть и понятия не имеет о правой части серии. На рис 3 представлены радиотехническая и эконометрическая модели при расчетах на каждом баре.
Рис. 3 Красным эконометрическая-бар. Золотистым радиотехническая-бар
Уже само по себе представление неплохое для практического применения. Вся загвоздка оказалось вроде во внимательности при вычислениях и дальнейшем представлении результатов. Получается, что теоретики, когда разрабатывали модели, имели гораздо более строгих судей, нежели часть ТА-шных "классиков" и поставщиков софта для широких масс. На этой ноте вроде можно было бы, и закончить исследование. Но повествование о нелинейности было бы неполным, если не упоминать частое практическое применение расчетов индикатора на индикаторе. Если обе модели нелинейные то получается нелинейность в квадрате(каламбур, но факт). Построим сей каламбур на алгоритме типа зиг-зага. Построение делается только на барных функциях т.к. серийные функции сами по себе "плавают" и непригодны для расчета(см. часть 1). На рис 4 показано как выглядит такое построение при использовании алгоритма, который не содержит параметров и естественно является, по сути, нелинейной функцией с разрывами. В данном случае введена сознательно нелинейность в угоду отсутствия параметров для оптимизации.
Рис. 4 зиг-заги по обеим барным моделям
Рисунок получился вроде нормальным для понимания и поиска "доходных мест". Однако результаты расчетов алгоритмов(кривые на рис 4)как следствие введения нелинейности могли привести к тому, что описано в части 2, т.е. серии зиг-загов могли стать нестабильными в динамике или попросту "плыть". Используемый в исследовании алгоритм модели типа зиг-заг довольно сложен и его непросто преобразовать таким образом, чтобы расчет велся побарно и было известно значение результата расчетов на самом крайнем правом баре серии данных. Другими словами подход, который использовался с мувингами выше, оказался нетривиальным для такого рода алгоритмов. Возник вопрос - что делать? В целях экономии времени для проверки использовалось простое решение - имитационное моделирование. Фильтрация глазьями по наблюдениям за динамикой поведения кривых для грубой оценки пригодности и запись в файл значений серий для их последующего импорта и получения численных оценок. Такой подход наиболее легкий с т.з. реализации(не надо переписывать алгоритм) но годится только для случаев, когда есть уверенность что файл результата не надо будет пропускать через другую модель(индикатор).
Часть последняя - патетическая ВЫВОДЫ.
1. Использование нелинейных моделей в торговых системах возможно, но нетривиально.
2. Алгоритмы или формальное описание, а лучше и то и другое, должны быть известны пользователю
3. Реализации алгоритмов желательно иметь в исходниках в обоих вариантах - серийном и барном
4. Необходима проверка способа работы проги ТА, используемой для разработки, с сериями данных.
5. Необходимо следить за стабильностью результатов при накладывании индикаторов(моделей) друг на друга, если таковое присутствует в алгоритмах систем-фильтров.
С уважением к сообществу, mrisk121, 25-12-2010
ЗЫ. В следующем посте постараюсь изобразить проверку зиг-зага имитацией
-------------------- Удачи
-------------------------
Never forget that only dead fish swim with the stream
Редактировано mrisk121 (02/01/2011 12:18)
|
mrisk121
Профессор
 
Зарегистрирован: 17/11/2003
Сообщений: 2208
|
|
ПРОДОЛЖЕНИЕ...
В аттаче грубая проверка иммитацией
ВСЕХ С НОВЫМ ГОДОМ !
Зы. Зы.Проверка иммитацией для меня была возможна благодаря 2-м хорошим людям, которым говорю СПАСИБО! Это Седов Алексей, который написал Симулятор РеалТайм-а и Модератор Седа, который написал СтокАпдейтер и по моей просьбе добавил редактор файлов. Редактор мне особенно помог в выборке данных для проверок.
-------------------- Удачи
-------------------------
Never forget that only dead fish swim with the stream
|
Adeka
Гость
Зарегистрирован: 02/05/2009
Сообщений: 9
|
|
С Новым годом, mrisk121!
Правильно ли я понял, что вы говорите про ARIMA-модельки http://en.wikipedia.org/wiki/Autoregressive_integrated_moving_average ?
Вы пишите, что "алгоритмы не содержат оптимизируемых параметров", однако разве длина лага, помимо окна для наблюдений, не являются оптимизируемыми параметрами?
|
mrisk121
Профессор
 
Зарегистрирован: 17/11/2003
Сообщений: 2208
|
|
Спасибо! Вас также с Новым Годом и попутных трендов!
Code:
Правильно ли я понял, что вы говорите про ARIMA-модельки
ДА! Это из этого огорода и в основе лежит та же теория. Только я смотрел отдельно МА и АР без компота АР и МА. Ингда такой подход в цепочку полезнее для понимания и использования
Насчет "Вы пишите, что "алгоритмы не содержат оптимизируемых параметров", однако разве длина лага, помимо окна для наблюдений, не являются оптимизируемыми параметрами? "
Про длину лага немного не понял. Лаг я когда упоминал имел в виду только когда осуществляется накладка нелинейных моделей в цепочку. В предыдущем посте как раз метод проверки необходимости введения лага показана(грубо но быстро)
По поводу окна наблюдений я может не акцентировал внимание что я выбирал модели у которых параметры выбираются автоматически алгоритмами типа автоподстройки. И взял то что мне показалось наиболее стабильным. Смотрел много моделей. Многие из них так плывут в динамике что даже непонятно что это за кривая и к чему относится. Потому окна наблюдений тоже нет. Единственное что есть это минимальное количество изначальных данных чтобя получить первое значение - но это считаю не является параметром и его нельзя назвать окном. Скользящего окна как такового нету. Когда писал насчет констант то к примеру изменение значения константы на 1000 приводит к такому изменению кривой что появляется лэг между кривыми(типа тех что в верхнем пейне рис 1) от 2 до 4 баров. Т.е. грубо ничего не меняется в картинке. Меня такое устраивает и я про эту константу "забыл" в принципе т.к. для подобной фильтрации она статистически незначима при проверке даже с 1% допуском.
-------------------- Удачи
-------------------------
Never forget that only dead fish swim with the stream
|
Adeka
Гость
Зарегистрирован: 02/05/2009
Сообщений: 9
|
|
mrisk121
Спасибо Вам, смотивировали на подумать!
Посмотрел на эконометрику под другим углом.
Сейчас скажу о том, что имел в виду, когда говорил о лаге. Это сама модель, т.е. для AR(1) лаг 1: Y(t)=a0+a1*Y(t-1), а для лага 2 соотв-но Y(t)=a0+a1*Y(t-1)+a2*Y(t-2).
Т.е. мы все равно решаем на сколько наша моделька нелинейна, т.е. оптимизируем.
|
mrisk121
Профессор
 
Зарегистрирован: 17/11/2003
Сообщений: 2208
|
|
В ответ на :
Adeka писал: Спасибо Вам, смотивировали на подумать!
Пожалуйста! По мне на подумать самое полезное.
В ответ на :
Adeka писал: Посмотрел на эконометрику под другим углом.
Эконометрика по мне также как и математика дает набор инструментов и не более. А когда как и что это уже то что часто называют искусством. Этому самому искусству приходится всю жизнь учиться по мне.
В ответ на :
Adeka писал: Сейчас скажу о том, что имел в виду, когда говорил о лаге. Это сама модель, т.е. для AR(1) лаг 1: Y(t)=a0+a1*Y(t-1), а для лага 2 соотв-но Y(t)=a0+a1*Y(t-1)+a2*Y(t-2). Т.е. мы все равно решаем на сколько наша моделька нелинейна, т.е. оптимизируем.
Теоретически весь набор формального и неформального что собран под названием ТА и не только основан на истории которая циклически повторяется. Раньше писали про спиралеобразность развития. Потому понятие оптимизация немного "непонятно" в контексте базара. Общение с профи по оптимизации задач реального формализуемого мира(типа технических и производственных задач) еще больше заводит в тупик(это мое мнение на основе личного опыта общения). Равенство которое вы привели это авторегрессия. Она может использоваться только для качественного ответа насчет некоторых свойств анализируемой выборки и не более. Кроме того для того чтобы иметь долю уверенности в том что получили надо чтобы выборка удовлетворяля требованиям модели формули которую вы написали. Иначе результат не гарантировано что описывает свойство процесса, а только конкретной выборки. Все имхо ессно
Зы. Поскольку опять Новый(старый) Год покажу еще одну картинку в тему чего написал в этом посте типа цифиря которую имеем и реальный контур.
Всех с Новым старым
-------------------- Удачи
-------------------------
Never forget that only dead fish swim with the stream
Редактировано mrisk121 (13/01/2011 15:13)
|
|