Thursday, 26 April 2018

Sistema de comércio fora da amostra


Um dia na vida de um comerciante do sistema.


Os comerciantes participam nos mercados financeiros através da freqüente compra e venda de ações, futuros, divisas e outros títulos e são muitas vezes categorizados em dois grandes grupos: discricionários e de sistema. Os comerciantes discricionários são comerciantes baseados em decisões que examinam os mercados e colocam ordens manuais em resposta a informações disponíveis naquele momento. Os comerciantes de sistemas, ao contrário, são comerciantes baseados em regras que usam algum nível de automação para empregar um conjunto objetivo de regras, permitindo que um computador procure oportunidades de negociação e controle a atividade de entrada de pedidos. Aqui, explicamos o comércio de sistemas e descrevemos um dia típico na vida de um comerciante do sistema.


Os comerciantes do sistema usam estratégias de negociação de caixa preta proprietárias ou projetam e testam seus próprios sistemas que são projetados para executar negócios automaticamente. Os sistemas de caixa preta utilizam a lógica pré-programada para gerar e agir com os sinais de compra e venda. Os usuários não podem visualizar o código do sistema, mas têm acesso a relatórios históricos de desempenho e podem ajustar certas entradas para ajustar o produto. Os comerciantes de alta freqüência (HFT), que hoje representam cerca de metade das ações negociadas nos EUA, são comerciantes do sistema que empregam sofisticados sistemas de negociação automatizados para explorar as ineficiências do mercado e colocar centenas de negociações em cada sessão.


Emoções minimizadas - Uma vez que o computador lida com a atividade de negociação, o comerciante não pode superar ou adivinhar os sinais comerciais. Consistência - Um grande desafio que os comerciantes enfrentam é "planejar o comércio e negociar o plano". Um sistema de comércio pode ser muito lucrativo, mas se o comerciante não consegue manter o plano, ele pode rapidamente se tornar um sistema de perda. Os sistemas de negociação automatizados permitem que os comerciantes consigam uma maior consistência ao atuar em todos os sinais comerciais. Velocidade e precisão aprimoradas - Os computadores são mais rápidos e precisos do que os humanos e podem responder imediatamente às mudanças nas condições do mercado. Para os comerciantes, e especialmente para os comerciantes de muito curto prazo, um segundo pode significar a diferença entre uma vitória e uma perda. Os computadores também eliminam o risco de que uma ordem seja inserida no mercado erroneamente ou incorretamente. Diversidade - Os sistemas de negociação automatizados permitem ao usuário trocar várias contas, estratégias e instrumentos ao mesmo tempo, proporcionando diversidade que pode ajudar a espalhar o risco. O que seria impossível para um humano realizar é facilmente manipulado por um computador em questão de milissegundos.


Antes da sessão de negociação.


Antes do início da sessão de negociação, os comerciantes do sistema estão ocupados ao verificar os componentes técnicos dos seus sistemas de negociação (nota: para os mercados de ações dos EUA, a sessão começa às 9h30 da manhã, outros mercados comercializam 24 horas e a "sessão de negociação" "poderia ser qualquer momento dependendo do mercado escolhido). Os comerciantes do sistema dependem de computadores e softwares para escanear os mercados e fazer pedidos, por isso é vital que cada tecnologia - seja hardware ou software - esteja funcionando perfeitamente. Como resultado, antes de cada sistema de sessão, os comerciantes verificarão:


Computadores e periféricos (monitor, teclado, mouse) Plataformas de negociação e interfaces de entrada de pedidos Código do sistema comercial - o programa de computador que monitora e comercializa transações Conectividade - energia, telefone, internet, corretor, troca.


Se tudo der certo, os comerciantes do sistema continuam a preparar a sessão de negociação, preparando suas plataformas de negociação:


Abrindo a plataforma e a interface de entrada de pedidos Carregando espaços de trabalho e gráficos, com o símbolo e o prazo corretos Aplicando quaisquer indicadores técnicos ou outras ferramentas de negociação nos gráficos Habilitando a estratégia automatizada que monitorará os mercados e executará os negócios.


Durante a sessão de negociação.


Com todos os sistemas, o comerciante agora monitora os mercados, observa as notícias e espera que seu computador comece a negociar. Enquanto o comerciante envia um "hello" rápido para membros de uma sala de bate-papo de comerciante, a plataforma de negociação envia um alerta de áudio indicando "ORDER FILLED!" para indicar que uma transação foi registrada. À medida que a atenção do comerciante se move para este comércio, um segundo "ORDER FILLED!" alerta permite ao comerciante saber que outra posição em um símbolo diferente foi inserida. O comerciante fica em linha reta e examina a relação lucro / perda (P / L) que aparece na janela de gerenciamento de pedidos. Game on.


No final da sessão de negociação, o comerciante do sistema analisa as negociações do dia, certificando-se de que todas as posições foram executadas de acordo com a lógica do sistema. O comerciante olha para o P / L do dia, e sabe que uma vitória ou perda líquida hoje não é importante, então ele ou ela não celebra um ganho nem chora por uma perda. O comerciante do sistema sabe que é o que acontece ao longo do tempo que importa.


Depois de tomar uma longa pausa para fazer algum exercício (corpo saudável, mente saudável!), O comerciante retorna ao escritório para pesquisar uma nova idéia comercial, escrevendo o código e testando a idéia sobre os dados históricos. Mostrar promessa, o comerciante executa otimizações para melhorar os resultados, tomando cuidado para não otimizar demais ou ajustar o sistema de forma curva. Se a idéia continuar a ser prometida, o comerciante continuará o processo de teste: backtesting em dados de amostra e fora de amostra, e testes de desempenho para frente (muitas vezes chamado de troca de papel). Desta forma, o comerciante pode descobrir se o sistema funciona apenas em uma quantidade limitada de dados (os dados do preço histórico em que foi testado), ou se ele for rentável em um mercado ao vivo.


A negociação do sistema é uma metodologia de negociação baseada em regras em que os comerciantes contam com computadores para monitorar os mercados para oportunidades comerciais e executar ordens comerciais. Esta automação de estratégia possui muitos benefícios, incluindo a capacidade de minimizar ou remover emoções, melhorar a velocidade de entrada e precisão da ordem e a opção de espalhar o risco em vários instrumentos.


Todos os dias, os comerciantes de sistemas podem dividir seu tempo entre o comércio real - monitorando o sistema nos mercados e desenvolvimento de sistemas - desenvolvimento, backtesting, otimização e testes para a frente para criar sistemas de negociação viáveis ​​e de alta probabilidade.


Forex Mecânico.


Negociação no mercado FX usando estratégias mecânicas de negociação.


Fora da amostra da lucratividade e da complexidade do sistema de negociação.


Na semana passada, escrevi uma publicação sobre o quão difícil pode ser para prever a lucratividade da amostra e por que métodos complicados, como a análise progressiva, realmente fazem pouco para melhorar o desempenho em condições de mercado invisíveis. No entanto, outra maneira de tentar prever a rentabilidade da amostra é evitar a análise de estatísticas na amostra e, em vez disso, focar as características gerais do sistema, por exemplo, variáveis ​​relacionadas à complexidade do sistema. Na publicação de hoje, iremos dar uma olhada no repositório do sistema de negociação de ação de preços da Asirikuy (contendo mais de 4500 sistemas de negociação no momento) para verificar se existe alguma relação entre a complexidade das estratégias de negociação criadas e suas fora da lucratividade da amostra. Isso nos dará informações interessantes sobre se ter estratégias mais simples ou mais complicadas podem afetar o desempenho da amostra de forma previsível.


A abordagem geral para as previsões de desempenho comercial ao vivo é tentar relacionar propriedades estatísticas na amostra com sucesso fora da amostra. Por exemplo, você pode querer dar uma olhada em saber se os sistemas com Sharpes mais elevados tendem a melhorar em condições de comércio ao vivo. Você pode usar qualquer estatística na amostra que você deseja tentar realizar esse tipo de análise. No entanto, podemos usar variáveis ​​baseadas em desempenho e # 8211; tais como características do sistema & # 8211; para tentar encontrar essas mesmas relações. Por exemplo, gostaríamos de ver se os sistemas que comercializam em uma hora determinada são mais bem sucedidos na amostra que os sistemas que operam em uma hora diferente. Podemos também pegar um loot em coisas como os tipos de variáveis ​​usadas para entrar em negociações ou a parada final usada para gerenciá-los.


Talvez uma das variáveis ​​mais interessantes que possamos pensar seja a complexidade do sistema. Geralmente, as pessoas esperam sistemas mais simples para fazer sistemas melhores e mais complicados para piorar, em parte porque sistemas mais complicados são mais propensos ao viés de mineração de dados e, portanto, mais provável que sejam o resultado de chances simples e, portanto, falhar se não houver precauções contra a mineração o viés é tomado. No entanto, como nosso processo de criação de repositório controla adequadamente o viés de mineração de dados, independentemente da complexidade do sistema, podemos fazer algumas comparações interessantes para ver se há alguma relação entre a complexidade das estratégias criadas e o desempenho fora da amostra sem se preocupar com dados, viés de mineração. No caso de nossa complexidade de sistemas de negociação baseados em ações de preços, também é realmente direto para determinar, uma vez que os sistemas usam regras de ação de preço 2, 3 ou 4 para entrar em negociações. O número da regra é um ótimo proxy para a complexidade do sistema.


Para a análise acima, usei sistemas com pelo menos 5 meses de desempenho real da amostra, o que significa que eu usei apenas sistemas que foram criados até dezembro de 2015. Neste momento, possuímos 1890 sistemas dentro do repositório de negociação, com a grande maioria dos sistemas criados entre julho e dezembro de 2015. Isso significa que a maioria dos sistemas de B tem quantidades similares de desempenho fora da amostra. É claro que estratégias mais complicadas são esperadas para negociar estratégias menos complexas e # 8211; porque mais regras implicam maior filtragem & # 8211; então devemos ter isso em consideração ao analisar os dados em mãos.


Uma vez que a coisa mais interessante que podemos observar é se existe uma relação entre a perda e a obtenção de um lucro na amostra, a primeira coisa que eu olhei foi a afinidade da distribuição do lucro do sistema operacional para sistemas com diferentes níveis de complexidade (o primeiro A imagem nesta publicação mostra esta comparação). Parece bastante claro que estratégias mais complicadas têm uma afinidade muito mais positiva do que as estratégias menos complicadas. Parece haver uma maior tendência para que estratégias atinjam um desempenho positivo. No entanto, a curtose também é muito menor, uma vez que a distribuição é muito mais estreita, algo que podemos explicar facilmente, considerando o menor número de negócios para estratégias de maior complexidade. Isso pode ser facilmente visto na segunda imagem, mostrando a distribuição do lucro de SO para os três grupos de complexidade (azul = 2 regras, verde = 3 regras, vermelho = 4 regras).


Claro que é difícil saber se a distribuição da regra 4 irá mutar na distribuição das regras 2, já que muitos outros negócios são acumulados, isso também pode ser o caso e é uma razão pela qual devemos interpretar esses resultados com muito cuidado. No momento, parece que a complexidade da regra é diretamente proporcional a um desempenho positivo fora da amostra, mas pode ser apenas melhor que os resultados das amostras sejam esperados em números comerciais mais baixos (o que significa que os sistemas deterioram-se à medida que comercializam, o que também é algo que esperamos ). Também vale a pena mencionar que podemos obter resultados rentáveis ​​líquidos, mesmo em distribuições ligeiramente positivamente desviadas, já que nunca levamos as perdas completas de sistemas que possuem um sistema operacional negativo (uma vez que são descartados pelo pior caso, critérios estatísticos baseados em linearidade e simulações de Monte Carlo ).


Podemos também olhar para o OS Sharpe para ver se esse relacionamento é válido para um critério normalizado que é independente do número de negócios. Os resultados & # 8211; último gráfico neste artigo & # 8211; também suporta a ideia de que os sistemas mais complexos tendem a ter melhores relações do OS Sharpe, significativamente melhores do que as dos sistemas de regras 2 e 3. No entanto, isso ainda não elimina a influência do número absoluto de negociações que foram tomadas, novamente o resultado poderia significar apenas que os sistemas esperam ter melhores distribuições do OS Sharpe quando estão tomando suas primeiras negociações X, em vez de simplesmente terem N regras. Pode ser uma história sobre a complexidade ou pode ser uma história relacionada à idade, que é simplesmente relacionada por proxy com a complexidade do sistema, um mistério em que nos encontremos dentro de uma publicação futura.


Forex Mecânico.


Negociação no mercado FX usando estratégias mecânicas de negociação.


Previsão do sucesso do sistema de negociação com propriedades de caos das séries temporais financeiras.


Durante o ano passado, fiquei focado em prever os retornos do sistema de negociação fora da amostra. Isso ocorre porque ao criar sistemas de negociação com desempenho historicamente bom é trivial e # 8211; apenas um problema bruto-forçante no seu núcleo # 8211; A criação de sistemas que podem ser bem sucedidos em condições de mercado novas e desconhecidas é um problema muito mais difícil. Uma vez que o núcleo da negociação rentável é, de fato, a previsão do futuro. não passado de qualquer maneira & # 8211; Retorna é, portanto, fundamental para gerar mecanismos que nos ajudem a prever se os sistemas funcionam ou não vão para a frente, independentemente da performance de back-testing. Na publicação de hoje, quero compartilhar com você alguns dos meus últimos trabalhos tentando fazer isso usando nosso repositório baseado em preço-ação em Asirikuy e variáveis ​​relacionadas ao caos.


As propriedades do caos são intrigantes. Estas são todas as propriedades de uma série de tempo que pode ser usada como proxies para determinar a forma como uma série de tempo financeira se comporta em comparação com uma caminhada aleatória. As propriedades como a dimensão fractal, o expoente de Hurst e a entropia de amostra de uma série serão muito diferentes se a série se comportar de uma maneira que seja um tanto previsível e # 8211; algum tipo de relação do futuro com o passado # 8211; ou completamente aleatório. No passado, explorei essas variáveis ​​de caos em pares de Forex em diferentes postagens de blog (veja aqui para um exemplo).


Se essas propriedades do caos estão relacionadas com a previsão de uma série de tempo, então não é louco imaginar que possa haver alguma relação entre o desempenho futuro de um sistema comercial e como as propriedades do caos de uma série se comportaram no passado recente. Pode ser que um sistema específico requer uma série que tenha uma baixa dimensão fractal antes de seus períodos rentáveis, enquanto outra exige que o expoente de Hurst seja grande. É claro que é muito difícil saber como essas relações podem parecer de antemão, mas podemos conjecturar que tais relações existem, são significativas e podem ser exploradas para exitosas previsões da OOS.


Graças à biblioteca de nolds python, consegui criar sistemas de aprendizado de máquinas para a previsão de 4800 estratégias comerciais diferentes. Para cada sistema de negociação, criei um único algoritmo de floresta aleatória que usava o DFA (um análogo do expoente de Hurst para séries não estacionárias) e o valor da cotaçãão dos dados EURUSD, USDJPY e GBPUSD 1H nos últimos 30 dias, a fim de prever se uma estratégia seria lucrativa ou não lucrativa na semana seguinte. Observe que eu usei um horizonte muito pequeno para a frente, pois os sistemas têm no máximo 3 anos de dados fora da amostra e a quantidade de exemplos é, portanto, na maioria dos casos muito limitada (apenas 150-170 para os sistemas mais antigos).


A primeira imagem nesta publicação mostra a importância variável para as variáveis ​​geradas na floresta aleatória para um sistema. Para a maioria dos sistemas & # 8211; como você esperaria & # 8211; as variáveis ​​mais importantes são as relacionadas com o seu próprio símbolo de negociação. Isto significa que um sistema EURUSD geralmente terá as variáveis ​​EURUSD como as mais importantes. Nos casos em que isso não foi possível e # 8211; diga um sistema GBPJPY & # 8211; as variáveis ​​mais importantes sempre continham pelo menos uma das moedas envolvidas na estratégia do par. Eu mantive os últimos 20% dos dados como um conjunto de treinamento para cada sistema para ver o quão bom eles fariam e descobri que 39% das estratégias viram aumentos de desempenho em comparação com não fazer previsões, enquanto 37% viram um declínio. Os 24% restantes simplesmente não fizeram previsões positivas durante a fase de teste, portanto nenhuma comparação poderia ser feita.


Estratégias de negociação algorítmica, Walk Forward Optimization & amp; Teste de Out-of-Sample para TradeStation, MultiCharts & amp; NeuroShell.


O KeyTrSys v5t é thread-safe e pode ser executado em multi-core, multi-thread plataformas.


Disponível para TradeStation, MultiCharts e NeuroShell Pro.


O Power Walk-Forward Optimizer v5t.


O Power Walk-Forward Optimizer (PWFO)


Vídeos sobre como usar o Power Walk Forward Optimizer.


O Power Walk Forward Optimizer v5t é thread-safe e pode ser executado em plataformas multi-core e multi-thread.


Disponível para TradeStation, MultiCharts 32bit e 64bit.


Novo O Forward Forward / Out-Of-Sample Metric Explorer x64 v8.


Vídeos sobre como usar o Walk Forward Metric Explorer.


O Walk Forward / Out-of-Sample Input Explorer v6.


O Walk Forward / Out-of-Sample Metric Surface Explorer v6.


O n º Dispositivo de Adaptação do Adaptador Polivalente de Velocidade de Fading.


n º Preço da ordem, Velocity & amp; Estratégias de aceleração para Stock & amp; Futures Trading.


O n º Polinomio de Memória de Fading da Ordem.


O FadmXVAn v3t é thread-safe e pode ser executado em plataformas multi-core, multi-thread disponíveis para TradeStation, MultiCharts e NeuroShell Pro.


O n º Ordem Fixed Memory Adaptive Polynomial v3t.


n º Preço da ordem, Velocity & amp; Estratégias de aceleração para Stock & amp; Futures Trading.


n. º, ordem, corrigido, memória, adaptável, polinômio.


O FixmXVA v3t é thread-safe e pode ser executado em multi-core, multi-thread plataformas.


Disponível para TradeStation, MultiCharts e NeuroShell Pro.


A Estratégia de Detecção de Freqüência do Algoritmo Goertzel v2t.


Para Stock & amp; Futures Trading.


Algoritmo de Goertzel para Detecção de Ciclo de Freqüência (GZ)


A Estratégia Goertzel é segura para thread e pode ser executada em plataformas multi-core e multi-thread.


Disponível para TradeStation, MultiCharts e NeuroShell Pro.


O Sistema de Transformação de Fourier Rápido do Ponto Final v3t.


O Sistema de Transformação de Fourier Rápido do Ponto Final (EPFFT)


O EPFFT v3t é thread-safe e pode ser executado em plataformas multi-core, multi-thread.


Disponível para TradeStation, MultiCharts.


O Sistema de Filtro de Ruído Parabólico de Cinco Parâmetros v2t.


Para Stock & amp; Futures Trading.


O Parabolic v2t é seguro por thread e pode ser executado em plataformas multi-core, multi-thread.

No comments:

Post a Comment