УДК 519.886,519.688
ПАКЕТ ПРИКЛАДНЫХ ПРОГРАММ ДЛЯ АНАЛИЗА И ПРОГНОЗА БИРЖЕВОЙ ИНФОРМАЦИИ
В.П. Григорьев, А.В. Козловских, Д.А. Марьясов
Томский политехнический университет E-mail: [email protected]
Описан пакет прикладных программ, который позволит пользователю в удобной форме получать прогностические реализации в автоматическом режиме. Математический аппарат построен на универсальной модели для прогнозирования различных биржевых характеристик, таких как цена, объем торгов, количество открытых позиций, двухпараметрические индикаторы, «японские свечи», интегральные параметры. В рамках программного продукта рассматривается новый подход прогнозирования смены тренда. Приводится подробное описание алгоритмов, входящих в состав пакета программ, и пользовательского интерфейса.
Введение
На сегодняшний день разработаны и используются сотни тысяч различных прикладных программ. Чаще всего широкое распространение получают программы, универсально используемые в различных отраслях человеческой деятельности. В то же время существуют малораспространенные программы, призванные решать узкопрофильные задачи той или иной области. К таковым относятся программные продукты для прогнозирования финансовых, фондовых, фьючерсных рынков. На сегодняшний день большое распространение получили такие программы как МйаЗЬск, МЕЗА, приложения Ма^аЬ для анализа и прогноза биржевых показателей. В этих пакетах представлен широкий спектр традиционных методик. Для реализации нетрадиционных подходов или алгоритмов, не отраженных в специализированных пакетах, пишутся собственные программы. К таковым относится представляемый программный продукт, в котором предлагается модель (и ее модификации) для прогноза биржевой информации с помощью решения систем нелинейных дифференциальных уравнений, а также новый индикатор, основанный на корреляции особых точек соответствующей линеаризованной системы с трендовыми составляющими временных рядов, позволяющий предсказывать моменты смены направления тренда.
Составные части пакета прикладных программ
Разработанный пакет призван облегчить конечному пользователю работу с данными, и позволяет делать прогнозы тенденций на финансовых рынках. На рис. 1 представлена схема пакета, которая позволяет определить, какие части входят в его структуру.
В первом блоке представляемого пакета организован по возможности стандартный пользовательский интерфейс, включающий в себя средства навигации, визуализации, сохранения и считывания данных, а также систему подсказок и помощи для конечного пользователя.
Второй блок - это графические возможности для визуализации данных, как считываемых, так и получаемых внутри.
Третий блок позволяет пользователю отстраниться от среды разработки и не зависеть от вычислительной платформы.
Четвертый блок содержит математические алгоритмы решения поставленных внутри пакета задач. В пакете прикладных программ для анализа и прогноза биржевой информации таких алгоритмов несколько:
• решение систем алгебраических уравнений;
• восстановление значений производных в уравнениях системы [1-3];
Пакет прикладных программ
1. Интерфейс конечного пользователя
4. Математические алгоритмы
2. Графические возможности
5. Потенциальная расширяемость пакета
3. Возможности исполняемого приложения
6. Банк моделей и сопутствующее программное обеспечение
Рис. 1. Составные части пакета прикладных программ
• решение систем нелинейных дифференциальных уравнений;
• расчет погрешностей.
Для дополнения пакета новыми моделями и алгоритмами код остается доступным для разработчиков, что обеспечивает потенциальную расширяемость пакета (пятый блок).
В шестом блоке предназначен для осуществления альтернативного выбора. В пакете включены специальные сопутствующие процедуры для анализа и трактовки получаемой информации. Банк моделей состоит из нескольких разнообразных модификаций одной модели, носящий универсальный характер. Система уравнений модели, представленная в матричной форме, имеет вид [1-4]:
X = ЛпхпХ + Р + ¥, И
где X - вектор неизвестных (выходные, фазовые переменные), п - количество неизвестных параметров, Лпхп - матрица неизвестных коэффициентов (в общем случае зависящих от времени), ¥ - вектор нелинейных составляющих [5, 6], У - вектор входных (внешних) воздействий.
Внешние воздействия носят эпизодический или повторяющийся характер (сезонные изменения, политические циклы, резкие всплески активности), они могут быть учтены заданием некоторого интервала доверия или уже опосредованно отражаются в результатах торгов, поэтому в рамках представленной модели (*) они сведены к нулю.
Таблица. Модификации модели анализа и прогноза биржевой информации
Модификация модели Число систем Число уравнений
Основные параметры, матрица коэффициентов Полная 1 3
Диаго- нальная 1 3
"Японская свеча" 1 4 3
"Японская свеча" 2 2 3
"Японская свеча" 3 1 4
Индикаторы, матрица коэффициентов Полная 1 2
Возможные параметры
Цена закрытия; объем торгов; количество открытых позиций;курсы валют; интегральные биржевые индексы
Цены: открытия, максимальная, минимальная, закрытия
Двухпараметрические индикаторы
Банк моделей охватывает широкую сферу применения, модификации модели (*) представлены в таблице. Кроме того, в представляемом пакете реализованы качественные методы исследования систем нелинейных дифференциальных уравнений, восстановления траекторий особых точек соответствующих линеаризованных систем и методы выделения трендовых и хаотических составляющих [2].
Расчетный блок пакета программ
Любой вычислительный пакет содержит алгоритмы поиска неизвестных величин. Так согласно
схеме пакета прикладных программ в его наполнении должны присутствовать алгоритмы восстановления производных, решения систем уравнений (алгебраических и дифференциальных).
Алгоритм расчета прогностических значений любой модификации модели (рис. 2) состоит из следующих этапов.
• Формирование исходной информация о первичных значениях параметров X ( в зависимости от модификации принимает значения от 2 до 4) в моменты времени /Дч,/;-2,..., в зависимости от условий прогноза, I - конечное известное значение (реальные данные, которые послужат в последствии основой для прогноза).
• Поскольку информация о времени заключения сделки или изменения индекса, цены, объема сделки получена в тиковые моменты времени, то для удобства ее обработки в дальнейшем, происходит преобразование исходных данных на равномерную сетку. Затем определение начальных условий, задание параметров для выделения полиномиального тренда.
• Разделение исходных данных на трендовые и хаотические составляющие (процедура 1).
• Восстановление значений производных в левых частях уравнений систем дифференциальных уравнений (*), описывающих соответствующие модели (процедура 2). Расчет коэффициентов (матрица
4,хп) при помощи решения матричного уравнения.
• Задание исходных параметров для решения системы дифференциальных уравнений (процедура 3): значения коэффициентов системы дифференциальных уравнений, шаг интегрирования, начальные условия, интервал интегрирования.
• Нахождение значений составляющих параметров в точке ¡т, и определяется суммарное прогностическое значение (процедура 3).
• Восстановление траектории особых точек (новый индикатор) для визуализации корреляции с трендовой составляющей (процедура 4). Отображение полученных результатов (процедура 5). При необходимости производится последовательное повторение шагов начиная с процедуры 2 с целью получения прогноза значений параметров в точке /;+2, за конечную точку принимают полученное прогностическое значение в момент времени /;+1.
Визуализирующий блок программ
С помощью этого блока можно наблюдать динамический процесс прогнозирования биржевых параметров и осуществлять анализ полученных результатов. Представляемый программный продукт удовлетворяет принципам простоты, целостности и дружественности.
Описание интерфейса. Основное окно программы представлено на рис. 3. Программа состоит из меню со встроенными стандартными функциями, демонстрационной области и области задания па-
раметров. Пакет прикладных программ состоит из нескольких взаимосвязанных окон: ОКНО ВЫБОРА МОДИФИКАЦИИ, ИНФОРМАЦИОННОЕ ОКНО, ОСНОВНОЕ ОКНО и некоторых других. Перемещение между окнами осуществляется при помощи кнопок на панели управления или меню. В окне выбора модификации пользователю предоставляется весь спектр разработанных модификаций. Подробное описание модификаций приведено в информационном окне. На панели управления находятся несколько ниспадающих меню для выбора параметров отображения.
Область визуализации разделена на 4 независимых графических окна, в которых отражаются реальные ряды, прогностические ряды, трендовые составляющие и траектории восстановленных особых точек. Смена данных происходит на панели управления.
Основными управляющими элементами являются раскрывающиеся списки:
• «Вид реальных данных»;
• «Вид прогностических данных»;
• «Тренд для ...»;
• «Особые точки для ...».
Это делает возможным альтернативное отображение данных в зависимости от выбранной модификации модели. Так, это могут быть цена, объем торгов, количество открытых позиций, интегральные индексы, курс валют для модификаций 1, 2, цены открытия, закрытия, максимальная, минимальная для модификаций 3-5, параметры двухпа-
раметрических индикаторов, фазовая плоскость для модификаций 6, 7.
П1
П2
П3
П4
П5
т
Начало
Выбор модификации модели
Чтение исходных данных из файла
Задание начальных условий (конечная точка, кол-во точек для восстановления значения производных в узлах, порядок полинома, количество прогнозируемых точек и др.)
Процедура П1 выделения трендовой и хаотической составляющих
Процедура П2 восстановления производных и расчета коэффициентов модели
Процедура П3 решения системы нелинейных дифференциальных уравнений при заданных начальных условиях для поиска прогностических значений
Процедура П4 восстановления траекторий особых точек
Процедура П5 отображения полученных результатов на экране и запись результатов в файл
Конец
С_)
Рис. 2. Алгоритм расчета прогностических значений
Рис. 3. Вид основного окна пакета прикладных программ для анализа и прогноза параметров финансовых рынков
• «Обновить» - служит для очистки всех окон перед проведением нового расчета или перед загрузкой новых данных.
• «Очистить» - позволяет очистить содержимое окна прогностических реализации, трендовых составляющих и траекторий особых точек.
• «Прогноз» - активизирует алгоритм получения прогностических реализаций.
• «Инфо» - вызывает справку, в которой подробно рассказывается о содержимом каждой из модификаций, о работе пакета, о его составных частях и разработчиках.
• «Выход» - предназначена для осуществления выхода из программы.
В главном меню отображаются функции работы с файлами (открытие, закрытие с сохранением результата), переход к другим окнам (информационное, выбора модели).
При запуске программы пользователь попадает Рис. 4. Окно ввода данных в Окно выбора модели (рис. 5). После осуществле-
ния выбора открывается основное окно пакета Другим управляющими элементами являются прикладных программ (рис. 3). Далее необходимо
кнопки: открыть специально подготовленный файл для об-
• «Параметры» - предназначена для задания па- работки. Автоматически в области отображения
раметров прогноза и выделения тренда, актива- появится реальный ряд, соответствующий первому
ция, которой ведет к появлению дополнитель- параметру, остальные параметры можно просмо-
ного окна «Ввод данных» (рис. 4), где пользова- треть при помощи управляющего элемента «Вид
тель может задать нужные значения. реальных данных». Задание параметров при помо-
Рис. 5. Окно выбора модели
щи кнопки «Параметры» происходит в соответствующем окне (рис. 4). После того, как программа получит прогностические данные, они отразятся в области отображения. Вместе с ними отобразится выделенный тренд и восстановленные траектории особых точек. Выбрать нужные графики помогут элементы управления на панели. Размер основных окон динамичен и может быть изменен по желанию пользователя.
Проведенные исследования с использованием зарубежных и отечественных биржевых данных показали, что относительная ошибка прогноза не превышает 1...3 %. Адекватность и точность полученных прогнозов подтвердилась экспериментально. Проводились исследования на основе критерия Стьюдента о близости двух временных рядов (реального и прогностического) и о близости средних значений (реальных и прогностических).
Заключение
Созданный программный продукт призван решать задачу прогнозирования биржевых характе-
СПИСОК ЛИТЕРАТУРЫ
1. Григорьев В., Козловских А., Ситникова О. Динамическая модель фьючерсного рынка // Рынок ценных бумаг. - 2004. -№ 24(279). - С. 42-44.
2. Григорьев В.П., Козловских А.В., Марьясов Д.А. Качественное исследование системы дифференциальных уравнений модели динамического хаоса и корреляция особых точек с трендами // Известия Томского политехнического университета. - 2006. -Т 309 - № 2. - С. 12-17.
3. Григорьев В.П., Козловских А.В., Марьясов Д.А. Разработка схемы адаптации динамической модели фьючерсных рынков
ристик. Весь процесс обработки результатов проводится в автоматическом режиме и скрыт от пользователя, который имеет дело лишь с графическим материалом в привычной для него форме.
Возможности представленного продукта позволяют внедрить его в образовательный процесс. Он может быть полезен в анализе временных рядов биржевой информации, изучении представленных алгоритмов, поиске новых схем адаптации модели. Полученные результаты могут выступать в качестве отправной точки в других прикладных исследованиях (например, прогнозирование портфелей ценных бумаг).
Представленный пакет может быть использован аналитиками-трейдерами. Адекватность прогностических результатов представленной модели и ее модификаций нашла экспериментальное подтверждение. В пакете предложен новый индикатор для прогноза смены направления тренда на основе анализа корреляции восстановленных траекторий особых точек и трендовых составляющих временных рядов, что позволяет отодвинуть горизонт прогноза, а следовательно улучшить его качество.
на основе анализа финансовых характеристик // Дайджест-финансы. - 2005. - № 8(128). - С. 7-11.
4. Берже П., Помо И., Видаль К. Порядок в хаосе. О детерминистском подходе к турбулентности - М.: Мир, 1991. - 368 с.
5. Шустер Г Детерминированный хаос: Введение. - М.: Мир, 1998. - 240 с.
6. Мерфи Дж. Технический анализ фьючерсных рынков: теория и практика. - М.: Сокол, 1996. - 412 с.