Eu gostaria de usar a ANN para automatizar as moedas de negociação, de preferência USD / EUR ou USD / GBP. Eu sei que isso é difícil e pode não ser simples. Já li alguns trabalhos e fiz algumas experiências, mas sem muita sorte. Eu gostaria de obter conselhos de ESPECIALISTAS para fazer este trabalho.
Aqui está o que eu fiz até agora:
- Recebi dados de tick by tick para o mês de julho de 2013. Ele possui lance / venda / volume de lances / volume de vendas.
- Extraídos todos os ticks para o período de 12h às 14h durante todos os dias.
- A partir desses dados, criou um conjunto de dados em que cada entrada consiste em n valores de lances em sequência.
- Usaram esses dados para treinar uma RNA com entradas n-1 e a saída é o valor da n-ésima oferta prevista.
- A RNA tinha n-1 neurônios de entrada, (n-1) * 2 + 1 oculto e 1 neurônio de saída. A camada de entrada tinha TF linear, a oculta tinha TF logarítmico e a saída tinha TF linear.
- Treinei a rede com propagação traseira com o n-125 primeiro e depois com o 10.
Para ambos n, o MSE não caiu abaixo de 0,5 e permaneceu nesse valor durante o treinamento completo. Supondo que isso pudesse ser devido ao fato de as séries temporais serem totalmente aleatórias, usei o pacote R para encontrar autocorrelação parcial no conjunto de dados (pacf). Isso deu valores diferentes de zero para apenas 2 e 3 defasagens.
Pergunta 1: O que isso significa exatamente?
Então usei o hurst expoent para avaliar a aleatoriedade. Em R, hurst (valores) apresentou valores acima de 0,9.
Pergunta 2: É suposto ser quase aleatório. Deveria ter um valor mais próximo de 0,5?
Repeti o treinamento da RNA com n = 3. A RNA foi treinada e conseguiu obter um valor bastante baixo para o MSE. No entanto, a saída calculada dessa RNA não difere muito do (n-1) é o valor da oferta. Parece que a ANN aceita apenas o último lance como o próximo! Tentei diferentes estruturas de rede (todas as percepções de várias camadas), diferentes parâmetros de treinamento etc., mas os resultados são os mesmos.
Pergunta 3: Como posso melhorar a precisão? Existem outros métodos de treinamento além da retropropagação?