Monday 9 April 2018

Algoritmo genético uma aplicação ao design do sistema de negociação técnica


Algoritmo Genético: Uma Aplicação ao Design do Sistema de Negociação Técnica.


V Kapoor, S Dey e A P Khurana. Artigo: Algoritmo Genético: Uma Aplicação ao Design do Sistema Técnico de Negociação. Revista Internacional de Aplicações de Computador 36 (5): 44-50, dezembro de 2011. Texto completo disponível. BibTeX.


Estudos recentes mostraram que, no contexto dos mercados financeiros, a análise técnica é uma ferramenta muito útil para prever tendências. Geralmente, as regras de Média Móvel são usadas para tomar decisões de "compra" ou "venda" diariamente. Devido à sua capacidade de cobrir grandes espaços de pesquisa com esforço computacional relativamente baixo, os Algoritmos Genéticos (GA) podem ser eficazes na otimização de sistemas de negociação técnica. Este artigo estuda o problema: como o AG pode ser usado para melhorar o desempenho de uma determinada regra comercial, otimizando seus parâmetros, e como as mudanças no projeto do AG podem afetar a qualidade da solução obtida no contexto do sistema de negociação técnica. Em nosso estudo, nos concentramos em explorar o poder dos algoritmos genéticos para ajustar os parâmetros das regras técnicas de negociação no contexto dos mercados financeiros. Os resultados de experimentos baseados em dados de séries temporais reais demonstram que a regra otimizada obtida usando o AG pode aumentar significativamente o lucro gerado em comparação com as regras tradicionais de negociação de comprimentos médios móveis retiradas da literatura financeira.


Algoritmo genético.


Interesses Relacionados.


Classificação e Estatísticas.


Opções de compartilhamento.


Documentar ações.


As páginas 2 a 8 não são mostradas nesta pré-visualização.


Documentos Recomendados.


Documentos semelhantes ao algoritmo genético.


Documentos sobre o sistema de controle.


Mais de Anas Ibrahim.


Menu de Rodapé.


Legal.


Mídia social.


Direitos autorais & copy; 2018 Scribd Inc. Procure livros. Diretório de sites. Idioma do site:


Você tem certeza?


Esta ação pode não ser possível desfazer. Você tem certeza que quer continuar?


Tem certeza de que deseja excluir esta lista?


Tudo o que você selecionou também será removido de suas listas.


Este livro também será removido de todas as suas listas.


Nós curamos títulos que achamos que você adorará.


Usando a programação genética para evoluir estratégias de negociação.


Recentemente, um amigo e eu trabalhamos juntos em uma tarefa de pesquisa na qual utilizamos com sucesso a Programação Genética (GP) para desenvolver soluções para um problema de classificação financeira do mundo real. Esse problema, chamado análise de segurança, envolve determinar quais títulos devem ser comprados para obter um bom retorno sobre o investimento no futuro. Para encontrar uma solução para esse problema, usamos a Programação Genética para desenvolver uma população de árvores de decisão que poderia realizar análises de segurança em 62 das ações de tecnologia listadas no S & P 500. Ou seja, desenvolvemos árvores de decisão capazes de classificar essas ações de acordo com se eles devem ser comprados ou vendidos a descoberto.


Árvores de Decisão de Análise de Segurança.


Durante o estudo, desenvolvemos dois tipos de árvores de decisão de análise de segurança. A primeira utilizou apenas indicadores da análise fundamental e a segunda utilizou apenas indicadores da análise técnica. A análise fundamental é um método de avaliar uma segurança para medir seu valor intrínseco examinando fatores econômicos, financeiros e outros fatores qualitativos e quantitativos relacionados. A análise técnica é um método de avaliação de títulos, analisando as estatísticas geradas pela atividade de mercado.


Uma estratégia para análise de segurança, independentemente de usar indicadores técnicos ou fundamentais, consistirá em várias regras para tomar decisões de investimento. Essa estratégia pode ser representada como uma árvore de decisão em que os nós terminais representam decisões de investimento e os nós funcionais representam regras baseadas em indicadores técnicos ou fundamentais. Devido a este fato, muitas estratégias de investimento existentes são representadas na forma de árvores de decisão.


No total, quarenta e dois indicadores diferentes foram selecionados e utilizados a partir de análise técnica e análise fundamentalista. As estratégias evoluídas foram para um período fixo de retenção de três meses, seis meses, nove meses ou doze meses de duração. As árvores de decisão foram testadas novamente usando dados de mercado de 2011 a 2013.


Programação Genética.


Programação Genética é uma especialização de um Algoritmo Genético. Algoritmos genéticos são baseados na população, o que significa que eles operam dentro de uma população composta por muitos indivíduos diferentes. Cada indivíduo é representado por um genótipo único (geralmente codificado como um vetor). Algoritmos Genéticos modelam o processo de evolução genética através de um número de operadores incluindo o operador de seleção que modela a sobrevivência do mais apto, o operador de crossover que modela a reprodução sexual e o operador de mutação que modela as mutações genéticas que ocorrem aleatoriamente para indivíduos em uma população. Esses operadores, quando combinados, produzem o que os cientistas da computação chamam de Algoritmo Genético.


Os três operadores de um Algoritmo Genético aplicado a uma população de vetores (blocos)


A diferença entre um Algoritmo Genético e o Algoritmo de Programação Genética é a maneira pela qual os genótipos individuais são representados. Nos genótipos de Algoritmos Genéticos são representados tanto como Strings quanto como Vetores, enquanto na Genetic Programming esses genótipos são representados usando estruturas de dados em árvore. A operação de cruzamento em estruturas de árvore pode acontecer de algumas maneiras, uma subárvore é trocada, um nó de folha é removido ou alterado ou os valores de algum nó são ajustados. Uma ilustração disso é mostrada abaixo,


Este diagrama descreve a estratégia de cruzamento de uma árvore de decisão usada pela programação genética para análise de segurança.


Após este estudo, concluímos que a Programação Genética tem um grande potencial para desenvolver novas estratégias de análise de segurança e gestão de investimentos, desde que sejam obtidas melhores funções para calcular a adequação. Ao longo de nossa pesquisa, vimos que as árvores de decisão evoluídas usando a Programação Genética foram capazes de produzir classificações de ações que superaram consistentemente o retorno médio do mercado ao longo dos quatro trimestres. Isso é verdade para as árvores de decisão que usaram indicadores técnicos, bem como árvores de decisão que usaram indicadores fundamentais. Diversas outras conclusões foram derivadas de nossa pesquisa, incluindo os tamanhos e o nível ideais de heterogeneidade para as árvores de decisão e o valor agregado pelos diferentes indicadores e o desempenho das estratégias em relação um ao outro. Alguns resultados estão incluídos abaixo.


Relação entre o tamanho da árvore de decisão e a adequação Indicadores mais populares usados ​​na árvore de decisão final.


Tamanhos médios de árvore por iteração Exemplo Exemplo de Árvore de Decisão de Análise de Segurança Árvore de Decisão de Análise de Segurança.


Conclusão.


Dois relatórios de pesquisa independentes foram produzidos por mim e por meu amigo. Ambos os relatórios apresentam muito mais detalhes sobre o nosso estudo de pesquisa, a abordagem adotada, nosso projeto e implementação, as estratégias de teste que usamos, nossas conclusões e recomendações para futuras pesquisas. Você também pode baixar uma cópia do código-fonte criado durante a implementação. Para meus colegas mais técnicos do projeto, por favor clique aqui.


História anterior


Clustering usando o Ant Colony Optimization.


Próxima história.


Sistemas Inteligentes de Negociação Algorítmica.


[Comentário copiado do LinkedIn Computational Finance Group]


Muito bom trabalho. O escrever é lindo também.


Eu só tive a chance de olhar para o relatório. Algumas estatísticas que seria bom analisar: como a sua carteira de GA se compara a portfólios dos mesmos ativos. Eu olharia para dois portfólios de comparação: um portfólio ponderado igual e um portfólio de estilo S & amp; P que é ponderado pela capitalização de mercado.


Como se vê, pode ser surpreendentemente difícil superar um portfólio igualmente ponderado. Reequilibre as carteiras trimestralmente, uma vez que algumas ações irão subir e algumas cairão (por exemplo, você deseja manter os pesos da carteira iguais, à medida que os preços mudam). Se o seu algoritmo genético bate esses portfólios, então você tem "alfa" (excesso de retorno sobre o benchmark).


Claro que alfa não é tudo. Você deve observar a Perda Esperada de Cauda (ETL) (também conhecida como CVaR, Expected Shortfall) para a carteira GA e o "benchmark". Se você tem menos risco para o mesmo retorno, então você pode considerar que você bateu o benchmark. A medida de ETL é uma medida melhor do que o índice de Sharpe quando se trata de risco, uma vez que o índice de Sharpe mede a variação, que é de dois lados. O ETL mede apenas a perda.


Uma observação: um problema com GA e redes neurais (NN) é que são caixas pretas. É difícil determinar por que eles fazem as "escolhas" que fazem. Então imagine que você é um gerente de portfólio. Seu GA ou NN começa a ter um desempenho ruim. Que passos você pode dar para resolver isso? O problema é que tudo o que você realmente pode fazer é reciclar e não sabe se o treinamento será melhor. É claro que com uma árvore de decisão não é tão ruim, já que pelo menos você sabe quais decisões ela tomou. O problema é que, se você está constantemente mexendo para tomar as decisões certas, então você também tem um problema.


Esses problemas são motivos pelos quais você não vê muito esses algoritmos (embora eles sejam usados).


[Resposta copiada do LinkedIn Computational Finance Group]


Obrigado pelas palavras complementares Ian, agradecemos que você tenha interesse em nossa pesquisa e nos forneça alguns comentários interessantes.


Em nossa abordagem, apenas comparamos o desempenho das seleções de ações feitas por nossas árvores de decisão com um portfólio igualmente ponderado. Estender nossa pesquisa para incorporar diferentes portfólios é uma ideia interessante que será acompanhada durante a próxima fase de desenvolvimento. Também estamos considerando implementar algumas das abordagens bem conhecidas para análise de segurança a serem usadas como benchmarks de desempenho adicionais. Se você ou alguém tiver sugestões sobre quais abordagens podem ser boas referências, informe-nos.


Seus comentários sobre o uso de outras medidas de desempenho estão corretos. Gostaríamos, definitivamente, de olhar para a estrutura de teste de retorno e investigar formas de torná-lo mais rigoroso e menos propenso a ajustes excessivos. Também gostaríamos de implementar funções de adequação adicionais que levem em consideração medidas de risco de portfólio, bem como medidas de excesso de retorno (alfa). Examinarei as medidas que você mencionou e veremos como podemos incorporá-las melhor em nossa estrutura existente. Também estaremos considerando como seria possível usar um framework de back-testing open source como o ZipLine, a estrutura de back-testing usada pelo quantopian.


Suas observações sobre a natureza e o uso de redes neurais e geográficas em finanças são muito interessantes. O desafio de tornar esses algoritmos mais transparentes e, francamente, um pouco menos assustador, não é para ser tomado de ânimo leve. Meu colega está atualmente trabalhando em uma tarefa de pesquisa em que ele está tentando levantar o véu em alguns dos trabalhos internos das Redes Neurais. Se ele for bem-sucedido, em vez de precisar treinar redes neurais constantemente quando algo der errado, ele poderá isolar a causa do problema na rede neural e adaptar sua arquitetura de acordo. Ele está pensando em usar uma aplicação financeira do mundo real das Redes Neurais em sua pesquisa. Então, se você tem alguma idéia sobre isso, por favor me avise?


Pessoalmente falando, estou atualmente trabalhando em uma tarefa de pesquisa em que estou tentando construir uma estrutura algorítmica para a seleção e otimização de portfólios de carry trade. Ele faz uso de alguns algoritmos de Inteligência Computacional e daqui para frente vou ter em mente os problemas que você mencionou. Tentarei identificar formas de mitigar ou eliminar essas preocupações no quadro. Obrigado novamente por todos os seus comentários, agradecemos o feedback. Se você tiver mais alguma boa ideia, entre em contato conosco.


[Comentário copiado do LinkedIn Computational Finance Group]


Acho que a abordagem mais razoável para o backtesting é comparar seus resultados com o que acontece com negociações aleatórias que ainda obedecem a quaisquer restrições que você esteja impondo ao portfólio. Isso é discutido em:


[Resposta copiada do LinkedIn Computational Finance Group]


Obrigado Patrick, essa é uma boa sugestão. Eu entendo a abordagem porque o conceito de backtesting um algoritmo contra uma estratégia de negociação aleatória é conceitualmente semelhante ao teste de um algoritmo de pesquisa contra a pesquisa aleatória. Que é algo que eu fiz antes. Quão popular você diria que a estratégia de backtesting é?


[Resposta copiada do LinkedIn Computational Finance Group]


Stuart: Depressivamente impopular. Mas tem que começar em algum lugar.


[Comentário copiado do LinkedIn Computational Finance Group]


Parece bom, qual é a razão de usar as 62 ações de tecnologia, não 500 ações?


[Cópias de respostas do Grupo de Finanças Computacionais do LinkedIn]


Oi JZ, essa é uma boa pergunta e estou feliz que você tenha perguntado. Debatemos nossa abordagem e uma opinião externa seria muito apreciada. Limitamos nossa amostra de teste a apenas um setor por dois motivos:


1) Acreditamos que as árvores de decisão que usam indicadores fundamentais podem variar drasticamente entre os diferentes setores. Isso ocorre porque o índice financeiro pode variar entre os diferentes setores e achamos que um investidor que usa essa abordagem gostaria de desenvolver árvores de decisão para cada setor de forma independente. ** e.


2) Nós só recebemos três semanas para concluir a tarefa e estávamos preocupados que a adição de mais estoques fosse muito demorada. Isso se tornou uma preocupação infundada, já que nossa implementação poderia lidar facilmente com todas as 500 ações da S & P500, sem problemas significativos de desempenho.


** Nota: isto não se aplica a árvores de decisão usando indicadores de Análise Técnica.


Extremamente interessante. Bem feito Stuart.


É um exercício interessante, mas não vejo qual vantagem o GP tem contra simplesmente treinar o Decision Tree usando alguma medida de impureza. Parece que faz o mesmo de forma muito ineficiente e provavelmente com menos precisão também.


Oi Ignas, para ser perfeitamente honesto, o GP sofre de muitas desvantagens e a técnica ainda está sendo aperfeiçoada. Dito isto, os métodos tradicionais de indução de árvores de decisão (dos quais eu sou mais recentemente fã) também têm suas desvantagens que podem (ou não) ser superadas pela Programação Genética.


Eu estou tentando re implementar o GA em python. Quais são algumas bibliotecas python que você recomendaria.


Você já tentou trocar seu sistema ao vivo?


Oi Lawrence, infelizmente não. Este post é bastante um número de anos e representa um antigo projeto do time do colégio :-). Eu recomendaria dar uma olhada no Genotick para uma estratégia de negociação baseada em programação genética imparcial. Eu acredito que as pessoas estão negociando isso ao vivo.


Envie um comentário.


Cancelar resposta.


Siga Turing Finance.


Turing Finance Mailing List.


Amigos da Turing Finance.


A Quantocracia é o melhor agregador de blogs de finanças quantitativas com links para novas análises publicadas todos os dias.


NMRQL é o fundo de hedge quantitativo do qual faço parte. Usamos o aprendizado de máquina para tentar vencer o mercado.


Usando a programação genética para evoluir estratégias de negociação.


Recentemente, um amigo e eu trabalhamos juntos em uma tarefa de pesquisa na qual utilizamos com sucesso a Programação Genética (GP) para desenvolver soluções para um problema de classificação financeira do mundo real. Esse problema, chamado análise de segurança, envolve determinar quais títulos devem ser comprados para obter um bom retorno sobre o investimento no futuro. Para encontrar uma solução para esse problema, usamos a Programação Genética para desenvolver uma população de árvores de decisão que poderia realizar análises de segurança em 62 das ações de tecnologia listadas no S & P 500. Ou seja, desenvolvemos árvores de decisão capazes de classificar essas ações de acordo com se eles devem ser comprados ou vendidos a descoberto.


Árvores de Decisão de Análise de Segurança.


Durante o estudo, desenvolvemos dois tipos de árvores de decisão de análise de segurança. A primeira utilizou apenas indicadores da análise fundamental e a segunda utilizou apenas indicadores da análise técnica. A análise fundamental é um método de avaliar uma segurança para medir seu valor intrínseco examinando fatores econômicos, financeiros e outros fatores qualitativos e quantitativos relacionados. A análise técnica é um método de avaliação de títulos, analisando as estatísticas geradas pela atividade de mercado.


Uma estratégia para análise de segurança, independentemente de usar indicadores técnicos ou fundamentais, consistirá em várias regras para tomar decisões de investimento. Essa estratégia pode ser representada como uma árvore de decisão em que os nós terminais representam decisões de investimento e os nós funcionais representam regras baseadas em indicadores técnicos ou fundamentais. Devido a este fato, muitas estratégias de investimento existentes são representadas na forma de árvores de decisão.


No total, quarenta e dois indicadores diferentes foram selecionados e utilizados a partir de análise técnica e análise fundamentalista. As estratégias evoluídas foram para um período fixo de retenção de três meses, seis meses, nove meses ou doze meses de duração. As árvores de decisão foram testadas novamente usando dados de mercado de 2011 a 2013.


Programação Genética.


Programação Genética é uma especialização de um Algoritmo Genético. Algoritmos genéticos são baseados na população, o que significa que eles operam dentro de uma população composta por muitos indivíduos diferentes. Cada indivíduo é representado por um genótipo único (geralmente codificado como um vetor). Algoritmos Genéticos modelam o processo de evolução genética através de um número de operadores incluindo o operador de seleção que modela a sobrevivência do mais apto, o operador de crossover que modela a reprodução sexual e o operador de mutação que modela as mutações genéticas que ocorrem aleatoriamente para indivíduos em uma população. Esses operadores, quando combinados, produzem o que os cientistas da computação chamam de Algoritmo Genético.


Os três operadores de um Algoritmo Genético aplicado a uma população de vetores (blocos)


A diferença entre um Algoritmo Genético e o Algoritmo de Programação Genética é a maneira pela qual os genótipos individuais são representados. Nos genótipos de Algoritmos Genéticos são representados tanto como Strings quanto como Vetores, enquanto na Genetic Programming esses genótipos são representados usando estruturas de dados em árvore. A operação de cruzamento em estruturas de árvore pode acontecer de algumas maneiras, uma subárvore é trocada, um nó de folha é removido ou alterado ou os valores de algum nó são ajustados. Uma ilustração disso é mostrada abaixo,


Este diagrama descreve a estratégia de cruzamento de uma árvore de decisão usada pela programação genética para análise de segurança.


Após este estudo, concluímos que a Programação Genética tem um grande potencial para desenvolver novas estratégias de análise de segurança e gestão de investimentos, desde que sejam obtidas melhores funções para calcular a adequação. Ao longo de nossa pesquisa, vimos que as árvores de decisão evoluídas usando a Programação Genética foram capazes de produzir classificações de ações que superaram consistentemente o retorno médio do mercado ao longo dos quatro trimestres. Isso é verdade para as árvores de decisão que usaram indicadores técnicos, bem como árvores de decisão que usaram indicadores fundamentais. Diversas outras conclusões foram derivadas de nossa pesquisa, incluindo os tamanhos e o nível ideais de heterogeneidade para as árvores de decisão e o valor agregado pelos diferentes indicadores e o desempenho das estratégias em relação um ao outro. Alguns resultados estão incluídos abaixo.


Relação entre o tamanho da árvore de decisão e a adequação Indicadores mais populares usados ​​na árvore de decisão final.


Tamanhos médios de árvore por iteração Exemplo Exemplo de Árvore de Decisão de Análise de Segurança Árvore de Decisão de Análise de Segurança.


Conclusão.


Dois relatórios de pesquisa independentes foram produzidos por mim e por meu amigo. Ambos os relatórios apresentam muito mais detalhes sobre o nosso estudo de pesquisa, a abordagem adotada, nosso projeto e implementação, as estratégias de teste que usamos, nossas conclusões e recomendações para futuras pesquisas. Você também pode baixar uma cópia do código-fonte criado durante a implementação. Para meus colegas mais técnicos do projeto, por favor clique aqui.


História anterior


Clustering usando o Ant Colony Optimization.


Próxima história.


Sistemas Inteligentes de Negociação Algorítmica.


[Comentário copiado do LinkedIn Computational Finance Group]


Muito bom trabalho. O escrever é lindo também.


Eu só tive a chance de olhar para o relatório. Algumas estatísticas que seria bom analisar: como a sua carteira de GA se compara a portfólios dos mesmos ativos. Eu olharia para dois portfólios de comparação: um portfólio ponderado igual e um portfólio de estilo S & amp; P que é ponderado pela capitalização de mercado.


Como se vê, pode ser surpreendentemente difícil superar um portfólio igualmente ponderado. Reequilibre as carteiras trimestralmente, uma vez que algumas ações irão subir e algumas cairão (por exemplo, você deseja manter os pesos da carteira iguais, à medida que os preços mudam). Se o seu algoritmo genético bate esses portfólios, então você tem "alfa" (excesso de retorno sobre o benchmark).


Claro que alfa não é tudo. Você deve observar a Perda Esperada de Cauda (ETL) (também conhecida como CVaR, Expected Shortfall) para a carteira GA e o "benchmark". Se você tem menos risco para o mesmo retorno, então você pode considerar que você bateu o benchmark. A medida de ETL é uma medida melhor do que o índice de Sharpe quando se trata de risco, uma vez que o índice de Sharpe mede a variação, que é de dois lados. O ETL mede apenas a perda.


Uma observação: um problema com GA e redes neurais (NN) é que são caixas pretas. É difícil determinar por que eles fazem as "escolhas" que fazem. Então imagine que você é um gerente de portfólio. Seu GA ou NN começa a ter um desempenho ruim. Que passos você pode dar para resolver isso? O problema é que tudo o que você realmente pode fazer é reciclar e não sabe se o treinamento será melhor. É claro que com uma árvore de decisão não é tão ruim, já que pelo menos você sabe quais decisões ela tomou. O problema é que, se você está constantemente mexendo para tomar as decisões certas, então você também tem um problema.


Esses problemas são motivos pelos quais você não vê muito esses algoritmos (embora eles sejam usados).


[Resposta copiada do LinkedIn Computational Finance Group]


Obrigado pelas palavras complementares Ian, agradecemos que você tenha interesse em nossa pesquisa e nos forneça alguns comentários interessantes.


Em nossa abordagem, apenas comparamos o desempenho das seleções de ações feitas por nossas árvores de decisão com um portfólio igualmente ponderado. Estender nossa pesquisa para incorporar diferentes portfólios é uma ideia interessante que será acompanhada durante a próxima fase de desenvolvimento. Também estamos considerando implementar algumas das abordagens bem conhecidas para análise de segurança a serem usadas como benchmarks de desempenho adicionais. Se você ou alguém tiver sugestões sobre quais abordagens podem ser boas referências, informe-nos.


Seus comentários sobre o uso de outras medidas de desempenho estão corretos. Gostaríamos, definitivamente, de olhar para a estrutura de teste de retorno e investigar formas de torná-lo mais rigoroso e menos propenso a ajustes excessivos. Também gostaríamos de implementar funções de adequação adicionais que levem em consideração medidas de risco de portfólio, bem como medidas de excesso de retorno (alfa). Examinarei as medidas que você mencionou e veremos como podemos incorporá-las melhor em nossa estrutura existente. Também estaremos considerando como seria possível usar um framework de back-testing open source como o ZipLine, a estrutura de back-testing usada pelo quantopian.


Suas observações sobre a natureza e o uso de redes neurais e geográficas em finanças são muito interessantes. O desafio de tornar esses algoritmos mais transparentes e, francamente, um pouco menos assustador, não é para ser tomado de ânimo leve. Meu colega está atualmente trabalhando em uma tarefa de pesquisa em que ele está tentando levantar o véu em alguns dos trabalhos internos das Redes Neurais. Se ele for bem-sucedido, em vez de precisar treinar redes neurais constantemente quando algo der errado, ele poderá isolar a causa do problema na rede neural e adaptar sua arquitetura de acordo. Ele está pensando em usar uma aplicação financeira do mundo real das Redes Neurais em sua pesquisa. Então, se você tem alguma idéia sobre isso, por favor me avise?


Pessoalmente falando, estou atualmente trabalhando em uma tarefa de pesquisa em que estou tentando construir uma estrutura algorítmica para a seleção e otimização de portfólios de carry trade. Ele faz uso de alguns algoritmos de Inteligência Computacional e daqui para frente vou ter em mente os problemas que você mencionou. Tentarei identificar formas de mitigar ou eliminar essas preocupações no quadro. Obrigado novamente por todos os seus comentários, agradecemos o feedback. Se você tiver mais alguma boa ideia, entre em contato conosco.


[Comentário copiado do LinkedIn Computational Finance Group]


Acho que a abordagem mais razoável para o backtesting é comparar seus resultados com o que acontece com negociações aleatórias que ainda obedecem a quaisquer restrições que você esteja impondo ao portfólio. Isso é discutido em:


[Resposta copiada do LinkedIn Computational Finance Group]


Obrigado Patrick, essa é uma boa sugestão. Eu entendo a abordagem porque o conceito de backtesting um algoritmo contra uma estratégia de negociação aleatória é conceitualmente semelhante ao teste de um algoritmo de pesquisa contra a pesquisa aleatória. Que é algo que eu fiz antes. Quão popular você diria que a estratégia de backtesting é?


[Resposta copiada do LinkedIn Computational Finance Group]


Stuart: Depressivamente impopular. Mas tem que começar em algum lugar.


[Comentário copiado do LinkedIn Computational Finance Group]


Parece bom, qual é a razão de usar as 62 ações de tecnologia, não 500 ações?


[Cópias de respostas do Grupo de Finanças Computacionais do LinkedIn]


Oi JZ, essa é uma boa pergunta e estou feliz que você tenha perguntado. Debatemos nossa abordagem e uma opinião externa seria muito apreciada. Limitamos nossa amostra de teste a apenas um setor por dois motivos:


1) Acreditamos que as árvores de decisão que usam indicadores fundamentais podem variar drasticamente entre os diferentes setores. Isso ocorre porque o índice financeiro pode variar entre os diferentes setores e achamos que um investidor que usa essa abordagem gostaria de desenvolver árvores de decisão para cada setor de forma independente. ** e.


2) Nós só recebemos três semanas para concluir a tarefa e estávamos preocupados que a adição de mais estoques fosse muito demorada. Isso se tornou uma preocupação infundada, já que nossa implementação poderia lidar facilmente com todas as 500 ações da S & P500, sem problemas significativos de desempenho.


** Nota: isto não se aplica a árvores de decisão usando indicadores de Análise Técnica.


Extremamente interessante. Bem feito Stuart.


É um exercício interessante, mas não vejo qual vantagem o GP tem contra simplesmente treinar o Decision Tree usando alguma medida de impureza. Parece que faz o mesmo de forma muito ineficiente e provavelmente com menos precisão também.


Oi Ignas, para ser perfeitamente honesto, o GP sofre de muitas desvantagens e a técnica ainda está sendo aperfeiçoada. Dito isto, os métodos tradicionais de indução de árvores de decisão (dos quais eu sou mais recentemente fã) também têm suas desvantagens que podem (ou não) ser superadas pela Programação Genética.


Eu estou tentando re implementar o GA em python. Quais são algumas bibliotecas python que você recomendaria.


Você já tentou trocar seu sistema ao vivo?


Oi Lawrence, infelizmente não. Este post é bastante um número de anos e representa um antigo projeto do time do colégio :-). Eu recomendaria dar uma olhada no Genotick para uma estratégia de negociação baseada em programação genética imparcial. Eu acredito que as pessoas estão negociando isso ao vivo.


Envie um comentário.


Cancelar resposta.


Siga Turing Finance.


Turing Finance Mailing List.


Amigos da Turing Finance.


A Quantocracia é o melhor agregador de blogs de finanças quantitativas com links para novas análises publicadas todos os dias.


NMRQL é o fundo de hedge quantitativo do qual faço parte. Usamos o aprendizado de máquina para tentar vencer o mercado.


Comparação de Algoritmos Genéticos para Estratégias de Negociação.


Petr Kroha Matthias Friedrich.


Nesta contribuição, descrevemos e comparamos dois sistemas genéticos que criam estratégias de negociação. O primeiro sistema é baseado na idéia de que a matriz de peso de conexão de uma rede neural representa o genótipo de um indivíduo e pode ser alterada por algoritmo genético. O segundo sistema usa programação genética para derivar estratégias de negociação. Como dados de entrada em nossos experimentos, usamos indicadores técnicos de ações da NASDAQ. Como saída, os algoritmos geram estratégias de negociação, ou seja, comprar, reter e vender sinais. Nossa hipótese de que estratégias obtidas por programação genética trazem melhores resultados do que a estratégia buy-and-hold tem sido comprovada como estatisticamente significante. Discutimos nossos resultados e os comparamos com nossos experimentos anteriores com tecnologia fuzzy, abordagem fractal e com estratégias de indicadores técnicos simples.


Visualizar.


Referências.


Informações sobre direitos autorais.


Autores e Afiliações.


Petr Kroha 1 Matthias Friedrich 2 1. Faculdade de Tecnologia da Informação, Departamento de Engenharia de Software da Universidade Técnica Checa em Praga Praha 6 República Checa 2. Chemnitz University of Technology Chemnitz Alemanha.


Sobre este papel.


Recomendações personalizadas.


Cite o papel.


Gerente de referência de papéis. RIS RefWorks Zotero.


.BIB BibTeX JabRef Mendeley.


Download instantâneo Legível em todos os dispositivos Possui-o para sempre Imposto sobre vendas local incluído, se aplicável.


Cite o papel.


Gerente de referência de papéis. RIS RefWorks Zotero.


.BIB BibTeX JabRef Mendeley.


Mais de 10 milhões de documentos científicos ao seu alcance.


Switch Edition.


&cópia de; 2017 Springer International Publishing AG. Parte da natureza de Springer.


Um sistema inteligente de apoio à decisão de negociação de ações através da integração de algoritmo genético baseado em rede neural fuzzy e rede neural artificial.


O mercado de ações, que foi investigado por vários pesquisadores, é um ambiente bastante complicado. A maioria das pesquisas se referia apenas aos índices técnicos (fatores quantitativos), em vez de fatores qualitativos, por exemplo, efeito político. No entanto, este último desempenha um papel crítico no ambiente do mercado de ações. Assim, este estudo desenvolve um algoritmo genético baseado na rede neural fuzzy (GFNN) para formular a base de conhecimento de regras de inferência fuzzy que podem medir o efeito qualitativo no mercado de ações. Em seguida, o efeito é integrado aos índices técnicos através da rede neural artificial (RNA). Um exemplo baseado no mercado acionário de Taiwan é utilizado para avaliar o sistema inteligente proposto. Os resultados da avaliação indicam que a rede neural, considerando os fatores quantitativos e qualitativos, supera a rede neural, considerando apenas os fatores quantitativos, tanto na clareza dos pontos de venda quanto no desempenho de compra e venda.


Escolha uma opção para localizar / acessar este artigo:


Verifique se você tem acesso através de suas credenciais de login ou de sua instituição.

No comments:

Post a Comment