Программирование - это просто
Advertisement
Главная arrow Биржевые роботы arrow Исследование: "Волновой анализ" arrow Волновой анализ. Шаг 1. Попытка разложить график котировок в ряд Фурье.
19.04.2024 г.
Главное меню
Главная
Интернет магазин
Программные продукты
Биржевые роботы
Искусственный интеллект
Математика и информатика
1С:Предприятие
Уроки C#
Уроки Delphi
Уроки программирования
Web-программирование
Дизайн и графика
Компьютер для блондинок
Исходники
Статьи
Платный раздел
Рассказы про компьютеры
Хитрости и секреты
Системный подход
Размышления
Наука для чайников
Друзья сайта
Excel-это не сложно
Все о финансах
.
Волновой анализ. Шаг 1. Попытка разложить график котировок в ряд Фурье. Печать E-mail
Автор megabax   
19.11.2011 г.
New Page 1
См. так же анонсы уроков "создаем биржевого робота на C#, в том числе новый урок Пишем биржевого робота на C#. Урок 6. Анализ опционной стратегии. Часть 1.

Волновой анализ. Шаг 1. Попытка разложить график котировок в ряд Фурье.

На шаге 23 экспериментального проекта "Генетический алгоритм" я решил создать отдельную ветку этого проекта: "Волновой анализ".  На эту мысль меня натолкнул ezom, посоветовав посмотреть в сторону волн Эллиота, а так же оставив комментарий в блоге. Идея такова: "В природе все циклично. День сменяет ночь, периодически меняются времена года. Сердце человека тоже бьется циклично. Звук - это колебания, цикличные колебания воздуха или другой среды. Свет, электромагнитные волны, другие излучения - это тоже примеры циклов. Циклы есть и в экономике. Подъем сменяется спадом и кризисом, потом снова идет подъем и там много раз. И циклов этих в экономике тоже очень много - длинные, короткие, средние. Логично предположить, что и в колебаниях котировок тоже присутствуют множество циклов: в кризис котировки падают, во время бума растут".

А что если попробовать расчленить график котировок на эти элементарные циклы? Благо, для этого есть созданный задолго до нас математический аппарат - ряды Фурье (см. на моем сайте уроки "Цифровая обработка сигналов".). И так, я написал программу, которая вычисляет коэффициенты Фурье и по этим коэффициентам рассчитал котировки. Исходный и рассчитанный график наложил друг на друга:

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

Ладно, и что это дает? Давайте попробуем продолжить график в "будущее время", то есть, возьмем вторую половину исторических данных:

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

А в краткосрочной? На ближайшие две три, или чуть больше свечей? Я решил это проверить и написал простейший торговый симулятор, который работает по следующему алгоритму:

  • Рассчитывает ряд Фурье на историческом периоде, который кончается за несколько свечей до текущей (что бы исключить всплеск неточности, который вы видите на графике в виде синего пика).

  • Используя относительные величины (на сколько от свече к свече меняются расчетные котировки) рассчитываем прогнозные цены. Например, если текущая свеча имеет close=100 рублей, а по прогнозам цена должна упасть на 5%, то следующее close будет 95 рублей.

  • Используя прогноз, моделируем сделку: покупку или продажу акций.

В результате моделирования результат оказался отрицательный. Как показала практика, реальные котировки даже близко не валяются с предсказанными.

А что, если попробовать при помощи рядов Фурье выделить из графика волны Эллиота и уже используя их, попробовать предсказать котировки? Но это уже будет следующий шаг.

Последнее обновление ( 19.11.2011 г. )
 
« След.
 
© 2024 Программирование - это просто
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - Русский Дом Joomla!
Design by Mamboteam.com | Powered by Mambobanner.de
Я принимаю Яндекс.Деньги