четверг, 3 мая 2018 г.

Desenvolvendo sistemas de negociação robustos


Guia para o desenvolvimento do sistema de negociação.
A evolução contínua do software de análise técnica simplificou a criação de sistemas de negociação automatizados por computador. Alguns sistemas apenas geram os sinais para o comerciante seguir, enquanto outros colocam os negócios no mercado em nome do trader. No entanto, ser capaz de programar sua plataforma de negociação favorita é apenas o começo. Você deve ter uma estrutura para testar suas teorias de negociação para ter certeza de que os backtests lucrativos não são meramente por sorte, mas são os resultados da modelagem robusta do comportamento de um mercado.
Esta série de artigos irá apresentar uma abordagem simplificada para o desenvolvimento de um sistema de negociação para o mercado forex de varejo. A ferramenta de desenvolvimento de sistema que usaremos será 4 (4), embora as idéias e o processo apresentados se apliquem a uma ampla gama de plataformas de software. A metodologia abrangerá conceitos gerais direcionados ao operador de sistema iniciante. Quando tomamos atalhos por conveniência, encaminhamos o leitor a recursos adicionais para informações mais detalhadas.
Existem cinco fases distintas no desenvolvimento do sistema de negociação:
Fase 1: Desenvolvimento do modelo de mercado e do sistema automatizado básico & mdash; o sistema automatizado básico implementa esse modelo, mas não incorpora perdas de parada ou metas de lucro. O sistema básico é para o único propósito de coletar dados para análise estatística usada nas fases posteriores de desenvolvimento.
Fase 2: gestão de riscos & mdash; o stop loss inicial (ISL). Usando os dados coletados na Fase 1 e com base na análise estatística desses dados, adicionamos um ISL à estratégia de negociação. Usamos a otimização para encontrar um parâmetro de perda que atenda às nossas necessidades. Usaremos análise de avanço para testar essa versão do sistema.
Fase 3: gerenciamento de lucros & mdash; a meta de lucro (PT). Como na Fase 2, usaremos a análise estatística de nossos dados para incorporar uma meta de lucro ao sistema. Novamente, usaremos a otimização para encontrar uma meta de lucro apropriada e, em seguida, usaremos a análise de avanço para testar essa versão do sistema.
Fase 4: gerenciamento de dinheiro & mdash; o algoritmo de tamanho de negociação (TSA). Essa fase não depende dos dados coletados na Fase 1. Em vez disso, incorporaremos o método popular de tamanho de negociação de fração fixa para determinar quantos lotes são alocados para cada transação. A literatura de comércio popular está repleta de conselhos para restringir o risco por comércio dentro de um intervalo de 1% a 3% do patrimônio da conta. Nós executaremos nossa otimização usando essas porcentagens e, novamente, usaremos a análise de avanço para testar essa versão do sistema.
Em conjunto, as fases 2 a 4 abrangem a gestão comercial, mas há mais um passo crítico:
Fase 5: análise de Monte Carlo & mdash; muitos traders param após a Fase 4. No entanto, nossos testes não estão completos nessa conjuntura e o sistema não está pronto para implementação (supondo que seja lucrativo). Apesar de nossa análise de caminhada, não podemos ter certeza de que nossos resultados não são por sorte. Em outras palavras, nosso modelo pode não descrever o comportamento do mercado com precisão; resultados favoráveis ​​podem ter se beneficiado de um ambiente de mercado cuja ação de preço acabou de coincidir com nossa lógica. A análise de Monte Carlo ajudará a determinar se nosso modelo foi bem-sucedido por causa da sorte (aleatoriedade) ou sua capacidade de identificar e explorar um padrão real de mercado.
Este artigo cobrirá a Fase 1; artigos subseqüentes abrangerão as fases de 2 a 5.

Robustez dos sistemas de negociação algorítmicos (que funcionam)
Este é o primeiro de uma série de artigos que discutirão em profundidade o tópico de sistemas de negociação algorítmica para investidores de varejo com atenção especial para: otimização e ajuste de curva, seleção de mercado, backtesting, teste de walk-forward, criação de portfólio, negociação intraday algorítmica, e assim por diante.
Neste primeiro artigo, discutiremos como verificar se um determinado sistema comercial é robusto ou não.
Conforme definido na Wikipedia, a robustez define a capacidade de um sistema de negociação financeira permanecer eficaz sob diferentes mercados e diferentes condições de mercado, ou a capacidade de um modelo econômico permanecer válido sob diferentes suposições, parâmetros e condições iniciais. & # 8221;
Existem quatro testes principais para avaliar a robustez de um sistema de negociação intradiário:
O sistema funciona em uma variedade de combinações de parâmetros? O sistema funciona em vários intervalos de tempo? O sistema funciona em vários instrumentos? O sistema funciona em pelo menos 6 anos de dados passados ​​sem a necessidade de ser re-otimizado com freqüência?
Vamos usar um sistema intraday de volatilidade simples para criar um exemplo no ES (S & P 500 Mini). Este é um sistema simples com apenas dois parâmetros chave que podem ser otimizados: Períodos (o período de retrospectiva em barras de um indicador lento) e PeríodoF (o período de retrospectiva em barras de um indicador rápido). O sistema tem as seguintes características:
Entrada intradiária: movimento rápido com aumento da volatilidade Sair: stop loss, mudança de tendência, fim de dia Gerenciamento de risco: stop loss baseado em volatilidade, stop loss de trailing, filtro de contração de range, limitação no número máximo de negociações por dia 1 contrato.
O sistema funciona em uma variedade de combinações de parâmetros?
A fim de verificar a robustez da variedade de combinações de parâmetros, otimizamos Períodos de 100 bar a 500 bar com degraus de 25 e PeríodoF de 10 bar a 40 bar com degraus de 10.
Podemos ver que a média da SQN é 4,4, a mínima de 1,9 e a máxima de 5,8.
O Número de Qualidade do Sistema (SQN) é um indicador de qualidade do sistema baseado no t-score estatístico popularizado por Van Tharpe e definido como:
SQN = Squareroot (N) Média (do N Profit & amp; Loss) / Std Dev (do N Profit & amp; Loss).
Basicamente é o comércio médio, dividido pelo desvio padrão do comércio médio e multiplicado pela raiz quadrada do número de negócios. Assim: muitos negócios, comércio médio elevado e baixa volatilidade do comércio médio proporcionarão um maior SQN.
Você pode encontrar mais informações abaixo. Valores acima de 2.5 normalmente indicam um bom sistema:
O código para NinjaTrader está disponível gratuitamente para download em nosso site: vbosystems. info/download. html.
A análise acima mostra que este sistema é robusto em várias combinações de parâmetros.
O sistema funciona em vários intervalos de tempo?
O segundo teste refere-se a prazos. Um sistema robusto manterá bons resultados em vários períodos de tempo. A fim de verificar a robustez em vários intervalos de tempo, mantemos os dois parâmetros fixos em 300 (Períodos) e 30 (PeríodoF) e otimizamos o período de 10 a 50 bar com etapas de 5.
Podemos ver que o valor mais baixo de SQN é 3,6 com um período de tempo de 25. Os gráficos indicam que este sistema é mais eficaz em intervalos de tempo cada vez mais baixos, mas mantém um bom valor de SQN por todo o tempo.
O sistema funciona em vários instrumentos?
Um sistema robusto manterá bons resultados em diversos instrumentos. Os sistemas mais robustos terão bons resultados com os mesmos parâmetros em vários instrumentos. No mínimo, deve-se focalizar em sistemas que podem realmente funcionar em diferentes instrumentos, mesmo que os melhores parâmetros possam ser diferentes.
A fim de verificar a robustez em diferentes instrumentos, otimizamos barras de 27 minutos Períodos de 100 barras a 600 barras com etapas de 25 e PeríodoF de 5 barras a 50 barras com etapas de 5 em uma cesta de 12 contratos futuros diversificados em índices, forex , energia e taxas de juros: 6B, 6E, CL, EMD, ES, FDAX, FGBL, IBEX35, NG, RT, TF, ZB. A otimização fornece os seguintes resultados:
Os resultados acima, de janeiro de 2006 a abril de 2013, mostram que este sistema em particular pode ser rentável & # 8211; com parâmetros diferentes & # 8211; em vários mercados futuros. No entanto, os sistemas mais robustos manterão bons resultados em diferentes tradables, mantendo os mesmos parâmetros. Se analisarmos o mapa de calor do NQS médio em todos os bens comercializáveis, veremos os seguintes resultados:
A tabela acima mostra que o SQN médio em todos os tradables, em todos os parâmetros, é relativamente estável, com um valor mínimo de 2. Para encontrar os parâmetros mais estáveis, a melhor opção é dividir o SQN médio por seu desvio padrão, como em o seguinte mapa de calor:
A combinação de parâmetros mais estável em todos os 12 futuros é PeriodF = 15 e PeriodS = 425, que fornece os seguintes resultados:
Os resultados acima indicam que este sistema tem resultados robustos em 12 contratos futuros diversificados entre índices, forex, energia e taxas de juros.
O sistema funciona em pelo menos 6 anos de dados passados ​​sem a necessidade de ser re-otimizado com freqüência?
Um sistema robusto manterá bons resultados ao longo de vários anos sem a necessidade de ser re-otimizado com freqüência. Vamos considerar os parâmetros do primeiro teste que forneceu o melhor SQN: PeriodS = 150 e PeriodF = 30. Os resultados nas barras de 15 minutos do ES são os seguintes:
O número de negociações é bastante consistente a cada ano (exceto 2013, pois os dados são apenas até meados de abril), bem como a% de ganhos.
Em conclusão, ao avaliar a robustez de um sistema de negociação, há quatro testes principais a serem executados. Somente se um sistema tiver um bom desempenho em uma variedade de combinações de parâmetros, uma variedade de intervalos de tempo, uma variedade de instrumentos e pelo menos 6 anos de dados passados ​​sem a necessidade de ser re-otimizado frequentemente, pode ser considerado totalmente robusto.
Todas as otimizações descritas neste artigo foram feitas usando os dados de 1 minuto do NinjaTrader e do Kinetick. Para mais informações sobre sistemas de negociação, por favor visite nosso website: vbosystems. info.
& # 8212; Por Amon Licini, da VbO Systems. A VbO Systems é uma desenvolvedora de sistemas de negociação 100% automatizados, codificados no NinjaTrader, que podem ser negociados automaticamente em quase todas as classes de ativos. Amon Licini, o fundador da Vbo Systems, é operador privado há 15 anos e gerente sênior de várias empresas na Itália. Os principais interesses comerciais da Amon estão na área de volatilidade e períodos abertos para sistemas intraday. Ele mora em Milão com sua esposa e dois filhos e adora viajar quando não está desenvolvendo novos sistemas. Amon é formado em engenharia mecânica pela Universidade Politécnica de Milão.
Sobre o autor System Trader Success Contributor.
Autores contribuintes são participantes ativos nos mercados financeiros e totalmente envolvidos em análises técnicas ou quantitativas. Eles desejam compartilhar suas histórias, insights e descobertas no System Trader Success e esperam fazer de você um melhor operador de sistema. Entre em contato conosco se você quiser ser um autor colaborador e compartilhar sua mensagem com o mundo.

Desenvolvendo sistemas de negociação robustos
Recuando da história da barata e da chita, parece que a robustez é toda sobre a sobrevivência. Para um sistema de negociação automatizado, isso significa que o sistema "sobrevive e prospera" # 8221; depois de decidir colocá-lo "ao vivo & # 8221 ;.
No entanto, existem maneiras diferentes de analisar a robustez em um sistema de negociação mecânico.
Definições diferentes para robustez.
A robustez do sistema de negociação geralmente implica que o sistema exibe desempenho similar quando sujeito a pequenas variações. No entanto, pensando nisso, você percebe que isso pode significar várias coisas:
Robustez a preços futuros (o aspecto de sobrevivência) Robustez a mudanças internas (ou seja, variação nos parâmetros do sistema) Robustez a mudanças externas (ou seja, variação nos dados de preços) Robustez no design do sistema Robustez nos testes do sistema.
Verifique também que o fórum do fórum do Trading Blox para mais discussões sobre robustez (algumas das quais inspiraram diretamente ideias neste post).
Existem 2 suposições que podem ser feitas:
O primeiro: um sistema robusto para mudanças (internas e externas) provavelmente será robusto para os preços futuros: isso ocorre porque os mercados sempre evoluem e mudam. e seu sistema deve ser capaz de lidar com essas mudanças.
A segunda é que a criação de um sistema usando conceitos e procedimentos robustos, tanto em projeto quanto em testes, deve garantir que o sistema mostrará robustez.
Design robusto do sistema.
Isso geralmente começa com uma estratégia de negociação que faz sentido, com poucos parâmetros, não muitos sinos e assobios (nós não queremos a Ferrari que parece ser boa e ir rápido ao redor da pista, mas que não pode ultrapassar lombadas ou parques de estacionamento subterrâneo # 8230 Bem, eu faço realmente ", mas você começa o ponto! ;-)
Outro aspecto a considerar quando se pretende construir um sistema de negociação robusto é ilustrado por esta citação de Bill Eckhardt, que pretende usar ferramentas e componentes robustos em seus sistemas:
Desenvolvemos todos os nossos sistemas exclusivamente internamente, por isso não há qualquer tipo de indicador publicamente reconhecível que eu possa mencionar. Definitivamente usamos sistemas não lineares e indicadores não lineares. Indicadores lineares, como filtros com médias móveis, foram extraídos a seco.
Na estatística, a mediana é uma ferramenta mais robusta do que a média / média (está sujeita a alterações de dados subjacentes, como outliers). Possivelmente, usando mediana em vez de média em uma estratégia de negociação é mais robusto. Uma mudança & # 8220; mediana & # 8221; sistema crossover mostraria mais robustez do que usando um sistema clássico de crossover de média móvel & # 8211; isso é algo que estou planejando testar.
Teste robusto do sistema.
O principal aspecto do teste de sistema robusto é garantir que o back-test seja realista e que não ocorra nenhum ajuste excessivo. Nós não iremos muito em detalhes, pois estes foram bem documentados (eu recomendo o livro de Perry Kaufman que tem um capítulo inteiro sobre Teste de Sistema e robustez).
Pontos importantes são dados de boa qualidade, dados dentro da amostra e fora da amostra, hipóteses realistas (custos, derrapagens, etc.), lógica na estratégia.
Robustez a mudanças internas.
Isso é quando você altera os parâmetros do sistema de negociação. Provavelmente é bastante fácil testar e medir. Suponha que você tenha um sistema Breakout do canal Donchian com duração do canal em 20 dias e com base em ATR pare em 30 dias com um multiplicador de 2.
Um sistema robusto apresentaria um desempenho muito semelhante com parâmetros ligeiramente diferentes: a robustez poderia ser quantificada medindo a diferença global / desvio padrão no desempenho do sistema ao variar parâmetros (por exemplo, num intervalo de +/- 10%), por exemplo Sistema de Breakout do Canal Donchian com duração do canal em 22 dias e parada baseada em ATR em 33 dias com um multiplicador de 1,8, etc.
Robustez a mudanças externas.
Aqui, isto é principalmente os parâmetros & # 8220; & # 8221; dos dados de preço que podem ser alterados para testar a robustez. Existem algumas coisas que podem ser alteradas, como o conjunto de instrumentos negociados (pequenas permutações não devem afetar drasticamente o desempenho), período de testes (o sistema funciona de maneira similar em todos os períodos de tempo) ou até pequenas alterações aleatórias nos preços reais.
Robustez a preços futuros.
Infelizmente os dados de preços futuros são muito difíceis de encontrar (CSI são muito bons, mas fornecem apenas dados históricos! Sinta-se à vontade para me enviar um email se você tiver encontrado um bom provedor ;-), então obviamente você não pode testar seu sistema colocando-o ao vivo.
Indiscutivelmente, o objetivo de focar na robustez com os quatro pontos anteriores é garantir que o sistema funcione igualmente bem em preços futuros. No entanto, esses quatro aspectos de robustez em um sistema de negociação só podem atuar como uma proxy para a robustez futura dos preços.
Embora nós, como desenvolvedores de sistemas de negociação, gostemos de ganhar algum tipo de & # 8220; reconfortante & # 8221; Certamente, temos que ter em mente que o futuro será imprevisível, os mercados vão mudar e, portanto, projetar um sistema para negociar preços futuros sempre conterá algum grau de incerteza. Cabe a nós decidir (e prever) quais parâmetros e proxies são importantes para garantir a robustez no futuro.
Isso pode soar como um paradoxo, mas projetar um sistema de negociação automatizado envolve mais discrição e previsão do que se poderia pensar.
8 Comentários até agora & darr;
Belo artigo sobre robustez, um termo que tem sido usado tanto e tão livremente que começou a perder seu significado.
Além disso, essa foi uma citação interessante sobre como um comerciante abandonou as médias móveis e desenvolve seus indicadores internamente. Sua ideia sobre média vs média é interessante. Outra variável que pode ser tweeked (e deve suportar algum estresse) é a definição de preço. Nós normalmente usamos o fechamento como a definição de preço. Compre por que não o alto ou o baixo, dependendo de como o mercado está tendendo? Ou que tal o conceito de preço médio (HLC / 3)?
É uma ideia interessante quebrar a robustez em componentes. Não tenho certeza se penso nisso da mesma maneira.
Veja como pensamos sobre isso. Robustez é a capacidade do sistema de funcionar bem em condições variáveis.
Como as condições futuras nunca são exatamente as mesmas que as do passado, um sistema mais robusto ganhará dinheiro em negociações reais do que um sistema menos robusto.
Portanto, a robustez é uma medida da probabilidade de que o sistema funcione de maneira semelhante na negociação real em comparação com o desenvolvimento.
Sua análise traz uma questão interessante. Se pudermos tornar nosso sistema robusto para mudanças externas, como mediremos essas mudanças?
@milk & # 8211; boa ideia sobre essas variações de preço. Enquanto você é inventivo (como você fez com o seu excelente café da manhã spread ;-), você pode sair das faixas batidas & # 8221; e encontrar algo interessante.
@George, eu acho que estava tentando expressar um conceito similar: se o sistema que você desenvolve for robusto para mudanças (como mudanças de parâmetros ou preço, mudanças de instrumentos) pode ser robusto em preços futuros (já que eles sempre mudarão) & # 8230; Mas isso contém uma suposição de que as mudanças no futuro serão semelhantes (em termos de impacto em seu sistema) às alterações testadas em seu sistema durante o desenvolvimento.
Em termos de medir alguma robustez, eu acho que você pode projetar uma função objetiva para avaliar seus sistemas de negociação e medir o desvio padrão desta função objetiva ao submeter seu sistema a mudanças.
Eu concordo com sua afirmação conclusiva de que o teste e o projeto de sistemas estão longe de ser uma ciência exata.
Embora não possamos testar em & # 8220; futuro & # 8221; dados, acho que testes fora de amostra são uma ferramenta tão boa quanto possível.
Além do excelente livro de Kaufman, eu também recomendaria o Design, o Teste e a Otimização de Sistemas de Negociação de Robert Pardo.
Acontece que Robert Pardo também é um dos principais traders.
Sim, isso faz sentido. Eu gostaria de projetar um experimento ou medir a suposição de que as mudanças no futuro serão similares & # 8221 ;.
Oi, eu pesquisei um sistema para forex. Pode ganhar dinheiro em cada um dos 7 principais pares de moedas de 2000 a 2010, com um rebaixamento máximo muito pequeno. Mesmo depois de alterar um pouco os parâmetros, ainda é muito lucrativo. O problema é que ele não tem um bom desempenho no mercado de moedas de 1990 a 2000, e é apenas um ponto de equilíbrio durante esse período. Eu acho que a razão é a introdução do Euro e o padrão de preço de mercado mudou um pouco depois de 2000, então este sistema funciona bem apenas em 2000-2010. Você acha que esse tipo de sistema que só pode ter bom desempenho nos últimos 10 anos é suficientemente robusto e devo usá-lo com confiança?
Bem & # 8211; O problema com esse tipo de abordagem é que você está antecipando que os mercados serão semelhantes no futuro para o período 2000-2010. Eu acho que prefiro uma abordagem que pode ser "robusta" # 8221; a quaisquer condições que o mercado possa lançar em você, o que inclui um retorno às condições de 1990-2000. Normalmente isso significaria menor desempenho no período 2000-2010, embora & # 8230;
Agora, mesmo no desenvolvimento de sistemas, há alguma discrição envolvida e, se você acredita que as condições permanecerão como estão, você pode querer ficar com um sistema que funcione bem apenas nas condições recentes do mercado. Você também pode continuar desenvolvendo e monitorando seu sistema para tentar adaptá-lo às mudanças de condições.
Eu acho que sua sugestão é muito razoável. Este sistema é um sistema pull-back. Ele segue a tendência de longo prazo e espera que o mercado tenha um recuo e, em seguida, entre no mercado quando o preço exceder o nível anterior. Da minha observação do mercado de câmbio de 2000-2010, para cada nível de resistência significativo, haverá muitas ordens de limite / parada em torno dele. O resultado é que, se o preço superar com sucesso uma resistência significativa, ele terá uma chance maior de continuar mais alto. Mas parece que este não é o caso em 1990-2000. Nesse período, muitas vezes o preço apenas supera uma pequena quantidade de resistência e, em seguida, volta rapidamente. Então este sistema não teve um bom desempenho naquele momento.
Eu não tenho certeza se os padrões futuros de preços serão semelhantes em 2000-2010, então eu posso preferir um sistema que possa ter um bom desempenho em ambos os períodos de tempo, mesmo com baixo desempenho em 2000-2010. Sua sugestão para continuar desenvolvendo e monitorando o sistema para tentar se adaptar às mudanças das condições é muito útil! Obrigado!
Deixe um comentário (Cancelar)
Atualizações gratuitas.
Posts populares.
Procure no blog Au. Tra. Sy.
Corretor Global de Futuros.
Blog Au. Tra. Sy, pesquisa e desenvolvimento de Trading Sistemático, com um sabor de Trend Following.
Disclaimer: O desempenho passado não é necessariamente indicativo de resultados futuros. A negociação de futuros é complexa e apresenta o risco de perdas substanciais; como tal, pode não ser adequado para todos os investidores. O conteúdo deste site é fornecido apenas como informação geral e não deve ser considerado como recomendação de investimento. Todo o conteúdo do site, não deve ser interpretado como uma recomendação para comprar ou vender qualquer título ou instrumento financeiro, ou para participar de qualquer estratégia de negociação ou investimento em particular. As idéias expressas neste site são unicamente as opiniões do autor. O autor pode ou não ter uma posição em qualquer instrumento financeiro ou estratégia citada acima. Qualquer ação que você tome como resultado de informações ou análises neste site é, em última instância, de sua exclusiva responsabilidade.
OS RESULTADOS DE DESEMPENHO HIPOTÉTICOS TÊM MUITAS LIMITAÇÕES INERENTES, ALGUNS DOS QUAIS SÃO DESCRITOS ABAIXO. NENHUMA REPRESENTAÇÃO ESTÁ SENDO FEITA QUE QUALQUER CONTA PODERÁ OU POSSIBILITAR LUCROS OU PERDAS SEMELHANTES AOS MOSTRADOS; DE FATO, HÁ DIFERENÇAS FREQUENTEMENTE DIFERENCIADAS ENTRE OS RESULTADOS DE DESEMPENHO HIPOTÉTICOS E OS RESULTADOS REALIZADOS SUBSEQÜENTEMENTE ATINGIDOS POR QUALQUER PROGRAMA DE NEGOCIAÇÃO PARTICULAR. UMA DAS LIMITAÇÕES DOS RESULTADOS DE DESEMPENHO HIPOTÉTICOS É QUE ELES SÃO GERALMENTE PREPARADOS COM O BENEFÍCIO DE HINDSIGHT. ALÉM DISSO, A NEGOCIAÇÃO HIPOTÉTICA NÃO ENVOLVE O RISCO FINANCEIRO, E NENHUM REGISTRO DE NEGOCIAÇÃO HIPOTÉTICA PODE COMPLETAMENTE CONTA PARA O IMPACTO DO RISCO FINANCEIRO DE NEGOCIAÇÃO REAL. POR EXEMPLO, A CAPACIDADE PARA SUPORTAR PERDAS OU ADERIR A UM PROGRAMA DE NEGOCIAÇÃO EM PARTICULAR DENTRO DA NEGOCIAÇÃO DE PERDAS SÃO PONTOS MATERIAIS QUE TAMBÉM PODEM AFETAR DE ACORDO, DE FORMA ALTA, OS RESULTADOS DA NEGOCIAÇÃO. EXISTEM NUMEROSOS OUTROS FATORES RELACIONADOS COM OS MERCADOS EM GERAL OU PARA A IMPLEMENTAÇÃO DE QUALQUER PROGRAMA DE NEGOCIAÇÃO ESPECÍFICO QUE NÃO PODE SER TOTALMENTE CONSIDERADO PARA A ELABORAÇÃO DE RESULTADOS DE DESEMPENHO HIPOTÉTICOS E TODOS OS QUE PODEM AFETAR COM ANTECEDÊNCIA OS RESULTADOS DA NEGOCIAÇÃO.
ESTAS TABELAS DE DESEMPENHO E RESULTADOS SÃO HIPOTÉTICOS NA NATUREZA E NÃO REPRESENTAM A NEGOCIAÇÃO EM CONTAS REAIS.

Como desenvolver um sistema de negociação.
Cada sistema de negociação tem que ter uma vantagem. A vantagem é o que deve fazer o seu sistema ter uma expectativa positiva. Em outras palavras, deve ser lucrativo a longo prazo. Nós entraremos nos cálculos e equívocos comuns sobre a expectativa mais tarde. Mas, por enquanto, é importante entender que uma vantagem deve, idealmente, tornar o sistema lucrativo a longo prazo e torná-lo mais propenso a ganhar dinheiro do que a perder dinheiro com um tamanho de transação suficientemente grande.
Ao selecionar uma borda, é muito crucial não otimizar demais ou ajustar os dados. Um erro comum que as pessoas cometem ao desenvolver um sistema é usar 2 indicadores de confirmação e otimizá-los. Isso faz com que o sistema tenha uma ótima aparência histórica; no entanto, o sistema não se sairá tão bem no futuro.
Os indicadores são divididos em 5 tipos: Volatilidade de Momento Volumosa de Overbought / Oversold de Tendência.
No volume de balanço.
Também é importante que a borda seja robusta. Um sistema é robusto quando mantém a expectativa positiva. O sistema deve ser testado em movimentos para cima, para baixo e para os lados. Muitos sistemas que seguem a tendência apresentam um bom desempenho quando o instrumento está em alta, mas não se saem tão bem quando o instrumento está em um período oculto lateralmente. É crucial que o período seja levado em consideração durante o teste de volta.
Eu recomendo o teste de volta em pelo menos 2000 barras. Se você estiver fazendo backtesting de um sistema nos gráficos diários; Eu recomendo usar 10 anos. Nos gráficos intra-dia, recomendo testar novamente os sistemas desde que o fornecedor de dados permita. Isso geralmente é de 6 meses a um ano.
É importante usar software de nível profissional com recursos de teste de retorno ao desenvolver seu sistema. Para nomear alguns:
Um dos melhores programas de testes de volta lá fora; embora a programação possa ser difícil, como é em Pascal. Não há atendimento telefônico ao cliente para o wealth-lab. A NCMfx oferece serviços de programação a preços competitivos e com enormes descontos para os atuais clientes forex.
Recursos de gerenciamento de risco.
Assistente de desenvolvimento do sistema.
Software de back-testing e análise de nível profissional. Metastock oferece inúmeros sistemas e indicadores de negociação. O Metastock tem sua própria linguagem, pode ser um pouco mais fácil que o Wealth-Lab, mas muito mais limitado. O serviço ao cliente é bom. E há inúmeros add ons e plug ins que você pode adquirir para acompanhar seu estilo de negociação. A NCMfx oferece serviços de programação a preços competitivos e com enormes descontos para os atuais clientes forex.
Alexander Nekritin é um profissional especializado em.
mais de 8 anos de experiência. Suas especialidades incluem gerenciamento de risco e sistema.
desenvolvimento. Alexander é o CEO da.
forexyourself, que é um corretor forex introdução e educação.
empresa que ajuda as necessidades do cliente suite na negociação forex. Alexander tem um diploma.
com uma concentração em Investment Banking e instrumentos derivados da Babson College em Massachusetts.
Artigos recentes sobre TradingMarkets.
Informação da companhia.
The Connors Group, Inc.
185 Hudson St., Suite 2500.
Jersey City, NJ 07311.
Recursos da empresa.
Propriedades
Conecte-se com o TradingMarkets.
© Copyright 2018 O Grupo Connors, Inc.
Não se deve pressupor que os métodos, tecnologias ou indicadores apresentados nesses produtos serão lucrativos ou não resultarão em perdas. Os resultados passados ​​de qualquer comerciante individual ou sistema de negociação publicado pela Empresa não são indicativos de retornos futuros por esse comerciante ou sistema, e não são indicativos de retornos futuros que sejam realizados por você. Além disso, os indicadores, estratégias, colunas, artigos e todos os outros recursos dos produtos da Empresa (coletivamente, as "Informações") são fornecidos apenas para fins informativos e educacionais e não devem ser interpretados como conselhos de investimento. Os exemplos apresentados no site da Empresa são apenas para fins educacionais. Essas configurações não são solicitações de qualquer ordem de compra ou venda. Consequentemente, você não deve confiar somente nas Informações para fazer qualquer investimento. Em vez disso, você deve usar as Informações apenas como ponto de partida para fazer pesquisas independentes adicionais, a fim de permitir que você formule sua própria opinião sobre investimentos. Você deve sempre consultar seu consultor financeiro e consultor tributário para determinar a adequação de qualquer investimento.
OS RESULTADOS DE DESEMPENHO HIPOTÉTICOS OU SIMULADOS TÊM CERTAS LIMITAÇÕES INERENTES. A PARTIR DE UM REGISTRO DE DESEMPENHO REAL, OS RESULTADOS SIMULADOS NÃO REPRESENTAM A REALIZAÇÃO REAL E NÃO PODEM SER IMPACTADOS POR CORRETAGEM E OUTRAS TAXAS DE ESCOLHA. TAMBÉM, UMA VEZ QUE AS COMERCIALIZAÇÕES NAO SÃO REALMENTE EXECUTADAS, OS RESULTADOS PODEM SUBSTITUIR OU SUPERIOR AO IMPACTO, SE ALGUM, DE DETERMINADOS FATORES DE MERCADO, COMO A FALTA DE LIQUIDEZ. PROGRAMAS DE NEGOCIAÇÃO SIMULADOS EM GERAL TAMBÉM ESTÃO SUJEITOS AO FATO DE QUE ELES FORAM CONCEBIDOS COM O BENEFÍCIO DE HINDSIGHT. NENHUMA REPRESENTAÇÃO ESTÁ SENDO FEITA QUE QUALQUER CONTA PODERÁ OU POSSIBILITAR LUCROS OU PERDAS SIMILARES AOS APRESENTADOS.
Todos os comentários de analistas fornecidos no TradingMarkets são fornecidos apenas para fins educacionais. Os analistas e funcionários ou afiliados da TradingMarkets podem ocupar posições nos estoques ou setores discutidos aqui. Esta informação NÃO é uma recomendação ou solicitação para comprar ou vender quaisquer valores mobiliários. Seu uso deste e de todas as informações contidas no TradingMarkets é regido pelos Termos e Condições de Uso. Por favor, clique no link para ver esses termos. Siga este link para ler nossa Política Editorial.

Forex Mecânico
Negociação no mercado de câmbio usando estratégias de negociação mecânicas.
Robustez: Características ideais do sistema de negociação para suportar mudanças.
Talvez a pergunta mais importante que uma pessoa possa fazer sobre uma determinada estratégia de negociação mecânica seja: A estratégia sobreviverá sob condições futuras de mercado? Esta questão não é apenas vital para qualquer sistema individual de negociação mecânica, mas é vital para o campo, já que a ideia de desenvolver sistemas com conjuntos de regras fixas é usá-los com sucesso no futuro. Infelizmente, simplesmente não há uma resposta direta a essa pergunta, já que o futuro é desconhecido & # 8211; e, portanto, a rentabilidade no futuro permanece imprevisível & # 8211; mas podemos certamente dar uma olhada nos sistemas que alcançaram esse status no passado e avaliar quais são suas principais características e como poderíamos potencialmente reproduzir seu sucesso. No post de hoje eu vou falar sobre o & # 8220; robustez & # 8221; qual & # 8211; quando se fala de sistemas de negociação & # 8211; é a capacidade de permanecer rentável apesar das mudanças nas condições de mercado de longo prazo, quais são as características dos sistemas robustos e o que podemos fazer para garantir que nossos sistemas permaneçam tão lucrativos quanto possível pelo maior tempo possível.
Sempre que alguém desenvolve uma estratégia de negociação mecânica, não é apenas vital obter lucro e extrair metas de dados históricos de longo prazo, mas também é importante assegurar que tais resultados provavelmente se repetirão no futuro. As pessoas que dizem que os sistemas mecânicos rentáveis ​​não são possíveis & # 8211; que, a propósito, estão errados (registros de tendências dos seguintes sistemas sobre futuros remontam ao início dos anos setenta) & # 8211; geralmente dizem que não podemos desenvolver uma estratégia mecânica bem-sucedida porque um sistema simplesmente não pode "se adaptar". a mudanças nas condições de mercado e o mercado acabará por tornar as regras não rentáveis ​​em virtude de sua rigidez.
Portanto, torna-se vital entender primeiro o que é necessário para alcançar a lucratividade no futuro e o que fará com que um sistema seja inerentemente obrigado a falhar sob condições de mercado desconhecidas. Para fazer isso, a primeira coisa que precisamos fazer é explorar os sistemas que tiveram sucesso a longo prazo, ver o que eles têm em comum e usar essas características em nossas estratégias de negociação.
Quanto mais dessas características usarmos, mais robustas e capazes de vencer nossos sistemas estarão sob condições futuras de mercado. Infelizmente, não há registros de sistemas cambiais a longo prazo & # 8211; como o mercado como o conhecemos é bastante novo & # 8211; mas sistemas no mercado de futuros & # 8211; especialmente tendência a longo prazo seguindo os sistemas & # 8211; tem registros de trilha extremamente extensos (às vezes até 30 anos). Depois de passar por esses sistemas, você perceberá que eles têm o seguinte em comum:
Uso dos prazos diários: Não encontrei nenhum sistema único que tenha sido negociado há mais de 20 anos e que não utilizasse o período de tempo diário ou um período de tempo acima (muito raramente, gráficos semanais). A razão para isso pode ter sido técnica (posições não poderiam ser colocadas tão rapidamente agora como foram colocadas há 20 anos), mas é provável que a óbvia inerência das tendências nos gráficos diários tenha desencadeado o uso dessas estratégias desde o início. Uso de conceitos simples: Uma característica muito comum compartilhada por todos os sistemas que funcionaram por muito tempo é seu caráter simples inerente. Essas estratégias não foram desenvolvidas usando uma tonelada de indicadores, redes neurais ou programação genética, mas são estratégias simples que usam conceitos simples derivados de uma visão fundamental de como os mercados se desenvolvem. Uso de muitos instrumentos: Talvez um dos aspectos mais relevantes dessas estratégias seja que elas são todas negociadas entre pelo menos uma cesta de 10 a 20 instrumentos diferentes (até mesmo em mercados diferentes). Isso torna as estratégias robustas, uma vez que abordam aspectos muito fundamentais do comportamento da multidão, algo que se desenvolve dentro de quase todos os ativos possíveis, simplesmente porque está sendo negociado por grandes grupos de comerciantes humanos. Adaptações construídas em torno da volatilidade: Outro aspecto importante dessas estratégias é que elas negociam com adaptações baseadas na volatilidade do mercado. No início da década de 1980, os traders perceberam que, quando o mercado muda, apenas sua volatilidade parece variar, enquanto as características mais fundamentais do mercado são alcançadas. como aqueles explorados por esses sistemas & # 8211; permaneceu verdadeiro.
Como você vê, sabemos exatamente o que precisamos fazer para desenvolver uma estratégia comercial tão robusta quanto possível. Desenvolva um sistema nos períodos de tempo diários que utiliza critérios de adaptação à volatilidade, comercialize muitos instrumentos nas mesmas configurações e use conceitos de tendências simples.
Naturalmente, esses sistemas foram desenvolvidos há 20 ou 40 anos e não puderam se beneficiar de muitas das coisas que são agora possíveis no comércio. Uma diferença muito notória entre negociar na época e agora é a redução drástica que temos visto nos custos de negociação, tornando a exploração de ineficiências de estratégias de negociação abaixo do período de tempo diário possível, essa diferença é particularmente perceptível nas divisas onde os custos foram substancialmente reduzidos durante história recente.
Uma das coisas que tentei fazer durante os últimos anos com o meu trabalho é pegar emprestado alguns desses conceitos dos "antigos comerciantes de tempo". e aplicá-los a algumas estratégias que exploram ineficiências que agora podem ser negociadas nos prazos mais baixos graças a comissões de negociação mais baixas. Minha abordagem de desenvolvimento de sistemas usa os conceitos de simplicidade e adaptabilidade, embora meus sistemas, às vezes, explorem ineficiências específicas do comportamento de cada par de moeda diferente, uma abordagem que, acredito, será bem-sucedida no futuro. Até agora, vários sistemas mostraram resultados encorajadores, mas não teremos uma resposta definitiva para os próximos 3-5 anos.
Enquanto isso, também estou desenvolvendo sistemas seguindo o exemplo dos seguidores de tendências mais bem-sucedidos do século passado, sistemas com todas as características mencionadas acima. Atualmente o único sistema em Asirikuy cumprindo todos eles é Ayotl (minha implementação do sistema de comércio de tartaruga), mas em poucos dias Quimichi, um novo sistema de negociação usando o cronograma diário, um conceito simples e as mesmas configurações em pelo menos 6 instrumentos diferentes, também serão adicionados ao nosso arsenal de sistemas de negociação robustos.
Se você gostaria de aprender mais sobre o desenvolvimento automatizado de sistemas de negociação e como você também pode aprender como desenvolver estratégias robustas de negociação, considere juntar-se à Asirikuy, um site repleto de vídeos educacionais, sistemas de negociação, desenvolvimento e uma abordagem sólida, honesta e transparente. negociação em geral. Espero que tenha gostado deste artigo ! : o)

Desenvolvendo sistemas de negociação robustos
Recuando da história da barata e da chita, parece que a robustez é toda sobre a sobrevivência. Para um sistema de negociação automatizado, isso significa que o sistema "sobrevive e prospera" # 8221; depois de decidir colocá-lo "ao vivo & # 8221 ;.
No entanto, existem maneiras diferentes de analisar a robustez em um sistema de negociação mecânico.
Definições diferentes para robustez.
A robustez do sistema de negociação geralmente implica que o sistema exibe desempenho similar quando sujeito a pequenas variações. No entanto, pensando nisso, você percebe que isso pode significar várias coisas:
Robustez a preços futuros (o aspecto de sobrevivência) Robustez a mudanças internas (ou seja, variação nos parâmetros do sistema) Robustez a mudanças externas (ou seja, variação nos dados de preços) Robustez no design do sistema Robustez nos testes do sistema.
Verifique também que o fórum do fórum do Trading Blox para mais discussões sobre robustez (algumas das quais inspiraram diretamente ideias neste post).
Existem 2 suposições que podem ser feitas:
O primeiro: um sistema robusto para mudanças (internas e externas) provavelmente será robusto para os preços futuros: isso ocorre porque os mercados sempre evoluem e mudam. e seu sistema deve ser capaz de lidar com essas mudanças.
A segunda é que a criação de um sistema usando conceitos e procedimentos robustos, tanto em projeto quanto em testes, deve garantir que o sistema mostrará robustez.
Design robusto do sistema.
Isso geralmente começa com uma estratégia de negociação que faz sentido, com poucos parâmetros, não muitos sinos e assobios (nós não queremos a Ferrari que parece ser boa e ir rápido ao redor da pista, mas que não pode ultrapassar lombadas ou parques de estacionamento subterrâneo # 8230 Bem, eu faço realmente ", mas você começa o ponto! ;-)
Outro aspecto a considerar quando se pretende construir um sistema de negociação robusto é ilustrado por esta citação de Bill Eckhardt, que pretende usar ferramentas e componentes robustos em seus sistemas:
Desenvolvemos todos os nossos sistemas exclusivamente internamente, por isso não há qualquer tipo de indicador publicamente reconhecível que eu possa mencionar. Definitivamente usamos sistemas não lineares e indicadores não lineares. Indicadores lineares, como filtros com médias móveis, foram extraídos a seco.
Na estatística, a mediana é uma ferramenta mais robusta do que a média / média (está sujeita a alterações de dados subjacentes, como outliers). Possivelmente, usando mediana em vez de média em uma estratégia de negociação é mais robusto. Uma mudança & # 8220; mediana & # 8221; sistema crossover mostraria mais robustez do que usando um sistema clássico de crossover de média móvel & # 8211; isso é algo que estou planejando testar.
Teste robusto do sistema.
O principal aspecto do teste de sistema robusto é garantir que o back-test seja realista e que não ocorra nenhum ajuste excessivo. Nós não iremos muito em detalhes, pois estes foram bem documentados (eu recomendo o livro de Perry Kaufman que tem um capítulo inteiro sobre Teste de Sistema e robustez).
Pontos importantes são dados de boa qualidade, dados dentro da amostra e fora da amostra, hipóteses realistas (custos, derrapagens, etc.), lógica na estratégia.
Robustez a mudanças internas.
Isso é quando você altera os parâmetros do sistema de negociação. Provavelmente é bastante fácil testar e medir. Suponha que você tenha um sistema Breakout do canal Donchian com duração do canal em 20 dias e com base em ATR pare em 30 dias com um multiplicador de 2.
Um sistema robusto apresentaria um desempenho muito semelhante com parâmetros ligeiramente diferentes: a robustez poderia ser quantificada medindo a diferença geral / desvio padrão no desempenho do sistema ao variar parâmetros (por exemplo, em uma faixa de +/- 10%), por exemplo Sistema de Breakout do Canal Donchian com duração do canal em 22 dias e parada baseada em ATR em 33 dias com um multiplicador de 1,8, etc.
Robustez a mudanças externas.
Aqui, isto é principalmente os parâmetros & # 8220; & # 8221; dos dados de preço que podem ser alterados para testar a robustez. Existem algumas coisas que podem ser alteradas, como o conjunto de instrumentos negociados (pequenas permutações não devem afetar drasticamente o desempenho), período de testes (o sistema funciona de maneira similar em todos os períodos de tempo) ou até pequenas alterações aleatórias nos preços reais.
Robustez a preços futuros.
Infelizmente os dados de preços futuros são muito difíceis de encontrar (CSI são muito bons, mas fornecem apenas dados históricos! Sinta-se à vontade para me enviar um email se você tiver encontrado um bom provedor ;-), então obviamente você não pode testar seu sistema colocando-o ao vivo.
Indiscutivelmente, o objetivo de focar na robustez com os quatro pontos anteriores é garantir que o sistema funcione igualmente bem em preços futuros. No entanto, esses quatro aspectos de robustez em um sistema comercial só podem funcionar como uma proxy para a robustez futura dos preços.
Embora nós, como desenvolvedores de sistemas de negociação, gostemos de ganhar algum tipo de & # 8220; reconfortante & # 8221; Certamente, temos que ter em mente que o futuro será imprevisível, os mercados vão mudar e, portanto, projetar um sistema para negociar preços futuros sempre conterá algum grau de incerteza. Cabe a nós decidir (e prever) quais parâmetros e proxies são importantes para garantir a robustez no futuro.
Isso pode soar como um paradoxo, mas projetar um sistema de negociação automatizado envolve mais discrição e previsão do que se poderia pensar.
8 Comentários até agora & darr;
Belo artigo sobre robustez, um termo que tem sido usado tanto e tão livremente que começou a perder seu significado.
Além disso, essa foi uma citação interessante sobre como um comerciante abandonou as médias móveis e desenvolve seus indicadores internamente. Sua ideia sobre média vs média é interessante. Outra variável que pode ser tweeked (e deve suportar algum estresse) é a definição de preço. Nós normalmente usamos o fechamento como a definição de preço. Compre por que não o alto ou o baixo, dependendo de como o mercado está tendendo? Ou que tal o conceito de preço médio (HLC / 3)?
É uma ideia interessante quebrar a robustez em componentes. Não tenho certeza se penso nisso da mesma maneira.
Veja como pensamos sobre isso. Robustez é a capacidade do sistema de funcionar bem em condições variáveis.
Como as condições futuras nunca são exatamente as mesmas que as do passado, um sistema mais robusto ganhará dinheiro em negociações reais do que um sistema menos robusto.
Portanto, a robustez é uma medida da probabilidade de que o sistema funcione de maneira semelhante na negociação real em comparação com o desenvolvimento.
Sua análise traz uma questão interessante. Se pudermos tornar nosso sistema robusto para mudanças externas, como mediremos essas mudanças?
@milk & # 8211; boa ideia sobre essas variações de preço. Enquanto você é inventivo (como você fez com o seu excelente café da manhã spread ;-), você pode sair das faixas batidas & # 8221; e encontrar algo interessante.
@George, I think I was trying to expres a similar concept: if the system you develop is robust to changes (such as parameter changes or price, instruments changes) it might be robust on future prices (as these will always change)… But this contains an assumption that changes in the future will be similar (in terms of impact on your system) to the changes you test on your system during development.
In terms of measuring some robustness, I would think you can design an objective function to evaluate your trading systems and measure the standard deviation of this objective function when subjecting your system to changes.
I agree with your concluding statement that systems testing and design is far from an exact science.
Though we cannot test on “future” data, I think out-of-sample testing is as good a tool as possible.
In addition to Kaufman’s excellent book, I would also recommend Robert Pardo’s Design, Testing, and Optimisation of Trading Systems.
Turns out Robert Pardo is also a top trader.
Yes, that makes sense. I would like to design an experiment or measure the”assumption that changes in the future will be similar”.
Hi, I once researched a system for forex. It can make money in each of 7 major currency pairs from 2000 to 2010 with very small maximum drawdown. Even after changing the parameters somewhat, it is still very profitable. The problem is it doesn’t perform well from 1990 to 2000’s currency market, and it is just breakeven during that time. I guess the reason is the introduction of Euro and the market price pattern changed somewhat after 2000, so this system works well only at 2000-2010. Do you think this kind of systems which can only perform well on recent 10-year period is robust enough and should I confidently use it?
Well – the problem with this kind of approach is that you are anticipating that the markets will be similar in the future to the 2000-2010 period. I think I prefer an approach that can be “robust” to whatever conditions the market might throw at you, which includes a return to the 1990-2000 conditions. Usually that would mean lower performance on 2000-2010 period though…
Now, even in system development there is some discretion involved and if you believe that conditions will stay as they are, you might want to stay with a system that works well only on the recent market conditions. You could also potentially keep developing and monitoring your system to try and adapt it to changing conditions.
I think your suggestion is very reasonable. This system is a pull-back system. It follows the long-term trend, and wait the market has a pullback, then enter the market when the price exceed previous level. From my observation of 2000-2010 currency market, for each significant resistance level, there will be many limit/stop orders around it. The result is if the price successfully surpass a significant resistance, it has a higher chance to continue higher. But it seems this is not the case in 1990-2000. In that period, many times the price just exceed an important resistance by a small amount and then quickly revert back. So this system didn’t performance well at that time.
I am not sure whether future price patterns will be like in 2000-2010, so I may prefer a system which can perform well in both time periods even with lower performance on 2000-2010. Your suggestion to keep developing and monitoring the system to try and adapt to changing conditions is very helpful! Obrigado!
Deixe um comentário (Cancelar)
Atualizações gratuitas.
Posts populares.
Procure no blog Au. Tra. Sy.
Corretor Global de Futuros.
Blog Au. Tra. Sy, pesquisa e desenvolvimento de Trading Sistemático, com um sabor de Trend Following.
Disclaimer: O desempenho passado não é necessariamente indicativo de resultados futuros. A negociação de futuros é complexa e apresenta o risco de perdas substanciais; como tal, pode não ser adequado para todos os investidores. O conteúdo deste site é fornecido apenas como informação geral e não deve ser considerado como recomendação de investimento. Todo o conteúdo do site, não deve ser interpretado como uma recomendação para comprar ou vender qualquer título ou instrumento financeiro, ou para participar de qualquer estratégia de negociação ou investimento em particular. As idéias expressas neste site são unicamente as opiniões do autor. O autor pode ou não ter uma posição em qualquer instrumento financeiro ou estratégia citada acima. Qualquer ação que você tome como resultado de informações ou análises neste site é, em última instância, de sua exclusiva responsabilidade.
OS RESULTADOS DE DESEMPENHO HIPOTÉTICOS TÊM MUITAS LIMITAÇÕES INERENTES, ALGUNS DOS QUAIS SÃO DESCRITOS ABAIXO. NENHUMA REPRESENTAÇÃO ESTÁ SENDO FEITA QUE QUALQUER CONTA PODERÁ OU POSSIBILITAR LUCROS OU PERDAS SEMELHANTES AOS MOSTRADOS; DE FATO, HÁ DIFERENÇAS FREQUENTEMENTE DIFERENCIADAS ENTRE OS RESULTADOS DE DESEMPENHO HIPOTÉTICOS E OS RESULTADOS REALIZADOS SUBSEQÜENTEMENTE ATINGIDOS POR QUALQUER PROGRAMA DE NEGOCIAÇÃO PARTICULAR. UMA DAS LIMITAÇÕES DOS RESULTADOS DE DESEMPENHO HIPOTÉTICOS É QUE ELES SÃO GERALMENTE PREPARADOS COM O BENEFÍCIO DE HINDSIGHT. ALÉM DISSO, A NEGOCIAÇÃO HIPOTÉTICA NÃO ENVOLVE O RISCO FINANCEIRO, E NENHUM REGISTRO DE NEGOCIAÇÃO HIPOTÉTICA PODE COMPLETAMENTE CONTA PARA O IMPACTO DO RISCO FINANCEIRO DE NEGOCIAÇÃO REAL. POR EXEMPLO, A CAPACIDADE PARA SUPORTAR PERDAS OU ADERIR A UM PROGRAMA DE NEGOCIAÇÃO EM PARTICULAR DENTRO DA NEGOCIAÇÃO DE PERDAS SÃO PONTOS MATERIAIS QUE TAMBÉM PODEM AFETAR DE ACORDO, DE FORMA ALTA, OS RESULTADOS DA NEGOCIAÇÃO. EXISTEM NUMEROSOS OUTROS FATORES RELACIONADOS COM OS MERCADOS EM GERAL OU PARA A IMPLEMENTAÇÃO DE QUALQUER PROGRAMA DE NEGOCIAÇÃO ESPECÍFICO QUE NÃO PODE SER TOTALMENTE CONSIDERADO PARA A ELABORAÇÃO DE RESULTADOS DE DESEMPENHO HIPOTÉTICOS E TODOS OS QUE PODEM AFETAR COM ANTECEDÊNCIA OS RESULTADOS DA NEGOCIAÇÃO.
ESTAS TABELAS DE DESEMPENHO E RESULTADOS SÃO HIPOTÉTICOS NA NATUREZA E NÃO REPRESENTAM A NEGOCIAÇÃO EM CONTAS REAIS.

8 Rules To Avoid Over-Optimization.
Those of us who employ mechanical rule based trading systems, as well as those who “trade around” their rule-based systems, are both looking for one very important quality — a strategy that performs as well, or nearly as well, in live trading as the historical back test results indicate.
#1 Cut The Number Of “And” Statements.
Use only one or two “and” statements per entry or exit rule. For example, if precondition 1 exists and Momentum > signal threshold then buy.
#2 Use A Single Entry Principle.
We might have several entry rules but they all use the same entry principle. For example rule #1 might be if precondition 1 exists and momentum > signal threshold then buy. Rule #2 might be if Bollinger Band® Difference < 5 points and momentum > signal threshold then buy. Both rules use precisely the same “momentum > signal threshold”, but each supplies different circumstances by which it may be followed.
#3 Apply Robust Input Parameters.
Any and every input parameter used in a trading strategy is an optimizable parameter. We’re looking for a wide range of input parameters that are satisfactory. We also look for a gradual falling away on each side of the optimum value. Strategies that display this characteristic are referred to as “robust.”
#4 Rules Are Portable Between Markets.
Portability means that the same principles can be generally successfully applied to at least some non related markets. The portability of entry/exit rules between markets reinforces that the rules at work are not curve fit to a particular data set. Absolute identical portability is not necessary, as it is also a characteristic of markets that they have their own personalities.
#5 Exit Rules Follow The Same Design Requirements As Entry Rules.
All evaluations applicable to entries are equally applicable to exits. Initial tests for any rule based entry should begin with very simple exits such as dollar stop loss, and dollar profit objectives, or volatility stops and objectives. If any particular approach does not show promise with simple exits, then move on. Torturing the data with a lot of different exits to get it to “work” is likely going to lead to over-optimizing and hence disappointment in live trading.
#6 Review Long and Short Trade Results Separately.
Always look at a “Long Only” trades and “Short Only” trades in the evaluation of a trading system. This is how one can see how the system performs within different types of market trends.
#7 Do Not Optimize Entries And Exits Separately.
While it is sometimes true that markets sometimes behave differently on the way up than they do on the way down, and one could definitely optimize to get better historical results on this basis, this approach is step closer to over-optimization. Since the goal is near zero trading strategy degradation post development, always use mirror image signals for either side of the market. As alluded to above, be cautious of “long only” or “short only” trading systems, where the appearance of success may be largely dependent on a very long term secular trend, more than the system itself.
#8 Review the Length of Track Record Several Ways.
One very overlooked metric --- perhaps the single most overlooked metric in system evaluation — is how often a trading system has a position in the market long or short.
Over-Optimization is the downfall of rule-based trading strategies and it is not easy to avoid. By following the above guide posts though, one can eliminate much potential disappointment. No doubt these guide posts make it more difficult to develop a decent looking historical test and that is precisely what they are intended to do. If one can follow these guide posts then any trading system will have a much better chance of survival when taking the strategy to live trading.

Intermarket Divergence – A Robust Method for Signal Generation.
Many markets are interrelated. These interrelationships can offer predictive capabilities for many markets. The study of these interrelationships is called intermarket analysis. In this article I will briefly explain a robust method for generating robust signals for a wide range of markets. I will also offer a free TradeStation tool to help you explore intermarket relationships.
Standard correlations between markets are not useful if our goal is to either predict future prices or generate profitable signals because current correlation does not tell us anything about future prices. A methodology we originally developed in the mid 1990s called intermarket divergence allows us to gauge the predictive power of an intermarket relationship and produce 100% objective signals. During the past 17 years we have used this methodology to develop trading systems which have produced robust and reliable trading signals even 17 years after the models were originally developed without any re-optimization. Other methodologies of processing intermarket relationships to develop trading signals might perform as well during in-sample periods, but do not perform as well during walk forward periods and during real trading.
A widely known intermarket relationship is the one between the S&P 500 and the 30 year Treasury bond. Bond prices generally are positively correlated with the S&P 500 (while yields are negatively correlated), although this is not always true, bonds should generally lead stocks at turning points. Another important fact is that one of the best trades you can make in the S&P 500 is when 30 year Treasury bond diverge from the S&P 500; for example, when (a) bonds are rising and the S&P 500 is falling, buy the S&P 500 and (b) bonds are falling and the S&P 500 is rising, sell S&P 500. Although this relationship has broken down over the past few years, its long term existence is of historical importance to the science of intermarket analysis.
Simple But Powerful Method of Market Predictions.
We will use classic mechanical methods for trading intermarket relationships, applying them to 30 year Treasury bond using a concept called “intermarket divergence,” (first coined in 1998) which is when a traded market moves in an opposite direction to what is expected. For example, if we trade the S&P 500, 30 year Treasury bond rising and the S&P 500 falling would be divergence since these are positively correlated. If we were trading the 30 year Treasury bond, both bonds and gold rising would classify as divergence since they are negatively correlated. We will define an uptrend as when prices are above a moving average and a downtrend as when they are below the moving average. Now we can predict with some reliability the future direction of bonds, stocks, gold, crude and even currencies using this simple intermarket divergence model. Pseudo code for this basic model is as follows:
Price relative to a simple moving average.
This simple concept represented above has proven to be a robust methodology for predicting future price action using intermarket analysis. In 1998, I published a simple intermarket based system for trading 30 year Treasury bond futures. This model used ‘The NYSE Utility Average (NNA)’, which was a basket of Utility stocks. The NNA was discontinued in 2004. Another utility index which also worked fairly well was the Philadelphia Electrical Utility index which was used as a replacement for NNA in our research. Back in 1998, when I did the original research and article, both indexes worked similarly, but NNA had a longer price history than UTY did. The original analysis using NNA was done as follows. We used a positive correlated intermarket divergence model and a moving average of eight days for 30 year Treasury bond and 18 days for NNA. We tested over the period Jan 1, 1988 to Dec 31, 1997. We did not deduct anything for slippage and commission. My original published results were as follows:
Net profit: $111,293.00.
Average trade: $883.38.
Profit factor: 2.83.
Now let us see how UTY worked during this same period using the original set of parameters used with NNA. This set of parameters was suboptimal for UTY but we are using the NNA set of parameters for consistency to show the robustness of our model.
Total Net Profit: $83,557.98.
Total # of trades: 141.
Percent Profitable: 58.87%
Média Trade (win & loss): $592.61.
Max intraday drawdown: ($11,722.50)
Profit Factor: 2.03.
Out-of-Sample Results.
Let us study just the out-of-sample period with a first trade after 01/01/1998 to 10/25/2011.
Total Net Profit: $129,166.32.
Total # of trades: 257.
Percent Profitable: 61.87%
Média Trade (win & loss): $502.59.
Max intraday drawdown: ($26,133.36)
Profit Factor: 1.67.
We can see these out-of-sample results are very similar to the results over the whole period and the average trade differs by less than 20% between the in-sample and out-of-sample period. Let us look at the year by year out-of-sample results (see Table I).
We have seen that intermarket divergence is a powerful concept. When an intermarket divergence occurs we stay in that position until an opposite divergence occurs. One question is, “Why does this divergence concept work?” Also, what is interesting is that my research shows that the zero crossing is significant, we cannot improve the results of intermarket divergence by using a non-zero threshold. It is my belief that this concept works as an arbitrage play. Since we do not know the relative equilibrium between the traded market and underlying market, for example in the case of Treasury bonds and UTY, divergence is the only confirmed mispricing; we have in terms of a reliable arbitrage play. We know that this cannot be the most efficient signal. We can see by studying our Treasury bond trades that some trades are early; for others we give back large percentage of open profits and sometime large winning trades can become losers, even though intermarket divergence still produces outstanding results.
Here, we have a very profitable trade but we gave back almost all of the profit and then the market moved back in the direction of the trade. This shows a problem with intermarket divergence namely “Reversal Strategy” which is always in the market. There are other cases including (a) a winning trade ending up as a losing one and (b) trades which never become profitable. Despite these issues our results are amazing. One solution to this problem is to build a finite state machine which covers all possible states of the intermarket relationship during the process of going from ‘long to short’ or ‘short to long’. My research has shown that this state map of all possibilities is the key in greatly improving the performance of these simple divergence models. We can also create a state map which will allow us to combine multiple intermarkets against a market we are trading. Correlation and forward correlations analysis between markets can also be used to filter and improve these models. Sometimes correlation analysis can make the long term out-of-sample performance less robust if it is not integrated carefully. Hence, it is important to do the surface analysis discussed earlier to make sure that the correlation relationships we are looking at are robust and stationary.
Conclusão.
Intermarket divergence is not something which just works on the bond market. It works on a broad range of markets from bonds, to stock groups, to currencies; even markets like gold, crude, live cattle and copper.
Intermarket analysis is an exciting area of market production. New methodologies of representing these relationships will help not only classic trading system development but also using advance technologies as for example using a finite state model can allow machine learning methods to easily see patterns which can be used to build more reliable models.
Build robust and profitable systems that predict market turning points with this tool.

Комментариев нет:

Отправить комментарий