Прогнозування валютного ринку за допомогою нейронних мереж


10

Я хотів би використовувати ANN для автоматизації торгівлі валютами, переважно USD / EUR або USD / GBP. Я знаю, що це важко і може бути не просто. Я вже читав деякі документи і робив кілька експериментів, але без особливої ​​долі. Я хотів би отримати поради від ЕКСПЕРТІВ, щоб зробити цю роботу.

Ось що я робив до цього часу:

  1. У мене з’явилися дані по галочках за місяць липень 2013 року. Він має ставку / запитання / обсяг ставок / обсяг запиту.
  2. Видобуто всі кліщі за часовий проміжок 12:00 до 14:00 за всі дні.
  3. З цих даних створено набір даних, де кожен запис складається з n значень ставок послідовно.
  4. Ці дані використовуються для підготовки ANN з n-1 входами, а вихід є прогнозованим n-м значенням ставки.
  5. ANN мав n-1 вхідних нейронів, (n-1) * 2 + 1 прихований і 1 вихідний нейрон. Вхідний шар мав лінійний TF, прихований мав журнал TF, а вихідний лінійний TF.
  6. Тренував мережу із зворотним розповсюдженням спочатку n-125, а потім 10.

Для обох n МСЕ не опустився нижче 0,5 і залишився при цьому значення під час повного тренування. Припускаючи, що це може бути пов'язано з тим, що часовий ряд є абсолютно випадковим, я використав пакет R, щоб знайти часткову автокореляцію на наборі даних (pacf). Це дало ненульові значення лише для 2 та 3 лагів.

Питання 1: Що це означає саме?

Тоді я використав показник поспіху для оцінки випадковості. У R hurst (значення) показали значення вище 0,9.

Питання 2: Це повинно бути майже випадковим. Чи повинна вона мати значення ближче до 0,5?

Я повторив тренування ANN з n = 3. ANN пройшов навчання та змогла отримати досить низьке значення для MSE. Однак обчислений вихід з цього ANN не сильно відрізняється від (n-1) вартості ставки. Схоже, ANN просто приймає останню ставку як наступну ставку! Я пробував різні мережеві структури (усі багатошарові уявлення), різні параметри тренувань тощо, але результати однакові.

Питання 3: Як я можу підвищити точність? Чи існують інші методи навчання, крім зворотного розмноження?


Я не впевнений, чи вдасться ви краще передбачити шум на 1 / ф, використовуючи минулі значення як показники для майбутніх. scholarpedia.org/article/1/f_noise#Stock_markets_and_the_GNP - ваші результати поки що здаються таким. Ймовірно, слід переглянути інші можливі особливості, які мають певні підстави співвідноситись із майбутніми курсами валют. Якби це було просто, було б більше багатих даних.
Ніл Слейтер

так, можливо, інші змінні сприяють наступному значенню більше, ніж значення часового ряду, яке він сам створює. Я також експериментуватиму з цим. Дякую за покажчики
user1300

Відповіді:


6

Результати, які ви бачите, не є побічним продуктом вашого навчального продукту, а, скоріше, neural netsне є чудовим вибором для цього завдання. Neural netsфактично є засобом створення нелінійної функції високого порядку шляхом складання ряду більш простих функцій. Це часто дійсно гарна річ, оскільки вона дозволяє нейронним мережам підходити до дуже складних моделей.

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

Крім того, фондовий ринок надзвичайно хаотичний, що може спричинити за собою neural netнадмірне обладнання. Це означає, що шаблони, які вона вивчає, узагальнюватимуться погано. Щось за принципом просто бачити зменшення запасів за день і рівномірно вирішувати, що запас завжди зменшиться лише тому, що він спостерігався порівняно коротко. Натомість прийоми на кшталт ridgeі robust regression, які виявлять більш загальні, менш складні зразки, роблять краще.

Переможець аналогічного змагання Kaggle використаний саме robust regressionз цієї причини. Ви, швидше за все, побачите кращі результати, якщо перейдете на неглибоку модель навчання, яка знайде функції нижчого поліноміального порядку над глибокими складними функціями нейронної мережі.


щиро дякую. Я оціню стійку регресію і побачу, як це відбувається.
user1300

5

Спробуйте періодичну нейронну мережу - модель, яка добре підходить для даних часових рядів. Вони, як відомо, важко тренуватися, але, здається, добре працюють, коли навчаються належним чином: http://cs229.stanford.edu/proj2012/BernalFokPidaparthi-FinancialMarketTimeSeriesPredictionwithRecurrentNeural.pdf

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.