PDA

Просмотр полной версии : Рыночные модели



deniss
23.12.2011, 22:48
Идея написать робота под свою ТС появляется едва ли не у каждого трейдера. Вообщем-то, это даже логично - кроме набора паттернов в рабочей ТС, которая эффективна в текущий момент, не менее важно понять, как система работала в прошлом, как она ведет себя на других инструментах. Кроме этого, автоматизированная система позволяет оптимизировать параметры управления капиталом, надежность и правильность входов и выходов, установить временной фактор, после которого правила ТС будут нуждаться в пересмотре.

Эта идея в свое время появилась и у меня, и как результат, я на основе сотни тестов и результатов выработал собственное "чувство рынка".

Количество существующих механических торговых систем (МТС) на сегодняшний день, собственно, поражает. А вот их доходность становится величиной прогнозируемой: как правило подавляющее большинство МТС успешны на небольших промежутках времени.

Как это ни странно звучит, но рынок постоянно меняется - увеличивается количество участников, улучшается качество прогнозирования, все больше и больше появляются крупных трейдеров. У рыночных инструментов увеличивается ликвидность, повышается волатильность, устаревают одни методы и взамен появляются новые.

Многие считают, что на рынке основную долю дохода получают роботы (или роботы крупных компаний). Без сомнений, роботы делают большие обороты, начинается борьба за латентность, увеличивается количество автоматизированных сделок.
НО, их доходность - величина неизвестная. Да, собственно, и речь пойдет о другом...

deniss
23.12.2011, 23:13
Вообщем, появилась идея создания коллективного разума и его реализация в программном коде.

Целью раздела не является очередная партия mql-советников, за которые начинающие хватаются как за воздух.

Общая концепция заключается в создания прототипа робота, который "знает и умеет" определять паттерны, является кастомизированным, что дает возможность наличия множества комбинаций для его реализации.
Фоновая задача - создать качественный анализатор стратегий.

В связи с этим данный раздел хотел бы посвятить алгоритмизации "рыночных моделей".
Что есть МТС: это сочетание сигналов по различным критериям.
Что есть критерий - думаю, это не более, чем просто паттерн, но с точки зрения алгоритмизации - вижу это как функцию y=f(x) и триггер, который хранит текущее состояние функции и дает нам сигналы.

Какие критерии рассматривать (на этом форуме): имея опыт работы с биржевой информацией, естественно, игнорируется практически все что к ней не относится к ней. Сюда в основном относятся разного рода индикаторы, построенные на усреднении цены, типа стохастика, rsi, macd и прочей ерунды. Я не хочу сказать, что с их помощью нельзя построить благородную МТС, но они не отображают суть движения и по этому я в них смысла не вижу.

p.s. сжато как-то получилось, но по возможности буду дополнять. Вообще-то спешка тут ни к чему, и на самом деле горячих дискуссий в рамках этого позраздела не ожидаю...

rbspeeze
19.01.2012, 07:24
Не стоит забывать что роботизация бывает нескольких типов все зависит от задач и средств проекта. Ее можно разделить на три основные категории МоноФункциональные, СтереоФункциональные (тоесть то что вы называете "Кастамизированым") и Умные системы которые обладают способностью само совершенствоваться и гибко саморегулироваться под рынок, когда речь идет о БлэкБоксах имеется введу именно высокоинтеллектуальные сложные системы которые способны до года прибыльно торговать без существенного контроля, конечно нынче это понятие размыто. Уважаемый Денис не могли бы вы прокомментировать как вы себе это представляете, будете развивать систему на существующих платформах или же будете писать в корне свою платформу для построения "Умной системы"? если да то на каком языке? Какие рыночные данные будут использоваться? Кто является их поставщиком? Будут ли поставщики данных разными? =) Какие стратегии и технологии будут использоваться при этом? А также не стоит забывать о технических аспектах таких как УльтраЛоуЛатенси, системные ресурсы и т.д. Следует понимать что в рамках мало ресурсного проекта потребуется много времени на создание серьёзной системы.

deniss
19.01.2012, 11:36
Не стоит забывать что роботизация бывает нескольких типов все зависит от задач и средств проекта. Ее можно разделить на три основные категории МоноФункциональные, СтереоФункциональные (тоесть то что вы называете "Кастамизированым") и Умные системы которые обладают способностью само совершенствоваться и гибко саморегулироваться под рынок, когда речь идет о БлэкБоксах имеется введу именно высокоинтеллектуальные сложные системы которые способны до года прибыльно торговать без существенного контроля, конечно нынче это понятие размыто. Уважаемый Денис не могли бы вы прокомментировать как вы себе это представляете, будете развивать систему на существующих платформах или же будете писать в корне свою платформу для построения "Умной системы"? если да то на каком языке? Какие рыночные данные будут использоваться? Кто является их поставщиком? Будут ли поставщики данных разными? =) Какие стратегии и технологии будут использоваться при этом? А также не стоит забывать о технических аспектах таких как УльтраЛоуЛатенси, системные ресурсы и т.д. Следует понимать что в рамках мало ресурсного проекта потребуется много времени на создание серьёзной системы.

Приветствую,

честно говоря при автоматизации я больше руководствовался собственным опытом, при этом отлично понимаю, что для эффективного результата надо уделять этому максимальное время.
Что касается категории: до нейросетей боюсь, что я не дотяну. Думаю, что наверное речь пойдет о Стереофункциональных системах без самообучения, либо с примитивными ее элементами при вмешательстве человека.

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

Думаю, что наиболее эффективно было бы развивать это направление на базе .NET и подтверждением тому существующие решения, например Stock#. Кроме этого многие платформы поддерживают C# (http://stocksharp.com/lesson/article/createrobot.aspx)

В будущем, когда новые роботы "громко" :) о себе заявят, встанет вопрос и о платформах и о VPS'ах поближе к бирже с целью уменьшения латентности.

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

Естественно малоресурсность имеет место, и собственная занятость тоже. Но сама идея написания конструктора роботов, для их создания в промышленных масштабах (по количеству), чтобы выделить из них качественные остается и надеюсь будет воплощена в жизнь.

Still
19.01.2012, 20:51
[QUOTE=deniss;781]
Что есть критерий - думаю, это не более, чем просто паттерн, но с точки зрения алгоритмизации - вижу это как функцию y=f(x) и триггер, который хранит текущее состояние функции и дает нам сигналы.

Чтобы задать функцию,нужно указать способ(правило,закон),с помощью которого для каждого значения аргумента Х можно найти соответствующее значение функции У.В формуле у=f(x),у-цена или курс(соотношение ценности двух товаров),х-время.
Задать функцию можно 3 способами:
1.Функция может быть задана формулой.
2.Функция может быть задана таблицей.Закон,по которому каждому Х соответствует У определяется не формулой,а таблицей
3.Функция может быть задана при помощи графика.
Формулой не свяжешь,тк каждому Х соответствует разное У,почему это происходит так,я думаю завязано на другой функции у1=f(x),где у1 - объем,х - время.То есть цена и объем связаны между собой временем,задать функцию цены и объема можно посредством времени.
Так вот функцию можно задать таблицей и графиком( имея график можно задать таблицу и наоборот).Зададим таблицу,где каждому значению времени Х будет соответствовать каждое значение цены и объема У,У1.При последующем Х1 значение У и У1 меняются(насколько сильно будет это изменение? завязан на временном факторе,ведь в след Х1 ,У и У1 не могут изменится в миллион раз,это может произойти при Хn но никак не при X1)Что делать с этим дальше...подключить сравнительный анализ,формулы теории вероятности и искать математика,желательно профессора МГУ))).

deniss
20.01.2012, 10:30
Что есть критерий - думаю, это не более, чем просто паттерн, но с точки зрения алгоритмизации - вижу это как функцию y=f(x) и триггер, который хранит текущее состояние функции и дает нам сигналы.

Чтобы задать функцию,нужно указать способ(правило,закон),с помощью которого для каждого значения аргумента Х можно найти соответствующее значение функции У.В формуле у=f(x),у-цена или курс(соотношение ценности двух товаров),х-время.
Задать функцию можно 3 способами:
1.Функция может быть задана формулой.
2.Функция может быть задана таблицей.Закон,по которому каждому Х соответствует У определяется не формулой,а таблицей
3.Функция может быть задана при помощи графика.
Формулой не свяжешь,тк каждому Х соответствует разное У,почему это происходит так,я думаю завязано на другой функции у1=f(x),где у1 - объем,х - время.То есть цена и объем связаны между собой временем,задать функцию цены и объема можно посредством времени.
Так вот функцию можно задать таблицей и графиком( имея график можно задать таблицу и наоборот).Зададим таблицу,где каждому значению времени Х будет соответствовать каждое значение цены и объема У,У1.При последующем Х1 значение У и У1 меняются(насколько сильно будет это изменение? завязан на временном факторе,ведь в след Х1 ,У и У1 не могут изменится в миллион раз,это может произойти при Хn но никак не при X1)Что делать с этим дальше...подключить сравнительный анализ,формулы теории вероятности и искать математика,желательно профессора МГУ))).

С математической точки зрения мой ход мыслей полностью совпадает с Вашим, но со сравнительным анализом идея немного другая: подключить несколько функций и принудительно (обучить?) задать значения триггеров, которые соответствуют нашим ожиданиям (в частности, на основании проверенных паттернов, у которых есть вероятностный исход). То есть триггер определяет событийный момент. Дальше на основе бинарного сравнения различных триггеров создать систему определяющую, уже непосредственно, параметры ордера; провести анализ на длительном временном промежутке. Дальше добавляются функции, изменяются сочетания триггеров и повтороный анализ. На основании статистики (автоматически или вручную) выбрать "качественное" сочетание функций и их триггеров и опять это делать запустить в анализ. И это цикл "Модификация триггеров - анализ - статистика " до получения результата...

Количество возможных комбинаций методом перебора, боюсь, будет значением со многими нулями в конце. По этому моя глобальная идея заключается в создании конструктора, где человек, на основе собственного опыта и знаний устанавливает, на его взгляд, наиболее верные сочетания функций и триггеров модифицируя их для получения результата.

При наличии статистической выборки уже можно подключить анализ управления капиталом и на выходе получить готовую автоматизированную систему... эх, как легко это пишется, и как непросто это будет реализовать :)

Still
20.01.2012, 17:21
Денис,а есть у вас тиковая история дельт? потому что при анализе тиковой истории объемов,информации не достаточно,тк объем включает в себя аск и бид,в тоже время и цена представляет собой интерес двух сторон,поэтому какой объем асковый или бидовый появляется по цене подсказывает об интересе к этой цене в данный момент времени покупателя или продавца

Ranc
20.01.2012, 17:34
Вставлю свои 5 копеек.

Как по мне, то нужно стремиться к таким системам, которые бы могли "видеть" действия тех или иных групп игроков на рынке, объединяя в себе как математический аппарат, так и типовые поведенческие модели.
Самообучающиеся чему-то системы, как и всякие нейросети, про черные ящики вообще молчу, по-моему, еще никому ничего не заработали. Проблема заключается в том, на моя взгляд, что их создатели не видят самую важную сторону трейдинга - психологию (поведение человека), пытаюстя предсказать будущее из прошлого. Реализация может оказаться достаточно сложной только по одной причине - слабо развита теоретическая база. Все ведь по средним и по стохастикам торгуют. Кому какое дело до того, что кто-то на рынке собирается купить большую партию, скажем, валюты, и заранее начинает прощупывать рынок. Или просто входит сразу большим лотом. Поэтому нашей общей задачей для начала вижу как раз таки научиться определять истинные замыслы крупных игроков (и видеть где и как они входили). Пусть это будут элементарные паттерны. Москва не сразу строилась. Надо уходить от тупого теханализа, которым пичкают всех и везде и начинать думать по-другому, а вот это уже сложнее ))

Если избрать заранее правильный путь и двигаться по нему, то уверен, что будет положительный результат.

deniss
20.01.2012, 19:29
Денис,а есть у вас тиковая история дельт? потому что при анализе тиковой истории объемов,информации не достаточно,тк объем включает в себя аск и бид,в тоже время и цена представляет собой интерес двух сторон,поэтому какой объем асковый или бидовый появляется по цене подсказывает об интересе к этой цене в данный момент времени покупателя или продавца

Тиковой истории нет, но есть минутная. В принципе есть мысль в будущем хранить историю по ленте на Сип, Евро, нефть и золото, но практически руки не дошли.