Wednesday 3 May 2017

Bollinger Bands Neural Network


MetaTrader 5 - Especialistas em cálculo de largura de banda Bollinger com rede Neural usando - especialista para o MetaTrader 5 Procurei por um consultor especializado em BB Width, mas não consegui encontrá-lo em qualquer lugar. Então eu decidi criar o meu próprio, e, como parte dos meus estudos, fiz isso. Este Consultor Especial segue o método da Rede Neural. Depósito inicial 10000. Lucro bruto de 36000. Prazo de tempo de 3,5 meses. O que é Bollinger Band Width Bollinger Band Width é a formação de bandas em Bollinger Bands. Em seu livro (Bollinger on Bollinger Bands), John Bollinger se refere à Bollinger Band Width como um dos dois indicadores que podem ser derivados das Bandas Bollinger. O outro indicador é B. BandWidth mede a diferença percentual entre a banda superior e a banda inferior. BandWidth diminui à medida que Bollinger Bands se estreita e aumenta à medida que as Bandas Bollinger se ampliam. Como as Bandas de Bollinger são baseadas no desvio padrão, a queda do BandWidth reflete a diminuição da volatilidade e o aumento do BandWidth reflete a crescente volatilidade. Estrutura estreita: a faixa estreita é relativa. Os valores de BandWidth devem ser medidos em relação aos valores do BandWidth anteriores durante um período de tempo. É importante ter um bom período de visualização para definir o alcance de BandWidth para um símbolo específico. The Squeeze: Bollinger BandWidth é mais conhecido por identificar o Squeeze. Isso ocorre quando a volatilidade cai para um nível muito baixo, como evidenciado pelas bandas de estreitamento. As bandas superior e inferior são baseadas no desvio padrão, que é uma medida de volatilidade. As bandas estreitas à medida que o preço se abaixa ou se move dentro de um alcance relativamente estreito. A teoria é que períodos de baixa volatilidade são seguidos por períodos de alta volatilidade. BandWidth relativamente estreito (a. k.a. the Squeeze) pode prenunciar um avanço ou declínio significativo. Depois de um Squeeze, um aumento do preço e subseqüente quebra da banda são o início de um novo movimento. Um novo avanço começa com um Squeeze e subseqüente quebra acima da banda superior. Um novo declínio começa com um Squeeze e subseqüente quebra abaixo da banda inferior. Uma idéia pode mudar sua vida -) Eu obtive inspiração para trabalhar em Redes Neurais depois de ler este artigo. O autor Fyords me ajudou muito na parte final da codificação. Este consultor especializado toma o valor dos últimos 14 períodos e o minimiza com a fórmula do método Neural Network (leia o artigo para a melhor implementação da rede Neural). Cálculo de largura Eu usei o método clássico: (BBupperBand - BBLlowerBand) BBMidleBand. Fórmula: inputsi2 (((iBandsUpperbufi - iBandsLowerbufi) iBandsBasebufi) - (xminxminn) (d2-d1)) ((xmaxxxmax) - (xminxminn)) d1 Parece complicado, mas na realidade é como A, B, C, D. O artigo acima pode ajudá-lo muito. O resultado do teste do Advisor Especial é bom, eu tomei o período de 2013.01.01 a 2013.04.13. Equilíbrio: anexei o resultado de teste completo no arquivo zip. Não recomendo usar este consultor especialista em conta real. No mesmo código, você pode usar alguma combinação de indicadores de volume (CCI, MFI, etc.). PREDICÇÃO DE MERCADO DE STOCK COM USUÁRIO DE REDES NEURAS pelo Dr. Valentin Steinhauer Disclai mer: Nenhuma responsabilidade assumida para verificação. Completude dos métodos e outras informações neste tutorial. Aqui são consideradas duas direções complementares. Previsão de séries únicas. O segundo - método de Bollinger Bands. Por que eles são selecionados. No momento calmo prevalecem as leis harmonicas e, neste momento, são boas previsões de séries temporais. Este método (de diferentes fontes) permite uma previsão para cima e para baixo nos valores do mercado de ações com uma probabilidade de cerca de 52-53, 50 -50 é, não esqueça. aleatória. Segunda direção (Bollinger Bands) é de uma área completamente diferente. O nervosismo do mercado de ações. Quando os preços caem ou crescem demais em comparação com os tempos anteriores. Então muitas vezes é um ponto de viragem. As estatísticas de previsões positivas neste caso são melhores. Mas os casos não ocorrem com tanta frequência. E será necessário aguardar. Previsão de séries temporais no mercado de ações A previsão de séries temporais desempenha um papel importante na economia. Os cursos de mercado de ações, bem como o consumo de energia, podem ser preditos para poder tomar decisões. Este tutorial mostra uma possível abordagem de como as redes neurais podem ser usadas para esse tipo de previsão. Estende o tutorial Neuroph chamado quot Time Series Prediction quot, que fornece uma boa base teórica para a previsão. Usado para nossos propósitos, a seqüência de tempo é uma variável de observação. Variável observada em intervalos de tempo discretos. A análise de séries temporais inclui uma descrição do processo ou fenômeno, que gera uma seqüência. Para prever as séries temporais. É necessário apresentar o comportamento do processo sob a forma de um modelo matemático que pode ser ampliado no futuro. Para fazer isso. O modelo é uma boa representação de observações em qualquer segmento local de tempo próximo ao presente. Normalmente, não é necessário ter um modelo que representeva observações muito antigas. Como provavelmente não caracterizarão o momento. Também não há necessidade de enviar observações no futuro distante, je após um intervalo de tempo que é maior do que o horizonte. Uma vez que o modelo correto será criado para lidar com a seqüência temporal, podemos desenvolver meios adequados de predição. Para mostrar como funciona, treinamos a rede com os dados DAX (índice de estoque alemão) por um mês (03.2009: de 02 a 30) - para prever o valor em 31.03.2009. Como estratégia, tomamos as seqüências de 4 dias para prever cada 5º dia. No set de treinamento, o 5º dia é o valor supervisionado. O DAX de dados pode ser baixado do seguinte URL (uma das possibilidades): download. finance. yahoodquotes. csvsGDAXIampfsl1d1t1c1ohgvampe. cs TrainingSetGetter está disponível para download como parte do projeto NetBeans, no entanto, é apenas os dados de exemplo codificados com normalização. Também o primeiro passo é a normalização dos dados de treinamento na área (0-1). A seguinte fórmula oferece-o da seguinte maneira: Norm. value 0.8 (valor v1) (v2 v1) 0.1, Aqui, 0.8 e 0.1 são os valores para corrigir o conjunto de dados a partir dos limites 0 e 1, v2 é o expansor de valor máximo e v1 valor mínimo de experiência. A normalização desempenha papel importante na preparação de dados para treinamento em rede. Esse coeficiente de expansão é inserido para compressão ou alongamento em uma normalização. Em cada caso de uma predição, é desejável selecionar esse coeficiente a partir de pontos de controle. Em seguida, a topologia da rede é definida. Que tipo de rede, quantas camadas e quantos neurônios por camada são usados. Na verdade, não há nenhuma regra para isso, e geralmente é determinada experimentalmente. No entanto, o tipo comum de rede utilizada para a previsão é um perceptron de várias camadas. Uma recomendação é ter 2n1 nós para a camada oculta, onde n é o número dos nós de entrada. A camada de saída tem apenas um nó neste caso. Os bons resultados foram obtidos com a seguinte topologia e conjunto de parâmetros: maxIteration10000, maxerror0.0001 e o conjunto de treinamento está organizado da seguinte forma: public DataSet getTrainingSet (int n, int m) trainingSet new DataSet (n, m) trainingSet. addRow (em , Out) e a rede correspondente é: int maxIterations 10000 NeuralNetwork neuralNet novo MultiLayerPerceptron (4, 9, 1) ((LMS) neuralNet. getLearningRule ()). SetMaxError (0.0001) ((LMS) neuralNet. getLearningRule ()). SetMaxIterations ( MaxIterações) Neste ponto, estamos prontos para treinar e testar a rede. Para o teste, usamos o conjunto de dados preparados em que os dados DAX são fornecidos a partir dos 27, 28,29 e 30.03.09 para prever o valor em 31.03.09 rede dupla. Operação neuralNet. getOutput () duplicada, redefinidaOutputado0. Uma vez que a rede é inicializada com aleatoriedade Valores de peso, os resultados do teste serão diferentes de um cálculo para o cálculo. Após cinco testes, saiu com a seguinte previsão - resultados para 03.31.2009: 4084.61 4081.28 4073.08 4075.22 4087.42. O tempo de duração foi de 3 seg (2 CPU, 3.3Ghz, 2GB Ram, WinXP). Isso é chamado de comitê - uma coleção de diferentes redes neurais, que juntos apresentam o exemplo, com o expansor 1.30D. Dá um resultado muito melhor em comparação com outros procedimentos de redes neurais. O valor anunciado oficialmente naquele dia é de 4084,76. Portanto, na direção de obter melhores resultados quantitativos está mudando a seqüência de cálculos, que realizamos no exemplo anterior. Podemos usar cálculos simultâneos para criar o comitê. O comitê tende não só a uma estabilidade, mas também permite um controle relativo efetivo das condições de treinamento. A dispersão relativa dos resultados do comitê é a figura do mérito neste caso. Para criar a concorrência utilizamos o pacote jetlang. O comitê inclui os seguintes módulos no exemplo: Ator, Canais, Mensagem e será controlado a partir do módulo principal. Os sinais periódicos prevalecem neste modelo (postulado). Qual sinal periódico é importante Onde está o encaixe ou a sobreposição do perceptron É possível prever automaticamente neste modelo We39ll mostrar um algoritmo com auto-correção que demonstra algumas idéias básicas de desenvolvimento (as maiores harmonicas wavequot da cota): 1. Temos mais Que uma sequência de cálculos (veja quotcommitteequot) 2. O círculo principal dá a variação de número de pontos (N) na janela de previsão de tempo. Um período de cabeça é determinado por N em todas as variações da maior onda de harmônicas da cota. O número de camadas ocultas é 2N1 automático. Como figura de mérito será usado o R 8721F obs - F calc 8721 F obs. O chamado fator R através dos dados da série de tempo integral. 3. Para cada N serão variados os conjuntos de treinamento: os elementos serão removidos consecutivamente para atingir o mínimo de fator R e alcançar a relação ideal entre o encaixe inferior e a sobreposição. 4. O valor médio através do comitê é o resultado desse fluxo automático simples. Quão boa é essa onda de harmonicas de maior tamanho de modelo para suas tarefas, você deve decidir-se. Os testes DAX simples mostraram bons resultados matemáticos. Esta filtragem do modelo é semelhante ao sono humano: os treinamentos são minimamente reduzidos. Mas quando o reconhecimento é melhorado. Por previsão de séries temporais, os melhores resultados foram obtidos ao analisar os valores de crescimento e queda de estoque 82038203. não para um prognóstico de valores 8203. Bollinger Bands em bolsa com Neuroph Bollinger Bands é inventado por John Bolliger. Bollinger Bands indica uma variação do preço de um instrumento financeiro ao longo do tempo. A saída para bordas de bandas conduz com uma alta probabilidade de retornar a bandas. E a principal dificuldade é encontrar: quando ocorre o retorno Para prever este retorno, usamos o Neuroph. Bollinger Bands reflete grau de nervosismo e são adequados para o mercado de ações não estável. Você pode ler mais sobre as Bandas Bollinger em outros documentos Wiki. por exemplo. Nós nos concentraremos na técnica de uso com Neuroph. Os principais parâmetros para as Bandas de Bollinger são um período de média móvel, uma banda superior acima da média móvel, uma faixa inferior, a média móvel, pois os dados do teste serão usados ​​DAX. Considere o trabalho de treinamento deste método como um exemplo. Em um arquivo preparado. Que contém os valores 82038203 da Dax por um dia com intervalos de 5 minutos, será a busca por uma situação que vá além do valor da média. Para média, é detectado o número de 21 últimos valores experimentalmente. A saída é 1, se o valor atual de Dax for superior a 2 sigma médio ou inferior a 2 sigma da média e nos 15 minutos o comportamento correto, em outros casos é 0. Correto significa que o valor retorna à banda. O sigma é o desvio padrão e será calculado no método standardAbweichung dinamicamente. O algoritmo é implementado no programa BollingerAnalyze veja o apêndice (pacote do projeto). A normalização é semelhante à mostrada acima. Veja o método de normalização no BollingerAnalyze. java. No programa de treinamento será estimado (para controlar) a freqüência de operação correta do método: quantos casos são diretos de todos os casos. Você pode tentar outros parâmetros para suas brasas. O uso da rede treinada é mostrado no método getRecommendation. O método dá 1 ou -1 se você tiver a situação de Bollinger Bands (para cima ou para baixo) e em 15 minutos retornará DAX na banda. Em um caso ruim é 0 ou o valor não pode ser previsto. É claro que um grande problema é obter os valores 82038203 em tempo real. No entanto, este é um problema organizacional e pode ser feito com o reconhecimento dinâmico do valor Neuroph de imagens em tempo real, provavelmente. A mensagem após o treino e o teste é como segue: números extremos número 4707 de extremos extremos. 1006 número total de pontos 21136 defeitos 1. No caso de defeitos significa quantas situações de bollinger não foram corretas previstas. Conclusão Finalmente, dois fatores importantes na previsão de problemas - possibilidades e interesses de pessoas que fazem e usam previsão. Idealmente. As informações históricas são analisadas automaticamente e a previsão é um gerente para uma possível modificação. A introdução de um especialista no processo de previsão é importante, mas requer a cooperação de gerentes experientes. Próxima previsão enviada aos gerentes, que a utilizam para tomar decisões. E mesmo que eles digam que o clima é apenas conversa, eles podem obter benefícios reais de seu uso. Faça o download dos projetos NetBeans com a fonte Se você tiver encomendas especiais ou Você quer me apoiar simplesmente (PayPal), use por favor: tec. de (at) t-online. deBollinger Bands é um indicador técnico amplamente utilizado para medir e exibir a volatilidade de Títulos. As bandas realizam isso mostrando se os preços são altos com o uso de uma banda superior e se eles são baixos com o uso de uma banda mais baixa. As bandas são baseadas na volatilidade (desvio padrão) dos dados do preço passado. Este indicador pode auxiliar no reconhecimento rigoroso dos padrões e é útil na comparação da ação atual dos preços com possíveis sinais de compra e venda, ajudando a chegar a uma decisão de negociação sistemática autônoma. No entanto, devido às suas características inerentes, o indicador pode fornecer sinais falsos durante a negociação em alguns mercados de tendências. A pesquisa nesta tese desenvolve dois modelos modificados, uma combinação de redes neurais com o indicador técnico Bollinger Bands e outra incorporando um modelo GARCH-in-mean com o indicador técnico Bollinger Bands para prever e negociar a tendência de segurança. O pressuposto do sistema combinado é que a rede neural ou o modelo GARCH ajudará a superar os aspectos de atraso do indicador Bollinger Bands fornecendo uma previsão do próximo dia, permitindo que o comerciante faça as decisões comerciais corretas. A rentabilidade do modelo é testada usando 10 estoques e índices americanos - Resumo, folha iii. Departamento (s) Gestão de Engenharia e Engenharia de Sistemas Nome do grau M. S. Em Gestão de Engenharia University of Missouri - Rolla Data de Publicação Pagination Nota sobre bibliografia Inclui referências bibliográficas (página 39). 2005 Yanqiong Dong, todos os direitos reservados. Tipo de Documento Biblioteca do Congresso Assunto Itens Análise de investimento Stocks - Preços - Modelos matemáticos Previsão de preços das ações Redes neurais (Informática) Número da tese Imprimir OCLC Link para o catálogo Registro Texto completo não disponível: Solicite esta publicação diretamente da Missouri ST Library ou contato Sua biblioteca local. Recommended Citation Dong, Yanqiong, O uso de redes neurais, modelos GARCH e o indicador técnico Bollinger Bands para a tomada de decisões sobre negociação de ações (2005). Teses de mestrado. 5847. scholarsmine. mst. edumasterstheses5847 Estratégias de Stop-and-Reverse da Rede Neural Híbrida para o Forex por Michael R. Bryant As redes de neurônios foram usadas em sistemas de negociação por muitos anos com diferentes graus de sucesso. Sua principal atração é que sua estrutura não linear é mais capaz de capturar as complexidades do movimento de preços do que as regras de negociação padrão, baseadas em indicadores. Uma das críticas foi que as estratégias de negociação baseadas na rede neural tendem a ser excessivas e, portanto, não funcionam bem em novos dados. Uma possível solução para este problema é combinar redes neurais com lógica de estratégia baseada em regras para criar um tipo de estratégia híbrida. Este artigo mostrará como isso pode ser feito usando o Adaptrade Builder. Em particular, este artigo irá ilustrar o seguinte: Combinando rede neural e lógica baseada em regras para entradas comerciais Uma abordagem de dados de três segmentos será usada, com o terceiro segmento usado para validar as estratégias finais. O código de estratégia resultante para MetaTrader 4 e TradeStation será mostrado, e será demonstrado que os resultados de validação são positivos para cada plataforma. Redes Neurais como Filtros de Entrada Comercial Matematicamente, uma rede neural é uma combinação não linear de uma ou mais entradas ponderadas que geram um ou mais valores de saída. Para negociação, uma rede neural é geralmente usada de duas maneiras: (1) como previsão de movimento futuro de preços, ou (2) como indicador ou filtro para negociação. Aqui, o uso como indicador ou filtro comercial será considerado. Como indicador, uma rede neural atua como uma condição ou filtro adicional que deve ser satisfeito antes que um comércio possa ser inserido. As entradas para a rede são tipicamente outros indicadores técnicos, como ímpeto, estocásticos, ADX, médias móveis e assim por diante, bem como preços e combinações dos anteriores. As entradas são dimensionadas e a rede neural é projetada para que a saída seja um valor entre -1 e 1. Uma abordagem é permitir uma entrada longa se a saída for maior ou igual a um valor limiar, como 0,5 e um Entrada curta se a saída for menor ou igual ao negativo do limite, por exemplo, -0,5. Esta condição seria adicional a quaisquer condições de entrada existentes. Por exemplo, se houvesse uma condição de entrada longa, deveria ser verdade e a saída da rede neural teria que ser pelo menos igual ao valor limite para uma entrada longa. Ao configurar uma rede neural, um comerciante normalmente seria responsável por escolher as entradas e a topologia da rede e para quottrainingquot a rede, que determina os melhores valores de pesos. Como será mostrado abaixo, o Adaptrade Builder executa essas etapas automaticamente como parte do processo de compilação evolutiva no qual o software se baseia. Usar a rede neural como um filtro comercial permite que ele seja facilmente combinado com outras regras para criar uma estratégia de negociação híbrida, que combine as melhores características das abordagens tradicionais baseadas em regras e as vantagens das redes neurais. Como um exemplo simples, o Builder pode combinar uma regra de cruzamento média móvel com uma rede neural de modo que uma posição longa seja tomada quando a média móvel rápida cruza acima da média lenta e a saída da rede neural está em ou acima do seu limite. Estratégias de negociação Stop-and-Reverse Uma estratégia de negociação de parada e reversa é uma que está sempre no mercado, seja longa ou curta. Estritamente falando, quotstop-and-reversequot significa que você inverte o comércio quando sua ordem de parada é atingida. No entanto, uso-o como uma mão curta para qualquer estratégia de negociação que reverta de longo para curto para longo e assim por diante, para que você esteja sempre no mercado. Por esta definição, não é necessário que as ordens sejam pedidos de parada. Você pode entrar e reverter usando pedidos de mercado ou limite também. Também não é necessário que cada lado use a mesma lógica ou mesmo o mesmo tipo de ordem. Por exemplo, você pode entrar long (e sair curto) em uma ordem de parada e digitar curto (e sair por muito tempo) em uma ordem de mercado, usando diferentes regras e condições para cada entryexit. Este seria um exemplo de uma estratégia de parada e inversão assimétrica. A principal vantagem de uma estratégia de parar e reverter é que, sempre no mercado, você nunca perca nenhuma grande jogada. Outra vantagem é a simplicidade. Quando existem regras e condições separadas para entrar e sair de negócios, há mais complexidade e mais que pode dar errado. A combinação de entradas e saídas significa que há menos decisões de temporização, o que pode significar menos erros. Por outro lado, pode-se argumentar que as melhores condições para sair de um comércio raramente são as mesmas para entrar na direção oposta que entrar e sair trades são decisões inerentemente separadas que, portanto, devem empregar regras e lógica separadas. Outra desvantagem potencial de estar sempre no mercado é que a estratégia irá trocar todo o intervalo de abertura. Um grande intervalo de abertura contra a posição pode significar uma grande perda antes que a estratégia seja capaz de reverter. Estratégias que entram e saem mais seletivamente ou que saem ao final do dia podem minimizar o impacto das brechas de abertura. Uma vez que o objetivo é construir uma estratégia forex, o MetaTrader 4 (MT4) é uma escolha óbvia para a plataforma de negociação, dado que o MetaTrader 4 foi projetado principalmente para o forex e é amplamente utilizado para negociar esses mercados (veja, por exemplo, MetaTrader vs. TradeStation : Uma comparação de linguagem). No entanto, nos últimos anos, a TradeStation tem visado os mercados de divisas de forma muito mais agressiva. Dependendo do seu volume de negociação e do seu nível de conta, é possível negociar os mercados de divisas através da TradeStation sem incorrer em taxas de plataforma ou pagar comissões. Spreads são supostamente apertado com boa liquidez nos principais pares de divisas. Por estas razões, ambas as plataformas foram direcionadas para este projeto. Várias questões surgem quando se segmentam várias plataformas simultaneamente. Primeiro, os dados podem ser diferentes em plataformas diferentes, com diferenças em fusos horários, cotações de preços para algumas barras, volume e faixas de datas disponíveis. Para suavizar essas diferenças, os dados foram obtidos de ambas as plataformas, e as estratégias foram construídas simultaneamente em ambas as séries de dados. As melhores estratégias foram, portanto, as que funcionaram bem em ambas as séries de dados, apesar das diferenças nos dados. As configurações de dados usadas no Builder são mostradas abaixo na Fig. 1. Como pode ser inferido a partir da tabela de dados do mercado na figura, o mercado Eurodollar forex foi segmentado (EURUSD) com um tamanho de barra de 4 horas (240 minutos). Outros tamanhos de barras ou mercados teriam servido igualmente. Eu só consegui obter tantos dados através da minha plataforma MT4 como indicado pelo intervalo de datas mostrado na Fig. 1 (série de dados 2), então o mesmo intervalo de datas foi usado na obtenção de séries de dados equivalentes da TradeStation (série de dados 1). 80 dos dados foram utilizados para o Edifício (combinado na amostra e quotout-de-samplequot), com 20 (62014 a 21015) reservadas para validação. 80 do 80 original foram então ajustados para quotin-samplequot com 20 set to quotout-of-sample, como mostrado na Fig. 1. O spread da bidask foi fixado em 5 pips, e os custos de negociação de 6 pips ou 60 por lote completo (100.000 partes) foram assumidos por rodada. Ambas as séries de dados foram incluídas na compilação, conforme indicado pelas marcas de seleção na coluna do lado esquerdo da tabela de dados do mercado. Figura 1. Configurações de dados do mercado para construir uma estratégia forex para MetaTrader 4 e TradeStation. Outro problema potencial ao direcionar várias plataformas é que o Builder foi projetado para duplicar a forma como cada plataforma suportada calcula seus indicadores, o que pode significar que os valores dos indicadores serão diferentes dependendo da plataforma selecionada. Para evitar esta possível fonte de discrepância, todos os indicadores que avaliem de forma diferente no MetaTrader 4 do que na TradeStation devem ser eliminados da construção, o que significa que os seguintes indicadores devem ser evitados: todos os outros indicadores disponíveis para ambas as plataformas são calculados da mesma maneira em Ambas plataformas. A TradeStation inclui todos os indicadores disponíveis no Builder, enquanto o MetaTrader 4 não. Portanto, para incluir apenas indicadores que estão disponíveis em ambas as plataformas, a plataforma MetaTrader 4 deve ser selecionada como o tipo de código no Builder. Isso eliminará automaticamente qualquer indicador do conjunto de compilação que não esteja disponível para MT4, o que deixará os indicadores disponíveis em ambas as plataformas. Além disso, como notei diferenças nos dados de volume obtidos de cada plataforma, removi todos os indicadores dependentes do volume do conjunto de compilação. Por fim, o indicador do horário do dia foi removido devido a diferenças nos fusos horários entre os arquivos de dados. Na Fig. 2, abaixo, a lista de indicadores utilizados no conjunto de compilação é mostrada ordenada por se o indicador foi ou não considerado pelo processo de compilação (quotConsiderquot coluna). Os indicadores removidos da consideração pelos motivos discutidos acima são mostrados no topo da lista. Os indicadores restantes, começando com quotSimple Mov Avequot, faziam parte do conjunto de compilação. Figura 2. Seleções de indicadores no Builder, mostrando os indicadores removidos do conjunto de compilação. As opções de avaliação usadas no processo de compilação são mostradas na Fig. 3. Como discutido, o MetaTrader 4 foi selecionado como a escolha de saída do código. Depois que as estratégias são criadas no Builder, qualquer uma das opções na guia Opções de avaliação, incluindo o tipo de código, pode ser alterada e as estratégias reavaliadas, que também reescreverão o código em qualquer idioma selecionado. Esse recurso foi usado para obter o código da TradeStation para a estratégia final depois que as estratégias foram construídas para o MetaTrader 4. Figura 3. Opções de avaliação no Builder para a estratégia de divisas EURUSD. Para criar estratégias de parar e reverter, todos os tipos de saída foram removidos do conjunto de compilação, conforme mostrado abaixo na Fig. 4. Todos os três tipos de pedidos de entrada - mercado, parada e limite - foram deixados como quotconsiderquot, o que significa que o processo de compilação poderia considerar qualquer um deles durante o processo de compilação. Figura 4. Tipos de pedidos selecionados no Builder para criar uma estratégia de parar e reverter. O software Builder gera automaticamente condições lógicas baseadas em regras para entrada e / ou saída. Para adicionar uma rede neural à estratégia, basta selecionar a opção "Incluir uma rede neural nas condições de entrada" na guia Opções de Estratégia, como mostrado abaixo na Fig. 5. As configurações da rede neural foram deixadas em seus padrões. Como parte da lógica stop-and-reverse, a opção Market Sides foi definida como LongShort, e a opção de quotWait para sair antes de entrar no novo tradequot foi desmarcada. O último é necessário para habilitar a ordem de entrada para sair da posição atual em uma inversão. Todas as outras configurações foram deixadas nos padrões. Figura 5. Opções de estratégia selecionadas no Builder para criar uma estratégia híbrida usando condições de rede baseadas em regras e neurais. A natureza evolutiva do processo de construção no Builder é orientada pela aptidão física. Que é calculado a partir dos objetivos e condições definidos na guia Metrics, como mostrado abaixo na Fig. 6. Os objetivos de construção foram mantidos simples: maximizando o lucro líquido e minimizando a complexidade, que recebeu um pequeno peso em relação ao lucro líquido. Mais ênfase foi colocada nas condições de construção, que incluíram o coeficiente de correlação e significância para a qualidade geral da estratégia, bem como as barras médias nos negócios e o número de negócios. Inicialmente, apenas as barras médias em negociações foram incluídas como condição de construção. No entanto, em algumas das construções iniciais, o lucro líquido foi favorecido ao longo do prazo comercial, de modo que a métrica do número de trades foi adicionada. O intervalo especificado para o número de negócios (entre 209 e 418) é equivalente ao comprimento médio de comércio entre 15 e 30 barras com base no número de barras no período de construção. Como resultado, a adição desta métrica colocou mais ênfase no objetivo de longo prazo, o que resultou em mais membros da população com o intervalo desejado de comprimentos comerciais. Figura 6. Construir objetivos e condições definidos na guia Métricas determinar como a aptidão é calculada. As QuotConditions para Selecionar Estratégias Tops duplicam as condições de compilação, exceto que as principais condições de estratégias são avaliadas em todo o intervalo de dados (não incluindo o segmento de validação, que é separado), em vez de apenas ao longo do período de compilação, como é o caso do Condições de construção. As principais condições de estratégias são usadas pelo programa para deixar de lado quaisquer estratégias que atendam a todas as condições em uma população separada. As configurações finais são feitas na guia Opções de construção, conforme mostrado abaixo na Fig. 7. As opções mais importantes aqui são o tamanho da população, o número de gerações e a opção de redefinição com base no desempenho do quotout da amostra. O tamanho da população foi escolhido para ser grande o suficiente para obter uma boa diversidade na população, enquanto ainda é pequeno o suficiente para construir em uma quantidade razoável de tempo. O número de gerações foi baseado em quanto tempo levou durante algumas compilações preliminares para que os resultados começassem a convergir. Figura 7. As opções de construção incluem o tamanho da população, o número de gerações e as opções para redefinir a população com base no desempenho do quotout de amostra. A opção para quotReset on Out-of-Sample (OOS) Performancequot inicia o processo de compilação após o número especificado de gerações se a condição especificada for atendida neste caso, a população será redefinida se o lucro líquido do quotout de amostra for Menos de 20.000. Esse valor foi escolhido com base em testes preliminares para ser um valor suficientemente alto que provavelmente não seria alcançado. Como resultado, o processo de compilação foi repetido a cada 30 gerações até parar manualmente. Esta é uma maneira de permitir que o programa identifique estratégias com base nas condições de Top Strategies durante um longo período de tempo. Periodicamente, a população Top Strategies pode ser verificada e o processo de compilação é cancelado quando são encontradas estratégias adequadas. Observe que eu coloquei quotout-of-samplequot em citações. Quando o período quotout de samplequot é usado para redefinir a população desta maneira, o período quotout-de-samplequot não é mais verdadeiramente fora da amostra. Desde então, esse período agora está sendo usado para orientar o processo de compilação, efetivamente faz parte do período na amostra. É por isso que é aconselhável reservar um terceiro segmento para validação, conforme discutido acima. Após várias horas de processamento e uma série de reconstruções automáticas, foi encontrada uma estratégia adequada na população Top Strategies. A curva de comércio equitativo fechado é mostrada abaixo na Fig. 8. A curva de equidade demonstra um desempenho consistente em ambos os segmentos de dados com um número adequado de negócios e, essencialmente, os mesmos resultados em ambas as séries de dados. Figura 8. Curva de equidade de comércio fechado para a estratégia de parada e reversa do EURUSD. Para verificar a estratégia durante o período de validação, a data controlada na guia Mercados (ver Fig. 1) foi alterada para a data final dos dados (2112015) e a estratégia foi reavaliada selecionando o comando Avaliar da Estratégia Menu no Builder. Os resultados são mostrados abaixo na Fig. 9. Os resultados de validação na caixa vermelha demonstram que a estratégia foi mantida em dados não utilizados durante o processo de compilação. Figura 9. Curva de equidade do comércio fechado para a estratégia de paragem e reversão do EURUSD, incluindo o período de validação. A verificação final é ver como a estratégia realizada em cada série de dados separadamente usando a opção de saída do código para essa plataforma. Isso é necessário porque, como explicado acima, pode haver diferenças nos resultados, dependendo (1) do tipo de código, e (2) das séries de dados. Precisamos verificar se as configurações escolhidas minimizaram essas diferenças, conforme pretendido. Para testar a estratégia do MetaTrader 4, a série de dados da TradeStation foi desmarcada na guia Mercados e a estratégia foi reavaliada. Os resultados são mostrados abaixo na Fig. 10, que duplica a curva inferior na Fig. 9. Figura 10. Curva de equidade de comércio fechado para a estratégia de paragem e reversão do EURUSD, incluindo o período de validação, para o MetaTrader 4. Finalmente, para testar a estratégia para a TradeStation, as séries de dados da TradeStation foram selecionadas e a série para MetaTrader 4 foi desmarcado na guia Mercados, a saída do código foi alterada para quotTradeStation e a estratégia foi reavaliada. Os resultados são mostrados abaixo na Fig. 11 e parecem ser muito semelhantes à curva do meio na Fig. 9, como esperado. Figura 11. Curva de equidade de comércio fechado para a estratégia de paragem e reversão do EURUSD, incluindo o período de validação, para a TradeStation. O código para ambas as plataformas é fornecido abaixo na Fig. 12. Clique na imagem para abrir o arquivo de código para a plataforma correspondente. Examinar o código revela que a parte baseada em regras da estratégia usa diferentes condições relacionadas à volatilidade para os lados longo e curto. As entradas da rede neural consistem em uma variedade de indicadores, incluindo o dia-semana, a tendência (ZLTrend), o intraday high, osciladores (InvFisherCycle, InvFisherRSI), as bandas Bollinger e o desvio padrão. A natureza híbrida da estratégia pode ser vista diretamente na declaração de código (do código da TradeStation): Se EntCondL e NNOutput gt 0.5 então começam Buy (quotEnMark-Lquot) NShares compartilha próxima barra no mercado A variável quotEntCondLquot representa a entrada baseada em regras Condições, e quotNNOuputquot é a saída da rede neural. Ambas as condições devem ser verdadeiras para colocar a ordem de entrada longa. A condição de entrada curta funciona da mesma maneira. Figura 12. Código de estratégia de negociação para a estratégia de parada e reversa do EURUSD (à esquerda, MetaTrader 4 à direita, TradeStation). Clique na figura para abrir o arquivo de código correspondente. Baixe um arquivo do projeto Builder (.gpstrat) contendo as configurações descritas neste artigo. Este artigo analisou o processo de construção de uma estratégia de rede neural baseada em regras híbridas para o EURUSD usando uma abordagem stop-and-reverse (sempre no mercado) com o Adaptrade Builder. Foi mostrado como o código da estratégia pode ser gerado para múltiplas plataformas, selecionando um subconjunto comum dos indicadores que funcionam da mesma maneira em cada plataforma. As configurações necessárias para gerar estratégias que se revertem de longo para curto e para trás foram descritas, e foi demonstrado que a estratégia resultante foi realizada positivamente em um segmento separado de validação de dados. Verificou-se também que a estratégia gerou resultados semelhantes com a opção de dados e código para cada plataforma. Conforme discutido acima, a abordagem de parada e reversa tem várias desvantagens e pode não atrair a todos. No entanto, uma abordagem sempre no mercado pode ser mais atraente com os dados de divisas porque os mercados de divisas são comercializados 24 horas por dia. As a result, there are no session-opening gaps, and the trading orders are always active and available to reverse the trade when the market changes. The use of intraday data (4-hour bars) provided more bars of data for use in the build process but was otherwise fairly arbitrary in that the always-in-the-market nature of the strategy means that trades are carried overnight. The build process was allowed to evolve different conditions for entering long and short, resulting in an asymmetric stop-and-reverse strategy. Despite the name, the resulting strategy enters both long and short trades on market orders, although market, stop, and limit orders were all considered by the build process independently for each side. In practice, reversing from long to short would mean selling short twice the number of shares at the market as the strategy was currently long e. g. if the current long position was 100,000 shares, you would sell short 200,000 shares at market. Likewise, if the current short position was 100,000 shares, you would buy 200,000 shares at market to reverse from short to long. A shorter price history was used than would be ideal. Nonetheless, the results were positive on the validation segment, suggesting the strategy was not over-fit. This supports the idea that a neural network can be used in a trading strategy without necessarily over-fitting the strategy to the market. The strategy presented here is not intended for actual trading and was not tested in real-time tracking or trading. However, this article can be used as a template for developing similar strategies for the EURUSD or other markets. As always, any trading strategy you develop should be tested thoroughly in real-time tracking or on separate data to validate the results and to familiarize yourself with the trading characteristics of the strategy prior to live trading. This article appeared in the February 2015 issue of the Adaptrade Software newsletter. HYPOTHETICAL OR SIMULATED PERFORMANCE RESULTS HAVE CERTAIN INHERENT LIMITATIONS. SEM ENCONTRO UM REGISTRO DE DESEMPENHO REAL, RESULTADOS SIMULADOS NÃO REPRESENTAM NEGÓCIO REAL. ALSO, SINCE THE TRADES HAVE NOT ACTUALLY BEEN EXECUTED, THE RESULTS MAY HAVE UNDER - OR OVER-COMPENSATED FOR THE IMPACT, IF ANY, OF CERTAIN MARKET FACTORS, SUCH AS LACK OF LIQUIDITY. PROGRAMAS DE NEGOCIAÇÃO SIMULADOS EM GERAL SÃO TAMBÉM SUJEITOS AO FATO QUE ESTÃO DESIGNADOS COM O BENEFÍCIO DE HINDSIGHT. NENHUMA REPRESENTAÇÃO ESTÁ FAZENDO QUE QUALQUER CONTA VOCE OU POSSIBILIDADE DE ALCANÇAR LUCROS OU PERDAS SIMILARES ÀOS MOSTRADOS. If youd like to be informed of new developments, news, and special offers from Adaptrade Software, please join our email list. Obrigado.

No comments:

Post a Comment