Теория случайных потоков и FOREX - страница 13

 
shobvas:
сомневаюсь я что можно говорить о скорости и тем более ускорении цены... по крайне мере в том же ключе что и о скорости и ускорении летательных аппаратов.

согласен, что скорость и ускорения разные. Но они есть и там и тут. Этот подход дает возможность прогнозировать
 
rsi:
Но тогда во весь рост встанет вопрос о портфельном тестировании - задача вновь разрастается до необозримости :-(.
Вы правы, эту модель, L(k)=[V(k),а(k)], действительно очень легко усложнить. Рассмотреть скорости и ускорения различных валютных пар + их взаимные кореляционные связи + ввести туда Volume. Усложнить легко, надо только вначале с самым простым кирпичиком разобраться. Я поэтому и говорил всем места хватит :-)
 
Prival, а ты можешь вкратце показать, какие траектории движения самолета видит радар и как от них берутся производные, тем более вторые? Одно дело - численное дифференцирование регулярной, "хорошей" функции, другое - стохастического процесса, интервал дискретизации которого (минута) явно гораздо больше интервала, на котором он может резко изменить значение.

Из твоей статьи "Оценка скорости под ракурсом":

Д(t),V(t),a(t) – детерминированные составляющие соответственно дальности, скорости и ускорения;

DV(t), Da(t) – флюктационные составляющие скорости и ускорения;

Но первые ведь как-то определяются - исходя из определенной модели флуктуаций, т.е. шума.
 

Вот статья из открытой печати (прилагается), там в конце статьи говориться про наши исследования. И приводиться АКФ реальных ТДЧ (траектории доплеровской частоты) воздушных объектов (ВО) (частота Доплера прямо пропорциональна скорости) см. статью рис. 9. Сравни их визуально с АКФ, что я выкладывал ('Теория случайных потоков и FOREX' или тут 'Теория случайных потоков и FOREX' ). Я когда эту кривую увидел, глазам своим не поверил, раз 20 перепроверял (разными способами АКФ строил, сейчас уже 3-м способом проверил, ошибки нет.)

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

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

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

P.S. Я в формуле (10) засомневался, там что то не то, не вяжется кое что. И в книге тоже самое, похоже опечатка. Я к Тихонову и поехал из-за этого, но ничего его идеи живут и есть его ученики Харисов, Ярлыков, трудно только их выловить в академии, на крайний случай к Богданову в Тверь поеду (автор этой статьи, руководитель этих работ и моей диссертации заодно).

Файлы:
statja.zip  447 kb
 
Prival, посмотрел я эту статью по диагонали. Есть два критических предположения, влияющие на все. Первое:



Для котировочного процесса (и даже его первой разности) это весьма сомнительно, так как сам процесс не похож ни на стационарный, ни тем более на эргодический. Второе:



Где у нас нормальность, Prival?
 
 
Mathemat:
1. Для котировочного процесса (и даже его первой разности) это весьма сомнительно, так как сам процесс не похож ни на стационарный, ни тем более на эргодический.
2. Где у нас нормальность, Prival?

1. АКФ строилась для Y-мю, т.е из процесса котировок предварительно удалялся "тренд" мю=y(x)=a+b*x.Тем самым МОЖ процесса = const (одно из условий стационарности 0 в нашем случае). Для калмана нет проблем определить "тренд" - это и есть детерменированная составляющая скорости. Остаток после удаления "тренда" это флюктационная составляющая скорости. Согласен, что флюктационная составляющая это не эргодический процесс, но есть участки где он (процесс) соответсвует колебательному звену и я думаю их будет много на истории (то что называют флэтом). Есть участки которые не соответсвуют, значит в фильтр надо закладывать другую модель. ТАКИХ фильтров должно быть много в идеале бесконечность. Когда я обьяснял физику "Как в приемнике крутишь ручку попал на станцию (тренд) и держишь его. Пропала станция, крути ручку пока не зазвенит ага новости, отработали новости, опять пропало пошли крутить дальше. Ну как то вот так. Тока все сложнее и в формулах"

Это означает, что паралельно работают 10-100-мильярд фильтров калмана, на каждый из которых поступают котировки, если поток котировок соответсвует вложенной модели, то все ок Мы слушаем новости, тренд, флет и т.д. Пропал сигнал (невязка на выходе фильтра превысила порог) все крути ручку ищи фильтр из оставшихся 99 (милиард-1) который наиболее соответсвует протекающему процессу (модели вложенной в нём).

Единственное хочу обратить внимание, что теорему Котельникова никто не отменял, если котировки поступают 1 раз в минуту (работаем по минуткам) то процессы доступные нам для исследования имеют период как минимум 2 мин, на практике лучше чтобы частота дискретизации в 5-8 раз была выше максимальной частоты. Если проектировань (ориентировать) работу ТС на новости то надо переходить на тики.

2. Нормальность возможно и тут есть, прочитай внимательно условие про которое сказано, "прямолинейный горизонтальный полет", это означает МОЖ=const и не меняется, какой бы участок внутри этого интервала времени мы не брали. Найди такой участок на котировках и посмотри (+-1 пипс в течении часа при МОЖ=сonst). Ну и бог с ним с этим участком :-) Лишная фраза в статье не связанная с сутью исследований.

И вообще пальцы болят сил нет :-) одевай наушники.

 

Необходимо сделать Колмановский фильтр на MQL, вот как он выглядит на MathCad

индексы "Т", "-1" - операции транспонирования, вычисления обратной матрицы. Все это матрицы (массивы) и программировать надо согласно матричной алгебры http://alglib.sources.ru/matrixops/

есть куски кодов на Си, но надо проверять. В маткаде все работает.

Rosh обращаюсь к Вам, не знаю можно ли на работе этим заниматься, но это достойная задача для мастера, может быть в свободное время. Цель максимальная скорость и точность вычисления. Матрица Н тип integer (состоит из 0 или 1). Остальные double.

Или кто ни будь, кто может справиться с этим, только кивните. Постараюсь написать подробную пошаговую инструкцию (опыт программирования на MQL у меня есть).

 
Prival:

Это означает, что паралельно работают 10-100-мильярд фильтров калмана, на каждый из которых поступают котировки, если поток котировок соответсвует вложенной модели, то все ок Мы слушаем новости, тренд, флет и т.д. Пропал сигнал (невязка на выходе фильтра превысила порог) все крути ручку ищи фильтр из оставшихся 99 (милиард-1) который наиболее соответсвует протекающему процессу (модели вложенной в нём).


Основная проблема при торговле - к тому моменту когда модель более или менее достоверно распознаётся вероятности её продолжения и разрушения примерно одинаковы. Боюсь это правило будет относиться и ко всем 10-100-мильярдам фильтров калмана.
 
lna01:
Prival:

Это означает, что паралельно работают 10-100-мильярд фильтров калмана, на каждый из которых поступают котировки, если поток котировок соответсвует вложенной модели, то все ок Мы слушаем новости, тренд, флет и т.д. Пропал сигнал (невязка на выходе фильтра превысила порог) все крути ручку ищи фильтр из оставшихся 99 (милиард-1) который наиболее соответсвует протекающему процессу (модели вложенной в нём).


Основная проблема при торговле - к тому моменту когда модель более или менее достоверно распознаётся вероятности её продолжения и разрушения примерно одинаковы. Боюсь это правило будет относиться и ко всем 10-100-мильярдам фильтров калмана.


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

А такие стратегии есть, живые. Посмотрите на Better'a. Его советник реально делает то, что я хотел реализовать в своем - распознает точки разворота и входит в начале волны. Причем как вверх, так и вниз. Вот вам и прогноз, и распознавание до того как.

По поводу программы Prival 'a я бы сказал следующее: интересно, идея есть, параллель не такая уж и далекая. К сожалению не разбирался с математикой, своих дел навалом, но если матрица перехода не является чем-то фиксированным, то возможно на этом пути есть решение. Но вот с расчетной частью надо бы не так размашисто. Если только прямой вычислительный процесс требует расчет по 10-100 миллиардам фильтров, то о тиках можно забыть. А есть же еще обратная задача, надо же как-то подстраивать параметры под меняющиеся условия рынка.

Так что требуется четко оценить ресурсы и по памяти, и по времени вычислительного цикла. А то может получиться один расчетный цикл 5-10 часов. Какие тогда новости ? Только и останется что на днях играть или неделях. :-)

 

Есть варианты построения адаптивной Ф, к ним переходят если паралельные вычисления нескольких фильров превышают по вычислительным затратам адаптацию. т.е. матрица Ф(t,АКФ,L) зависит от времени, параметров АКФ и L - некоторых свойств потока. Но это уже область нелинейной фильтрации. Хотел бы пока остаться в рамках линейной фильтрации. Набрать статистику по АКФ в характерных участках (спокойный рынок, открывается сесия, выход новостей, несколько трендов с различными параметрами, несколько флетов с различными параметрами).Как это говорят подергать за ниточки посмотреть. Думаю порядка 10-16 фильтров будет достаточно, при появлении невязки, расхождении с моделью, необходимо принимать решение (критическая точка рынка-точка принятия решения). В этот момент переходить на статистические решающие функции Вальда. Как то так, пока у меня нет ответов на все вопросы, есть только ясный путь и цель.

Да по поводу времени распознования, это зависит от качества признаков и набора моделей. Может быть вообще мгновенна. Пример (допустим в наборе) будут 2 фильтра отвечающие за работу с гэп. (1 вверх 1 вниз). Выбор из всей совокупности моделей однозначен + признак довольно мощный :-).