Техніки машинного навчання для прогнозування цін акцій: функції індикаторів та аналіз новин



У нашому блозі ми вже зачіпали тему передбачення цін акцій за допомогою алгоритму адаптивної фільтрації. Фінансист з Нью-Йорка Ватсал Шах (Vatsal Shah) у своїй роботи розглянув можливість використання для цих цілей алгоритмів машинного навчання. Ми представляємо вашій увазі головні думки цього документа.

Введення

Існує дві методики прогнозування цін акцій:

  • Фундаментальний аналіз — в цьому випадку аналітики оцінюють інформацію, яка більше відноситься до компанії, чиї акції торгуються на біржі, ніж до самих акцій. Рішення щодо тих чи інших діях на ринку приймаються на основі аналізу попередньої діяльності компанії, прогнози виручки і прибутку і так далі.
  • Технічний аналіз — в даному випадку розглядається поведінка ціни акцій і виявляються його різноманітні патерни (аналіз тимчасових рядів).
У разі застосування методів машинного навчання для обробки торгових даних, частіше використовують саме метод технічного аналізу — мета полягає в тому, щоб зрозуміти, чи може алгоритм точно визначати патерни поведінки акції в часі. Тим не менш, машинне навчання може використовуватися також для оцінки та прогнозування результатів діяльності компанії для подальшого використання при фундаментальному аналізі. Зрештою, найбільш ефективним методом автоматизованого передбачення ціни акцій і генерування інвестиційних рекомендацій є гібридний підхід, що поєднує в собі підходи фундаментального і технічного аналізу.

Гіпотеза ефективного ринку

Гіпотеза ефективного ринку (Efficient Market Hypothesis, EMH) передбачає, що вся суттєва інформація негайно і в повній мірі відображається на ринкової курсової вартості цінних паперів. Існує три форми ринкової ефективності: слабка, середня і сильна. Слабка форма передбачає, що вартість ринкового активу повністю відображає минулий інформацію, а сильна — що вартість відображає всю інформацію, як минулої, так і публічну або внутрішню.

Гіпотеза випадкового блукання

Математична модель випадкового блукання (Random Walk Hypothesis) передбачає, що зміни ціни акцій на кожному кроці не залежить від попередніх і від часу. Таким чином неможливо виявити ніякі патерни поведінки ціни і використовувати їх.

Функції індикаторів

Для технічного аналізу ринкових цін використовуються різні атрибути та індикатори. До останніх відносяться, наприклад, що:

  • Ковзні середні (Moving Average, MA) — відображають середні n минулих значень до поточного моменту;
  • Експоненціальна змінна середня (Exponential Moving Average, EMA) — надає більше ваги найбільш недавным значенням, але не відкидає старі значення повністю;
  • Моментум або швидкість зміни (Rate of Change, RoC) — один з найпростіших технічних індикаторів, що розраховується як відношення або різниця між поточною ціною і ціною n періодів назад.
  • Індекс відносної сили (Relative Strength Index, RSI) — визначає силу тренда і ймовірність його зміни протягом певного часу (зазвичай, 9-14 днів).
Для описуваного проекту в якості головного індикатора був обраний EMA — він дозволяє обробляти практично необмежений обсяг історичних даних, що дуже важливо для аналізу з допомогою часових рядів. Проте варто зауважити, що використання інших індикаторів може приносити і більшу точність прогнозів аналізованих акцій.

EMA (t) = EMA (t-1) + alpha * (Price (t) - EMA (t-1))


де, alpha = 2/ (N+1), таким чином, for N=9, alpha = 0.20

В теорії, проблема прогнозування ціни акції може бути розглянута, як оцінка функції F по часу T на основі попередніх значень F під час t-1,t-2… t-n, привласнюючи відповідну вагову фукнцию w в кожен момент F:

F (t) = w1*F (t-1) + w2*F (t-2) + ... + w*F (t-n)


Графік нижче показує, як EMA моделює поточну ціну акцій:



Середовище навчання

У ході проекту були використані середовища для дата-майнінгу Weka і YALE. Конфігурація виглядала таким чином:



Крок вибору атрибутів для деяких методів машинного навчання був пропущений, оскільки загальна їх кількість становила менше 10.

Передобробка історичних даних

Для експерименту з сайту Yahoo Finance були завантажені історичні дані за цінами акцій компаній Google Inc. (тікер GOOG) і Yahoo Inc. (YHOO). Набір даних мав наступні атрибути: Date Open High Low Close Volume Adj. Close.

Індикатор EMA передбачає, що ціна акції у попередній день торгів буде чинити на поточну ціну найбільше значення. Таким чином, чим ближче тимчасова точка знаходиться до поточного моменту, тим більше значення вона має на ціну поточного дня. В ході тимчасового аналізу дослідник брав Дату в якості осі X — кожна дата являла собою ціле значення. До наявних атрибутів був добвлен ще один — Indicator, в даному конкретному випадку EMA.

Техніки машинного навчання

В даній секції дослідження представлені результати застосування різних алгоритмів машинного навчання.

Алгоритм Decision Пня
Застосування простого алгоритму для передбачення EMA дозволило досягти наступних результатів:

  • Коефіцієнт кореляції 0.8597
  • Середня абсолютна помилка 46.665
  • Корінь середньоквадратичної помилки 57.8192
  • Відносна абсолютна помилка 46.8704 %
  • Корінь відносної середньоквадратичної помилки 50.9763 %
  • Загальне число періодів 681
Лінійна регресія
Застосування простої лінійної регресії (використовуються тільки числові атрибути) для передбачення EMA дали наступні результати:

  • Коефіцієнт кореляції 0.9591
  • Середня абсолютна помилка 12.9115
  • Корінь середньоквадратичної помилки 32.0499
  • Відносна абсолютна помилка 12.9684 %
  • Корінь відносної середньоквадратичної помилки 28.2568 %
  • Загальне число періодів 681
Метод опорних векторів
Використання методу опорних векторів (C-Class) з прмиенение радіальної базисної функції ядра з параметром настройки C в діапазоні від 512 до 65536, дозволило отримати наступну точність прогнозування руху ціни:

Корінь середньоквадратичної помилки: 0.486 ± 0.012
Точність: 60.20 ± 0.49%

Бустинг
Після використання алгоритму C-SVC до набору даних був застосований алгоритм бустинга AdaBoostM1 — це дозволило домогтися серйозного поліпшення точності.

Корінь середньоквадратичної помилки: 0.467 ± 0.008
Точність: 64.32% ± 3.99%

З вихідних даних YALE була витягнута наступна матриця неточностей:



Передбачення цін акцій на основі текстового аналізу фінансових новин

В даний час великий обсяг цінних даних, які можуть вплинути на ситуацію на ринку, доступний в мережі (про подібний вплив ми писали в статті). Більша частина такої інформації міститься у фінансових новинах, звітах компаній і рекомендаціях експертів (джерелом таких рекомендацій, наприклад, можуть служити блог інсайдерів і аналітиків). Велика частина цих даних представлена в текстовому форматі, що ускладнює їх використання. Таким чином, нова проблема полягає в необхідності аналізу текстових документів одночасно з виконанням аналізу часових рядів.

Дослідник використовував метод, який передбачає визначення ступеня впливу новин на конкретну акцію: воно може бути позитивним (Positive), негативним (Negative) або нейтральним (Neutral).

Вважається, що новина має позитивний вплив (або негативний), якщо ціна акції серйозно зростає (або падає) в період відразу після її публікації. Якщо ціна акції серйозним чином не змінюється після публікації новини, то її вплив вважається нейтральним.

Інший використаний метод передбачає визначення патернів у статтях новин, які безпосередньо соовтетствуют зростання або зниження ціни акцій. Він працює таким чином:

Спеціальний пошуковий робот проходить за новинним статей та індексує їх для конкретного портфоліо акцій. Середовище навчання запитує новини за період T хвилин з моменту індексації. Це середовище складається з кількох модулів навчання, які шукають потрібну інформацію в тексті новинний замітки або матеріалах з блогів експертів (наприклад, «ціна нафти буде знижуватися»). У словник для аналізу входять слова і фрази, що впливають на умови позитивного (Positive Prediction Terms) або негативного руху (Negative Prediction). Кожен раз, коли фраза з набору Positive Prediction Terms з'являється в тексті статті, їй присвоюється позитивна оцінка (Positive Vote).

На діаграмі нижче представлена архітектура такої системи:



Як неважко помітити, що даний метод дозволяє робити лише досить грубі припущення. Щоб підвищити їх точність необхідно додати статтями більше ваг — наприклад, на основі ранжирування джерел інформації для публікації. Крім того, слід враховувати формати заголовків текстів, що містять фрази з наборів Positive або Negative Prediction Terms.

Використання в якості ваги новини авторитетності експертів

Дослідник також описує використання для додаткового зважування текстових матеріалів оцінку авторитетності експертів, які висловлюють ту чи іншу точку зору. Наприклад, для акцій Google він підібрав список аналітиків, які довгий час пишуть про цю компанію, і зірочками зазначив ступінь якості їх прогнозів:



На вхід системи подаються думки експертів ринку акцій (просто їх думку, яке необов'язково виявляється вірним), а потім на основі їх прогнозів раз за разом робляться передбачення можливого руху ціни. На кожній ітерації вага експерта, чиє пророкування виявилося вірно, підвищується, а у тих, хто помилився — навпаки знижується. Ще один різновид методу передбачає повне видалення зі списку тих експертів, які помилилися, однак він є не найефективнішим — все-таки помиляються навіть найкращі і шановні фінансові аналітики.

Алгоритм зважування експертів може бути описаний наступним чином:

Дано: вектор E = { e1, e2,....eN} фінансових експертів і їх прогнозів.

Присвоїти вагу W(e(i)) = 1 для кожного експерта e(i).
Для раунду t in 1...T
Зробити передбачення на основі алгоритм зваженого більшості.

Для експертів, які зробили вірний прогноз W(e(i))(t) = 2*W(e(i))(t-1)

Для експертів, які зробили невірний прогноз W(e(i))(t) = ½ * W(e(i))(t-1)
Зберегти рейтинг експерта (Expert Rating) для подальшого зважування.
Таку техніку зважування на основі експертних думок можна розглядати в якості гібридного підходу, комбинирующего в собі фундаментальний і технічний аналіз — експерти роблять прогнози на основі фундаментального аналізу, а алгоритм згодом використовує їх для генерування власних прогнозів з допомогою методів технічного аналізу.

Висновок

З усіх використаних алгоритмів тільки комбінація методу опорних векторів алгоритму бустинга дозволили домогтися скільки-небудь задовільних результатів точності прогнозу.

Іншим перспективним методом аналізу є зважування експертів. Однак у даний момент ефективність методів лінгвістичного аналізу для генерування прогнозів руху цін акцій є предметом подальшого вивчення і якихось певних висновків про його застосування на практиці зробити не можна.

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.