Há um grande corpo de literatura sobre o sucesso da aplicação de algoritmos evolutivos em geral, e o algoritmo genético em particular, para os mercados financeiros. No entanto, eu me sinto desconfortável sempre lendo esta literatura. Algoritmos genéticos podem sobre-ajustar os dados existentes. Com tantas combinações, é fácil chegar a algumas regras que funcionam. Pode não ser robusto e não tem uma explicação consistente de por que esta regra funciona e essas regras não vão além do mero argumento (circular) de que funciona porque o teste mostra que funciona. Qual é o consenso atual sobre a aplicação do algoritmo genético em finanças pediu Feb 18 11 às 9:00 Eu trabalhei em um fundo de hedge que permitiu GA-estratégias derivadas. Para a segurança, exigiu que todos os modelos fossem apresentados muito antes da produção para se certificar de que ainda trabalhavam nos backtests. Assim, poderia haver um atraso de até vários meses antes de um modelo seria permitido correr. Também é útil para separar o universo de exemplo usar uma metade aleatória das ações possíveis para a análise de GA ea outra metade para backtests de confirmação. É que um processo diferente do que você usaria antes de confiar em qualquer outra estratégia de negociação (Se assim for, não está claro para mim o que você ganha de fazer um modelo GA usando dados para o tempo t, em seguida, testando até T N antes de confiar nele, versus o uso de dados para o tempo tN, testando de tN para t, e usá-lo imediatamente.) Darren Cook Nov 23 11 at 2:08 DarrenCook uma questão que eu vejo é que se você testar de tN para t e encontrar Ele não Chan-Ho Suh Jul 22 15 at 5:24 Em relação a dados-snooping, se um GA é implementado corretamente, que shouldn BioinformaticsGal BoinformaticsGal I don Vishal Belsare Sep 15 11 às 18:05 Há sa lot Das pessoas aqui falando sobre como GAs são empíricos, don t tem fundamentos teóricos, são caixas negras, e assim por diante. Eu imploro para diferir Há um ramo inteiro da economia dedicado a olhar mercados em termos de metáforas evolutivas: Economia Evolutiva Eu recomendo altamente o livro Dopfer, Fundamentos Evolucionários da Economia, como uma introdução. Se a sua visão filosófica é que o mercado é basicamente um casino gigante, ou jogo, então um GA é simplesmente uma caixa preta e doesn t tem qualquer fundamento teórico. No entanto, se a sua filosofia é que o mercado é uma sobrevivência do ecossistema mais apto, então GA s têm abundância de fundamentos teóricos, e é perfeitamente razoável para discutir coisas como especiação corporativa, ecologias de mercado, genomas carteira, climas comerciais, e similar. Respondeu Abr 5 11 at 15:42 Em escalas de tempo curto é mais um casino. Como a natureza, de fato. Quant dev 5 de abril de 2011 às 20:46 quant dev, o problema com isso é que GA - como qualquer outro método quantitativo - só funciona com escala de tempo curto, se eu Graviton Abril 6 11 at 8:56 Graviton. Há bioinformáticaGal Apr 6 11 at 15:12 Assumindo que você evita bias de dados-snooping e todas as armadilhas potenciais de usar o passado para prever o futuro, confiando algoritmos genéticos para encontrar a solução certa praticamente se resume à mesma aposta que você faz quando você Gerir activamente uma carteira, quer quantitativa quer discricionária. Se você acredita na eficiência do mercado, em seguida, aumentar seus custos de transação de gestão ativa é ilógico. Se, no entanto, você acredita que existem padrões psicológicos estruturais ou falhas a serem exploradas eo retorno vale a pena o tempo e dinheiro para pesquisar e implementar uma estratégia a escolha lógica é gestão ativa. Executar uma estratégia derivada GA é uma aposta implícita contra a eficiência do mercado. Você está basicamente dizendo que eu acho que há mis-avaliações que ocorrem por alguma razão (massas de pessoas irracionais, fundos mútuos pastoreio por causa dos incentivos mis-aligned, etc) e executando este GA pode classificar esta massa de dados para fora forma mais rápida do que eu posso. Respondida Fevereiro 18 11 at 15:49 manualmente gerenciar um portfólio ativo envolve o uso de todas as informações que temos e derivar uma conclusão lógica sobre o mercado e, em seguida, executar estratégias sobre ele esta é uma atividade racional. Graviton Fev 18 11 at 15:57 Graviton Sim, mas considere as semelhanças entre GA Joshua Chance Feb 18 11 at 16:46 Graviton (em um sentido muito amplo) é que você tem Uma narrativa, uma história para ir com sua estratégia. Os humanos corremos o risco de encontrar um padrão aparentemente recorrente e depois racionalizá-lo e criar uma narrativa. GA Joshua Chance Feb 18 11 às 16:54 O falecido Thomas Cover. (Provavelmente o principal teórico da informação de sua geração), considerou abordagens universais a coisas como compactação de dados e alocações de portfólios como verdadeiros algoritmos genéticos. A evolução não tem parâmetros para caber ou treinar. Por que os verdadeiros algoritmos genéticos As abordagens universais não fazem suposições sobre a distribuição subjacente de dados. Eles não fazem qualquer tentativa de prever o futuro a partir de padrões ou qualquer outra coisa. A eficácia teórica das abordagens universais (elas apresentam desafios significativos de implementação, veja a minha pergunta recente: Geometria para Portfólios Universais) segue deles fazendo o que a evolução exige. Os mais rápidos, inteligentes ou fortes não sobrevivem necessariamente na próxima geração. A evolução favorece esse gene, organismo, meme, carteira, ou algoritmo de compressão de dados posicionado para mais facilmente adaptar-se ao que quer que aconteça em seguida. Além disso, como essas abordagens não fazem suposições e operam de forma não paramétrica, pode-se considerar todos os testes, mesmo em todos os dados históricos, como fora da amostra. Certamente eles têm limitações, Certamente eles não podem trabalhar para todos os tipos de um problema que enfrentamos em nosso domínio, mas gee, o que é uma maneira interessante de pensar sobre as coisas. Bem, o objetivo de um algo genético é encontrar a melhor solução sem passar por todos os cenários possíveis, porque seria muito longo. Então é claro que é curva de encaixe, que é o objetivo. Respondeu Mar 6 11 at 20:40 Mas há uma diferença significativa entre superpondo a amostra (ruim) e ajustando a população (boa). É por isso que muitos sugerem que você cross-validar o seu algoritmo com fora do teste da amostra. Joshua Jul 17 13 em 2:34 2016 Stack Exchange, Inc Usando Algoritmos Genéticos Para Previsão de Mercados Financeiros Carregando o jogador. Burton sugeriu em seu livro A Random Walk Down Wall Street (1973) que um macaco com os olhos vendados jogando dardos nas páginas financeiras de um jornal poderia selecionar um portfólio que faria exatamente o mesmo que um cuidadosamente selecionado por especialistas. Enquanto a evolução pode ter feito o homem não mais inteligente na colheita de ações, a teoria de Charles Darwin tem bastante eficaz quando aplicado mais diretamente. Algoritmos genéticos (GAs) são métodos de resolução de problemas (ou heurísticas) que imitam o processo de evolução natural. Ao contrário das redes neurais artificiais (RNAs), projetadas para funcionarem como neurônios no cérebro, esses algoritmos utilizam os conceitos de seleção natural para determinar a melhor solução para um problema. Como resultado, GAs são comumente usados como otimizadores que ajustam parâmetros para minimizar ou maximizar alguma medida de realimentação, que pode então ser usada independentemente ou na construção de uma RNA. Nos mercados financeiros. Algoritmos genéticos são mais comumente usados para encontrar os melhores valores de combinação de parâmetros em uma regra de negociação, e eles podem ser construídos em modelos de ANN projetado para escolher ações e identificar negócios. Vários estudos têm demonstrado que esses métodos podem ser eficazes, incluindo Genetics Algorithms: Genesis of Stock Evaluation (2004) por Rama, e The Applications of Genetic Algorithms in Stock Market Data Mining Optimization (2004) por Lin, Cao, Wang, Zhang. Como os Algoritmos Genéticos Funcionam Os algoritmos genéticos são criados matematicamente usando vetores, que são quantidades que têm direção e magnitude. Os parâmetros para cada regra comercial são representados com um vetor unidimensional que pode ser considerado como um cromossomo em termos genéticos. Entretanto, os valores utilizados em cada parâmetro podem ser pensados como genes, que são então modificados usando a seleção natural. Por exemplo, uma regra de negociação pode envolver o uso de parâmetros como Moving Average Convergence-Divergence (MACD). Exponential Moving Average (EMA) e Estocástica. Um algoritmo genético poderia então introduzir valores nestes parâmetros com o objetivo de maximizar o lucro líquido. Ao longo do tempo, pequenas mudanças são introduzidas e aqueles que fazem um desejável impacto são mantidos para a próxima geração. Existem três tipos de operações genéticas que podem então ser realizadas: Crossovers representam a reprodução e crossover biológico visto na biologia, pelo qual uma criança assume certas características de seus pais. As mutações representam a mutação biológica e são utilizadas para manter a diversidade genética de uma geração de uma população para outra, introduzindo pequenas alterações aleatórias. As selecções são a fase em que os genomas individuais são escolhidos de uma população para reprodução posterior (recombinação ou crossover). Estes três operadores são então utilizados em um processo de cinco passos: Inicializar uma população aleatória, onde cada cromossomo é n-comprimento, sendo n o número de parâmetros. Isto é, um número aleatório de parâmetros é estabelecido com n elementos cada. Selecione os cromossomos, ou parâmetros, que aumentam os resultados desejáveis (presumivelmente lucro líquido). Aplique operadores de mutação ou crossover aos pais selecionados e gere uma prole. Recombinar a prole ea população atual para formar uma nova população com o operador de seleção. Repita os passos dois a quatro. Ao longo do tempo, este processo resultará em cromossomas cada vez mais favoráveis (ou, parâmetros) para uso em uma regra comercial. O processo é então terminado quando um critério de paragem é cumprido, o que pode incluir tempo de execução, aptidão, número de gerações ou outros critérios. (Para mais informações sobre o MACD, leia Trading The MACD Divergence.) Usando Algoritmos Genéticos em Trading Enquanto algoritmos genéticos são usados principalmente por comerciantes institucionais quantitativos. Os comerciantes individuais podem aproveitar o poder de algoritmos genéticos - sem um grau em matemática avançada - usando vários pacotes de software no mercado. Essas soluções variam de pacotes de software independentes voltados para os mercados financeiros para complementos do Microsoft Excel que podem facilitar análises mais práticas. Ao usar essas aplicações, os comerciantes podem definir um conjunto de parâmetros que são então otimizados usando um algoritmo genético e um conjunto de dados históricos. Alguns aplicativos podem otimizar quais parâmetros são usados e os valores para eles, enquanto outros são focados principalmente em simplesmente otimizar os valores para um dado conjunto de parâmetros. (Para saber mais sobre estas estratégias derivadas do programa, consulte O Poder das Operações do Programa.) Dicas e Truques Importantes de Otimização O encaixe da curva (sobre o ajuste), projetando um sistema comercial em torno de dados históricos ao invés de identificar o comportamento repetível, algorítmos genéticos. Qualquer sistema de negociação que utilize GAs deve ser testado em frente no papel antes do uso ao vivo. Escolher parâmetros é uma parte importante do processo, e os comerciantes devem procurar parâmetros que se correlacionam com mudanças no preço de um determinado valor. Por exemplo, experimente diferentes indicadores e veja se alguns parecem se correlacionar com grandes turnos do mercado. O Bottom Line algoritmos genéticos são formas únicas de resolver problemas complexos, aproveitando o poder da natureza. Ao aplicar esses métodos para prever os preços dos títulos, os comerciantes podem otimizar as regras de negociação, identificando os melhores valores a serem usados para cada parâmetro para um determinado valor. No entanto, esses algoritmos não são o Santo Graal, e os comerciantes devem ter cuidado para escolher os parâmetros certos e não ajuste de curva (sobre ajuste). (Para ler mais sobre o mercado, verifique para ouvir o mercado, não é o seu Pundits.) Algoritmo genético em R tendência seguinte Seria estoque Facebook. Estratégia Média Móvel Exponencial. ParamA 10. paramB 45. As regras de estratégia são simples, se a média móvel (comprimento paramA) média móvel (comprimento paramB), em seguida, ir muito tempo, e vice-versa. A função fitness Um gene é quantificado como um bom ou mau gene usando uma função fitness. O sucesso de uma estratégia de negociação genética depende fortemente de sua escolha de função de aptidão e se faz sentido com as estratégias que você pretende usar. Você trocará cada uma das estratégias descritas por seus genes ativos e, em seguida, classificá-los por sua aptidão. Um bom ponto de partida seria usar a relação nítida como a função de fitness. Você precisa ter cuidado para aplicar a função de aptidão física a dados estatisticamente significativos. Por exemplo, se você usou uma estratégia de reverter média que pode ser negociada uma vez por mês (ou seja qual for sua janela de reciclagem), então sua aptidão é determinada por 1 ou 2 pontos de dados. Isso resultará em má otimização genética (no meu código eu tenho comentado um teste de estratégia de reversão média para si mesmo). Normalmente, o que acontece é a sua taxa de Sharpe de 2 pontos de dados é muito, muito alto apenas para a sorte. Em seguida, marque isso como um bom gene e comercializá-lo no próximo mês com resultados terríveis. Genes de criação Com um algo genético que você precisa para criar genes, para o resto deste post eu re de nenhum uso). Reprodução consiste em duas partes: Hibridização Pegue um gene e cortar um pedaço fora dele, você pode usar qualquer gerador de números aleatórios que você quer determinar os locais de corte, troque este pedaço com um pedaço correspondente de outro gene. Por exemplo. Velho gene: 00 1100 10 e 11 1001 10 (vermelho é selecionar aleatoriamente bits para cortar) Novo gene: 00 1001 10 e 11 1100 10 Você faz isso para cada possível par de genes em sua lista top N. Mutação Após hibridação passar por todos os seus genes e aleatoriamente virar os bits com uma probabilidade fixa. A mutação impede que sua estratégia seja bloqueada em um pool genético cada encolhimento. Para uma explicação mais detalhada com diagramas, por favor veja: blog. equametrics / scroll down para Algoritmos Genéticos e sua Aplicação na Negociação Anualizada Sharpe Ratio (Rf 0) 1,15
No comments:
Post a Comment