Mergulhei no campo das redes neurais e fiquei encantado com elas.
Finalmente desenvolvi uma estrutura de aplicativos para testar sistemas de negociação em bolsas de valores e agora vou implementar minha primeira rede neural nela. Muito simples e primitivo, não destinado a negociação real, apenas para iniciantes.
Eu só quero saber se minha abordagem é boa.
E se você perceber que estou sentindo falta de algo (ou estou errado sobre algo) ou tiver uma idéia do que poderia ajudar um iniciante em um campo de redes neurais no comércio de mercado, isso me deixaria super feliz :)
Tenho 40 insumos, valores de mercado da bolsa de valores (S&P e-mini, mas isso não é importante).
Para essas 40 entradas, conheço 2 números.
- Quanto dinheiro eu ganha ou perde com um pedido de compra
- Quanto dinheiro eu ganha ou perde com uma ordem de venda
Por causa de como as bolsas de valores funcionam, ambos os números podem ser negativos / positivos, indicando que eu posso perder / ganhar dinheiro para comprar e vender (isso ocorre porque uma negociação pode ter anexado ordens de "limitação de perdas" ou "segmentação", como STOP, LIMIT etc. que se comportam de maneira diferente).
Mas se isso acontecer, é uma indicação de que eu não devo fazer nenhum pedido, mesmo que os pedidos de compra e venda dêem números positivos.
Eu imagino que a melhor função de ativação a ser usada é a ... coisa sigmóide, mas com um intervalo de -1 a 1 (eu descobri que é chamado de muitos nomes na internet ... sigmoide bipolar, tanh, algo tangente ... Não sou um matemático profundo).
Com um aprendizado de propagação reversa, ensino à rede que, para as 40 entradas, há 1 saída e essa saída é um desses números.
- -1, o que significa que a ordem de venda ganhará dinheiro, a compra perderá dinheiro
- +1, o que significa que a ordem de compra vai ganhar dinheiro, a venda vai perder dinheiro
- 0, o que significa que comprar e vender irá vender / perder dinheiro, é melhor evitar a negociação
Imagino que, depois de aprender, a saída da rede sempre será um número próximo de -1, 1 ou 0 e cabe a mim definir o limite de compra ou venda.
Essa é a maneira correta de usar uma rede neural?
Em todos os lugares da internet, o resultado para quem está aprendendo está devolvendo a máquina de aprendizado de propagação reversa são os valores futuros do gráfico de mercado e não o rendimento esperado em dinheiro de diferentes entradas comerciais (compra ou venda). Considero isso uma péssima abordagem, porque não estou interessado nos valores futuros do gráfico, mas no dinheiro que quero ganhar.
Edit: Eu pretendo construir uma rede neural para negociação automatizada, não para ajudar na decisão.
Respostas:
Existem falhas graves nessa abordagem.
Primeiro, existem muitas apostas que geralmente vencem, mas que são ruins. Suponha que você tenha a chance de ganhar $ 1 do tempo e perder $ 100 do tempo. Isso tem um valor esperado negativo, mas a maneira como você está treinando a rede neural ensinaria a recomendar tais bilhetes de loteria reversa.90 % 10 %
Segundo, você está perdendo um grande ponto da bolsa de valores, que é gerenciar riscos. O que determina o preço de um investimento não é apenas seu retorno, é o retorno versus o risco que não pode ser coberto. Investimentos com alto retorno e alto risco não são necessariamente melhores do que investimentos com baixo retorno e baixo risco. Se você pode investir sem risco a e emprestar dinheiro a , isso é mais valioso do que encontrar um investimento muito arriscado com um retorno de . Um investimento com uma taxa de retorno negativa ainda pode ser valioso se estiver fortemente correlacionado negativamente com um investimento arriscado com uma alta taxa de retorno. Portanto, a taxa de retorno é insuficiente para avaliar os investimentos.6 % 5 % 60 %
Terceiro, você deve perceber que está competindo com outras pessoas que também têm acesso a redes neurais. Existem muitos programas comerciais voltados para comerciantes diurnos baseados em redes neurais. (São feitas por pessoas que acham mais lucrativo vender software para comerciantes diurnos confusos do que usar seus próprios sistemas.) Existem muitos sistemas proprietários, alguns dos quais podem envolver redes neurais. Para encontrar o valor que eles ignoram, você precisa ter alguma vantagem e não mencionou nenhuma.
Sou um grande fã de redes neurais, mas acho que os usuários típicos de redes neurais no mercado de ações não entendem o básico e gastam dinheiro.
fonte
These are made by people who find it more profitable to sell software to confused day traders than to use their own systems
Isso, por si só, teria valido uma votação.Sei que esse é um tópico antigo, mas, para o caso de alguém tropeçar nele, o que o OP precisava fazer era esmagar o campo desejado no espaço de 0 para 1. ou seja, apenas remapear -1 = 0,0, 0 = 0,5 e 1 = 1. Então você pode simplesmente usar a função de ativação sigmóide logística padrão.
fonte