Construindo sistemas de negociação usando geração automática de código


Construindo sistemas de negociação usando geração automática de código
Construindo Sistemas de Negociação Usando Geração Automática de Código.
Construindo Sistemas de Negociação Usando Geração Automática de Código.
por Michael R. Bryant.
À medida que mais e mais comerciantes se mudaram para negociação automatizada, o interesse em estratégias de negociação sistemática aumentou. Enquanto alguns traders desenvolvem suas próprias estratégias de negociação, a curva de aprendizado exigida para desenvolver e implementar um sistema de negociação é um impedimento para muitos traders. Uma solução recentemente desenvolvida para esse problema é o uso de algoritmos de computador para gerar automaticamente o código do sistema comercial. O objetivo desta abordagem é automatizar muitas das etapas do processo tradicional de desenvolvimento de sistemas de negociação.
O software automático de geração de código para a construção de sistemas comerciais é frequentemente baseado em programação genética (GP), que pertence a uma classe de técnicas chamadas algoritmos evolutivos. Algoritmos evolutivos e GP em particular foram desenvolvidos por pesquisadores em inteligência artificial baseados nos conceitos biológicos de reprodução e evolução. Um algoritmo GP desenvolve uma população de estratégias de negociação a partir de uma população inicial de membros gerados aleatoriamente. Membros da população competem uns contra os outros com base em sua aptidão. Os membros aptos são selecionados como pais para produzir um novo membro da população, o que substitui um membro mais fraco (menos apto).
Dois pais são combinados usando uma técnica chamada crossover, que imita o cruzamento genético na reprodução biológica. No cruzamento, parte do genoma de um dos pais é combinado com parte do genoma do outro genitor para produzir o genoma infantil. Para a geração de sistemas de negociação, os genomas podem representar elementos diferentes da estratégia de negociação, incluindo vários indicadores técnicos, como médias móveis, estocásticos e assim por diante; diferentes tipos de ordens de entrada e saída; e condições lógicas para entrar e sair do mercado.
Outros membros da população são produzidos por meio de mutação, é que um membro da população é selecionado para ser modificado pela alteração aleatória de partes do seu genoma. Tipicamente, uma maioria (por exemplo, 90%) de novos membros da popula�o �produzida atrav� de cruzamento, sendo os restantes membros produzidos atrav� de muta�o.
Ao longo de sucessivas gerações de reprodução, a aptidão geral da população tende a aumentar. A adequação é baseada em um conjunto de metas de construção que classificam ou pontuam cada estratégia. Exemplos de metas de construção incluem várias medidas de desempenho, como lucro líquido, redução, porcentagem de vencedores, fator de lucro e assim por diante. Estes podem ser definidos como requisitos mínimos, como um fator de lucro de pelo menos 2.0, ou como objetivos a serem maximizados, como a maximização do lucro líquido. Se houver várias metas de criação, uma média ponderada poderá ser usada para formar a métrica de adequação. O processo é interrompido após algumas gerações ou quando a aptidão para de aumentar. A solução é geralmente tomada como o membro mais apto da população resultante, ou toda a população pode ser classificada por aptidão e salva para revisão adicional.
Como a programação genética é um tipo de otimização, o ajuste excessivo é uma preocupação. Isso é normalmente abordado usando testes fora da amostra, nos quais os dados não usados ​​para avaliar as estratégias durante a fase de construção são usados ​​para testá-los posteriormente. Essencialmente, cada estratégia candidata construída durante o processo de construção é uma hipótese que é apoiada ou refutada pela avaliação e posteriormente apoiada ou refutada pelos resultados fora da amostra.
Existem vários benefícios na criação de sistemas de negociação através da geração automática de código. O processo de GP permite a síntese de estratégias, dado apenas um conjunto de alto nível de metas de desempenho. O algoritmo faz o resto. Isso reduz a necessidade de conhecimento detalhado de indicadores técnicos e princípios de design de estratégia. Além disso, o processo GP é imparcial. Enquanto a maioria dos comerciantes desenvolveu vieses a favor ou contra indicadores específicos e / ou lógica de negociação, o GP é guiado apenas pelo que funciona. Além disso, ao incorporar uma semântica de regra de negociação adequada, o processo GP pode ser projetado para produzir regras de negociação lógicas e código livre de erros. Em muitos casos, o processo GP produz resultados que são não apenas exclusivos, mas não óbvios. Essas gemas escondidas seriam quase impossíveis de encontrar de outra maneira. Por fim, ao automatizar o processo de criação, o tempo necessário para desenvolver uma estratégia viável pode ser reduzido de semanas ou meses para alguns minutos, dependendo do tamanho do arquivo de dados do preço de entrada e de outras configurações de construção.
Se você quiser ser informado de novos desenvolvimentos, novidades e ofertas especiais do Adaptrade Software, por favor, junte-se à nossa lista de e-mail. Obrigado.

Construindo sistemas de negociação usando geração automática de código
Criando Sistema de Negociação usando Geração Automática de Código!
Há muitos comerciantes que mudaram para negociação automatizada e, por isso, a importância das estratégias de negociação sistemática também melhorou. Muitos traders constroem suas próprias estratégias de negociação, a súbita curva de aprendizado necessária para desenvolver e implementar um sistema de negociação é um impedimento para muitos traders. Para tal problema, a solução recém-gerada é o uso de algoritmos de computador para gerar automaticamente o código do sistema de negociação. O principal objetivo desta solução é automatizar muitos passos no processo tradicional de desenvolvimento de sistemas de negociação.
Este software de geração automática de código para construção de sistema comercial é basicamente baseado em programação genética que pertence a uma classe de técnicas que é chamada de algoritmos evolutivos. Algoritmos evolutivos e programação genética foram construídos por pesquisadores em inteligência artificial baseada em conceitos biológicos de reprodução e evolução. A programação genética envolve uma população de estratégias de negociação a partir de uma população inicial de membros gerados aleatoriamente. Os membros da população participam um contra o outro que é baseado em sua aptidão. O membro que se encaixa melhor é selecionado como pai para produzir um novo membro da população e isso substitui um membro mais fraco.
Dois pais são unidos por uma técnica que é chamada crossover e que cria cruzamento genético na reprodução biológica. Nesse cruzamento, parte do genoma de um dos pais é combinado com parte do genoma de outro genitor, de modo que ele possa produzir o genoma infantil. Da mesma forma, para a geração de sistemas de negociação, os genomas podem representar vários elementos da estratégia de negociação, que incluem numerosos indicadores técnicos, como médias móveis, e assim por diante. O outro membro da população é criado por meio de alteração em que um membro da população é escolhido para ser personalizado, alterando arbitrariamente partes de seu genoma. Portanto, os membros que recebem a maioria da população são produzidos como cruzamento com os demais membros produzidos por alteração.
Devido a esta geração sucessiva de produção, a aptidão geral da população parece aumentar. Esta aptidão é basicamente baseada em alguns objetivos que classificam ou marcam cada estratégia. Algumas das metas incluem várias medidas de desempenho, como redução, fator de lucro, lucro líquido e assim por diante. Esta aptidão crescente é interrompida após algumas gerações. Geralmente, cada estratégia construída durante o processo de construção é uma teoria que é apoiada ou recusada pela avaliação e, posteriormente, suportada ou recusada pelos resultados fora da amostra.
Como é visto, existem vários benefícios para a construção de sistema de negociação através da geração automática de código. O processo de programação genética permite a combinação de estratégias que é dada em um alto nível de metas de desempenho. O algoritmo não descansa e, devido a isso, reduz a falta de conhecimento detalhado de indicadores técnicos e pessoas de design de estratégia. A programação genética é equilibrada, mas a maioria dos comerciantes desenvolveu preconceitos a favor ou contra indicadores específicos e lógica de negociação, a programação genética é guiada apenas pelo que funciona. No entanto, ao colocar a semântica de regra de negociação adequada, o processo GP pode ser considerado para produzir regras de negociação corretas e logicamente livres de erros. Verificou-se que, em muitos casos, o processo de programação genética produz resultados que não são apenas excepcionais, mas também não óbvios. Essas coisas ocultas podem ser quase impossíveis de encontrar qualquer outro caminho. Com a ajuda disso automatizando o processo de construção, o tempo necessário para construir uma boa estratégia pode ser reduzido de semanas ou meses para uma questão de minutos, o que é possível em alguns casos que dependem do comprimento do arquivo de dados de preço de entrada. e outras configurações de compilação.

Melhore sua negociação e.
impulsione os lucros com nossa análise.
Technical Traders Ltd. ajuda você a identificar e lucrar mais com sua negociação. Como? Ao fornecer-lhe configurações de comércio verificado e notificações em tempo real.
Não parece possível. Mas é com nossas estratégias de negociação algorítmica!
Não parece possível. Um sistema de negociação algorítmica com tanta - identificação de tendências, análise de ciclos, fluxos de volume do lado de compra / venda, múltiplas estratégias de negociação, entrada dinâmica, preços alvo e de parada e tecnologia de sinal ultrarrápida. Mas isso é. Na verdade, a plataforma de sistema de negociação algorítmica AlgoTrades é o único desse tipo.
Não há mais procura de estoques, setores, commodities, índices ou leitura de opiniões do mercado. Algotrades faz toda a pesquisa, tempo e negociação para você usando nosso sistema de negociação algorítmica.
As estratégias comprovadas da AlgoTrades podem ser seguidas manualmente através do recebimento de alertas de texto por e-mail e SMS, ou podem ser 100% de troca de mãos-livres, é até você! Você pode ativar / desativar negociações automatizadas a qualquer momento, para que você esteja sempre no controle de seu destino.
Use o Algorithmic Trading para aumentar seu portfólio & # 038; Renda**
É quase impossível ter sistemas de negociação algorítmica tão ágeis e conservadores sem sacrificar benefícios ou desempenho. A AlgoTrades atinge esse objetivo. É uma realização de engenharia, tanto quanto de design.
Cada ponto de dados do sistema e regra de gerenciamento de comércio foram meticulosamente considerados e refinados. E é construído para um nível de precisão que uma grande instituição ou fundo de hedge teria. Como resultado, a AlgoTrades oferece negociações de baixo risco e alta probabilidade a cada mês. **
AlgoTrades pode ser um sistema de negociação 100% automático que negocia ao vivo dentro de sua conta de corretagem e é compatível com várias empresas de corretagem, ou você pode seguir manualmente cada negociação via e-mail e alertas de comércio de texto SMS.
Algoritmic Trading Made Simple & # 038; Eficaz.
Traders e investidores adoram a AlgoTrades, não apenas porque ela identifica tendências de mercado e ciclos ativos enquanto gerencia cada negócio para você; mas também porque o AlgoTrades é tão simples de usar. *
Nosso sistema de negociação algorítmica é construído para indivíduos que procuram ganhar mais renda. É um serviço de negociação All-In-One que aumentará seu desempenho e reduzirá a volatilidade do seu portfólio, além de permitir que você lucre com um mercado de ações em ascensão e queda. **
Controle seus investimentos dentro de sua auto-dirigida IRA.
Conhecimento é poder. Controle e diversidade são essenciais na construção da riqueza para a aposentadoria. IRAs autodirecionados oferecem controle total na escolha de seus investimentos e lhe dão a liberdade de selecionar investimentos alternativos para gerar renda em IRAs tradicionais, IRAs de Roth e outros planos de poupança.
Investimento Inteligente com Estratégias de Negociação Algorítmica. Estava na hora!
Por meio de tecnologias recém-desenvolvidas, como nosso identificador de tendência, analisador de espectro de ciclo, fluxo de caixa de varejo e reversão de momentum de preço, podemos medir a pulsação do mercado de ações como nunca antes usando nossas estratégias de negociação algorítmicas proprietárias.
Durante a incerteza do mercado, o batimento cardíaco ou o pulso do mercado mudam dramaticamente. Nosso sistema de negociação algorítmica ajusta automaticamente suas estratégias de negociação algorítmica e técnicas de gerenciamento de posição para imitar a mudança nas condições de mercado.
A AlgoTrades identifica condições de mercado únicas a partir das quais pode lucrar. * Aplica então uma das suas muitas estratégias de negociação algorítmica, específicas para essa condição de mercado, e negocia e gere posições automaticamente. Pense nisso como uma equipe de profissionais especializados e especialistas em gerenciamento de risco trabalhando para você na velocidade da luz.
Negociação Automatizada em 5 Minutos Usando o Nosso Sistema de Negociação Algorítmica.
Este serviço de negociação de algoritmos tudo-em-um permite-lhe lucrar durante todas as condições do mercado (para cima, para baixo, para os lados). *
Seja você um investidor, um trader ativo ou um novo no mercado, a AlgoTrades tem cobertura para você. **
O AlgoTrades é um serviço de negociação algorítmica 100% automatizado que negocia ao vivo na sua conta de corretagem. Ou você pode seguir manualmente cada negociação, de qualquer forma, deixe que as estratégias de negociação algorítmica da AlgoTrades façam o trabalho para você.
CORRETORES COMPATÍVEIS PARA COMERCIANTES DOS EUA, CANADENSES E ULTRAMARINOS.
Sistemas automatizados de negociação para investidores experientes.
Ações, ETFs, & # 038; Estratégias de Negociação Algorítmica de Futuros.
Em um mundo orientado a manchetes, com computadores de negociação algorítmica super rápida cuspindo ordens mais rápido do que qualquer um poderia responder a um boato, fato ou notícias de última hora, o que um comerciante ou investidor deve fazer?
Invista em uma estratégia sistemática e disciplinada, como as nossas Estratégias Algorítmicas de Negociação da AlgoTrades. Com base em um intervalo de seis meses, nossos sistemas de negociação algorítmica demonstraram uma forte correlação negativa com o mercado de ações durante os pullbacks e até mesmo com os mercados de bear de vários anos. *** Em outras palavras, ao longo de um período de seis meses, sistemas tendem a crescer sua conta de negociação, quando o mercado de ações tem vindo a diminuir. Criamos nossos algoritmos para capturar tendências em vários mercados, como o índice S & # 0; P500, o índice Dax, ações individuais e o índice de volatilidade do evento. Usando futuros, fundos negociados em bolsa (ETFs), ou ações, podemos aproveitar ao máximo as oscilações mensais do mercado de ações. Use nosso sistema de negociação algorítmica e você pode ter certeza de que possui alguns dos melhores sistemas de negociação automatizados que funcionam para você. *

Forex Mecânico
Negociação no mercado FX usando estratégias mecânicas de negociação.
OpenKantu System Generator.
Ao longo dos últimos dois anos na Asirikuy, desenvolvemos uma quantidade substancial de conhecimento na geração, avaliação e negociação ao vivo de estratégias de negociação geradas automaticamente. O primeiro dos nossos esforços de desenvolvimento de software neste campo, o Kantu, tornou-se obsoleto em nossa comunidade (veja o porquê abaixo) e, portanto, decidi liberar esse código na comunidade aberta para evitar desperdiçar todo esse trabalho e encorajar outros. também explorar as possibilidades de geração de sistemas algorítmicos usando uma estrutura aberta já construída.
O Kantu é um gerador de sistema de negociação que cria estratégias de negociação baseadas em regras derivadas da ação do preço (comparação de diferentes valores abertos / altos / baixos / próximos) usando dados do OHLC. Ao usá-lo, você pode procurar por estratégias dentro de um espaço lógico selecionado, encontrando aquelas que correspondam às características estatísticas impostas pelo usuário (por exemplo, você pode procurar por sistemas que tenham um determinado Sharpe, recompensa por razão de risco, porcentagem de ganhos, etc.). Você pode ver como o programa fica na imagem abaixo:
Estas são as principais características do software:
Esta e todas as futuras versões do OpenKantu estarão disponíveis gratuitamente com código fonte totalmente aberto: o) Codificado em FreePascal / Lazarus, código-fonte completo disponível sob a licença GPL v2. Manual incluso. Simplesmente exporte os dados do seu centro de histórico MT4 para usá-los com o suporte a múltiplas plataformas OpenKantu. Binários pré-compilados disponíveis para Windows, mas o software pode ser compilado da fonte no Windows, Linux e MacOSX. Simulações rápidas, um teste de 25 anos usando dados diários leva apenas 3 milissegundos, enquanto um teste de 25 anos no 1H pode levar cerca de 60-80 milissegundos. Isso permite que você realize milhões de testes em um período de tempo realista. Suporte multi-core, você pode realizar testes usando tantos núcleos de computadores quanto o seu computador permite Configurar o processo de criação do sistema para procurar sistemas com ou sem SL / TP dentro de uma complexidade de regras (deslocamento máximo, número máximo de regras, etc.) - de-amostra de janela, se isso for desejado Você pode procurar estratégias em qualquer instrumento financeiro. Filtrar sistemas usando as estatísticas pré-construídas ou uma regra de filtragem personalizada Obter resultados do sistema de trade-by-trade Simular portfólios compostos de diferentes sistemas gerados Obter uma análise de expectativa matemática (MAE-MFE) para negócios longos / curtos para todos os sistemas gerados balanceamento de gráficos com resultados de negociação mostrando em um gráfico OHLC dos dados (veja onde o sistema foi negociado) Exportar estratégias geradas para MT4.
Eu também gostaria de salientar que o OpenKantu NÃO é um gerador de cálice sagrado e que o uso do programa sem um bom entendimento das possíveis fontes de viés (viés de ajuste de curva, viés de mineração de dados) está fadado a levar a estratégias perdedoras / negociação ao vivo. Lembre-se de que o desempenho passado nunca é garantia de resultados futuros. Embora o OpenKantu seja codificado de boa fé, os usuários finais são responsáveis ​​por todos os usos do software. O software é fornecido como está, sem garantias implícitas ou implícitas. O OpenKantu também é fornecido sem qualquer suporte, consulte o manual para obter instruções sobre como usar o software. Você pode baixar os binários do Windows e os arquivos de origem do programa usando os seguintes links:
A versão atual do programa é v2.40.
Notas sobre a construção a partir da fonte: Se você estiver construindo a partir da fonte, certifique-se de instalar o Lazarus e, em seguida, instale os pacotes synapse e ZMSQL incluídos no repositório do github antes de tentar construir o software. Se você quiser fazer contribuições de código, entre em contato comigo (deixe um comentário nesta página) e nós coordenaremos para que você possa contribuir no github. Todas as contribuições que melhoram o software para a comunidade aberta são bem vindas.
Lembre-se que para reproduzir os mesmos resultados de testes obtidos no OpenKantu em simulações MT4 você precisa usar exatamente os mesmos dados dentro do processo de geração e o backtesting do MT4. Na mesma linha, o GMT, DST e horários de abertura / fechamento semanais do seu live / demo precisam corresponder exatamente aos dados usados ​​no processo de geração. Usando dados diferentes leva a mudanças imprevisíveis nos resultados da simulação entre os programas.
Você pode se perguntar por que decidimos descartar o uso de Kantu em nossa comunidade (dadas todas as características positivas acima), decidimos mudar para o pKantu, pois tem muitas vantagens sobre nossa implementação inicial do Kantu (agora OpenKantu). Com o pKantu, temos os seguintes recursos:
Codificado em OpenCL / Python com a velocidade como prioridade máxima Avaliação explícita de todo o espaço lógico (openKantu usa amostragem aleatória, o que pode levar a problemas importantes ao tentar avaliar algumas fontes de viés estatístico) Simulações extremamente rápidas usando GPUs, em torno de 100-1000x mais rápido que o OpenKantu Avaliação do viés de mineração de dados usando geração automática de dados em nuvem Implementação de mineração em nuvem comunitária que nos permite resumir todos os esforços de criação de sistemas e avaliação de polarização Muitos mecanismos alternativos de evolução de perdas (o que significa que temos acesso a técnicas de saída mais avançadas)
Se você está interessado em aprender mais sobre fontes de viés estatístico na geração automática de sistema e usar o pKantu, nosso mais recente software de geração automatizada de sistemas, por favor considere juntar-se ao Asirikuy, um site repleto de vídeos educacionais, sistemas de negociação, desenvolvimento e e abordagem transparente para negociação automatizada em geral.
86 respostas ao & # 8220; OpenKantu System Generator & # 8221;
Eu li o manual sobre os parâmetros sobre os tipos de simulação (por exemplo, cota fixa, datas aleatórias, estudo de IS / OS e simulação de avanço), mas ainda não consigo entender o que são e como usá-los. Você pode explicar isso em detalhes? Por que precisamos executá-los em vez de usar o & quot; single cycle & # 8217 ;? Além disso, você pode me fornecer um processo / procedimento de como gerar um sistema e testá-lo para ter certeza de que ele é robusto o suficiente para rodar em uma demonstração / ambiente ao vivo?
Obrigado pelo seu post: o)
Você pode explicar isso em detalhes? Por que precisamos executá-los em vez de usar "ciclo único"?
Cada procedimento diferente fornece um tipo diferente de resultado. A simulação de ciclo único gera apenas sistemas X, mas o número de sistemas válidos de todos os gerados é um pouco aleatório. Por exemplo, uma execução de ciclo único pode gerar 100, 2 ou até mesmo zero sistemas válidos, dependendo da complexidade dos seus filtros. Se você quiser ter certeza de que vai "# 8211; no final & # 8211; tem um determinado número de sistemas válidos (sistemas que estão em conformidade com os seus filtros), então você deve executar uma quota fixa & # 8220; & # 8221; simulação que executa novos padrões até obter o número de resultados solicitados. A análise de walk forward permite que você simule uma metodologia de geração / triagem / negociação a termo, enquanto os métodos aleatórios permitem que você veja se quaisquer conclusões estatísticas dependem do período escolhido para entrar / sair do teste da amostra ou se as conclusões são genéricas Período de testes. Você deve experimentar cada uma delas e postar quaisquer dúvidas ou dúvidas que você possa ter no processo.
Além disso, você pode me fornecer um processo / procedimento de como gerar um sistema e testá-lo para ter certeza de que ele é robusto o suficiente para rodar em uma demonstração / ambiente ao vivo?
Seria irresponsável dar-lhe qualquer procedimento, porque nenhum procedimento pode garantir o sucesso na demonstração / negociação ao vivo. Qualquer procedimento que eu lhe daria teria uma probabilidade de fracasso, cabe a você experimentar, estudar e sair com um procedimento que satisfaça suas necessidades. Como se diz no manual e acima, Kantu não é um Santo Graal, você ainda precisa estudar muito, experimentar e chegar a suas próprias conclusões através de sua própria análise. Kantu é uma ferramenta, nada mais, nada menos. Se você quer aprender mais sobre negociação algorítmica e obter uma educação completa sobre o assunto, então eu aconselho você a se juntar a Asirikuy, onde você receberá um conhecimento profundo sobre os problemas de design do sistema, robustez, etc. Se você comprou a Kantu, então esta compra conta para uma associação Asirikuy (envie-me um e-mail diretamente e eu lhe enviarei um link com o restante do pagamento e o link da assinatura se você estiver interessado).
Se você tiver alguma pergunta específica sobre a funcionalidade, sinta-se à vontade para publicá-las aqui ou me enviar um e-mail diretamente e eu ficarei feliz em responder: o) Muito obrigado novamente por sua postagem,
O programa continua me dizendo Não é possível abrir o arquivo & # 8220; EURUSD_DAILY_DATA_SAMPLE. CSV & # 8221; que está incluído no arquivo com a versão demo. Talvez algo nas configurações regionais do Windows precisa mudar? Tentei brincar com eles, mas sem resultados. Ajuda pls!
Obrigado pelo seu post: o) O Kantu define sua própria data e separadores decimais, portanto, isso não deve ser um problema. Se você quiser experimentar o separador decimal usado pelo programa é um & # 8220;. & # 8221; e o separador de data deve ser uma barra & # 8220; / & # 8221 ;. Deixe-me saber se você continuar a experimentar problemas,
Eu sou da Rússia e no Windows russo ele me diz: "Não é possível abrir". Eu testei na cópia em inglês do Windows e tudo funciona, eu tentei definir as configurações regionais da mesma forma que na cópia em inglês, mas não está funcionando.
Bom dia, Sr. Fernandez.
Estou muito interessado em seu programa gerador Kantu.
Infelizmente meu inglês não é tão bom que eu ainda esteja aprendendo.
Eu quero perguntar se eu entendi corretamente que o.
As estratégias do KantuGenerator são geradas com base nos padrões de candlestick?
O gerenciamento de pedidos pode ser adaptado com o trail stop ou break even?
São suportados nos processadores de 4 núcleos de software?
Espero não fazer perguntas estúpidas.
Saudações da Suíça.
Muito obrigado pelo seu post: o) Deixe-me agora responder suas perguntas:
1. Kantu cria sistemas baseados na ação do preço. Isto significa que os sistemas são criados com base em comparações entre os valores OHLC de diferentes velas. Às vezes, os resultados podem ser interpretados como padrões de velas, mas outras vezes eles podem parecer mais com o que algumas pessoas reconheceriam como "harmonic". Padrões Kantu apenas procura relações entre os valores OHLCV de diferentes velas.
2. Não. A Kantu tem a opção de implementar um mecanismo SL / TP ajustado para ATR, mas não possui opções de gerenciamento de pedidos de trilha ou break-even. A razão é que esses dois recursos não são compatíveis com o rápido & # 8220; ohlc apenas & # 8221; simulações realizadas por Kantu (os resultados não seriam precisos se pontos de equilíbrio ou de trilha fossem usados).
3. Sim, uma versão será lançada em poucos dias com suporte multi-core (já implementei o recurso).
Espero que isso responda à sua pergunta
Extraindo o método não suportado kantu.
a extração da versão unix falha no arquivo principal & # 8211; kantu.

Construindo sistemas de negociação usando geração automática de código
Se você ainda está procurando uma vantagem nos mercados, os sistemas de negociação automatizados são a melhor maneira de obtê-lo. Saber mais.
Direitos autorais (c) 2010 Adaptrade Software. Todos os direitos reservados.
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 NEGOCIAÇÃO REAL. TAMBÉM, DESDE QUE OS NEGÓCIOS NÃO SEJAM REALMENTE EXECUTOS, OS RESULTADOS PODEM TENER SOB OU COMENTÁRIOS COMPLEMENTARES PARA O IMPACTO, SE HAVER, DE CERTOS FATORES DE MERCADO, TAL COMO 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Á FAZENDO QUE QUALQUER CONTA VÁ OU SEJA PROBABILITÁVEL PARA ALCANÇAR LUCROS OU PERDAS SIMILARES ÀOS MOSTRADOS.
EasyLanguage e TradeStation são marcas registradas da TradeStation Technologies, Inc.
Uma das maiores tendências no comércio varejista na última década foi o aumento da popularidade do comércio automatizado. Neste tipo de negociação, também conhecido como execução automatizada de ordens, os sinais de compra e venda gerados por um sistema de negociação são executados automaticamente por uma plataforma conectada à conta de corretagem do negociante. Isso permite a troca de mãos livres, o que permite uma execução mais rápida, menos erros e a capacidade de negociar prazos mais curtos com estratégias de frequência mais alta.
O algoritmo básico para a construção de sistemas de negociação usando geração automática de código é descrito abaixo na Figura 1. Ele começa com um método para combinar diferentes elementos da estratégia de negociação. Esses elementos podem incluir vários indicadores técnicos, como médias móveis, estocásticos e assim por diante; diferentes tipos de ordens de entrada e saída; e condições lógicas para entrar e sair do mercado.
Figura 1. Algoritmo básico para construção de estratégia automatizada.
Depois que os diferentes elementos são combinados em uma estratégia coerente, ela pode ser avaliada no mercado ou nos mercados de interesse. Isso exige dados de mercado - preços, volume, juros em aberto, etc. - para cada mercado. De um modo geral, você também teria um conjunto de metas de compilação para ajudar a classificar ou classificar cada estratégia. Exemplos de metas de construção incluem várias medidas de desempenho, como lucro líquido, redução, porcentagem de vencedores, fator de lucro e assim por diante. Estes poderiam ser definidos como requisitos mínimos, como um fator de lucro de pelo menos 2.0, ou como objetivos a serem maximizados, como a maximização do lucro líquido.
Base Teórica da Geração Automática de Código.
Como descrito acima, construir um sistema de negociação usando geração automática de código é essencialmente um problema de otimização. A combinação de elementos de estratégia que maximiza as metas de construção é considerada a estratégia final. Alguns traders objetariam que os sistemas de negociação deveriam ser construídos com base em uma hipótese de comportamento ou ação de mercado. Se você tem uma boa hipótese sobre como os mercados funcionam, uma estratégia pode ser construída em torno dessa hipótese e testada. Se funcionar, suporta a hipótese e justifica a negociação da estratégia.
Gerador de código de sistema padrão para a TradeStation.
Esta seção descreve uma abordagem ad hoc para geração automática de código na qual um sistema de negociação para a TradeStation gera automaticamente outros sistemas de negociação baseados em padrões para a TradeStation. O sistema AutoSystemGen procura por um conjunto de regras de negociação, junto com os valores de parâmetros associados, que atendam a um conjunto especificado de requisitos de desempenho.
Embora quase qualquer tipo de indicador ou lógica de negociação possa ser incluído no gerador do sistema de negociação descrito aqui, para manter as coisas relativamente simples, as regras dos sistemas gerados serão restritas a padrões de preços. Cada regra de entrada de um sistema de negociação gerado terá o seguinte formato:
A chave para esse processo é encontrar sistemas de negociação candidatos. Um sistema pode consistir de uma a dez regras da forma mostrada acima. Negociações são entradas no mercado se todas as regras forem verdadeiras, e negociações são feitas depois de um certo número de barras. Se isso fosse codificado como um sistema tradicional da TradeStation, com um máximo de 10 regras, haveria 52 entradas. Isso criaria uma estratégia incômoda.
O código para o sistema AutoSystemGen e suas funções relacionadas está disponível em Breakout Futures (breakoutfutures /) na página Free Downloads.
Como exemplo, considere o mercado futuro de títulos de 30 anos do Tesouro (símbolo @ US. P na TradeStation 8). O AutoSystemGen foi otimizado nos últimos 20 anos de preços de T-bond com a entrada OptStep aumentada de 1 para 10000. Isso significa que o sistema avaliou 10.000 sistemas de negociação diferentes. A otimização foi executada duas vezes, uma para negociações longas e outra para operações a descoberto. Os seguintes requisitos de desempenho foram utilizados: lucro líquido de pelo menos US $ 30.000, perda do pior caso não superior a US $ 7500, pelo menos 200 negociações, percentual lucrativo de pelo menos 50% e fator de lucro de pelo menos 1,2. Em um computador dual core com o Vista, foram necessários aproximadamente 10 minutos para executar cada otimização (10.000 sistemas por otimização).
Sistema 2332, @ US. P, 9/17/2007 12:23:00, Long Trades.
Lucro Líquido = 53562,50, Máximo DD = -7381,25, Número de Negociações = 250, Percentual de Vitórias = 56,80, Prof fator = 1,631.
Var: EntNext (false);
EntNext = Open [2] & gt; = Baixo [16] e.
Fechar [14] & lt; = Baixo [6] e.
Se EntNext então.
Compre o próximo bar no mercado;
Se BarsSinceEntry = 2 então.
Vender próxima barra no mercado;
System 5771, @ US. P, 9/17/2007 12:27:00, Long Trades.
Lucro Líquido = 42145,00, Máx. DD = -5733,75, Número de Negociações = 207, Percentual de Vitórias = 57,00, Prof fator = 1,631.
Var: EntNext (false);
EntNext = Alto [7] & gt; = Baixo [19] e.
Fechar [20] & gt; = Fechar [5] e.
Alto [18] & gt; = Baixo [2] e.
Se EntNext então.
Compre o próximo bar no mercado;
Se BarsSinceEntry = 2 então.
Vender próxima barra no mercado;
Sistema 7622, ​​@ US. P, 9/17/2007 12:29:00, Long Trades.
Lucro Líquido = 59348,75, DD Máximo = -7222,50, Número de Negociações = 208, Percentual de Vitórias = 60,58, Prof fator = 1,924.
Var: EntNext (false);
EntNext = Baixo [2] & lt; = Alto [9] e.
Abra [11] & gt; = Abrir [18] e.
Se EntNext então.
Compre o próximo bar no mercado;
Se BarsSinceEntry = 3 então.
Vender próxima barra no mercado;
Sistema 7718, @ US. P, 9/17/2007 12:29:00, Long Trades.
Lucro Líquido = 35526,25, DD Máximo = -6936,25, Número de Negociações = 292, Percentual de Vitórias = 56,85, fator Prof = 1,418.
Var: EntNext (false);
EntNext = Fechar [3] & gt; = Alta [19] e.
Alta [6] & lt; = Abrir [10] e.
Se EntNext então.
Compre o próximo bar no mercado;
Se BarsSinceEntry = 1 então.
Vender próxima barra no mercado;
Sistema 6160, @ US. P, 9/17/2007 12:42:00, Curtas Negociações.
Lucro Líquido = 31277,50, DD Máximo = -6846,25, Número de Negociações = 369, Percent Wins = 51,76, Prof fator = 1,297.
Var: EntNext (false);
EntNext = Alto [9] & gt; = Baixo [6] e.
Fechar [15] & gt; = Alta [8] e.
Alta [7] & lt; = Baixa [20] e.
Se EntNext então.
Vender curto próximo bar no mercado;
Se BarsSinceEntry = 1 então.
Compre para cobrir a próxima barra no mercado;
A listagem de cada sistema inclui o número do sistema (correspondente à entrada OptStep), símbolo de mercado, data atual e se o sistema é apenas longo ou curto. A próxima linha contém algumas estatísticas de desempenho resumidas para ajudar na avaliação de cada sistema. Finalmente, o código do sistema é mostrado. Para avaliar os sistemas no TradeStation, o código entre as duas linhas de comentário () pode ser copiado e colado em uma estratégia no TradeStation, em seguida, executado na janela do gráfico.
O último sistema no arquivo de saída é para um sistema curto somente (# 6160). Quando guardada na TradeStation como estratégia e aplicada ao mesmo gráfico de T-bond, foi produzida a seguinte curva de capital:
Figura 3. Sistema Short-only para T-bonds, nos últimos 20 anos, com US $ 15 por transação deduzidos para custos de negociação, gerados pelo sistema AutoSystemGen.
Programação Genética para Geração Automática de Código.
A abordagem ad hoc descrita na seção anterior é simples, mas tem duas limitações: (1) as estratégias geradas aleatoriamente não convergem para as metas de compilação e (2) o modelo do sistema de padrões é difícil de generalizar para estratégias mais complexas . Isso sugere que é necessária uma abordagem mais sofisticada.
Um método para geração automática de código que trata dessas duas preocupações é chamado de programação genética (GP), 1 que pertence a uma classe de técnicas chamadas algoritmos evolutivos. Algoritmos evolutivos e GP em particular foram desenvolvidos por pesquisadores em inteligência artificial baseados nos conceitos biológicos de reprodução e evolução. Um algoritmo GP “evolui” uma população de estratégias de negociação a partir de uma população inicial de membros gerados aleatoriamente. Membros da população competem uns contra os outros com base em sua "aptidão". Os membros mais aptos são selecionados como "pais" para produzir um novo membro da população, que substitui um membro mais fraco (menos apto).
Reduz a necessidade de conhecimento de indicadores técnicos e desenho de estratégia. O algoritmo GP seleciona as regras de negociação individuais, indicadores e outros elementos da estratégia para você.
O processo de construção de regras permite uma complexidade considerável, incluindo regras de negociação não lineares.
O processo GP elimina os elementos mais trabalhosos e entediantes do processo tradicional de desenvolvimento de estratégias; ou seja, criar uma nova ideia de negociação, programá-la, verificar o código, testar a estratégia, modificar o código e repetir. Tudo isso é feito automaticamente no GP.
O processo GP é imparcial. Enquanto a maioria dos comerciantes desenvolveu vieses a favor ou contra indicadores específicos e / ou lógica de negociação, o GP é guiado apenas pelo que funciona.
Ao incorporar a semântica da regra de negociação adequada, o processo GP pode ser projetado para produzir regras de negociação lógicas e código livre de erros.
O processo GP geralmente produz resultados que são não apenas exclusivos, mas não óbvios. Em muitos casos, essas gemas escondidas seriam quase impossíveis de encontrar de outra maneira.
Ao automatizar o processo de criação, o tempo necessário para desenvolver uma estratégia viável pode ser reduzido de semanas ou meses para uma questão de minutos em alguns casos, dependendo do tamanho do arquivo de dados do preço de entrada e de outras configurações de construção.
A programação genética tem sido usada com sucesso em uma variedade de campos, incluindo processamento de sinais e imagens, controle de processos, bioinformática, modelagem de dados, geração de código de programação, jogos de computador e modelagem econômica; ver, por exemplo, Poli et al. 2 Uma visão geral do uso do GP em finanças é fornecida por Chen. 3 Colin 4 foi um dos primeiros a explicar como usar GP para otimizar combinações de regras para uma estratégia de negociação.
J. Koza. Programação Genética. The MIT Press, Cambridge, MA. 1992.
R. Poli, W. B. Langdon e N. F. McPhee. Um guia de campo para programação genética. Publicado via lulu e disponível gratuitamente em gp-field-guide. uk, 2008. (Com contribuições de J. R. Koza).
Shu-Heng Chen (Editor). Algoritmos Genéticos e Programação Genética em Finanças Computacionais. Kluwer Academic Publishers, Norwell, MA. 2002.
A. Colin. Algoritmos genéticos para modelagem financeira, Trading on the Edge. 1994, páginas 165-168. John Wiley & amp; Sons, Inc. Nova Iorque.
Risto Karjalainen. Regras técnicas de negociação em evolução para futuros de S & P 500, Advanced Trading Rules, 2002, Pages 345-366. Elsevier Science, Oxford, Reino Unido.
Jean-Yves Potvin, Patrick Soriano e Maxime Vallee. Gerando regras de negociação nos mercados de ações com programação genética. Computadores e Pesquisa de Operações, Volume 31, Edição 7, junho de 2004, páginas 1033-1047.
Massimiliano Kaucic. Investimento utilizando métodos evolutivos de aprendizagem e regras técnicas. Revista Européia de Pesquisa Operacional, volume 207, edição 3, 16 de dezembro de 2010, páginas 1717-1727.
Um Algoritmo de Construção Usando Programação Genética.
Expandindo o algoritmo de construção apresentado anteriormente (ver Fig. 1), um algoritmo mais detalhado é ilustrado abaixo na Fig. 4 com base na programação genética. As caixas cinza-sombreadas representam os dados de entrada, que incluem os dados de preço para o (s) mercado (s) de interesse, os indicadores e tipos de ordem no chamado conjunto de construção e as opções e critérios de desempenho (metas de construção) selecionadas pelo do utilizador.
Figura 4. Algoritmo de construção para geração automática de código com programação genética.
O processo GP pode ser usado para evoluir simultaneamente dois elementos essenciais da estratégia: condições de entrada e ordens de entrada e saída. As condições de entrada são tipicamente representadas como estruturas de árvore, como mostrado abaixo na Fig. 5.
A chave para a evolução das ordens de entrada e saída usando programação genética é representar os diferentes tipos de pedidos de forma generalizada. Por exemplo, parar e limitar os preços de entrada pode ser representado da seguinte forma:
Embora a programação genética seja capaz de gerar estratégias de negociação com considerável variedade, é necessário começar com uma estrutura generalizada para as estratégias a seguir. A estrutura da estratégia mostrada abaixo no pseudocódigo fornece uma estrutura para a construção de estratégias com base nas condições de entrada e nos tipos de pedidos, como os discutidos acima:
Entradas: N1, N2, N3,…
Se a posição for plana e LongEntryCondition for verdadeira, então.
Longa entrada ...
Inicialize ordens de saída longas conforme necessário ...
Se a posição for plana e ShortEntryCondition for true, então.
Ordem de entrada curta…
Inicialize ordens de saída curtas conforme necessário ...
Se a posição for longa, então.
Longa ordem de saída 1…
Longa ordem de saída 2…
Se a posição é curta então.
Ordem de saída curta 1…
Ordem de saída curta 2…
[Saída opcional de fim de dia]
As estratégias começam com a lista de entradas. Uma entrada é fornecida para qualquer parâmetro do indicador, comprimento de lookback do padrão de preço e quaisquer parâmetros requeridos pelos pedidos de entrada e saída, como o comprimento de lookback do ATR.
Para ilustrar o uso de programação genética para geração automática de código na construção de estratégias, o programa Adaptrade Builder foi executado em barras diárias de um mercado futuro de índices de ações para uma população pequena e um número limitado de gerações. As métricas de desempenho escolhidas para orientar o processo foram o lucro líquido, o número de negócios, o coeficiente de correlação, a significância estatística e a relação retorno / rebaixamento. Metas específicas foram estabelecidas para o número de negociações e a relação retorno / rebaixamento. As outras métricas selecionadas foram maximizadas. A função de adequação foi uma média ponderada de termos para cada métrica.
Figura 6. Porcentagem de membros da população com lucro líquido fora da amostra superior a US $ 1.000.
Da mesma forma, o lucro líquido médio da OOS da população aumentou após cinco e dez gerações, como mostra a Figura 7. Observe que esses resultados são para o lucro líquido do OOS. Por definição, os dados fora da amostra não são usados ​​na compilação, portanto, os resultados do OOS são imparciais; eles não se beneficiam da retrospectiva. Isto implica que o processo GP não só tende a melhorar os resultados dentro da amostra ao longo de gerações sucessivas, o que é um efeito direto do algoritmo GP, mas os resultados OOS também tendem a melhorar à medida que as estratégias são evoluídas. Isso indica uma construção de alta qualidade.

Construindo sistemas de negociação de forma automática.
Avanços na tecnologia agora permitem que sistemas comerciais confiáveis ​​sejam construídos com software evolucionário que "escreve". as regras para as estratégias. Esses geradores de software de sistema de negociação podem operar até 200 vezes mais rápido do que outros algoritmos relacionados e produzir código de sistema de negociação real em uma variedade de idiomas, incluindo EasyLanguage da TradeStation.
Isso não é simplesmente otimizar um sistema comercial existente usando um algoritmo genético, nem está fazendo uso de análise preditiva, como redes neurais. O mecanismo central usado aqui é um algoritmo evolucionário avançado, chamado programação genética, e foi adaptado para uso no setor financeiro e é usado especificamente para produzir sistemas de negociação.
Aqui vamos discutir os conceitos básicos desta tecnologia. Um segundo artigo irá demonstrar o processo e utilizá-lo para desenvolver um sistema de negociação direcional de mercado único, que será disponibilizado no formato EasyLanguage.
Uma distinção importante desse processo é que ele opera no nível do código da máquina. Ao fazê-lo, ele irá evoluir sistemas de negociação a taxas de mais de 100.000 sistemas por hora, dependendo da quantidade de dados utilizados e da velocidade do processador. Em nosso estudo de caso, usaremos 62 entradas em quase cinco anos de dados, mas isso consumirá apenas cerca de três minutos de tempo de execução em um PC de mesa normal. Isso é milhões de vezes mais rápido do que a otimização de força bruta pode realizar e é um dos benefícios dessa abordagem.
Este não é um experimento em otimização. Na verdade, essa abordagem passa por dores para evitá-lo. Os parâmetros tipicamente o foco de otimização, como a duração de um preço médio, são fixados durante a execução. O programa pode alterar essas variáveis ​​durante a execução, mas apenas operando fora do recurso de entrada estabelecido. No nosso caso, um novo sistema de negociação será desenvolvido automaticamente com base no desempenho fora da amostra durante o processo evolutivo.
O algoritmo central usado em nosso mecanismo de sistema de negociação é chamado de AIM-GP, que significa Indução Automática de Código de Máquina com Programação Genética. Para obter mais informações sobre essa ferramenta, consulte "Evolução eficiente de código de máquina para arquiteturas CISC usando blocos e crossover homólogo", & quot; por Nordin, J. P., Francone, F. e Banzhaf, W., em Advances in Genetic Programming 3, MIT Press.
O AIM-GP armazena programas individuais (sistemas de negociação) como sequências lineares de código de máquina binária nativa, que são executadas diretamente por um processador central. Essa abordagem é superior a outras técnicas por vários motivos. Primeiro, as instruções de carregamento diretamente na CPU eliminam os intérpretes de programação no processo de avaliação. Em segundo lugar, o processo evolutivo consiste nas operações tradicionais: cruzamento, reprodução e mutação, mas inclui várias operações adicionais importantes. O crossover não homólogo, por exemplo, permite a evolução de programas de tamanhos variados, o que é muito diferente dos conjuntos de instruções de comprimento fixo encontrados em algoritmos genéticos. Terceiro, o AIM-GP produz novo código de programa de computador real.
Mas talvez o benefício mais importante dessa abordagem seja o quão seletiva ela é. AIM-GP irá descartar facilmente uma entrada inteira ou um conjunto de entradas se determinar que a entrada não contribui para a solução. De fato, veremos que a maioria dos nossos 62 insumos será descartada completa e rapidamente.
Outras ferramentas de desenvolvimento estão disponíveis. No entanto, o algoritmo AIM-GP mais recente está entre os mais rápidos e precisos disponíveis. Veja, por exemplo, "Estender os limites da otimização de projetos integrando técnicas de otimização rápida com programação genética linear baseada em código de máquina", & rdquo; por Frank D. Francone e Larry M. Deschaine, em Ciência da Informação-Informática e Ciência da Computação: An International Journal, vol. 161. O AIM-GP produz consistentemente boas soluções em comparação com abordagens comparáveis, e é ideal para complexas, barulhentas, domínios pouco compreendidos, como os dados do mercado financeiro.
Evidentemente, o desenvolvimento de um bom sistema de negociação requer a redução do potencial do ajuste de curvas, que está projetando um sistema para lucrar nos mercados passados ​​e pode ser identificado quando os resultados fora da amostra não coincidem com os resultados da amostra.
Os desenvolvedores usam métodos como uma grande base de testes, parâmetros mínimos e análise de sensibilidade de parâmetros para minimizar o ajuste de curvas. No entanto, muitos sistemas de negociação falham no desempenho fora da amostra. Para criar sistemas e indicadores de negociação automaticamente, minimizando o potencial de ajuste de curva, as seguintes etapas e considerações são necessárias:
1. A pressão de parcimônia, que coloca efeitos de redução matemática nos programas evoluídos para favorecer programas mais simples, extrai do conceito de comprimento de descrição mínima. Quanto mais simples for um programa, menos provável será a adaptação dos dados à curva.
2. Aleatorização de 16 parâmetros de programação genética de nível superior, incluindo crossover, mutação, migração e tamanho da população para ajudar a encontrar soluções que são globalmente ótimas.
3. Aleatorização de mais de 30 instruções no nível da máquina para ajudar a encontrar soluções globais ideais.
4. Condições multi-run implementadas para re-evoluir sistemas de negociação com parâmetros reinicializados e rerandomizados.
5. Tamanho do programa dinamicamente variado, utilizando o crossover não homólogo, reduzindo as limitações de tamanho do programa de tamanho fixo e permitindo que soluções simples e elegantes surjam.
6. Empregar um conjunto de terminais inicial imparcial, fazendo uso de 62 padrões técnicos e indicadores usados ​​como material genético inicial no processo evolutivo.
7. Evolução iniciada em uma origem de ponto zero, não fazendo suposições iniciais sobre a direção do mercado, nem como um indicador ou padrão particular deve ser usado dentro do processo evolutivo. Assim, o sistema de negociação não é influenciado pelo desenvolvedor porque nenhuma estrutura do sistema de negociação é definida antes do início da evolução.
A velocidade da evolução é crítica. Softwares interpretativos, como gráficos, plataformas de teste, planilhas eletrônicas e editores de documentos, operam longe da CPU e normalmente sofrem com o aumento do volume de software, causado por uma abundância de interfaces amigáveis ​​ao homem visualmente agradáveis. Este inchaço diminui a velocidade de processamento. Por exemplo, para avaliar a expressão:
requer cerca de 20 ciclos de clock no sistema típico de software interpretativo. Nosso sistema, por outro lado, pode executar a expressão acima como uma instrução única em um ciclo de clock. Enquanto o software de nível superior sofre de ineficiências, o código de nível inferior é altamente compactado, eficiente e rápido. Além disso, a compactação da CPU fornece um ambiente de alta velocidade pronto para aceitar essas instruções de baixo nível.
No entanto, para explorar esse processamento de alta velocidade, você deve programar o código no nível da máquina. O AIM-GP opera neste eficiente nível de máquina com código de máquina altamente compacto e também produz código de montagem eficiente, bem como código C, Java e código EasyLanguage traduzido, como sua saída.
Projetando um sistema de negociação da maneira tradicional é intensivo de tempo. Desenvolvedores de sistemas comerciais gastam inúmeras horas testando e otimizando sistemas de negociação. No entanto, para testar e otimizar um sistema de negociação, você deve primeiro ter um sistema de negociação existente ou pelo menos uma idéia geral ou grupo de idéias para um sistema de negociação. Isso parece simplista, mas, na verdade, os desenvolvedores de sistemas de negociação devem ter um ponto de partida para crescer, o que geralmente é uma teoria ou uma premissa do movimento do mercado.
Alguns exemplos de pontos de partida para o desenvolvimento do sistema são as fugas de canal adaptáveis ​​filtradas, o suporte adaptativo e os movimentos de contagem de resistência e os padrões atrasados ​​com filtros indicadores. O desenvolvedor do sistema tem algum kernel de uma idéia para trabalhar; e por meio de testes, otimização, de-otimização, avaliação de espaço de parâmetros, análise de sensibilidade, estudos de mercado relacionados, adições de filtro e injeção aleatória de ruído, ele acaba com um sistema de negociação.
De qualquer forma, muitas horas serão gastas nesse desenvolvimento, enquanto a ferramenta mais importante que o desenvolvedor terá ficará ociosa e subutilizada. Essa ferramenta é, obviamente, a CPU.
Em 1955, os custos de software eram um décimo do custo de um projeto. Hoje é o hardware que custa um décimo do custo do projeto e, consequentemente, essa crise de software levou ao fato de que 99% dos ciclos de CPU simplesmente não são usados. Os custos de programação ainda são altos hoje, mesmo considerando a programação offshore e a terceirização. Usar um algoritmo que produz programas automaticamente é benéfico para o usuário, a indústria e o consumidor.
O processo evolutivo do AIM-GP inclui conjuntos de instruções que operam sobre insumos derivados de dados tradicionais do mercado financeiro, como padrões, indicadores e dados entre mercados. Um exemplo de um parâmetro de entrada baseado em padrão booleano é:
Esta expressão tem um dos dois estados: verdadeiro ou falso. Quando combinado com um parâmetro de entrada booleano baseado em indicador, como:
C & lt; = MÉDIA (FECHAR, DC) - EMGP,
um padrão de configuração vender ou comprar surge. Observe que não definimos isso como um padrão de compra, venda ou manutenção ou determinamos se ele é relevante. Nós simplesmente afirmamos isso como material genético inicial. Aqui, DC é o ciclo dominante da série temporal e o EMGP é o que chamamos de uma variável emergente, & rdquo; que é criado pela programação genética.
Além dos operadores matemáticos padrão, como +, -, * e & divide ;, as condicionais e as funções transcendentais são incluídas nos conjuntos de instruções. Também podemos usar outras séries de dados pré-processados ​​em nosso conjunto de dados, incluindo dados de Compromisso de Comerciantes da Commodity Futures Trading, dados intermarket, dados fundamentais, dados de opções, etc. A programação genética determinará se a inclusão de elementos adicionais contribui para a negociação sistema. Depois de milhares de instruções definir manipulações, no nível da máquina, um sistema de negociação geralmente surgirá após 10.000 a 100.000 passagens através dos dados. Isso pode levar alguns minutos de tempo de execução dependendo do tamanho dos dados.
A evolução pode ser direcionada para um dos muitos critérios, incluindo um índice de Sharpe, lucro líquido / rebaixamento máximo, fator de lucro ou simplesmente lucro líquido bruto. A falha em melhorar os resultados de destino na finalização de um elemento do sistema. No nosso exemplo, que vamos percorrer no próximo artigo, vamos evoluir um sistema de negociação que visa o lucro líquido. Observe que o maior lucro líquido nem sempre é o melhor objetivo ao desenvolver um sistema de negociação.
O único outro constrangimento que adicionaremos é que deve haver um mínimo de 12 turnos por turno por ano. Isso força o programa a desenvolver sistemas mais ativos, aumentando, assim, a relação comercial / parâmetro de nosso código evoluído e, consequentemente, aumentando sua chance de robustez.
Não sabemos onde qualquer uma das medidas típicas de desempenho do sistema, como fator de lucro, precisão percentual, lucro líquido ou rebaixamento, acabará. O que podemos fazer é atribuir nossos critérios, iniciar a execução, aguardar alguns minutos para que o nosso sistema de negociação saia e revise os resultados.
Então, as três etapas para projetar nosso sistema de negociação são:
1. Execute o pré-processador de dados em nosso mercado selecionado.
2. Execute o gerador do sistema de negociação.
3. Traduza nosso código no EasyLanguage.
Depois de automatizado, isso geralmente leva apenas alguns minutos do nosso tempo. No próximo artigo, abordaremos cada passo em detalhes e explicaremos o processo de construção de um sistema de negociação. Em seguida, construiremos e detalharemos um sistema de negociação para futuros de ouro desenvolvido com esse processo automatizado.

Comments