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

 
Mathemat >>:

Нет ничего проще, если воспользоваться MS XL.

Я не понял-это эксель

 

Neutron

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

Я думал, что ответил.

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

Словами, производная по скорости равна ускорению (бросьте в меня камень если не так )). А вот со вторым уравнение чуть сложнее, если убрать

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

Более подробно, как получена эта модель можно прочитать Зингер «Оценка характеристик и выбор фильтров сопровождения в реальном масштабе времени для тактических систем вооружения». Статью прилагаю.

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

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

Если что то не разъяснил, спрашивайте, постараюсь ответить. (единственное завтра на месяц уезжаю в санаторий, не будет на форуме меня)

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

Файлы:
zp_72_01.rar  174 kb
 

Эх, жалко что уезжаешь - сожрут меня анти-управленцы с потрохами :)


Насчет транспонирования не должно быть проблем при правильном подходе. Операция транспонирования сохраняет число элементов. Следовательно, если все матричные операции будут оперировать линейными массивами, а не двумерными, то все будет в порядке с транспонированием. Да и динамические линейные массивы хорошо поддерживаются в MQL4, в отличие от многомерных.


P.S. Покупай/бери в аренду ноут и 3G-модем и будешь тусить на форуме, не выходя из санатория :)

 

Можно я медлено пойду, в виду своего врождённого тугодумия?

Итак.

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

Ну да ладно, сгладим ценовой ряд мувингом и палучим сколь угодно раз дифференцируемую кривую. Теперь да! Всё в порядке... или нет? Пожалуй не всё. Есть грёбаная фазовая задержка, тем большая, чем глаже кривая. Предсказывать придётся за этот горизонт, для этого нужны производные всё боле высоких порядков. И надо же, подходим к горизонту прогнозирования, а у нас кончается запас гладкости нашей кривой. И так всегда! Да, по другому и быть не может, ведь мы пытаемся вытащить сами себя из болота за волосы.

Прокоментируй.

 

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


Короче хорошего мало. Но лучше, чем ничего.

 

Попробую тоже по порядку.

Это модель физического процесса, движение цены. Сама цена непрерывна, а вот процесс её котирования дискретен. Я считаю, что между приходами тиков цена существует, значит, её можно дифференцировать. Иначе получается - пропал у меня нэт, всё в мире рухнуло цены нет.

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

В радиолокации, данные поступают тоже дискретно, поэтому и переходят к дискретному времени, и решают в условиях, когда данные (котиры) поступают не регулярно.

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

Файлы:
stj.rar  52 kb
 
bstone писал(а) >>

Насчет транспонирования не должно быть проблем при правильном подходе. Операция транспонирования сохраняет число элементов. Следовательно, если все матричные операции будут оперировать линейными массивами, а не двумерными, то все будет в порядке с транспонированием. Да и динамические линейные массивы хорошо поддерживаются в MQL4, в отличие от многомерных.

Пожалуста сделайте процедуру транспонирования, у меня на MQL не получаеться. Вот пример в маткаде. Одно условие размерность m и n заранее не известны, и функция желательно должна быть уневерсальна, т.е. все равно какой массив транспонировать, естественно должна вызываться многократно и при этом правильно работать.

 

А вот это не есть правильно. На самом деле ценообразование - дискретный процесс по своей природе, т.к. новая цена возникает, когда меняется баланс между заявками на продажу и на покупку, а это не непрерывный процесс. Т.е. мы имеем дело с дискретным процессом, точнее с дискретными по времени наблюдениями дискретного процесса.


Однако, не велика беда, т.к. как и со всеми дискретными процессами, нас спасает то, что мы имеем дискретные отсчеты на уровне тиков и М1, а работать можем на М30 и H1.

 
bstone писал(а) >>

А вот это не есть правильно. На самом деле ценообразование - дискретный процесс по своей природе, т.к. новая цена возникает, когда меняется баланс между заявками на продажу и на покупку, а это не непрерывный процесс. Т.е. мы имеем дело с дискретным процессом, точнее с дискретными по времени наблюдениями дискретного процесса.


Однако, не велика беда, т.к. как и со всеми дискретными процессами, нас спасает то, что мы имеем дискретные отсчеты на уровне тиков и М1, а работать можем на М30 и H1.

а если баланс не меняеться - цена есть ? или она пропадает )

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

 
Prival писал(а) >>

Пожалуста сделайте процедуру транспонирования

"Не ответа ради, а намека для".

А не будет ли выходом работа с матрицей как с одномерным массивом, у которого размерность можно менять функцией ArrayResize? (Убей...те не всомню, как раньше работали на Фортране 4 с матрицами :( и с озвученными где-то ранее бибилиотеками)

Причина обращения: