В.В. Кабачій, к.т.н. доцент; Ю.О. Баранський,
студент; П.П. Форманюк, студент
Вінницький
національний технічний університет, Україна
Система підтримки прийняття рішень з врахуванням динаміки стохастики
Актуальність
Процеси глобалізації вже давно
охопили все людство. В цьому процесі далеко не останню роль відіграє всесвітня
мережа Інтернет. Вона значно розширює наші можливості в усіх сферах життя.
Однією з таких є так звана «електрона комерція». На сьогодні такому виду
торгівлі приділяється дуже велика увага.
Проблема автоматизації
торгівлі являється актуальною на сьогодні, оскільки дає можливість значно
підвищити і прибутковість та зекономити час.
При побудові механічних
торгових стратегій найчастіше використовується технічний аналіз, тому що лише
технічний аналіз дає можливість формалізації застосування на будь-яких часових
проміжках, побудови алгоритмів з усіма притаманними йому властивостями, а також
можливість побудови механічної торгової стратегії [1].
І хоча давно існують підходи
технічного аналізу ринку, за рахунок постійної зміни тенденцій на світових
ринках, завжди існує необхідність у їх модифікації то створенні нових методів
та алгоритмів для прийняття вірних рішень, які б задовольняли вимогам, що
висуваються для успішної діяльності трейдерів.
Постановка задачі
Метою даного дослідження є розробка математичних методів ідентифікації ринкових залежностей на фінансових ринках з врахуванням динаміки стохастики, на основі яких можна буде побудувати автоматичну систему прийняття рішень (автоматичну торгову систему) з покращеними характеристиками.
Аналіз дослідження
Технічний
аналіз — це дослідження динаміки ринків (форекс, акції, ф'ючерси і інші),
частіше всього за допомогою графіків, з метою прогнозування майбутнього напряму
руху цін. Технічний аналіз полягає в дослідженні цінової динаміки ринку за
допомогою аналізу закономірностей зміни трьох ринкових чинників: ціни, об'єму і
у випадку, якщо вивчається ринок термінових контрактів - відкритого інтересу
(об'єму відкритих позицій). Причому, первинними для аналізу вважаються ціни, а
зміни решти чинників вивчаються для підтвердження правильності напряму руху цін [2].
Технічний
аналіз використовує такі інструменти: лінійні інструменти і технічні
індикатори. В технічному аналізі лінійними інструментами називають лінії і
різні геометричні фігури, що наносяться на графіки цін або індикаторів.
Існує
велика кількість розроблених індикаторів, але їх умовно можна поділити на
декілька класів:
а)
статистичні індикатори - фільтрують статистичні шуми в русі цін. Для побудови
цих індикаторів використовуються стандартні методи математичної статистики і
теорії вірогідності. До них відносять: Moving Averages - ковзаючі середні,
Bollinger bound – межі Боллінгера і ін.
б)
осцилятори - складніші індикатори, ніж статистичні. Вони є реальною спробою
знайти інтегральні показники, які виділяють з цінових коливань істотні рухи.
Основне призначення осциляторів - виявляти моменти розвороту тренда. Наприклад
RSI - Relative Strength Index (індекс відносної сили), Збіжність/Розбіжність Ковзаючих
Середніх (Moving Average Convergence/Divergence, MACD), Стохастичний Осцилятор
(Stochastic Oscillator) [3].
Для більш детального розкриття
суті матиматичної моделі розглянемо особливості і переваги використання
стохастика і середньої ковзної в аналізі фінансових ринків.
Технічний
індикатор стохастичний осцилятор (Stochastic Oscillator) зіставляє поточну ціну
закриття з діапазоном цін за вибраний період часу. Індикатор представлений
двома лініями. Головна лінія називається %K. Друга лінія %D – це ковзаюче
середнє лінії %K. Зазвичай %K зображається суцільною лінією, а %D – пунктирною
(рис. 1).

Рисунок 1 – Стохастичний індикатор
Існує
три найпоширеніших способи інтерпретації сигналів стохастичного осцилятора:
а) купуйте, коли осцилятор (%K або %D) спочатку
опуститься нижче певного рівня (звичайно 20), а потім підніметься вище його.
Продавайте, коли осцилятор спочатку підніметься вище певного рівня (звичайно
80), а потім опуститься нижче його;
б) купуйте, якщо лінія %K
підіймається вище за лінію %D. Продавайте, якщо лінія %K опускається нижче за
лінію %D;
в) стежте за розбіжностями.
Наприклад: ціни утворюють ряд нових максимумів, а Stochastic Oscillator не
вдається піднятися вище за свої попередні максимуми.
Для розрахунку стохастичного
осцилятора використовуються чотири змінні:
а) періоди
%K. Це число одиничних періодів, що використовуються для розрахунку
стохастичного осцилятора;
б) періоди
уповільнення %K. Ця величина визначає ступінь внутрішньої згладженої лінії %K.
Значення 1 дає швидкий стохастичний осцилятор, а значення 3 – повільний;
в) періоди
%D. Це число одиничних періодів, що використовуються для розрахунку ковзаючого
середнього лінії %K;
г) метод
%D. Це метод згладжування (експоненціальний, простій, згладжений або зважений),
що використовується при розрахунку %D[2].
Формула
для розрахунку %K:
, (1)
де CLOSE – ціна закриття поточного періоду;
MIN (LOW
(%K)) – найменший мінімум за число періодів %К;
MAX (HIGH
(%K)) – найбільший максимум за число періодів %К.
Ковзаюче середнє %D розраховується по формулі:
, (2)
де N - період згладжування;
SMA -
проста ковзаюча середня.
На основі даного індикатора існує механічна торгова
система (МТС), яка використовує вище описані сигнали для торгівлі. Вони
полягають у взаємному розташуванні ліній %K і %D, але існуюча система не враховує нахилу в момент перетину даних
ліній. Можна удосконалити систему прийняття рішень МТС шляхом введення
додаткової класифікації образів на стохастичному індикаторі.
Технічний
Індикатор Ковзаюче Середнє (Moving Average, MA) показує середнє значення ціни
інструменту за деякий період часу. При розрахунку Moving Average проводиться
математичне усереднювання ціни інструменту за даний період. У міру зміни ціни
її середнє значення або росте, або падає.
Існує декілька типів ковзаючих середніх: просте
(його також називають арифметичним), експоненціальне, згладжене і зважене.
Moving Average можна розраховувати для будь-якого послідовного набору даних,
включаючи ціни відкриття і закриття, максимальну і мінімальну ціни, об'єм
торгів або значення інших індикаторів. Нерідко використовуються і ковзаючі
середні самих ковзаючих середніх.
Ковзаючі
Середні можуть застосовуватися також і до індикаторів. При цьому інтерпретація
ковзаючих середніх індикаторів аналогічна інтерпретації цінових ковзаючих
середніх: якщо індикатор підіймається вище за своє Moving Average — значить
висхідний рух індикатора продовжиться; якщо індикатор опускається нижче Moving
Average, це означає продовження його низхідного руху [4].
В
розроблюваній системі використовуватиметься згладжене ковзне середнє в ролі
фільтра для стохастичного індикатора.
Оскільки
середнє рухається за трендом, то враховуючи його нахил можна відсіяти хибні
сигнали. Цей спосіб включатиметься в розроблювану систему.
На стохастичному індикаторі
потрібно ідентифікувати образи як перетини основної лінії %К та допоміжної %D.
Виходячи з цього образи будемо класифікувати за такими ознаками:
а) розміщення лінії %К
відносно % D;
б) напрям руху
ліній(зростання, спадання) одна відносно одної.
Враховуючи ці ознаки, можна
виділити різні образи (рис. 2), з яких образи №1 і №4 є бажаними для прийняття
рішень (з практичного досвіду), в той час як образи №2,3 ні.

Образ
№1(↓↓) Образ №2(↓↑)
Образ №3(↑↓)
Образ №4(↑↑)
Рисунок 2 –
Класифікація образів
Тобто потрібно відбирати
образи, в яких в точці перетину основна лінія %К і друга %D одночасно зростають
або спадають.
Для того, щоб кількісно
оцінити кожен перетин (образ) пропонується ввести додаткову ознаку, а саме коефіцієнт який визначає ступінь
нахилу кожної лінії при виході з перетину. Позначимо основну і допоміжну лінії
стохастичного індикатора через S(на даний момент не
важливо до якої лінії відноситиметься коефіцієнт). Тоді з рисунка 3
використовуючи формули геометрії можна легко визначити коефіцієнт. Він дорівнюватиме
тангенсу кута нахилу кривої лінії до горизонталі.

Рисунок 3 –
Визначення коефіцієнта
З рисунка слідує:
(3)
Як бачимо коефіцієнти для
спадної і зростаючої лінії одинакові, але оскільки для першої
більше за
, то
буде додатній і
навпаки для другої:
(4)
Описана
вище система образів має суттєвий недолік. Він полягає в тому, що сам стохастик
являється не трендовим індикатором і тому коли ринок перебуває в трендовому
русі така система даватиме багато хибних сигналів. Тому для виправлення цього
недоліка пропонується додати в систему фільтр у вигляді середньої ковзної
великого періоду. Його роль полягатиме у відсіві хибних сигналів які не
відповідають нахилу середньої.
Отже
до існуючої моделі необхідно додати ще один коефіцієнт
. Цей коефіцієнт враховує кут нахилу кривої середньої ковзної
до горизонталі і обраховується аналогічно.
(5)
Якщо
середня ковзна зростає, то
і навпаки при
спаданні
.
Також
необхідно враховувати ще один коефіцієнт який умовно позначимо через level. Він враховує зони стохастика в яких перетин
основної і сигнальної лінії має найбільшу вагу. Отже зі всіх перетинів він
відбирає лише ті, які лежать в межах:
(6)
Причому
minlevel знаходиться в
межах від 30 до 20, а maxlevel від 70 до 80.
Таким
чином тепер можна визначити математично всі можливі комбінації коефіцієнтів. Із
загальної кількісті всіх комбінацій визначимо лише потенційно вигідні, які
будуть визначені такими умовами відбору:
-
для купівлі
(сигнал на збільшення значення часового ряду):
(7)
-
для продажу
(сигнал на зменшення значення часового ряду):
(8)
На
рисунку 4 наочно продемонстровано моменти, що мають ідентифікуватися.

а) Виконання умови для продажу; б) Виконання умови для купівлі;
Рисунок 4 – Виконання умов для купівлі-продажу
Висновок
В статті представлено реалізація ідеї
застосування системи прийняття рішень з врахуванням динаміки зміни
стохастичного індикатора. Розроблена модель може бути використана як для
завершеної автоматичної системи, що описана в дослідженні, так і у якості
складового елемента в інших, більш складних розробках. Її застосування має покращені
характеристики розроблених систем прийняття рішень за використанням технічного
аналізу часових рядів.
Література:
1.
Найман Э.-Л. Малая Энциклопедия Трейдера – К .
ВИРА-Р Альфа Капитал, 1999. – 236 с.
2.
Колби Р.В., Мейерс Т.А. Энциклопедия технических
индикаторов рынка – Владивосток, 1996. – 542 с.
3.
http://ta.mql4.com/ru/indicators/oscillators/stochastic
- Стохастический Осциллятор (Stochastic Oscillator).
4.
http://ta.mql4.com/ru/indicators/trends/moving_average
- Скользящее Среднее (Moving Average, MA).