Tuesday 21 November 2017

Exemplo Do Sistema De Comércio Amibroker


Ami broker System Design amp Testing True Portfolio-Level Backtesting Teste seu sistema de negociação em vários títulos usando restrições de contas realistas e equidade de portfólio comum. As carteiras de comércio para diminuir o rácio de risco. Descubra como a mudança do número de posições simultâneas e o uso de gerenciamento de dinheiro diferente afetam o desempenho do seu sistema comercial. Dimensionamento dinâmico da posição do nível do portfólio Use o patrimônio da carteira atual (soma do caixa e todo o valor das posições abertas simultaneamente) para calcular o novo tamanho do comércio ou usar qualquer outro método de dimensionamento de posição, especificando o valor em dólares ou o número de contratos compartilhados. O tamanho da posição pode ser constante ou mudar o comércio por comércio. Velocidade rápida ardente Nasdaq 100 símbolo backtest do sistema MACD simples, cobrindo 10 anos de dados do fim do dia leva abaixo de um segundo Acesso múltiplo aos dados de símbolos As regras de negociação podem usar outros dados de símbolos - isso permite a criação de estratégias de propagação. Sinais de calendário do mercado global, negociação em pares, etc. Múltiplos quadros de tempo e moedas múltiplas em um sistema Os sistemas podem usar vários quadros de tempo ao mesmo tempo e símbolos denominados em moedas diferentes Escalando in-out (pyramiding) e reequilibrando Você pode testar sistemas que escalam e reequilibram abertos Posições em momentos definidos pelo usuário Tudo é personalizável Você pode alterar os gráficos de relatório incorporados, criar sua própria equidade, gráficos de redução, criar tabelas próprias no relatório, adicionar métricas personalizadas Procedimento de backtest personalizado Mesmo o processo de backtest em si pode ser modificado pelo usuário Permitindo manuseio não padrão de cada sinal, todo comércio. Ele também permite criar métricas personalizadas, implementar a otimização dirigida de Monte-Carlo e o que quer que você possa sonhar. Classificação de amplificador de pontuação Se os sinais de entrada múltipla ocorrerem na mesma barra e você ficar sem o poder de compra, a AmiBroker executa classificação e ranking de barra-a-barra Com base no escore de posição definível pelo usuário para encontrar comércio preferível. Negociação de rotação Um modo dedicado para algoritmos de negociação de rotação de setor usando uma pontuação definível pelo usuário para alternar entre os elementos de estoque preferenciais Paradas embutidas flexíveis Todas as paradas são definíveis pelo usuário e podem ser corrigidas ou dinâmicas (alteração do montante da parada durante o comércio). Os tipos de parada incorporados incluem perda máxima, objetivo de lucro, parada final (incluindo lustre), barra N (cronometrada) com atraso de reentrada personalizável, atraso de ativação e limite de validade Muitos outros itens. Há muitas coisas restantes Para mencionar, incluindo o apoio de fundo mútuo (taxa de resgate antecipado, restrições de saída antecipada) Modo de Futuros (suporte de valor de marginpoint) Comissões personalizadas Controle de preço total de comércio (pode emular atraso) e atrasos comerciais Suporte para restrições como tamanho de lote redondo, tamanho de controle, comércio mínimo Tamanho, valor comercial máximo como porcentagem do volume da barra Relatórios detalhados para todas as negociações, apenas longas e de curta duração com 42 métricas incorporadas, incluindo taxa de Sharpe, Índice de úlcera, CARMDD e muitos outros Gráfico de distribuição de lucros, gráfico de excursão favorável máximo, máximo Tabela de excursão adversa Armazenamento, manutenção e visualização automática de todos os testes históricos realizados através do Report Explorer Suporte para todos os intervalos (diariamente e intradía) e todas as classes de instrumentos Sem limite de número De símbolos sob teste (capaz de lidar com o universo de ações do enitre US) Validação de amplificação de amplificação O mecanismo de otimização de otimização de nível de portfólio real suporta todos os recursos de backtester de portfólio listados acima e permite encontrar a combinação de parâmetros de melhor desempenho de acordo com a função objetiva definida pelo usuário (alvo de otimização) Otimização Exaustiva ou Inteligente Você pode escolher a otimização Exhaustiva (grade total), bem como algoritmos de otimização evolutiva de Inteligência Artificial como PSO (Particle Swarm Optimization) e CMA-ES (Covariance Matrix Adaptation Evolutionary Strategy) que permitem usar até 100 parâmetros de otimização. Também está disponível o Optimizer API que permite adicionar seus próprios algoritmos inteligentes. O Otimizador é rápido e rápido. O EOD de 10 anos, 100 símbolos, 100 etapas de ativação exaustivas demoram 25 segundos. Os resultados podem ser visualizados em atraentes gráficos de otimização animada 3D para análise de robustez Monte Carlo Simulação Prepare-se para condições de mercado difíceis. Verifique os cenários do pior caso e a probabilidade de arruinar. Faça uma visão das propriedades estatísticas do seu sistema de negociação Testes de robustez por randomização Verifique a robustez do seu sistema de negociação usando seleções aleatórias de estoque (pontuação de posição aleatória) e randomização de preços de comércio simulando imprevisíveis deslizamentos de choque instantâneo de choque Teste Walk-Forward Olhando apenas para o O desempenho otimizado é um erro que muitos comerciantes fazem. Evite superar a armadilha e verificar o desempenho fora da amostra do seu sistema comercial. O teste Walk-forward é um procedimento que faz o trabalho para você. O AmiBroker possui ensaios de avanço automático totalmente automatizados que estão integrados no procedimento de otimização, de modo que produz estatísticas na amostra e fora da amostra. AmiBrokers Características avançadas: o modo de ancoragem, o fim, os intervalos intermediários, o modo não ancorado fixado pelo usuário, a métrica personalizada da função alvo (objetivo) e a estatística de Monte Carlo podem ser usadas como diagramas de equivalência de amostra fora da amostra selecionados em alvo. Relatório de teste detalhado fora da amostra (combinado de todos os períodos OoS em teste) Ferramentas de desenho orientadas a objetos Todas as ferramentas bem conhecidas à sua disposição: linhas de tendência, raios, linhas paralelas, canais de regressão, retração de fibonacci, expansão, extensões de tempo de Fibonacci Fuso horário de Fibonacci, arco, quadrado gann, quadrado gann, ciclos, círculos, retângulos, texto no gráfico, setas e mais Criação de indicador de arrastar e soltar. Basta arrastar a média móvel sobre o RSI para criar RSI suavizado. E, em seguida, a magia começa - nos bastidores AmiBroker criará um código para você e assim pode ser usado mais tarde nos parâmetros do Analysis Live Alterar o parâmetro do indicador usando o controle deslizante e vê-lo atualizado ao vivo, immediatamente à medida que você move o controle deslizante, ótimo para encontrar visualmente Como os indicadores funcionam Todos os indicadores clássicos incluídos Centenas de indicadores bem conhecidos, tais como: ROC, RSI, MACD, OBV, CCI, MFI, NVI, Stochastics, oscilador final, DMI, ADX, Parabolic SAR, TRIN, linha AdvanceDecline, AccumulationDistribution, TRIX , Oscilador de Chaikin e muitos mais Referenciando dados de símbolos múltiplos em um gráfico Este recurso permite gráficos de desempenho relativo, gráficos espalhados, gráficos compostos, gráficos de dados artificiais sintéticos A barra de reprodução de gráfico A ferramenta de repetição permite reproduzir gráficos usando dados históricos, excelente ferramenta para aprender e fazer papel Símbolo amp Intervalo ligando Link múltiplo gráfico janelas, então, se você alterar o símbolo e o intervalo em um, os outros mudam automaticamente Mudança instantânea de intervalo S Compressão no tempo de vôo sem necessidade de baixar dados compactados Folhas de gráficos múltiplas do Excel Crie várias folhas (ou páginas) cada uma contendo indicadores de gráficos diferentes e alternar entre várias configurações de indicadores instantaneamente Todos os intervalos possíveis suportados por compressões de tempo Anual, trimestral, mensal, Gráficos semanais e diários, gráficos Intraday, gráficos N-minutos, gráficos N-segundos (versão Pro), gráficos N-tick (versão Pro), barras N-range, barras N-volume Suporte multi-monitor Todos os gráficos podem ser lançados e Movido para outros monitores e tais layouts podem ser salvos e trocados entre camadas e sobreposições de um único clique, suporte à ordem Z Vários gráficos, indicadores, ferramentas de desenho podem ser colocados em camadas definíveis pelo usuário que podem ser escondidas ou tornadas visíveis com um único clique. As declarações de gráficos permitem a definição do usuário de pedidos Z de sobreposições (para a exibição) sem reordenar o código Flexibilidade e velocidade Várias janelas, painéis, escalas, intervalos possíveis ao mesmo tempo e deslocados super-rápidos graças à execução multithread e renderização Gráfico Interpretações AmiBroker pode gerar descrições automáticas programáveis ​​do significado de determinados indicadores Recursos em tempo real Suporte múltiplo de fontes de dados Você não está bloqueado em um fornecedor de dados, você pode se conectar ao eSignal, IQFeed, Interactive Brokers, QCharts, entre outros Multi-page Real Janela de citação do horário A janela em tempo real possui páginas que permitem alternar rapidamente entre várias listas de símbolos. O layout da coluna de citação RT e o pedido são totalmente personalizáveis ​​Janelas de TimeampSales ilimitadas As janelas de TampS flutuantes contêm estatísticas de pressão Bidask calculadas por RT Alertas fáceis Alertas definíveis pelo usuário desencadeadas pela ação do preço RT com texto personalizável, janela pop-up, e-mail, som Alto-baixo Gráficos de barras de classificação Um gráfico de mini barra na janela de cotações em tempo real mostra a atual Localização do último preço dentro do indicador de tendência Bid-Ask do Low-Low Um indicador de tendência mini bidask na janela de cotação RT ajuda a leitura de fita Recursos de programação Arranjo rápido e processamento de matriz Na Fórmula AmiBroker Os vetores e matrizes de idioma (AFL) são tipos nativos como números simples. Para calcular o ponto médio dos arrays High e Low element por elemento, basta digitar MidPt (H L) 2 H e L são arrays e é compilado para o código da máquina vetorial. Não é necessário escrever loops. Isso permite executar suas fórmulas à mesma velocidade que o código escrito no montador. Os operadores e as funções nativas da matriz rápida tornam os cálculos estatísticos uma brisa. A linguagem concisa significa menos trabalho. Seus sistemas de negociação e indicadores escritos na AFL terão menos digitação e menos espaço do que em outras línguas, porque muitas tarefas típicas na AFL são apenas monocromáticas. Por exemplo dinâmico, a parada de Chandeliers baseada em ATR é apenas: ApplyStop (stopTypeTrailing, stopModePoint, 3 ATR (14), Verdadeiro, Verdadeiro) Depurador interno O depurador permite que você faça o único passo através do seu código e veja as variáveis ​​em run - Hora de entender melhor o que a sua fórmula está fazendo editor de código de última geração Desfrute de um editor avançado com destaque de sintaxe, auto-completar, dicas de chamada de parâmetro, dobramento de código, auto-indentação e relatórios de erros em linha. Quando você encontrar um erro, a mensagem significativa é exibida diretamente na linha, de modo que você não esticará seus olhos. Menos digitação, resultados mais rápidos. Codificando sua fórmula nunca foi tão fácil quanto possível com fragmentos de código prontos para usar. Use dezenas de fragmentos pré-escritos que implementem tarefas e padrões de codificação comuns, ou crie seus próprios fragmentos Multi-threading. Todas as suas fórmulas se beneficiam automaticamente de múltiplos processadores. Cada fórmula de gráfico, renderizador gráfico e cada janela de análise são executadas em segmentos separados. Miscelânea Seleção de fonte de dados ampla Dados históricos gratuitos do Yahoo Finance, MS Money, Google Finance, etc. (download automático) Dados fundamentais gratuitos do Yahoo Finance (download automático) Suporte de fornecedores múltiplos de dados de terceiros (Quotes Plus, TC2000, CSI, eSignal, IQFeed , FastTrack, Interactive Brokers etc). Lê bancos de dados Metastock diretamente Open Data API para conectividade com qualquer fonte de dados Plug-in DDE para conexão com fontes compatíveis com DDE Plug-in ODBC para conectividade de banco de dados externo Símbolo e manutenção de lista Sistema de categorização (atribuindo símbolos a mercados, grupos, setorindustries, favoritos) Ilimitado Watch list Filtragem por qualquer categoria AFL acesso à categoria estrutura Programação de estado da arte AmiBroker está escrito em C (compilado para o código da máquina), o mesmo idioma em que os sistemas operacionais estão escritos. Funciona nativamente na CPU sem necessidade de qualquer tipo de máquina virtual ou intérprete de código de byte, ao contrário de programas Java ou. NET. O fato de a CPU executar o código nativo da máquina permitir atingir a velocidade de execução máxima. O idioma da AFL pode processar até 166 milhões de barras de dados por segundo na CPU de 2GHz, veja isso para obter detalhes. O código AmiBroker foi otimizado e perfilado para ganhar velocidade máxima e minimizar o tamanho. O código pequeno é executado várias vezes mais rápido porque ele pode se encaixar em caches no chip de CPU. O programa de instalação completa com banco de dados de exemplo e arquivos de ajuda é apenas cerca de 6 (megabytes), metade da documentação e dados. Os executáveis ​​sozinhos (bibliotecas. exe e. dll) são apenas 3,5 MB. No mundo atual de bloatware, estamos orgulhosos de entregar provavelmente o aplicativo de análise técnica mais compacto. Copyright copy2016 AmiBroker. Todos os direitos reservados. Este site usa cookies. Ao navegar neste site, você concorda com a política de cookies do nosso amplificador de privacidade. A Amibroker é uma empresa de desenvolvimento de software e não fornece nenhum tipo de investimento ou serviços de corretagem nos mercados financeiros. Agente de marketing Requisitos mínimos do sistema Para executar qualquer um dos nossos produtos, você precisaria de qualquer Intel x86 CPU compatível Windows 10, 8, 7, Vista, XP, 2K 512 MB de RAM Espaço de disco de 100 MB 32 bits ou 64 bits Se você não tem certeza do que escolher - use 32 bits. A versão de 32 bits funciona em todos os lugares. No Windows de 32 bits e 64 bits. A versão de 64 bits requer Windows de 64 bits e tem vantagem de poder usar mais de 4GB de RAM, para detalhes, veja o gráfico de compatibilidade. Se você tem Windows de 64 bits, você pode instalar e usar ambas as versões (em pastas separadas). Teste gratuito. As versões para download disponíveis aqui podem ser usadas para avaliar o software gratuitamente por até 30 dias. Não é necessário inscrição Suporte ao produto Se você tiver algum problema ao baixar ou instalar o nosso software ou se tiver dúvidas sobre o uso do nosso software, visite as páginas de suporte da AmiBrokers. As versões AmiBroker mais recentes que a v6.00 estão disponíveis apenas para clientes registrados. Para obter mais informações sobre as versões mais recentes disponíveis, consulte a seção de notícias AmiBroker 6.00 Release Oficial AmiBroker - análise técnica e programa de gráficos, versão de avaliação gratuita (depois de comprar a licença, ela será desbloqueada, não será necessária nenhuma reinstalação). Instalador universal para as edições Professional e Standard. A configuração também inclui programas complementares: AmiQuote e AFL Code Wizard para que eles não precisem ser baixados separadamente. Baixar versão de 32 bits Baixar versão de 64 bits Número de versão: 6.00.2.6002 Data de lançamento: 8 de outubro de 2015 Tamanho do arquivo de 32 bits: 9 MB (9,412,064 bytes) Tamanho do arquivo de 64 bits: 10 MB (10,085,600 bytes) AmiQuote 3.12 Versão oficial AmiQuote - programa de download de citações rápido e eficiente que permite beneficiar de cotações gratuitas disponíveis na Internet. Se você já baixou o AmiBroker, NÃO precisa instalar o AmiQuote, já que ele já está instalado pelo programa de configuração AmiBroker Baixar versão de 32 bits Baixar versão de 64 bits Número da versão: 3.12 Data de lançamento: 1 de abril de 2015 Tamanho do arquivo de 32 bits: 100 KB (104,072 bytes) Tamanho do arquivo de 64 bits: 123 KB (125,448 bytes) IBController 1.3.8 IBController - complemento de interface de negociação automatizada para Interactive Brokers e AmiBroker, software livre. Versão do Windows de 32 bits de 64 bits (funciona com AmiBroker de 32 bits e 64 bits, veja isso). Este software é um complemento para o AmiBroker e precisa da AmiBroker para ser instalado primeiro. Consulte os documentos de negociação automática para obter mais informações. Número de versão: 1.3.8 Data de lançamento: 10 de agosto de 2010 Tamanho do arquivo: 56KB SSLAddOn 1.00a SSLAddOn para AmiBroker permite enviar alertas de e-mail para servidores SMTP que requerem conexão SSL (segura). Este software é um complemento para o AmiBroker e precisa da instalação do AmiBroker primeiro Número da versão: 1.00a Data de lançamento: 31 de março de 2010 Tamanho do arquivo: 343KB Guia do Usuário do AmiBroker em formato PDF O Guia do Usuário atualizado está incluído no total Pacote de instalação no formato de Ajuda HTML. É acessível pressionando a tecla F1 (Ajuda) no AmiBroker, é navegável e possui recursos de pesquisa e índice. Você deve usar esse arquivo de ajuda, não o PDF abaixo. Para o único propósito de imprimir (se você precisar de cópia impressa por algum motivo), a versão convertida em PDF é fornecida aqui: Número da versão: 6.0 Data de lançamento: 8 de outubro de 2015 Tamanho do arquivo: 8MB (7.890.264 bytes) 1344 páginas Arquivo PDF AmiBroker Development Kit (ADK) Kit de desenvolvimento AmiBroker - é um pacote para desenvolvedores CC que permite desenvolver o próprio indicador e as DLL de plugin de dados. O pacote inclui cabeçalhos, amostras de CC para indicadores personalizados e DLLs de dados. Planifique o arquivo zip. Download do arquivo ZIP Número da versão: 2.10a Data de lançamento: 4 de agosto de 2010 Tamanho do arquivo: 531KB Copyright copy2016 AmiBroker. Todos os direitos reservados. Este site usa cookies. Ao navegar neste site, você concorda com nossa política de cookies do amplificador de privacidade. A Amibroker é uma empresa de desenvolvimento de software e não oferece nenhum tipo de investimento ou serviços de corretagem em mercados financeiros. Como otimizar o sistema de negociação NOTA: Este é um tópico bastante avançado. Leia primeiro os tutoriais AFL anteriores. A idéia por trás de uma otimização é simples. Primeiro, você precisa ter um sistema comercial, isso pode ser um simples cruzamento de média móvel, por exemplo. Em quase todos os sistemas, existem alguns parâmetros (como período de média) que decidem como o sistema se comporta (ou seja, é adequado para longo prazo ou curto prazo, como é reagir em estoques altamente voláteis, etc.). A otimização é o processo de encontrar valores ótimos desses parâmetros (dando o maior lucro do sistema) para um determinado símbolo (ou um portfólio de símbolos). AmiBroker é um dos poucos programas que permitem otimizar seu sistema em vários símbolos ao mesmo tempo. Para otimizar seu sistema, você deve definir de um até dez parâmetros para serem otimizados. Você decide o que é um valor mínimo e máximo permitido do parâmetro e em que incrementos esse valor deve ser atualizado. AmiBroker então executa vários back testes o sistema usando TODAS as possíveis combinações de valores de parâmetros. Quando este processo está concluído, o AmiBroker exibe a lista de resultados ordenados pelo lucro líquido. Você pode ver os valores dos parâmetros de otimização que dão o melhor resultado. Escrevendo a fórmula AFL A otimização no testador traseiro é suportada por uma nova função chamada otimizar. A sintaxe desta função é a seguinte: variável otimizar (quot Descrição quot, padrão. Min. Etapa máxima) variável - é uma variável AFL normal que recebe o valor retornado pela função de otimização. Com os modos normal de backtesting, digitalização, exploração e comentário, a função de otimização retorna o valor padrão, então a chamada de função acima é equivalente a: variável padrão Na função de otimização de modo otimizado retorna valores sucessivos de min para max (inclusive) com passo a passo. Quot Descriptionquot é uma string que é usada para identificar a variável de otimização e é exibida como um nome de coluna na lista de resultados de otimização. O padrão é um valor padrão que otimiza a função retorna na exploração, no indicador, no comentário, na varredura e nos modos normais de teste de volta. Min é um valor mínimo da variável otimizada. O valor máximo é o valor máximo da variável otimizada. O passo é um intervalo usado para aumentar a Valor de min para max AmiBroker suporta até 64 chamadas para otimizar a função (portanto, até 64 variáveis ​​de otimização), note que, se você estiver usando otimização exaustiva, então é uma boa idéia limitar o número de variáveis ​​de otimização a apenas alguns. Cada chamada para otimizar gerar loops de otimização de etapas (max - min) e múltiplas chamadas para otimizar multiplicar o número de execuções necessárias. Por exemplo, otimizar dois parâmetros usando 10 etapas exigirá 1010 100 loops de otimização. Chamar otimizar a função apenas UMA VEZ por variável no início da sua fórmula à medida que cada chamada gera novos laços de otimização A otimização de vários símbolos é totalmente suportada pelo AmiBroker O espaço de busca máximo é de 2 64 (10 19 10.000.000.000.000.000) combinações 1. Otimização de variável única: sigavg Otimizar (Média do sinal. 9. 2. 20. 1) Cruz de compra (MACD (12. 26), Sinal (12. 26. sigavg)) Cruz de venda (Sinal (12. 26. sigavg), MACD (12. 26)) 2. Otimização de duas variáveis ​​(adequado para gráficos em 3D) por otimizar (per. 2. 5. 50. 1) Nível de otimização (nível 2. 2. 150. 4) Compra Cruzada (CCI (per), Nível) Vender Cross (Level, CCI (per)) 3. Otimização variável múltipla (3): mfast Optimize (MACD Fast. 12. 8. 16. 1) mslow Optimize (MACD Lento 26. 17. 30. 1) sigavg Optimize (Signal Média 9. 2. 20. 1) Cross de Compra (MACD (mfast, mslow). Sinal (mfast, mslow, sigavg)) Sell Cross (Sinal (mfast, mslow, sigavg), MACD (mfast, mslow)) Depois de entrar O f Ormula basta clicar no botão Otimizar na janela QuotaAutomatic Analysisquot. AmiBroker começará a testar todas as combinações possíveis de variáveis ​​de otimização e reportará os resultados na lista. Após a otimização é feita, a lista de resultados é apresentada ordenada pelo lucro líquido. Como você pode classificar os resultados por qualquer coluna na lista de resultados, é fácil obter os melhores valores de parâmetros para o menor desconto, o menor número de negócios, o maior fator de lucro, a menor exposição ao mercado e o retorno anual ajustado de maior risco. As últimas colunas da lista de resultados apresentam os valores das variáveis ​​de otimização para teste dado. Quando você decide qual combinação de parâmetros se adequa às suas necessidades, o melhor que você precisa fazer é substituir os valores padrão em otimizar as chamadas de função com os valores ideais. Na fase atual você precisa digitá-los manualmente na janela de edição da fórmula (o segundo parâmetro da função otimizada). Exibição de gráficos de otimização animada 3D Para exibir o gráfico de otimização em 3D, você precisa primeiro executar a otimização de duas variáveis. A otimização de duas variáveis ​​precisa de uma fórmula que tenha 2 chamadas de função otimizadas (). Um exemplo de fórmula de otimização de duas variáveis ​​parece assim: por Otimizar (por 2. 2. 5. 50. 1) Nível de otimização (nível 2. 2. 150. 4) Cruzamento de Compra (CCI (per), Nível) Cruz de venda (Nível, CCI (per)) Depois de inserir a fórmula, você precisa clicar no botão quotOptimizequot. Uma vez que a otimização esteja completa, você deve clicar na seta suspensa no botão Otimizar e escolher Exibir gráfico de otimização 3D. Em alguns segundos, um gráfico de superfície tridimensional colorido aparecerá em uma janela de visualização de gráfico 3D. Um exemplo de gráfico 3D gerado usando a fórmula acima é mostrado abaixo. Por padrão, os gráficos 3D exibem valores de lucro líquido contra variáveis ​​de otimização. No entanto, você pode plotar gráfico de superfície 3D para qualquer coluna na tabela de resultados de otimização. Basta clicar no cabeçalho da coluna para ordená-lo (uma seta azul aparecerá indicando que os resultados de otimização são classificados pela coluna selecionada) e, em seguida, escolha Exibir gráfico de otimização 3D novamente. Ao visualizar como os parâmetros dos seus sistemas afetam o desempenho da negociação, você pode decidir prontamente quais os valores dos parâmetros que produzem quotfragilequot e que produzem o desempenho do sistema quotrobustquot. Configurações robustas são regiões no gráfico 3D que mostram mudanças graduais em vez de abruptas no gráfico de superfície. Os gráficos de otimização 3D são uma ótima ferramenta para evitar o ajuste de curvas. O ajuste de curvas (ou sobre otimização) ocorre quando o sistema é mais complexo do que precisa ser, e toda essa complexidade foi focada em condições de mercado que talvez nunca mais aconteçam. Mudanças radicais (ou espigões) nos gráficos de otimização 3D mostram claramente áreas de otimização excessiva. Você deve escolher uma região de parâmetros que produza um amplo e amplo patamar no gráfico 3D para o seu comércio de vida real. Os conjuntos de parâmetros que produzem picos de lucro não funcionarão de forma confiável na negociação real. Controles do visualizador de gráficos 3D O visualizador de gráficos 3D do AmiBrokers oferece recursos de visualização total com rotação e animação completas de gráficos. Agora você pode visualizar os resultados do sistema de todas as perspectivas possíveis. Você pode controlar a posição e outros parâmetros do gráfico usando o mouse, a barra de ferramentas e os atalhos do teclado, o que você achar mais fácil para você. Abaixo, você encontrará a lista. - para rodar - mantenha pressionado o botão esquerdo do mouse e mova-se nas direções XY - para Zoom-in, zoom-out - mantenha pressionado o botão RIGHT do mouse e mova-se nas direções XY - para Mover (traduzir) - mantenha pressionado o botão esquerdo do mouse e a tecla CTRL e Mova-se nas direções XY - para animar - mantenha pressionado o botão esquerdo do mouse, arraste rapidamente e solte o botão enquanto arrasta o SPACE - anima (gire automaticamente) CHAVE ESQUERDA PARA ESQUERDA - gire o verde. Esquerda CHAVE DE SETA PARA A DIREITA - rotate vert. Direita PARA CIMA SETA CHAVE - gire horiz. PARA CIMA SETA PARA BAIXO - gire o horiz. BAIXO NUMPAD - (MINUS) - Longe (desligar) NUMPAD 4 - mover para a esquerda NUMPAD 6 - mover para a direita NUMPAD 8 - mover para cima NUMPAD 2 - mover para baixo PAGE UP - nível de água para cima PAGE DOWN - nível da água para baixo Otimização inteligente (não exaustiva) A AmiBroker agora oferece otimização inteligente (não exaustiva) além da busca regular e exaustiva. A pesquisa não exaustiva é útil se o número de todas as combinações de parâmetros de um determinado sistema de negociação for simplesmente muito grande para ser viável para pesquisa exaustiva. A busca exaustiva é perfeitamente adequada, desde que seja razoável usá-la. Digamos que você tem 2 parâmetros cada um variando de 1 a 100 (passo 1). Isso é 10000 combinações - perfeitamente correto para pesquisa exaustiva. Agora, com 3 parâmetros, você obteve 1 milhão de combinações - ainda está correto para pesquisa exaustiva (mas pode ser lenta). Com 4 parâmetros você tem 100 milhões de combinações e com 5 parâmetros (1..100) você tem 10 bilhões de combinações. Nesse caso, seria muito demorado verificá-los, e esta é a área em que os métodos de pesquisa inteligente não exaustivos podem resolver o problema que não é solucionável em um tempo razoável usando uma busca exaustiva. Aqui está absolutamente a instrução SIMPLES sobre como usar um novo otimizador não exaustivo (neste caso CMA-ES). 1. Abra sua fórmula no Editor de fórmulas 2. Adicione esta única linha no topo da sua fórmula: OptimizerSetEngine (quotcmaequot) você também pode usar quotspsoquot ou quottribquot aqui 3. (Opcional) Selecione o seu objetivo de otimização em Análise automática, Configurações, QuotWalk - guia Forwardquot, campo de destino de otimização. Se você ignorar esta etapa, otimizará para CARMDD (retorno anual composto dividido pela redução máxima). Agora, se você executar a otimização usando esta fórmula, usará o novo otimizador CMA-ES evolutivo (não exaustivo). Como funciona? A otimização é o processo de encontrar o mínimo (ou o máximo) de determinada função. Qualquer sistema comercial pode ser considerado como uma função de certo número de argumentos. As entradas são parâmetros e dados de cotação. A saída é o seu objetivo de otimização (diga CARMDD). E você está procurando o máximo de função dada. Alguns algoritmos de otimização inteligente são baseados na natureza (comportamento animal) - algoritmo PSO, ou processo biológico - algoritmos genéticos, e alguns são baseados em conceitos matemáticos derivados de humanos - CMA-ES. Esses algoritmos são usados ​​em muitas áreas diferentes, incluindo finanças. Entre quotPSO financequot ou quotCMA-ES financequot no Google e você encontrará muitas informações. Métodos não exaustivos (ou quotsmartquot) encontrarão o melhor ou otimizado global ou local. O objetivo é, obviamente, encontrar um global, mas se houver um único pico afiado de combinações de parâmetros de zilhões, métodos não-exaustivos podem não encontrar este único pico, mas levando-o de comerciantes perspecive, encontrar único pico afiado é inútil para Negociação porque esse resultado seria instável (muito frágil) e não replicável na negociação real. No processo de otimização, procuramos regiões de platô com parâmetros estáveis ​​e esta é a área onde brilham métodos inteligentes. Quanto ao algoritmo usado por pesquisa não exaustiva, ele se destaca da seguinte maneira: a) o otimizador gera alguma população inicial (geralmente aleatória) de conjuntos de parâmetros b) o teste de retorno é realizado por AmiBroker para cada conjunto de parâmetros da população c) os resultados dos testes alternativos são Avaliado de acordo com a lógica do algoritmo e a nova população é gerada com base na evolução dos resultados, d) se for encontrada uma nova melhoração - salve-a e vá para a etapa b) até que os critérios de parada sejam atendidos. Os critérios de parada de exemplo podem incluir: a) alcançar especificado Iterações máximas b) pare se a gama de melhores valores objetivos das últimas gerações X for zero c) pare se a adição de 0,1 vetor de desvio padrão em qualquer direção do eixo principal não altera o valor do valor objetivo d) outros Para usar qualquer dispositivo inteligente (não - Exaustivo) no AmiBroker, você precisa especificar o mecanismo otimizador que deseja usar na fórmula AFL usando a função OptimizerSetEngine. A função seleciona o mecanismo de otimização externo definido pelo nome. AmiBroker atualmente é fornecido com 3 motores: Otimizador de enxame de partículas padrão (quotspsoquot), Tribes (quottribquot) e CMA-ES (quotcmaequot) - os nomes em chaves devem ser usados ​​em chamadas OptimizerSetEngine. Além de selecionar o mecanismo do otimizador, você pode querer definir alguns dos seus parâmetros internos. Para isso use a função OptimizerSetOption. Função OptimizerSetOption (quotname, value) A função define parâmetros adicionais para o mecanismo de otimização externa. Os parâmetros são dependentes do motor. Todos os três otimizadores fornecidos com AmiBroker (SPSO, Trib, CMAE) suportam dois parâmetros: quotRunsquot (número de execuções) e quotMaxEvalquot (avaliações máximas (testes) por execução única). O comportamento de cada parâmetro é dependente do motor, então os mesmos valores podem e, geralmente, produzir resultados diferentes com diferentes motores usados. A diferença entre Runs e MaxEval é a seguinte. A avaliação (ou teste) é uma prova simples (ou avaliação do valor da função objetivo). RUN é uma execução completa do algoritmo (encontrando o melhor valor) - geralmente envolvendo muitos testes (avaliações). Cada execução simplesmente RESTAURA todo o processo de otimização a partir do novo começo (nova população aleatória inicial). Portanto, cada execução pode levar a encontrar maxmin local diferente (se não encontrar um global). Assim, o parâmetro Runs define o número de algoritmos subseqüentes. MaxEval é o número máximo de avaliações (bactests) em qualquer execução única. Se o problema é relativamente simples e 1000 testes são suficientes para encontrar o máximo global, 5x1000 é mais provável que encontre o máximo global porque há menos chances de ficar preso no máximo local, pois as corridas subseqüentes começam a partir de diferentes aleatórias aleatórias. Escolher valores de parâmetros podem Seja complicado. Depende do problema em teste, da sua complexidade, etc., etc. Qualquer método estocástico não exaustivo não lhe dá garantia de encontrar maxmin global, independentemente do número de testes se for menor do que exaustivo. A resposta mais fácil é a. Especifique como um grande número de testes como é razoável para você em termos de tempo necessário para concluir. Outro conselho simples é multiplicar por 10 o número de testes com a adição de nova dimensão. Isso pode levar a superestimar o número de testes necessários, mas é bastante seguro. Os motores enviados são projetados para ser simples de usar, portanto, os valores padrão são usados, pois a otimização pode ser executada sem especificar nada (aceitando padrões). É importante entender que todos os métodos inteligentes de otimização funcionam melhor em espaços de parâmetros contínuos e funções objetivas relativamente lisas. Se o espaço dos parâmetros é discreto, os algoritmos evolutivos podem ter problemas para encontrar o melhor valor. É especialmente verdade para parâmetros binários (onoff) - eles não são adequados para qualquer método de pesquisa que use gradiente de mudança de função objetiva (como a maioria dos métodos inteligentes o fazem). Se o seu sistema comercial contiver muitos parâmetros binários, você não deve usar o otimizador inteligente diretamente neles. Em vez disso, tente otimizar apenas os parâmetros contínuos usando otimizador inteligente e altere os parâmetros binários manualmente ou através de um script externo. SPSO - Otimizador padrão de enxertia de partículas O otimizador padrão de enxertia de partículas é baseado no código SPSO2007 que é suposto produzir bons resultados desde que os parâmetros corretos (ou seja, Runs, MaxEval) sejam fornecidos para um problema específico. Escolher opções corretas para o otimizador de PSO pode ser complicado, portanto, os resultados podem variar significativamente caso a caso. O SPSO. dll vem com códigos-fonte completos dentro da subpasta quotADKquot. Código de exemplo para Otimizador de enxame de partículas padrão: (encontrando o valor ideal em 1000 testes dentro do espaço de busca de 10000 combinações) OptimizerSetEngine (quotspsoquot) OptimizerSetOption (quotRunsquot, 1) OptimizerSetOption (quotMaxEvalquot, 1000) sl Optimize (quotsquot, 26, 1, 100, 1 ) Fa Optimize (quotfquot, 12, 1, 100, 1) Buy Cross (MACD (fa, sl), 0) Sell Cross (0, MACD (fa, sl)) TRIBES - Adaptive Parameter-less Partilion Swarm Optimizer Tribes é adaptável , Versão sem parâmetros do otimizador não-exaustivo PSO (otimização de enxames de partículas). Para o conhecimento científico, veja: particlewarm. infoTribes2006Cooren. pdf Em teoria, ele deve ter um desempenho melhor do que o PSO regular, pois pode ajustar automaticamente o tamanho dos enxames e a estratégia do algoritmo para o problema que está sendo resolvido. A prática mostra que seu desempenho é bastante semelhante ao PSO. O plugin Tribes. DLL implementa a variante quribTribes-D (ou seja, adimensional). Baseado em clerc. maurice. free. frpsoTribesTRIBES-D. zip por Maurice Clerc. Códigos fonte originais usados ​​com permissão do autor Tribes. DLL vem com o código fonte completo (dentro de uma pasta DKquot) Parâmetros suportados: quotMaxEvalquot - número máximo de avaliações (backtests) por execução (padrão 1000). Você deve aumentar o número de avaliações com número crescente de dimensões (número de params de otimização). O valor padrão 1000 é bom para 2 ou máximo 3 dimensões. QuotRunsquot - número de execuções (reinicia). (Padrão 5) Você pode deixar o número de execuções no valor padrão de 5. Por padrão, o número de execuções (ou reiniciações) está definido para 5. Para usar o otimizador Tribes, você só precisa adicionar uma linha ao seu código: OptimizerSetOption (quotMaxEvalquot , 5000) 5000 avaliações max CMA-ES - Covariance Matrix Adaptation O otimizador de estratégia evolutiva CMA-ES (Covariance Matrix Adaptation Strategy) é um otimizador avançado não-exaustivo. Para conhecimentos científicos, consulte: bionik. tu-berlin. deusernikocmaesintro. html De acordo com benchmarks científicos, supera as nove outras estratégias evolutivas mais populares (como PSO, evolução genética e diferencial). Bionik. tu-berlin. deusernikocec2005.html O plugin CMAE. DLL implementa quotGlobalquot variante de pesquisa com vários reinícios com o aumento do tamanho da população CMAE. DLL vem com o código fonte completo (dentro de uma pasta DKquot) Por padrão, o número de execuções (ou reinícios) está configurado Para 5. É aconselhável deixar o número padrão de reinícios. Você pode alterá-lo usando a chamada OptimizerSetOption (quotRunsquot, N), onde N deve estar no intervalo 1..10. Especificar mais de 10 execuções não é recomendado, embora possivel. Observe que cada execução usa TWICE o tamanho da população da corrida anterior para que ela cresça exponencialmente. Portanto, com 10 execuções você acaba com a população 210 maior (1024 vezes) do que a primeira corrida. Há outro parâmetro quotMaxEvalquot. O valor padrão é ZERO, o que significa que o plugin irá calcular automaticamente o MaxEval necessário. É aconselhável NÃO definir o MaxEval sozinho, pois o padrão funciona bem. O algoritmo é inteligente o suficiente para minimizar o número de avaliações necessárias e converge muito rápido para o ponto de solução, muitas vezes encontra soluções mais rápidas do que outras estratégias. É normal que o plugin ignore algumas etapas de avaliação, se detectar que a solução foi encontrada, portanto, você não deve se surpreender que a barra de progresso de otimização possa se mover muito rápido em alguns pontos. O plugin também possui capacidade para aumentar o número de etapas sobre o valor inicialmente estimado se for necessário encontrar a solução. Devido à sua natureza adaptativa, o tempo restante do tempo e o número de etapas selecionados pela caixa de diálogo de progresso são apenas o melhor adivinhar o tempo e podem variar durante o curso de otimização. Para usar o otimizador CMA-ES, você só precisa adicionar uma linha ao seu código: Isso executará a otimização com configurações padrão que são boas para a maioria dos casos. Deve-se notar, como é o caso de muitos algoritmos de pesquisa de espaço contínuo, que o parâmetro Quotstepquot decrescente nas chamadas de função Optimize () não afeta significativamente os tempos de otimização. O único que importa é o problema quotdimensionquot, ou seja, o número de parâmetros diferentes (número de otimização de chamadas de função). O número de quotstepsquot por parâmetro pode ser definido sem afetar o tempo de otimização, então use a melhor resolução que você deseja. Em teoria, o algoritmo deve ser capaz de encontrar solução em no máximo 900 (N3) (N3) backtests onde quotNquot é a dimensão. Na prática, converge muito mais rápido. Por exemplo, a solução em espaço de parâmetros dimensionais 3 (N3) (digamos 100100100 1 milhão de etapas exaustivas) pode ser encontrada em apenas 500 a 900 passos CMA-ES. Otimização individual multi-threaded Começando a partir do AmiBroker 5.70, além do multithreading de vários símbolos. Você pode executar a otimização de um único símbolo multi-threaded. Para acessar esta funcionalidade, clique na seta suspensa ao lado do botão quotOptimizequot na janela New Analysis e selecione Quot Individual Optimize quot. O Optimizequot individual usará todos os núcleos de processador disponíveis para realizar otimização de um único símbolo, tornando-o muito mais rápido do que otimização regular. No modo de simbolo atual, ele realizará otimização em um símbolo. Em quot. Todos os símbolos e quantos modos de Filtragem, ele processará todos os símbolos seqüencialmente, ou seja, a primeira otimização completa para o primeiro símbolo, depois a otimização no segundo símbolo, etc. Limitações: 1. O backtester personalizado NÃO é suportado (ainda) 2. Os motores de otimização inteligentes NÃO são suportados - Apenas otimizações EXAUSTIVAS funcionam. Eventualmente, podemos nos livrar da limitação (1) - quando o AmiBroker é alterado, então o backtester personalizado não usa mais OLE. Mas (2) provavelmente está aqui para ficar por muito tempo.

No comments:

Post a Comment