Aprendizado de máquina no trading: teoria, prática, negociação e não só - página 129
![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Aqui, já expliquei exactamente o que estou a fazer:
Em detalhes: na barra atual o sinal de compra, como comprar, conte o menor número de barras para o futuro e verifique se o comércio será rentável, se sim, como fechar, se não - conte para frente mais uma barra e verifique novamente. E assim atingimos o número máximo de barras e fechamo-las finalmente. Isto é um mecanismo de aprendizagem.
O que não está claro? Não é uma fantasia, é exactamente o que eu faço agora. A função alvo é maximizar os lucros com o mínimo de drawdowns. Eu treino usando a minha própria genética.
SanSanych Fomenko:
2. Não é possível implementá-lo assim sem mais nem menos?1. O que é que ensinamos?
1.a função alvo é maximizar os lucros com o mínimo de drawdowns. Eu ensino com a ajuda da minha genética.
2. Sim, muito simples.
Alguém sabe como descobrir em que língua está escrito o pacote R?
Documentação. Aberto a partir da Ajuda em R:
Além disso, há uma descrição detalhada de como trabalhar com o Cp
Cavalheiros, uma nova tarefa da minha parte:
Aqui está um conjunto de dados em formato .R: https://drive.google.com/open?id=0B_Au3ANgcG7CcjZVRU9fbUZyUkE
Há aproximadamente 40.000 filas, 101 colunas no conjunto. A coluna mais à direita é a variável de destino. À esquerda estão 100 entradas.
Eu sugiro que você tente construir um modelo de regressão prevendo o valor da 101ª coluna com base nas 100 colunas restantes, nas primeiras 20.000 observações.
Nas restantes 20.000+ observações, o modelo construído deve mostrar um R^2 de pelo menos 0,5.
Eu então revelo a forma como os dados são gerados e dou a minha solução.
A dica são os dados da série cronológica. A entrada é de 100 amostras, previstas 1 à frente. Não se trata de preços ou cotações ou seus derivados.
Alexey
Eu tentei encontrar a importância dos preditores através do pacote vtreat. Mas o pacote não é capaz de procurar relações entre preditores, apenas leva em conta as relações diretas entre preditor e alvo, não muito adequadas para esta tarefa.
A julgar pela importância do vtreat - lag_diff_51 e lag_diff_52 são os mais úteis. Pouco a pouco eu adicionei outros preditores da lista recebida e olhei o crescimento de R^2 nos dados de treinamento para floresta. No final parei nestes preditores - 51, 52, 53, 54, 55, 17, 68, muito provavelmente são usados para calcular o alvo. R^2 em dados de treinamento com eles > 0,9, mas em testes e validações todos ruins. Agora eu preciso tentar diferentes operações matemáticas com estes preditores, para selecionar fórmulas e assim por diante, para que na validação cruzada R^2 também aumente. Eu não vou procurar mais :)
Acabei-o mais tarde:
Experimentou um pouco mais, fez um monte de novos preditores a partir dos já existentes, com diferentes operações matemáticas. Tanto o vtreat como a floresta gostam muito destas duas combinações: soma(51,52) e média(51,52). Mas eu nunca consegui obter uma fórmula para o valor alvo. E os modelos treinados nestes preditores também não conseguem prever nada adequadamente.
100 entradas? Isso é forte.
Porque não mil?
Vocês não têm a menor ideia do que é uma rede de nervos.
Eu tentei encontrar a importância dos preditores através do pacote vtreat. Mas o pacote não é capaz de procurar relações entre preditores, apenas leva em conta as relações diretas entre preditor e alvo, não muito adequadas para esta tarefa.
A julgar pela importância do vtreat - lag_diff_51 e lag_diff_52 são os mais úteis. Pouco a pouco eu adicionei outros preditores da lista recebida e olhei o crescimento de R^2 nos dados de treinamento para floresta. No final parei nestes preditores - 51, 52, 53, 54, 55, 17, 68, muito provavelmente são usados para calcular o alvo. R^2 em dados de treinamento com eles > 0,9, mas em testes e validações todos ruins. Agora eu preciso tentar diferentes operações matemáticas com estes preditores, para selecionar fórmulas e assim por diante, para que na validação cruzada R^2 também cresça. Eu não vou procurar mais :)
Acabei-o mais tarde:
Experimentou um pouco mais, fez um monte de novos preditores a partir dos já existentes, com diferentes operações matemáticas. Tanto o vtreat como a floresta gostam muito destas duas combinações: soma(51,52) e média(51,52). Mas eu nunca consegui obter uma fórmula para o valor alvo. E os modelos treinados nestes preditores também não conseguem prever nada adequadamente.
Além disso, 0,9 é sobretreinamento. R^2 maior que 0,6 em um conjunto de treinamento é um máximo realista.
Mais uma coisa - lembre-se sobre as interações. Conexões únicas podem levar em uma direção falsa.
Eu próprio estou a tentar resolver a minha própria tarefa. Eu apliquei NS de camada única. O teste R^2 não excede 0,148. Não encaixa...