Я хотел бы использовать ANN для автоматизации торговли валютами, предпочтительно USD / EUR или USD / GBP. Я знаю, что это сложно и, возможно, не так просто. Я уже прочитал несколько статей и провел несколько экспериментов, но без особой удачи. Я хотел бы получить совет от экспертов, чтобы сделать эту работу.
Вот что я сделал до сих пор:
- Я получил данные по тикам за месяц июль 2013 года. Он имеет объем покупки / продажи / продажи / продажи.
- Извлечены все тики за период от 12 до 14 часов за все дни.
- На основе этих данных создается набор данных, в котором каждая запись состоит из n значений ставок в последовательности.
- Эти данные использовались для обучения ANN с n-1 входами, а выходными данными является прогнозируемое значение n-й ставки.
- У ANN было n-1 входных нейронов, (n-1) * 2 + 1 скрытых и 1 выходной нейрон. Входной слой имел линейный TF, скрытый имел лог TF, а выходной имел линейный TF.
- Обучил сеть с обратным распространением сначала n-125, а затем 10.
Для обоих n MSE не опускался ниже 0,5 и оставался на этом уровне во время полной тренировки. Предполагая, что это может быть связано с тем, что временные ряды были полностью случайными, я использовал пакет R, чтобы найти частичную автокорреляцию в наборе данных (pacf). Это дало ненулевые значения только для 2 и 3 лагов.
Вопрос 1: Что это значит точно?
Затем я использовал показатель Херста для оценки случайности. В R Hurst (значения) показали значения выше 0,9.
Вопрос 2: Предполагается, что это почти случайно. Должно ли оно иметь значение ближе к 0,5?
Я повторил обучение ANN с n = 3. ANN был обучен и смог получить довольно низкое значение для MSE. Тем не менее, расчетный выход из этого ANN не сильно отличается от (n-1) -го значения ставки. Похоже, что ANN просто принимает последнюю ставку за следующую ставку! Я пробовал разные сетевые структуры (все многослойные представления), разные параметры обучения и т. Д., Но результаты были одинаковыми.
Вопрос 3: Как я могу улучшить точность? Есть ли другие методы обучения, кроме обратного распространения?