Automated Trading System Amibroker


12 de julho de 2007 Além de demonstrar os conceitos básicos de Automated Trading (AT), o código abaixo pode funcionar como uma ferramenta de diagnóstico durante o desenvolvimento do código AT. Muitas vezes acontece que as coisas de repente parem de funcionar, e nenhuma ordem é transmitida. Quando isso acontece, e antes de começar a procurar erros no seu código, você pode executar este código para verificar se sua interface para o TWS é funcional. Para que as ordens sejam transmitidas ao mercado, você deve ter inserido seu 8220Unlock Code8221 para o IB Controller na janela Unlock que aparece quando você clica em Files - Enter Unlock Code. Você pode obter seu código eletronicamente seguindo o link para o Acordo de Usuário do IBc. Quando você assinou e enviou o Contrato de Usuário, o Código de Desbloqueio será enviado por e-mail em segundos. O código de teste abaixo pode ser executado a partir de uma janela Indicador e testará sua conexão AB-gtTWS, colocando ordens da janela Param para a sua conta eDemo ou Paper Trading: Order e TWS Status é exibido no Título: Se você estiver usando IBD eDemo , Os pedidos podem ser processados ​​devagar o suficiente para você observar como as ordens são processadas. O código abaixo ilustra vários aspectos básicos, mas muito importantes, do Comércio Automatizado, e é importante compreender completamente esse código antes de tentar programas mais complexos. O conceito mais importante a ser compreendido é o da ID do pedido. O IBc retorna um Unique OrderID para cada pedido colocado. Este OrderID pode posteriormente ser usado para modificar, transmitir, cancelar e obter status para a ordem. Para que qualquer sistema AT funcione corretamente, os IDs de Pedidos devem ser rastreados meticulosamente em todos os momentos. O uso de um código de ordem expirado, um não existente, ou um para um pedido já preenchido, por exemplo, levará a erros de API. Editado por Al Venosa Arquivado por Herman às 12:56 am sob Automação do Sistema Comentários desativados no Teste de sua Comunicação AB-IBc-TWS 28 de abril de 2007 Quando você está usando um sistema de Negociação Automatizado, você precisa de uma chave mestre para permitir que você possa Ativar Desabilitar todos Ação automatizada. É muito importante que esta opção seja Desligada quando você inicia o AmiBroker porque a última coisa que deseja ver é que as ordens estão saindo logo após o lançamento do AmiBroker. Você não pode usar o ParamToggle () porque esta função retoma o último estado em que estava antes de fechar o AmiBroker, ou seja, se Habilitado quando o AmiBroker fosse desligado, seria Ativado após a inicialização. Você precisa de uma função que sempre inicia Desabilitada, não importa em que condição o AmiBroker seja fechado. Para criar um interruptor que está sempre Desligado no momento da inicialização, use dois ParamTrigger () s, um para ativar Automação e outro para desligar Automação. Editado por Al Venosa Arquivado por Herman às 9:12 pm sob Automação do Sistema Comentários desativados na opção Master AT 24 de abril de 2007 Esta é uma introdução de início rápido para configurar suas configurações padrão no simulador TWS e / ou TWS real para negociação automática . Consulte a documentação oficial TWS para obter mais informações sobre este e tópicos relacionados. Para que a AmiBroker eo IBc se comuniquem com o TWS, você deve configurar o TWS da seguinte maneira: em alguns dos tópicos posteriores, você aprenderá sobre o arquivo de exportação do TWS, que é lido para obter os preços reais nos quais seus pedidos foram preenchidos . Para que este recurso funcione corretamente, você deve configurar seu TWS com as convenções de nomenclatura mostradas abaixo. Os nomes dos arquivos Export são diferentes para cada conta IB que você usa e eles são salvos em seu disco rígido nos caminhos mostrados abaixo: Real. Trades. Este nome de arquivo é para sua conta de negociação de dinheiro real (C: jtsReal. Trades). Simulated. Trades. Este nome de arquivo é para sua conta Simulado (Paper-Trader) (C: jtsSimulated. Trades). Demo. Trades. Este nome de arquivo é para a conta eDemo (C: jtsDemo. Trades). Esteja ciente de que as listas de comércio exportadas não são marcadas com data e serão substituídas no dia seguinte que você troca. Editado por Al Venosa Arquivado por Herman às 10:37 am sob System Automation Comments Off em Configurar o seu TWS para negociação automática 21 de abril de 2007 Dez motivos que você pode querer automatizar seus negócios Mais divertido. É fascinante e muito divertido ver suas ordens serem colocadas, modificadas e preenchidas mais rapidamente do que qualquer comerciante humano poderia fazer 8211 e fazê-lo sem erros. Menos estresse. Negociar sob a pressão de um mercado em rápida mudança pode ser muito estressante. Ter seu sistema fazer todo o trabalho para você sem erro de entrada na ordem reduz drásticamente o estresse. Interface de usuário simples. Para a maioria de nós, Interactive Brokers8217 Trader Work Station (TWS) está inchado com coisas que nunca usamos e, às vezes, é estranho de usar. O AmiBroker permite que você crie sua interface de negociação personalizada com apenas as funções que você precisa. Isso significa que você pode minimizar o TWS, economizar espaço de tela e trocar de sua própria interface comercial personalizada. Maior eficiência. Se você troca o Intraday ou o fim do dia (EOD), o cálculo manual de preços para muitas ordens complexas pode levar muito tempo. Usando a automação, você pode fazer todos esses cálculos em tempo real e sem atrasos. Maior flexibilidade. Você pode criar seus próprios tipos de pedidos, trocar regras de negociação, definir estratégias de parada, etc. e alterá-los sobre a marcha. Menos emocional. Todos sabemos que o comércio emocional pode matar mesmo o melhor sistema mecânico. Seu sistema mecânico automatizado seguirá suas regras comerciais de forma impecável e automática, nunca sinalizando sinais mecânicos. Maior capacidade de resposta. Usando a automação, os preços podem ser recalculados e as ordens modificadas, talvez até executadas, são mais rápidas do que as mais eficientes e as mais rápidas dotilógrafo pode inseri-las. Maior precisão. Não há possibilidade de erros de entrada ao encomendar, nunca o nicho de negociação. Embora a popularidade das negociações automáticas esteja aumentando rapidamente, ainda pode haver um nicho exclusivo para o pequeno comerciante que usa automação. O preço das excursões e dos volumes pode ser muito pequeno para os comerciantes de fundos, mas pode ser perfeito para o pequeno comerciante. Aumento da rentabilidade. Se você estiver negociando um sistema mecânico lucrativo, adicionar automação a ele certamente aumentará seus lucros. Editado por Al Venosa Arquivado por Herman às 9:56 am sob Automação do Sistema Comments Off on The Edge of Auto-TradingFebruary 1, 2010 middot 73 Comentários middot Backtest. Software Bem, I am8230 Leitores regulares podem pensar que eu sofro de backtesting-software-indecisão-itis. Tendo estabelecido pela primeira vez no TradersStudio, avaliei (e comprei) a AmiBroker e descobriu que era 25 vezes mais rápido que o TradersStudio (pelo menos para o cálculo do e-ratio). No entanto, a AmiBroker não está realmente voltada para o verdadeiro teste de alocação de portfólio com Futures e hellip 23 de novembro de 2009 middot 9 Comentários middot Backtest. Software Como comerciante automatizado, você provavelmente precisa dos seguintes componentes: Conta do corretor 8211 O ponto de partida para negociar nos mercados Dados do mercado ao vivo 8211 Para alimentar seu robô comercial para que ele possa gerar sinais de negociação. A maioria dos corretores fornece dados de mercado com tecnologia proprietária ou de terceiros - embora os dados do mercado também possam ser obtidos hellip 16 de novembro de 2009 middot 9 Comentários middot Backtest. Software Algumas semanas atrás, eu baixei o Amibroker para ver se poderia calcular o e-ratio muito mais rápido que o TradersStudio (ele fez). O resultado da comparação de velocidade está lá e o código Amibroker para o e-ratio está lá. Eu pensei que poderia ser interessante fazer uma comparação de quão fácil é para Hellip 10 de novembro de 2009 middot 4 Comentários middot Backtest. Software Pode não capturar a imaginação tanto quanto a recente luta pelo Campeonato Mundial de peso pesado WAV da Hayd v. Valuev (provavelmente pode ser para alguns de vocês8230 -), mas eu decidi organizar meu próprio 8220fight8221: AmiBroker V. TradersStudio E, de forma semelhante ao boxe, A velocidade era essencial 8211 com uma plataforma completamente fora do alcance do hellip 9 de novembro de 2009 middot 32 Comentários middot Code. Desenvolvimento. Software que publiquei recentemente sobre o e-ratio como uma ferramenta para medir partes de um sistema comercial (os arquivos de código para calcular o e-ratio em TradersStudio e Excel também estão disponíveis). O e-ratio é suposto ser uma ferramenta rápida para verificar como os sinais podem adicionar alguma vantagem a um sistema comercial. No entanto, a computação do e-ratio hellip Verifique a lista dos mercados de futuros globais que a Wisdom Trading oferece acesso, do milho na África do Sul, Palm Oil na Malásia a Won coreano, Real brasileiro ou Kerosene japonês para citar alguns, é impressionante e ótimo para Beneficiar da diversificação. Au. Tra. Sy blog, Systematic Trading, pesquisa e desenvolvimento, com um sabor de Trend Following. Descargo de responsabilidade: o desempenho passado não é necessariamente indicativo de resultados futuros. O comércio de futuros é complexo e apresenta o risco de perdas substanciais como tal, pode não ser adequado para todos os investidores. O conteúdo deste site é fornecido apenas como informação geral e não deve ser tomado como conselho de investimento. Todo o conteúdo do site, não deve ser interpretado como uma recomendação para comprar ou vender qualquer instrumento financeiro ou de segurança, ou para participar de qualquer estratégia de negociação ou de investimento específica. As idéias expressas neste site são apenas as opiniões do autor. O autor pode ou não ter uma posição em qualquer instrumento financeiro ou estratégia acima referida. Qualquer ação que você toma como resultado de informações ou análises neste site é, em última instância, sua única responsabilidade. RESULTADOS DE DESEMPENHO HIPOTÉTICOS TEM MUITAS LIMITAÇÕES INERENTES, ALGUNS DESCRITOS ABAIXO. NENHUMA REPRESENTAÇÃO ESTÁ FAZENDO QUE QUALQUER CONTA VÁ OU SEJA PROBABILITÁVEL PARA ALCANÇAR LUCROS OU PERDAS SIMILARES ÀQUELES MOSTRADOS EM FATO, HÁ DIFERENÇAS FREQUENTEMENTE SHARP ENTRE RESULTADOS DE DESEMPENHO HIPOTÉTICOS E OS RESULTADOS REAIS ASSOCIADOS SUBSQUECIMENTAMENTE POR QUALQUER PROGRAMA PARTICULAR DE NEGOCIAÇÃO. UMA DAS LIMITAÇÕES DOS RESULTADOS DE DESEMPENHO HIPOTÉTICOS É QUE PREPARAM GERALMENTE COM O BENEFÍCIO DE HINDSIGHT. ADICIONALMENTE, O NEGOCIAÇÃO HIPOTÉTICA NÃO IMPORTA RISCOS FINANCEIROS, E NENHUM GRUPO DE NEGOCIAÇÃO HIPOTÉTICA PODE COMPLETAMENTE CONTA PARA O IMPACTO DO RISCO FINANCEIRO DE NEGOCIAÇÃO REAL. POR EXEMPLO, A CAPACIDADE DE PERDAS OU DE ADESIVO PARA UM PROGRAMA DE NEGOCIAÇÃO ESPECÍFICO EM ESPIRRO DE PERDAS DE NEGOCIAÇÃO SÃO PONTOS MATERIAIS QUE PODEM IGUALMENTE AFETAR EFECTUAR RESULTADOS REAIS DE NEGOCIAÇÃO. HÁ NOMBROSOS OUTROS FATORES RELACIONADOS COM OS MERCADOS EM GERAL OU NA EXECUÇÃO DE QUALQUER PROGRAMA DE NEGOCIAÇÃO ESPECÍFICO QUE NÃO PODE SER COMPLETAMENTE COMPTABILIZADO NA PREPARAÇÃO DE RESULTADOS DE DESEMPENHO HIPOTÉTICOS E TODOS OS QUE PODEMOS ADVERSAMENTE EFECTUAR OS RESULTADOS DE NEGOCIAÇÃO. ESTES TABELOS DE DESEMPENHO E RESULTADOS SÃO HIPOTÉTICOS DE NATUREZA E NÃO REPRESENTAM NEGOCIAÇÃO EM CONTAS REAIS. Copiar 2009-2012 Au. Tra. Sy blog 8211 Automated trading System mdash Sitemap mdash Powered by WordpressInteractive Brokers Dados de volume em tempo real Assim como com dados de preço, os dados de volume estão sujeitos a atrasos e correções de BF (Backfill). Além disso, IB (Interactive Brokers) relata dados de volume de uma maneira que poderia causar grandes diferenças de desempenho entre backtesting e negociação real. Esta publicação descreve procedimentos simples para coletar dados RT e BF para comparação. Não é feito nenhum esforço para explicar as diferenças ou para realizar análises estatísticas. As opiniões expressadas aqui são baseadas em experiências pessoais e podem ser anecdóticas, nem tudo o que acontece no comércio em tempo real é fácil de explicar. Como sempre, se você tiver uma visão técnica e veja imprecisões, comente para o benefício de futuros leitores. Conforme esperado, os dados de volume IB RT contêm os tiques e atrasos usuais que são corrigidos durante o preenchimento. No entanto, e isso é muito importante para o comerciante de RT, o IB ajusta os volumes ao vivo em intervalos de cerca de 30 segundos. Isso significa que os volumes IB relatados durante a negociação RT não refletem com precisão a atividade do mercado. Isso significa também que os dados de volume podem ser atrasados ​​em até 30 segundos, em vez do atraso típico da instantâneo, que é cerca de 300 milissegundos para os dados de preços. Comparando o volume recheio com volume em tempo real, parece que os ajustes de volume periódicos em tempo real são re-distribuídos em instantâneos individuais durante o preenchimento. Esta publicação destina-se a ajudá-lo a realizar sua própria análise de dados. Os métodos descritos abaixo são destinados a você começar. Para coletar e salvar dados em tempo real: crie um novo banco de dados no intervalo de 5 segundos. Incorporar RD, para Dados Brutos, ao nomear o banco de dados. Na Configuração do banco de dados, selecione o plugin Interactive Brokers. Escolha um estoque de alto volume, por exemplo, AAPL (usado nesta publicação). Conecte-se ao TWS (Trader Work Station), iniciando sessão na sua conta Paper Trading. Não use a conta eDemo. Colete cerca de uma hora de dados em tempo real. A primeira coisa que acontecerá quando você se conectar ao TWS é que o AmiBroker reabastece aproximadamente 2000 barras de dados de 5 segundos. Isso não pode ser evitado e você deve ter cuidado para observar o tempo em que o preenchimento de preenchimento termina e a coleta de dados em bruto começa. A maneira mais simples é colocar uma linha vertical em seu gráfico e rotulá-lo. Início dos dados em tempo real. Para salvar o banco de dados: Desconecte o plugin IB (consulte o menu Plugin no canto inferior direito do gráfico). Abra Configurações de banco de dados e defina o banco de dados como Local. Coloque outra linha vertical para indicar onde a coleta de dados parou. Vá para o menu Arquivo e salve o banco de dados. Certifique-se de configurar a Configuração do banco de dados - gt Data Source - gt Local antes de salvar. Se você não fizer isso, o banco de dados será preenchido na próxima inicialização e isso pode corromper sua amostra de dados RT. O próximo passo é coletar uma amostra de dados BF que sobrepõe a amostra coletada em tempo real previamente coletada. Para fazer isso, você precisa criar outro banco de dados. Uma vez que o preenchimento do IB apenas cerca de 2000 barras de dados de 5 segundos, você deve fazer isso o mais rápido possível depois de coletar dados brutos, senão os períodos de coleta não podem se sobrepor e você não poderá comparar os dois tipos de dados. O procedimento é o mesmo que acima, exceto que você deseja incorporar BF (para dados preenchidos) em vez de RD no nome do banco de dados. Para comparar visualmente os dois bancos de dados, você pode abrir duas instâncias do AmiBroker e carregar o banco de dados RT em um e o banco de dados BF no outro. Você pode então exibir os dois bancos de dados ao mesmo tempo e comparar visualmente os respectivos gráficos. Você pode querer exibir um gráfico de preços e um gráfico de volume em painéis separados, conforme mostrado nas capturas abaixo. Você pode usar o código abaixo para inspecionar seu gráfico de preços: e este código para inspecionar seu gráfico de volume: as fórmulas acima exibirão gráficos básicos mais um valor cumulativo (área vermelha) para qualquer parâmetro que você gostaria de testar. No gráfico de preços, o intervalo alto-baixo (H-L) é somado enquanto no volume O volume simples é somado. Summation começa com a barra selecionada pelo cursor. Este recurso só é fornecido para revelar visualmente diferenças de dados que não tem outro significado. Os gráficos abaixo foram criados usando os métodos acima, que revelam rapidamente a diferença entre os dois tipos de dados. Para explicar por que essa diferença ocorre é deixada ao leitor especialista (porque não tenho uma pista). Figura 1 8211 Dados preenchidos Figura 2 8211 Dados coletados em tempo real O indicador de volume a seguir pode ser usado para exibir a periodicidade do volume RT mais claramente: Este código produziu os próximos dois gráficos abaixo. Um filtro de espiga simples (veja a definição do VSpike no código) é usado para identificar pontos de volume e fazê-los se destacar com um fundo preto. Como esses picos de volume não aparecem nos dados preenchidos, podemos assumir que eles não refletem a verdadeira atividade do mercado. Os três números na parte superior das barras de histograma, de cima para baixo, mostram o Volume100, o número de barras desde o último pico de volume e a segunda contagem derivada do carimbo de tempo de dados. Figura 3 Dados de volume recolhidos em tempo real Aplicando o código nos dados remanescentes produz o gráfico abaixo. Observe que muitos dos baixos períodos de volume entre as espinhas foram preenchidos (parece que os picos de volume foram distribuídos retroactivamente) e que não há mais periodicidade de volume visível. Figura 4 8211 Dados de volume preenchidos Comparando dados de bancos de dados diferentes Você pode comparar dados de diferentes bancos de dados em um único gráfico. A sobreposição de dois arrays de dados revelará imediatamente diferenças e também sugerirá análise mais sofisticada a ser realizada. O código abaixo pode ser executado por si só, ou pode ser anexado a qualquer outro programa. Nesse caso, é codificado para comparação de volume. No entanto, você pode modificá-lo facilmente para comparar preço, indicadores ou qualquer outra matriz. A instrução SetBarsRequired () é necessária para o alinhamento de dados. Você deve usar o mesmo cronograma para gráficos RT e BF e para criação composta. Todos os testes nesta publicação foram realizados no período de 5 segundos. Para comparar BF com arrays de volume RT, primeiro crie o composto para o volume BF e copie isso para sua base de dados RT para comparação. O procedimento é o seguinte: Carregue o banco de dados que contém sua amostra de dados BF. Exibe os dados e abra a janela Param: selecione BackFillDataSample para o nome da variável estática. Clique em CREAR. Na barra de menu Amibroker, clique em Exibir - gt Atualizar tudo. Na janela Indicador, defina Overlay Composite para YES. Os dados compostos devem ser exibidos como uma escadaria amarela sobreposta ao seu gráfico de volume. Feche AmiBroker. Use o Windows Explorer para encontrar seu banco de dados BF e copie o composto para o volume BF da pasta e cole-o na pasta do banco de dados RT. Exclua o arquivo Broker. Master do banco de dados RT. Este arquivo será recriado na próxima inicialização. Este passo é necessário para incluir o novo arquivo composto no índice do banco de dados. Inicie o AmiBroker e carregue o banco de dados RT. Visualize a tabela de volume RT com a qual você estava trabalhando. Se os Parâmetros estiverem configurados como mostrado na captura acima, você deve ver agora a Escadaria Amarela para Volumes BF sobreposta ao histograma de volume da RT. Neste ponto, você pode rolar para frente e para trás a tempo de ver como o volume do BF difere do volume coletado da RT. Não clique em CREAR, ou você substituirá o compósito BF. Os gráficos abaixo mostram como seus gráficos devem ser encontrados. Figura 5 8211 BF composto (amarelo) no histograma de volume BF A Figura 5 acima mostra um período em que o volume retalhado coberto composto (por exemplo, o período de preenchimento antes da coleta de RT). Como o composto copiou esses dados BF, eles combinam perfeitamente. Figura 6 8211 BF Composto (Amarelo) na RT coletado Histograma de volume A Figura 6 acima é para um período em que o composto (volume reenchido) é superado no volume coletado em tempo real (histograma). Observe a diferença entre os dois tipos de dados. O desenvolvimento de um sistema de negociação deve começar com o aprendizado sobre os atrasos básicos e a má qualidade dos dados pode matar qualquer sistema comercial HFAT, não importa quanto tempo você gastou em desenvolvê-lo. A melhor maneira de entender e saber com o que você está trabalhando é escrever alguns pequenos programas, como aqueles que foram incluídos nesta série. Conclusão Nas discussões anteriores, ficou claro que o desenvolvimento de um sistema de comércio de HFAT pode não ser tão fácil quanto você pensa. Googling para informações irá revelar muito poucos links para informações práticas, você estará principalmente por sua conta para descobrir as armadilhas. Desenvolver com dados ao vivo da sua conta de negociação de papel pode ser melhor do que usar dados preenchidos. No entanto, uma vez que é altamente provável que o IB execute negócios de papel sujeitos ao preço e ao volume relatados que você vê, os resultados da troca de papel podem não corresponder aos resultados reais da negociação. A menos que você esteja plenamente consciente dos vários problemas e possa desenvolver seu sistema para trabalhar em torno deles, pareceria inútil tentar desenvolver um sistema de comércio HFAT com dados IB de 5 segundos. Os padrões únicos de volume em tempo real também ocorreram em dados coletados da conta de negociação real. Os dados de todas as fontes terão seus próprios problemas únicos e é prudente realizar alguns testes básicos para conhecer seus dados RT antes de gastar muito tempo no desenvolvimento. IB Snapshots e métodos de compressão de dados são relevantes para a discussão acima, embora não haja muitos detalhes disponíveis, você pode querer ler os seguintes tópicos para saber mais sobre esses tópicos. Editado por Al Venosa. Arquivado por Herman às 6:28 pm em Descrições do projeto do sistema em tempo real desativado na negociação automatizada de alta freqüência (HFAT) parte 2 28 de novembro de 2007 Problemas de backfills versus dados em tempo real Se você não tem certeza do que o HFAT (High Frequency Automated Trading ) É tudo sobre, Google o tópico. Esta publicação destaca alguns dos problemas que você pode encontrar ao se aventurar no HFAT de ações. As opiniões expressadas aqui são baseadas em experiências pessoais e podem ser anecdóticas, nem tudo o que acontece no comércio em tempo real é fácil de explicar. Se você tiver uma visão técnica e ver imprecisões, comente para o benefício de futuros leitores. Projetar e implementar sistemas de negociação de alta freqüência é, de um ponto de vista do trader8217s, provavelmente a melhor experiência. Para ver e ouvir transações executadas a cada poucos segundos e ver os lucros que rolam, deve dar a qualquer comerciante um alto sem precedentes. A captura é que projetar um sistema HFAT que funciona com dinheiro real é muito diferente de projetar um usando dados locais. Quanto menor o intervalo de tempo, maior o impacto de pequenas discrepâncias de dados. Em intervalos de tempo de sub-minutos, o sistema HFAT pode executar de forma muito diferente com dados locais do que com dados de mercado em tempo real e brutos. Um problema típico é que os dados do mercado ao vivo em tempo real são atrasados ​​por várias centenas de milissegundos e que as citações podem chegar fora da seqüência. O que você vê em seus gráficos pode ser várias citações depois que o comércio ocorreu. Esses dados defeituosos são o que seu sistema comercial está negociando e deve ser projetado para trabalhar. Os gráficos que você vê no AmiBroker são principalmente preenchidos e atualizados após o horário de negociação. No final de um dia de negociação, você terá dados em seu banco de dados que tenham uma mistura de dados preenchidos (os erros de tempo e dados foram corrigidos) e os dados brutos (defeituosos) que foram coletados durante a sessão de negociação atual do dia8217. Você também pode ter várias lacunas de dados longas que foram introduzidas quando você desligou o sistema e você perdeu seu feed de dados. Embora o procedimento possa variar para diferentes provedores de dados, as cotações recebidas em tempo real serão atrasadas. Uma vez que os períodos de barras durante a coleta de dados ao vivo são baseados no relógio do seu computador, as cotações podem acabar na próxima barra devido à sua chegada atrasada. Os dados usados ​​para preencher seu banco de dados vêm de um servidor de dados diferente e serão marcados no horário. Isso permite que o AmiBroker corrija a posição das citações que foram recebidas fora da seqüência. Este processo remove os atrasos em tempo real que estavam presentes quando os dados foram recebidos. Uma vez que não há atrasos nos dados preenchidos, os dados recheados ficam à frente por várias centenas de milissegundos em relação aos dados que você eventualmente estará negociando. Não é incomum desenvolver um sistema com dados retalados de 5 segundos (onde todos os carrapatos ruins e erros de marcação temporária foram corrigidos pelo provedor de dados) e obter o desempenho do Santo Graal apenas para descobrir que, quando negociado com dados de transmissão em tempo real (Onde os dados estão atrasados, contém carrapatos ruins e erros de hora), o sistema é uma falha total. Os gráficos a seguir ilustram esse problema. Os dados à esquerda da linha vermelha são preenchidos e os dados à direita da linha Vermelha são dados coletados em tempo real. O branco é a equidade. Você não poderá avaliar visualmente se os dados são preenchidos ou em bruto. As diferenças só aparecerão ao executar um sistema de negociação nos dados em que seu sistema comercial pode ser a única maneira de distinguir entre dados preenchidos e dados brutos. O gráfico abaixo mostra um close up da mudança de dados. O preenchimento do banco de dados acima e a execução de outro Backtest no mesmo período produz uma equidade muito diferente: não há garantia de que um sistema desenvolvido em um tipo de dados funcionará igualmente bem com o outro. Quando você enfrenta uma grande redução de capital, você pode assumir que este foi apenas 8220a dia ruim8221, afinal, todos os sistemas de negociação os possuem. Você pode ter desenvolvido e testado seu sistema em milhares de negócios, cobrindo um período de seis meses ou mais. Você tem sido um bom aluno e usou todos os métodos recomendados para validar seu sistema comercial. Você testou intern e out-of-sample, aplicou otimizações inteligentes, usou o Walk-Forward testing, realizou a análise de Monte-Carlo e a lista continua. Depois de ser tão completo, como você pode dar errado Você está pronto para negociar dinheiro real amanhã e faça seus primeiros 50 em um dia. O ponto é que todo esse esforço é desperdiçado se os dados usados ​​durante o desenvolvimento forem 100 idênticos ao que você será Negociação com. A melhor maneira de desenvolver um sistema HFAT é usar dados de mercado real ao vivo. Quanto mais cedo, você muda de dados locais ou edemo para dados reais, mais tempo você economizará e mais decepções você será poupada. Um sistema HFAT nunca pode ser concluído fora da linha, com um banco de dados local ou com dados edemo simulados. Seu design deve sempre incluir uma importante negociação de papel e fase de dinheiro real. Outro problema ao negociar sua conta de comércio de papel (simulado) do IB é que o usuário não conhece as regras que o Interactive Brokers usa para decidir se uma ordem deve ser executada ou não. Esses critérios de execução podem mudar sem aviso prévio. Isso impõe uma ordem artificial às suas execuções que é irreal, as condições simuladas do mercado serão diferentes das encontradas na negociação real. Você pode desenvolver um sistema de negociação que explora a forma de processamento IB8217s para lhe dar desempenho irreal, mas esse sistema falharia na negociação real. Além disso, seus negócios de papel não são vistos e não podem influenciar o mercado. Ao negociar dinheiro real, suas ordens poderiam estar configurando um novo alto ou um baixo, ou se você estiver negociando grandes somas, você poderia desenhar o preço para cima ou para baixo. Isso significa que, mesmo que o seu sistema seja extremamente bom na negociação simulada, isso não garante que o seu sistema tenha um bom desempenho de dinheiro real. Usar sua conta simulada para validar seu sistema nunca deve ser sua validação final antes de negociar lucros, você deve sempre incluir uma fase de avaliação de dinheiro real em seu plano de desenvolvimento. Seus primeiros negócios reais nunca devem ser ganhar dinheiro, eles devem ser planejados para validar seu sistema em condições variadas. O comportamento do mercado é muito complexo, esteja preparado para o inesperado e nunca salte um passo de desenvolvimento porque algo funciona muito bem. Por exemplo, você pode estar testando seu sistema usando sua conta de negociação de papel simulada do IB e ver seus lucros disparar muito rápido para seguir, talvez com 90 vencedores e RARs que estejam fora desse mundo. Quando isso acontece, é extremamente emocionante e divertido ver isso é uma experiência rara que deve ser apreciada. Isso sugere que Holy-Grails é possível. Mas eles são. Essas condições comerciais favoráveis ​​podem durar algumas centenas de negócios, algumas horas, ou talvez alguns dias. Isso pode acontecer quando as condições técnicas e o comportamento do mercado são perfeitos para o seu sistema. Um fator desconhecido apenas fez com que tudo funcionasse perfeitamente. Quando você experimentar isso, você deve analisar seus gráficos, logs de negociação, relatório de execução, etc. durante as próximas semanas. O fato é que isso nunca mais pode acontecer, e você nunca saberá o que realmente aconteceu. Estado da Ordem e Posição IB O relatório do tamanho da posição pode ser errático, está sempre atrasado e pode incluir informações transitórias. Se você estiver negociando rápido e você usa o Tamanho da Posição do IB para determinar sua próxima ação, isso será um problema. Este é especialmente o caso com os sistemas de inversão em que as capas podem ser processadas antes das compras, e pode haver muitos preenchimentos parciais. Por exemplo, se você estiver revertindo 100 ações, indo alternativamente Longo e Curto, você pode ler os tamanhos de posição de 0, 100, 200 e até 300 ações. Não baseie a ação do seu sistema8217s apenas em uma única leitura do tamanho da posição, seus mecanismos de proteção desligam seu sistema várias vezes ao dia. Se uma posição não é o que deveria ser em 5 consultas consecutivas (no intervalo de cotação), você pode fechar todas as posições, suspender a operação e continuar mais tarde, ou desligar o sistema e tentar novamente. O relatório do status do pedido parece mais confiável e estável. Normalmente, não é necessário repetir as consultas do Status do Pedido. Não abordado nesta publicação é a questão dos instantâneos no entanto, é extremamente importante para os comerciantes em tempo real entender como o IB comprime e transmite seus dados. Este tópico foi discutido em vários fóruns, para obter mais informações sobre os dados do IB em geral, leia os seguintes tópicos: A Taxa Máxima de Mensagem IB IB tem um limite para a taxa máxima de mensagens (relacionadas à ordem) que você pode transmitir por segundo. A taxa de consultas não é limitada. O limite atual é de 50 mensagens por segundo. Se você exceder essa taxa, o IB produzirá um código de erro e, se continuar a exceder a taxa de mensagem, o IB suspenderá sua conexão. Isso, é claro, deve ser evitado a todo custo. As taxas de mensagens estão documentadas aqui. Como introduzir atrasos em tempo real, medição em milissegundos, é documentado na publicação em Intervalo de precisão de alta precisão e tempo de atraso. O status da Postagem e posição da Internet está sujeito a um atraso de Internet de 50-400 milissegundos. Esse atraso variará com a sua localização e o tipo de conexão com a Internet ao IB. Você pode testar esse atraso fazendo um ping no servidor IB. Para fazer isso, digite ping gw1.ibllc no comando nas janelas Start-gtRun (para Windows XP) e clique no botão Executar. Uma janela, como mostrado abaixo, aparecerá e mostrará os atrasos para três consultas consecutivas (pings) para IB: Se você encontrar atrasos excessivos ou não pode se conectar, você pode obter mais detalhes sobre como sua conexão é encaminhada executando o tracert gw1.ibllc da mesma maneira. Você pode querer consultar as Perguntas freqüentes técnicas no IB para itens relacionados. Editado por Al Venosa. A eSignal expõe aos novos clientes um período de avaliação de 30 dias. Para obter informações adicionais, consulte a Base de Conhecimento eSignal: a) Link para a página de suporte esignalcentralsupportdefault. asp b) Em seguida, clique em Suporte na barra de cabeçalho para acessar um menu suspenso. C) Clique na base de conhecimento do menu suspenso. Nota: Ao clicar em Suporte, o suporte ao cliente do Gtgt na página inicial do eSignal levará os leitores à Página de Suporte, onde há um segundo botão de Suporte (referido em 8216b8217 acima). Para se referir a uma lista alfabética de símbolos australianos: a) Vá para a Base de Conhecimento. B) Clique no ícone Show Nav para abrir um índice KB na barra lateral esquerda. B) Escolha o Guia de Símbolos do índice e selecione o artigo 2739, Diretório de Símbolos e Lista de Referência (a página do diretório será aberta). C) Abra o artigo 2737 AsianPacific Stocks a partir de um link próximo ao topo do diretório Symbol (o link está incluído no título Europa Africa Asia South America Pacific Stocks and Indices). D) Clique no link perto do topo da página que leva à Listagem de símbolos de ações da Ásia-Pacífico A a Z (isso abre uma lista indexada de símbolos classificados alfabeticamente em seus agrupamentos regionais). E) Navegue até a seção australiana da região AsianPacific. Dados de marca histórica para ações ASX (7 anos) e índices (6 meses) em formato CSV.160 Disponível como arquivos diários. Os dados históricos são enviados em CD e as atualizações diárias são feitas pelo download. P. Posso obter uma amostra dos dados A. Sim, um pequeno arquivo típico está disponível por e-mail. P. Os dados são cheios ou filtrados. É um valor bruto.11 Todos os tiques errados são corrigidos pelo ASX com um cancelamento. 160160 O arquivo inclui160 o cancelamento. Nós não precisamos tomar essa decisão 8211 da ASX. P. Posso encomendar on-line A. Não, as ordens só são aceitas por telefone, fax ou e-mail. P. Os dados em arquivos individuais ou em um arquivo grande É um arquivo por dia, conforme a amostra, com todos os estoques negociados incluídos. P. Quão grande são os arquivos A. Eles são apenas arquivos de texto para que eles sejam apenas megabytes de dados 8211 e não gigabytes. P. Como serão entregues Os dados históricos são muito grandes para download e serão enviados pelo CD. Para as atualizações diárias, forneceremos uma ID de usuário e uma senha para um site onde você pode baixar os arquivos. Você terá acesso a um arquivo CSV e a uma versão zip, para um download menor. Q. Do you have historical tick data for only the index (ASX200 or the All Ordinaries) component stocks A. Sorry we don8217t have a product for this. Inexpensive EOD data for the ASX, in daily Metastock or Comma Separated Value (CSV) files, delivered after hours. Fully adjusted for corporate events. Free access to end of day data at 10.00 am on the following day. Historical data delivered on CD at a reasonable price (from 1992, format as above, de-listed stocks removed, indices back to the commencement of GIC8217s sectors, including warrants and company traded options but excluding Exchange Traded Options). Download after hours EOD data utilizing Paritech8217s DataDirector software for one or multiple world markets: Australian Stock Exchange (ASX) Sydney Futures Exchange (SFE) New York Stock Exchange (NYSE) National Association of Securities Dealers (NASDAQ) American Stock Exchange (AMEX) London Stock Exchange 8211 Domestic Singapore Stock Exchange (SES) Overseas Indices, Foreign Exchange Rates and Futures Format the output files to ASCII, Comma Separated Variable (CSV) or Metastock160 and manage corporate actions (splits, name changes and additions) plus organize sectors (GIC8217s) and favourites ( data is not dividend adjusted). Historical data CD8217s, with Data Director included, are available for all the supported markets (free with a subscription package): ASX history is typically 14-16 years, plus many of the blue chip stocks and indices go back over 25 years, Australian ETO8217s ( Exchange Traded Options ) and Warrants, the United States (NYSE, NASDAQ, Amex), Europe (LSE) and Singapore (SSX) markets going back over all securities approximately 10 years. Note: US historical data is raw data (not adjusted in anyway). Additional products available from Paritech: a) COT ( Commitment of Traders Reports ) historical databases. b) Unlimited real time data for the Australian markets using Paritech8217s Pulse software, or via DDE functionality, that includes 50 time series live fields (no backfill or history). Exchange Traded Options are160 included. EOD prices from the futures and spot markets worldwide, concentrating on the most liquid markets with 86 contracts in 13 different markets. Data Tools includes sophisticated mechanisms for the automatic creation of spliced continuous and back-adjusted continuous contracts, contract pricing and position sizingrisk management. EOD data for Foreign Exchange 8211 13 spot cross-rates against the U. S. Dollar. EOD data for Forex, Stocks, Commodities and Futures from Australia, Asia, Europe, Africa, North and South America (stock market data from over 90 World Exchanges) Download using JustData8217s BodhiGold software in ASCII, CSV or Metastock formats or access free Yahoo data. The downloader filters and organizes stocks, as required, and also creates Indexes and AdvanceDecline indicators. ASX equity data package includes options, accurate dividend adjustment, GIC8217s sector classification, de-listed stocks, bidask quotes and exportable current fundamental data. Choose to adjust your databases for Structural Events such as Share Splits Distribution events such as Renounceable issues Capital Change and Dividends. Bodhi History includes expired symbols on the ASX since 1990 and on other Exchanges since JustData started disseminating them. Note: most other equity markets are raw (unadjusted) data only. Historical EOD data CD8217s are available with data subscription packages or standalone. They include Equities, Indices, Income, Options, World Indices, Commodities amp Forex for the major currencies (Australia, UnitedStates, Europe, Asia etc). The future and commodity markets include continuous contracts and current contracts for all traded symbols. You can also adjust Overseas Future amp Commodity data at the time of a contract swap. Filed by brianz at 1:04 pm under Data Resources Comments Off on Data Resources 8211 Australia August 19, 2007 This is the first in a series off KISS (keep it simple, stupid) trading ideas for you to play with. All system ideas presented here are unproven, unfinished, and may contain errors. They are intended to show possible patterns for further exploration. As always, you are invited to make comments andor add your own ideas to this series. I prefer real-time systems that trade fast, are automated, and are devoid of traditional indicators. Preferably, they should have no optimizable parameters however, I may not always be able to meet this objective. Not all systems will be that simple there will be some that use simple averaging or HHVLLV type functions. The first system shown below is a copy of the demo system I use to develop Trade-Automation routines elsewhere on this site. Real-Time Gap-Trading . To see how this works, you should Backtest it on 1-minute data with a periodicity in the range of 5-60 minutes. Your first impression may be that these profits are simply due to an up market, however, the fact that Long and Short profits are about equal suggests there is more to it. Because 98 of all trades fall between 9:30 AM and 10:30 AM, this type of system is nice if you just want to trade a short time each day. This reduces risk with respect to market exposure and gives you more time to enjoy other activities. Backtesting this on the NASDAQ-100 watchlist (individual backtests, 15 min. Periodicity) gives the profits shown below for the period of 1 MAR 2007 to 17 AUG 2007. Ticker names are omitted to keep the chart compact the chart simply shows a net profit bar for each ticker tested. Average exposure for this system is about 15 hence, you may be able to trade portfolios to increase profits and smooth the equity curves. Be cautioned that in its raw form the drawdowns are unacceptable and that there may be volume restrictions for many tickers. Since this system has low exposure, it may be a candidate for market scanning and ranked portfolio trading. RARs would be an indication of the absolute maximum profits that could be obtained if one succeeded to increase exposure to near 100. However, price movement from different tickers may be correlated, and trades from different tickers may overlap. If many tickers trade at the same time, it would be difficult to increase system exposure. Filed by Herman at 1:49 pm under Ideas (Experimental) Comments Off on KISS-001: Intraday Gap Trading August 14, 2007 TO BE COMPLETED AT A FUTURE DATE. In the short term here8217s the patch The published date, for a post, is listed in several places. It is used for everything by default 8211 searches, post order, RSS feedstream etc. AmiBroker customized a Page Order property to allow Table Of Contents sorting. It is mainly used where an Author is writing a 8216series8217 of posts on a specialist topic e. g. IO, Automated Trading. The Author is 8216assigned8217 ownership of the category so they can present their posts so that visitors read them 8216like a book8217. Page Order can be set from the WordPress Admin Center . Go to Manage and open the relevant post(s). Change the Page Order setting from the default (zero) to any whole integer between 8211 2,147,483,648 and 2,147,483,648 to position the post in order, relevant to other posts in the category or sub-category (1,2,3,4,5, etc is as good as anything since it aligns to the default bulleted numbers assigned to the TOC view). 1) Change the sort number in the Page Order properties box. Note: This is the Page Order setting for Contributors gtgt UKB Post Formats . which makes it the second post in the Contributors category. 2) Save the post to lock in the changes Note: There8217s no need to worry about editor conflict. Any post property can be reset without conflict, irrespective of what editor was used to publish the post (posts that are written in WLW can have the Page Order reset from the WP Admin Center without problems) Posts can also be reordered by 8216manually8217 changing the published date but. note: changing publish date will change the folder that the post is stored in 8211 if it moves the post to a new month. 8211 server folders are on a (monthly) date basis -(will affect links to it that exist in other posts) need to address the issue of reporting broken links. Filed by brianz at 7:27 am under Using WordPress Comments Off on Ordering Posts August 13, 2007 This page is obsolete. Current versions of AmiBroker feature built-in non-exhaustive, smart multithreaded optimizer and walk-forward engine. The Objectives of an Intelligent Optimizer should include the ability to: Optimize systems that would take too much time or would otherwise not be feasible using an Exhaustive Search approach. Optimize systems based on any user derived combination andor relationship of the performance metrics provided as a result of the AmiBroker optimization process including those that users develop using the custom back tester and it should allow users to define Goals and Constraints that help direct optimization. Perform a sensitivity analysis of the variables that have been optimized and utilize parameter sensitivity as a means of directing the optimization process towards a more robust set of parameters. Perform automated out of sample and walk forward testing i. e. repeated cycles of optimization of in sample data followed by back testing of out of sample data using either a front anchored or rolling window. Utilize distributed computing i. e. multiple machines to spread the optimization load over, thereby facilitating significantly faster run times. Utilize the full capabilities of an Intelligent Optimizer even when the decision is to strictly use AmiBroker8217s Exhaustive Search optimization engine. Set up and solve more advanced problems not initially thought to be in the realm of optimization such as system generation via automated rule creation, selection and combination pattern recognition and data mining. Besides having the above functionality 8230 It should be Easy to Use 8230 It should be noted that if your AFL8217s use constants instead of optimizable parameters that the values of those 8220constants8221 in many situations originated by someone else optimizing something manually or otherwise at some other point in time and as such only appear to be constants. In addition as constants they have a tendency to hide how sensitive they are and as a result how robust or not the corresponding system they are part of is. A shareware version of IO with full documentation can be found in the AmiBroker Files Section 8230 groups. yahoogroupamibrokerfilesIO. zip This page is obsolete. Current versions of AmiBroker feature built-in non-exhaustive, smart multithreaded optimizer and walk-forward engine. As a more thorough verification that a system will perform as anticipated, we should always test the system with out of sample data or in other words with data that has not been seen by the In Sample optimization process graphically represented by: This can be accomplished in AmiBroker by: 8211 Setting the from and to dates for our system to wherever we want 8211 Performing an optimization and choosing the parameter values to use going forward 8211 Changing the default values of the optimization statements 8211 Moving the from and to dates forward in time 8211 Running a back test to see how well the system performs. Besides automating the whole process above, IO also offers more advanced alternatives such as a fully automated calendar or signal based, anchored or rolling Walk Forward optimization and Out of Sample testing which can be made to be very thorough. Graphically the anchored and rolling walk forward processes look like this: Without automated tools such as this almost no one performs Walk Forward testing because of the amount of manual intervention that is required. For example think about the manual steps required to perform a Walk Forward test over a 3 year period 3 months at a time which are: 8211 Set the from and to dates for the original optimization to begin as of some date in time and end as of 3 years ago 8211 Perform the optimization and choose which parameter values to use going forward 8211 Change the default values of the optimization statements 8211 Move the from and to dates forward 8211 Run a back test for the first three months of out of sample data and record the results 8211 Then repeat the whole process eleven times, each time moving the end date ( anchored ) or beginning and ending dates ( rolling ) 3 months closer until you run out of data. Assuming one had the means to manually stitch together the out of sample equity curve this then would provide a real life picture of how the system performed over a 3 year Out of Sample period with reoptimization occurring every 3 months. The above can be accomplished in IO with no manual intervention and a single Walk Forward Directive which is written like this: 8211 WFAuto: Anchored: 3: Months As a result even if it takes 15 minutes to optimize each of the 12 segments to accumulate the data necessary to build and show the tables and the combined equity curves, it can all be done unattended. As a result one only need to set up a run, get it started and then go find something else of interest to do. Besides the tabular results that are produced by IO it is also capable, with an included AFL, of showing an accurate composite of the In and Out of Sample equity curve in AmiBroker that looks like what is below: The middle pane in the template above shows my replacement for the standard AmiBroker equity curve for the current In Sample optimization. The bottom pane shows the full Walk Forward results and is constructed on the fly as each new Walk Forward segment occurs. The section to the left of the thick vertical bar in the lower pane is the original In Sample optimization period. The sections to the right separated by thinner vertical bars are each of the Out of Sample periods in the Walk Forward analysis. IO is also capable, with a slightly different form of the directive, of performing signal based Walk Forward processes which calls for reoptimization every time some user selected signal type ( Buy, Sell, Short, Cover, Entry, Exit, Any ) occurs. By definition this implies a variable length Out of Sample period that is dependent on when signals actually occur. These are advanced features in IO . A shareware version of IO with full documentation can be found in the AmiBroker Files Section 8230 groups. yahoogroupamibrokerfilesIO. zip Filed by Fred at 5:22 am under Intelligent Optimization Comments Off on IO 8211 Out of Sample and Walk Forward Testing

Comments

Popular posts from this blog

Binary Options Strategies Pdf

Binary Options Review Brokers Of Expertise