Дипломная работа: Некоторые методы прогнозирования временных рядов и их реализация в программе Excel

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

1. Программа TRADER.

Система позволяет прогнозировать движение курсов валют на валютной бирже. В качестве исходных используется информация по предыдущим результатам торгов (временной ряд) -- максимальная, минимальная цена, цена закрытия и объем сделок за день. Если пользователь располагает также ценой открытия и параметром Open Interest, то при создании своей базы данных он это может указать, что даст ему дополнительную возможность использовать именно эти параметры для анализа. Если имеется информация только по цене закрытия, то система считает, что максимальная и минимальная цены равны этой цене закрытия. В системе используются следующие алгоритмы для анализа дынных: скользящее среднее (moving average) 3 видов: линейное, экспоненциальное, с задаваемыми весами; MACD - гистограммы, такие популярные индикаторы как RSI, OBV, Williams R%, CandleSticks, Point & Figure и многие другие. Пользователь может создавать собственные формулы для анализа данных. К достоинствам также можно отнести возможность применения индикатора к уже построенному индикатору, что например требуется при построении MACD-гистограммы, где скользящее среднее вычисляется для разности двух скользящих средних.

2. ELLIOTT WAVE ANALYSER PROFESSIONAL 6.0.

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

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

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

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

3. AINET

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

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

4. PARITY 1.5

Программа MetaStock TRADER позволяет проводить достаточно полно анализировать временные ряды. Но этот программный продукт работает под DOS, в нем слабо развит пользовательский интерфейс и справочная система. Новая программа - PARITY Technical analysis system - вобрала в себя все лучшие качества MetaStock TRADER, в ней добавлено много новых, а поскольку эта программа написана для работы в среде Windows, то в ней используется дружественный интерфейс этой среды и развитая система справки. Имеется расширенная версия этой программы - PARITY Plus, в которой представлены дополнительные функции.

2.3 Реализация модели экспоненциального сглаживания в программе Excel

Формула экспоненциального сглаживания в простейшем случае имеет вид

(2.1)

В качестве начального значения ftобычно выбирают среднее значение ряда. Рекомендуемые автором этой модели (английский математик Р. Браун) значения параметра б заключены между 0,1 и 0,3.

Для подбора оптимального параметра прогнозирования б необходимо провести сглаживание временного ряда с помощью нескольких «приемлемых» значений параметра б, затем определить среднюю ошибку прогнозов и выбрать параметр, соответствующий минимальной ошибке.

В некоторых случаях оптимизация параметра б при условиях может давать крайнее значение б = 0.

Пример 2.1. Рассмотрим пример применения формулы (2.1) в программе Excel для прогноза на один шаг.

Введём в диапазоне А1:А25 временной ряд, как на рис.2.1. В ячейке D1 введём значение параметра сглаживания б = 0,7. Присвойте ячейке D1 имя a. Для этого выделим ячейку D1, введём в поле имени букву aи нажмём Enter.

Введём в ячейку В2 формулу =СРЗНАЧ(A2:A25).

Введём в ячейку В3 формулу =B2+a*(A2-B2). Протянем ячейку В3 маркером заполнения вниз до В26.

Вычислим среднеквадратическую ошибку прогноза. Для этого введём в ячейку D2 формулу =КОРЕНЬ(СУММКВРАЗН(A3:A25;B3:B25)/23)

Среднеквадратическая ошибка равна 47,57.

Постройте график. Выделим диапазон А1:В26 и на ленте во вкладке «Вставка» в группе «Диаграммы» выберём тип диаграммы «График». Перейдём на вкладку «Макет» и введём название диаграммы «Прогноз при Альфа = 0,7». Получим график на рис.2.2.

Рис. 2.1. Прогноз методом экспоненциального сглаживания

Рис. 2.2. Прогноз при Альфа = 0,7

Теперь исследуем график при различных значениях параметра прогнозирования. Введём в ячейку D1 значение 0,1. График преобразуется к виду на рис.2.3. Среднеквадратическая ошибка составит 63,93.

Рис. 2.14. Графики. Прогноз при Альфа = 0,1

Проведем оптимизацию. На вкладке «Данные» откройте окно «Поиск решения». В открывшемся окне введём:

в строке «Установить целевую ячейку:» введём D2;

в строке «Равной» выберем «минимальному значению»;

в строке «Изменяя ячейки» введём D1.

Рис. 2.4. Настройка параметров «Поиск решения»

Для ввода «Ограничений» нажмём кнопку «Добавить», и в появившемся окне (рис.2.5) в строке «Ссылка на ячейку» введём D1, выберём знак неравенства «<=», с строке «Ограничение» введём число 1, и нажмём «Ок».

Рис. 2.5. Поиск решения. Добавление ограничения

В окне «Поиск решения» еще раз нажмём кнопку «Добавить», и в появившемся окне в строке «Ссылка на ячейку» введём D1, выберём знак неравенства «>=», с строке «Ограничение» введём число 0, и нажмём «Ок».

В окне «Поиск решения» (рис.2.4) нажмём кнопку «Выполнить».

Получим, что оптимальное значение равно 0,64 и среднеквадратическая ошибка составит 47,48 (рис.2.6).

Рис. 2.6. Прогноз при Альфа = 0,64

Мы видим, что чем больше б, тем сильнее peaгирует пpoгноз на колебания временного ряда, и наоборот, чем меньше б, чем более инерционным является процесс прогнозирования.

2.4 Математическая модель Холта-Винтера в программе Excel

Математическая модель Холта-Винтера основана на применении метода экспоненциально взвешенного среднего.

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

1. Оценка стационарного фактора (т. е. оценка среднеежемесячного значения независимо от времени года).

Предполагается, что ряд текущих значений yt очищен от сезонности делением его на величину -- коэффициент сезонной декомпозиции (или просто коэффициент сезонности), соответствующий моменту времени , т. е. сдвинутому на L единиц времени назад; значение этой оценки получается на предыдущих этапах декомпозиции:

(2.2)

Начальное значение определяют как среднее значение за первый год, или предшествующий год (или среднее всего ряда).

2. Оценка линейного роста вычисляется на основе модели роста Хольта:

(2.3)

В качестве начального значения примем .

3. Оценка сезонного фактора (адаптация коэффициента сезонности). Коэффициент сезонности представляет собой отношение значения текущего наблюдения к среднестационарному значению, т. е. этот коэффициент в момент времени t равен :

(2.4)

В качестве начальных значений сезонного фактора принимаем

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

(2.5)

Оптимальные значения параметров A, B, C определяются методом подбора, пользуясь для оценки погрешности среднеквадратической ошибкой

(2.6)

Пример 2.2. В таблице 2.1 приведены среднемесячные курсы акций корпорации ХХХ по месяцам за четыре года. Составить прогноз на 2019 год.

Таблица 2.1

31.1.15

226

31.1.16

308

31.1.17

275

43131

377

28.2.15

232

29.2.16

335

28.2.17

346

43159

453

31.3.15

292

31.3.16

337

31.3.17

451

43190

515

30.4.15

403

30.4.16

455

30.4.17

484

43220

548

31.5.15

330

31.5.16

409

31.5.17

383

43251

474

30.6.15

267

30.6.16

405

30.6.17

403

43281

505

31.7.15

216

31.7.16

294

31.7.17

396

43312

381

31.8.15

157

31.8.16

209

31.8.17

295

43343

351

30.9.15

187

30.9.16

249

30.9.17

255

43373

323

31.10.15

107

31.10.16

257

31.10.17

309

43404

324

30.11.15

187

30.11.16

241

30.11.17

270

43434

357

31.12.15

192

31.12.16

228

31.12.17

290

43465

452

Решение. Оформление расчетного листа в Excel показано на рис.2.7.

Введём данные о продажах в диапазоне А15:В62.

Рис. 2.7. Ввод данных

Введём в А15, А16 даты 31.01.15 и 28.02.15. Выделим А15:А16 протянем маркером автозаполнения вниз до А74.

Введем в ячейках В15:В62 объемы продаж из табл.2.1.

Теперь поясним, как оформляется расчетная часть листа.

В диапазоне А1:F13, кроме ячейки F5, введём тексты и числовые значения, как на рис.2.7. Некоторые ячейки объединим как на рис.2.7.

Присвойте ячейкам С7:С9 указанные в соседних ячейках имена:

выделим С7, в поле имени введём «АА» (английские буквы!) и нажмём Enter;

выделим С8, в поле имени введём «ВВ», нажмём Enter;

выделим С9, в поле имени введём «СС», нажмём Enter.

Для предварительного анализа временного ряда построим график.

Выделим диапазон А15:В62 и диаграмму «График». Щелкнем по области ряда и выполним команду меню «Добавить линию тренда», выберем тип «Линейная» и нажмём «Закрыть» (рис.2.8).

Рис. 2.8. График изменения курса акций

График на рис.2.8 явно указывает на наличие сезонных колебаний, а также наличие линейного роста.

Расчет стационарного фактора (среднеежемесячного значения) (формула (2.2).

В качестве начального значения u0 выберем среднее за первый год. Для его вычисления в ячейку С14 введём формулу =СРЗНАЧ(B15:B26).

В качестве начальных значений сезонного фактора мы принимаем единичные значения, они записаны в ячейках Е3:Е14.

Введём в ячейку С15 формулу =AA*B15/E3+(1-AA)*(C14+D14)

Протянем С15 вниз до С62.

Расчет линейного роста.

Введём в ячейку D14 начальное значение линейного роста, т.е. число 0, а в ячейку D15 формулу: =BB*(C15-C14)+(1-BB)*D14

Ячейку D15 протянем вниз до D62.

Расчет сезонного фактора.

Введём в ячейки Е3:Е14 число 1, а в ячейку Е15 формулу:

=CC*B15/C15+(1-CC)*E3

Протянем Е15 вниз до Е62.

Прогноз на следующие 12 месяцев.

Введём в ячейку F16 формулу =(C15+D15)*E4. Ячейку F16 протянем вниз до F62.

Введём в ячейках Е63:Е74 числа от 1 до 12.

В ячейку F63 введём формулу =(C$62+D$62*E63)*E51.

Затем протянем ячейку F63 вниз до F74.

Вычисление ошибки прогноза.

Введём в ячейку F5 формулу

=КОРЕНЬ(СУММКВРАЗН(F16:F62;B16:B62)/47)

Получим значение ошибки 111,342.

Постройте график прогнозированных значений.

Выделим диапазон А15:В74, удерживая нажатой «Ctrl», выделим F15:F74. Перейдём на вкладку «Вставка» и постройте тип диаграммы «График». Получим график, похожий на рис.2.8, и содержит на оси Х больше точек.

Щелкнем правой кнопкой мыши по диаграмме и выберем команду меню «Выбрать данные». В появившемся окне нажмём кнопку «Добавить», в строке «Имя» укажем F12, в строке «Значения» введём F15:F74 и нажмём «Ок».