Wednesday 2 May 2018

Opções de negociação de algo


Software de Negociação Algorítmica AlgoTrader.


O AlgoTrader é a primeira solução de software de negociação algorítmica totalmente integrada para fundos de hedge quantitativos. Permite automação de estratégias de negociação complexas e quantitativas nos mercados de Ações, Forex e Derivativos. O AlgoTrader fornece tudo o que um fundo de hedge quantitativo típico precisa diariamente para executar sua operação e é o primeiro e único produto de software de negociação algorítmica a permitir negociações automatizadas de Bitcoin e outras Criptomoedas.


Benefícios do AlgoTrader.


Automatizado - Qualquer estratégia de negociação quantitativa pode ser totalmente automatizada.


Rápido - Grandes volumes de dados de mercado são processados, analisados ​​e processados ​​automaticamente em altíssima velocidade.


Personalizável - A arquitetura de código aberto pode ser personalizada para requisitos específicos do usuário.


Custo-benefício - Negociações totalmente automatizadas e recursos embutidos reduzem o custo.


Confiável - Construído com a arquitetura mais robusta e tecnologia de ponta.


Totalmente Suportado - Orientação abrangente disponível para instalação e personalização. Treinamento e consultoria no local e à distância disponíveis.


Recursos do AlgoTrader.


AlgoTrader Como funciona.


Qualquer estratégia de negociação baseada em regras pode ser totalmente automatizada:


Dados do mercado eletrônico chegam. Os dados são encaminhados para estratégias de negociação em execução no AlgoTrader. As estratégias de negociação analisam, filtram e processam dados de mercado e criam sinais de negociação. Com base nos sinais de negociação, as ações são executadas (por exemplo, fazer um pedido ou fechar uma posição). As encomendas são enviadas para os respectivos mercados.


AlgoTrader Services & # 038; Treinamento.


Consultoria e treinamento no local e à distância: Automação e migração de estratégias existentes Melhoria e otimização de estratégias existentes Prototipação e backtesting de novas estratégias Desenvolvimento de funcionalidades personalizadas Documentação abrangente e guias do usuário.


Últimas notícias.


AlgoTrader entre os 5 vencedores do Swisscom Startup Challenge Ago-17-2017.


Apresentando AlgoTrader 4.0 - Embalado com novos recursos poderosos Jul-17-2017.


A AlgoTrader faz parte da Equipe Nacional de Fintech da Suíça 2017 Jun-12-2017.


Testemunhos


A Vontobel aprecia a arquitetura aberta e extensível do AlgoTrader, bem como o uso de componentes de código aberto padrão comumente usados, como Esper e Spring.


Benjamin Huber, chefe da Algo Trading & # 038; Smart Order Routing, Banco Vontobel AG, Zurique.


Estamos muito impressionados com as capacidades da AlgoTrader em termos de desenvolvimento de estratégia e flexibilidade técnica. O AlgoTrader é a tecnologia chave que nos permite negociar várias estratégias baseadas no VIX Future e Option em paralelo.


Raimond Schuster, Membro do Conselho Executivo, ISP Securities AG, Zürich.


Todos os direitos reservados.


Links Sociais.


Endereço Inferior.


Suíça Ligue para nós: +41 44 291 14 85 Email:


1. Vá para aws. amazon e clique em "Iniciar sessão na consola" & # 8221; (veja a imagem abaixo)


2. Se você ainda não tiver uma conta Amazon AWS, passe pelo processo de registro clicando em "Criar conta da AWS"


3. Depois de efetuar login no Amazon AWS Console, selecione “Minha conta” no menu no lado superior direito da tela, abaixo do seu nome de usuário.


4. Na próxima tela, você verá a ID da Amazon de 12 dígitos exibida em "Configurações da conta"


OS TERMOS E CONDIÇÕES DESTE CONTRATO DE LICENÇA DO USUÁRIO FINAL ("CONTRATO") GOVERNAM SEU USO DO SOFTWARE, A MENOS QUE VOCÊ E O LICENCIANTE FORAM EXECUTADOS UM CONTRATO DE LICENÇA SEPARADO POR ESCRITO QUE REGULA SEU USO DO SOFTWARE.


O Licenciante está disposto a licenciar o Software para você somente com a condição de que você aceite todos os termos contidos neste Contrato. Ao assinar este Contrato ou baixando, instalando ou usando o Software, você indicou que entende este Contrato e aceita todos os seus termos. Se você não aceitar todos os termos deste Contrato, o Licenciante não estará disposto a licenciar o Software para você, e você não poderá fazer o download, instalar ou usar o Software.


1. CONCESSÃO DE LICENÇA.


uma. Avaliação Uso e Desenvolvimento Licença de Uso. Sujeito à sua conformidade com os termos e condições deste Contrato, o Licenciante concede a você uma licença pessoal, não exclusiva e intransferível, sem o direito de sublicenciar, durante o período deste Contrato, o uso interno do Software exclusivamente para Uso de Avaliação e Uso de Desenvolvimento. Os produtos de software de terceiros ou módulos fornecidos pelo Licenciador, se houver, podem ser usados ​​exclusivamente com o Software e podem estar sujeitos à sua aceitação dos termos e condições fornecidos por tais terceiros. Quando a licença terminar, você deve parar de usar o Software e desinstalar todas as instâncias. Todos os direitos não concedidos especificamente a você aqui são retidos pelo Licenciante. O Desenvolvedor não deve fazer uso comercial do Software, ou qualquer trabalho derivado dele (inclusive para propósitos comerciais internos do Desenvolvedor). É proibido copiar e redistribuir, de qualquer forma, o Aplicativo de Software ou Desenvolvedor para seus clientes diretos ou indiretos.


b. Licença de Uso de Produção. Sujeito à sua conformidade com os termos e condições deste Contrato, incluindo o pagamento da taxa de licença aplicável, o Licenciador concede a você uma licença não exclusiva e intransferível, sem o direito de sublicenciar, durante o prazo deste Contrato, para : (a) usar e reproduzir o Software exclusivamente para seus próprios propósitos internos de negócios (& # 8220; Uso da Produção & # 8221;); e (b) fazer um número razoável de cópias do Software apenas para fins de backup. Essa licença é limitada ao número específico de CPUs (se licenciado pela CPU) ou instâncias de Java Virtual Machines (se licenças por máquina virtual) pelas quais você pagou uma taxa de licença. O uso do Software em um número maior de CPUs ou instâncias de Java Virtual Machines exigirá o pagamento de uma taxa de licença adicional. Os produtos de software de terceiros ou módulos fornecidos pelo Licenciante, se houver, podem ser usados ​​exclusivamente com o Software.


c. Nenhum outro direito. Seus direitos e uso do Software estão limitados àqueles expressamente concedidos nesta Seção 1. Você não fará nenhum outro uso do Software. Exceto quando expressamente licenciado nesta Seção, o Licenciante não lhe concede outros direitos ou licenças, por implicação, preclusão ou de outra forma. TODOS OS DIREITOS NÃO EXPRESSAMENTE CONCEDIDOS AQUI SÃO RESERVADOS PELO LICENCIADOR OU SEUS FORNECEDORES.


2. RESTRIÇÕES


Exceto conforme expressamente previsto na Seção 1, você não irá: (a) modificar, traduzir, desmontar, criar trabalhos derivados do Software ou copiar o Software; (b) alugar, emprestar, transferir, distribuir ou conceder quaisquer direitos sobre o Software de qualquer forma a qualquer pessoa; (c) fornecer, divulgar, divulgar ou disponibilizar para, ou permitir o uso do Software, por qualquer terceiro; (d) publicar qualquer teste de desempenho ou benchmark executado no Software ou em qualquer parte dele; ou (e) remover quaisquer avisos, etiquetas ou marcações de propriedade no Software. Você não distribuirá o Software a qualquer pessoa em uma base autônoma ou em uma base de fabricante de equipamento original (OEM).


3. PROPRIEDADE.


Entre as partes, o Software é e continuará sendo a única e exclusiva propriedade do Licenciante, incluindo todos os direitos de propriedade intelectual.


uma. No caso de você usar o Software sob a licença estabelecida na Seção 1 (a), este Contrato permanecerá em vigor durante o período de avaliação ou desenvolvimento.


b. No caso de você usar o Software sob a licença estabelecida na Seção 1 (b), este Contrato permanecerá em vigor (a) por um período de um ano, se comprado como uma licença de assinatura anual ou (b) perpetuamente se adquirido como licença perpétua. Uma licença de assinatura anual será renovada automaticamente por um ano, a menos que seja rescindida com um aviso prévio de um mês. Este Contrato será rescindido automaticamente sem aviso prévio se você violar qualquer termo deste Contrato. Após a rescisão, você deve imediatamente deixar de usar o Software e destruir todas as cópias do Software em sua posse ou controle.


5. SERVIÇOS DE SUPORTE.


Se você adquiriu esta licença, incluindo os Serviços de suporte, eles incluem versões de manutenção (atualizações e upgrades), suporte por telefone e suporte por e-mail ou pela Web.


uma. O Licenciador fará esforços comercialmente razoáveis ​​para fornecer uma atualização projetada para solucionar ou ignorar um erro relatado. Se tal Erro tiver sido corrigido em uma Versão de Manutenção, o Licenciado deverá instalar e implementar a Versão de Manutenção aplicável; caso contrário, a Atualização poderá ser fornecida na forma de uma correção, procedimento ou rotina temporária, a ser usada até que uma Liberação de Manutenção contendo a Atualização permanente esteja disponível.


b. Durante o Prazo do Contrato de Licença, o Licenciante deverá disponibilizar as Liberações de Manutenção ao Licenciado se, como e quando o Licenciador disponibilizar tais Liberações de Manutenção, geralmente disponíveis para seus clientes. Se surgir uma dúvida sobre se uma oferta de produto é um Upgrade ou um novo produto ou recurso, a opinião do Licenciante prevalecerá, desde que o Licenciador trate a oferta de produto como um novo produto ou recurso para seus clientes usuários finais em geral. .


c. A obrigação do Licenciante de fornecer Serviços de Suporte está condicionada ao seguinte: (a) o Licenciado faz esforços razoáveis ​​para corrigir o Erro após consultar o Licenciante; (b) o Licenciado fornece ao Licenciador informações e recursos suficientes para corrigir o Erro no site do Licenciante ou via acesso remoto ao site do Licenciado, bem como acesso ao pessoal, hardware e qualquer software envolvido na descoberta do erro; (c) o Licenciado instala prontamente todas as versões de manutenção; e (d) a Licenciada adquire, instala e mantém todos os equipamentos, interfaces de comunicação e outros hardwares necessários para operar o Produto.


d. O Licenciador não é obrigado a fornecer Serviços de Suporte nas seguintes situações: (a) o Produto foi alterado, modificado ou danificado (exceto se sob a supervisão direta do Licenciante); (b) o Erro é causado por negligência do Licenciado, mau funcionamento do hardware ou outras causas além do controle razoável do Licenciante; (c) o Erro é causado por software de terceiros não licenciado através do Licenciante; (d) o Licenciado não instalou e implementou Release (s) de Manutenção para que o Produto seja uma versão suportada pelo Licenciante; ou (e) o Licenciado não pagou as taxas de Licença ou taxas de Serviços de Suporte quando devidas. Além disso, o Licenciador não é obrigado a fornecer Serviços de Suporte para códigos de software escritos pelo próprio cliente com base no Produto.


e. O Licenciador se reserva o direito de descontinuar os Serviços de Suporte, caso o Licenciador, a seu exclusivo critério, determine que o suporte continuado para qualquer Produto não seja mais economicamente viável. O Licenciante dará ao Licenciado pelo menos três (3) meses de antecedência por escrito de tal descontinuação de Serviços de Suporte e reembolsará quaisquer taxas de Serviços de Suporte não acumuladas que o Licenciado possa ter pré-pago com relação ao Produto afetado. O Licenciante não tem obrigação de apoiar ou manter qualquer versão do Produto ou plataformas de terceiros subjacentes (incluindo, mas não limitado a software, JVM, sistema operacional ou hardware) para o qual o Produto é suportado, exceto (i) a versão atual do Produto e plataforma subjacente de terceiros, e (ii) as duas versões imediatamente precedentes do Produto e sistema operacional por um período de seis (6) meses após a primeira substituição. O Licenciador se reserva o direito de suspender o desempenho dos Serviços de Suporte se o Licenciado não pagar qualquer valor que seja pago ao Licenciador sob o Contrato dentro de trinta (30) dias após o vencimento desse valor.


6. GARANTIA


uma. O Licenciante garante que o Software será capaz de executar em todos os aspectos relevantes de acordo com as especificações funcionais estabelecidas na documentação aplicável por um período de 90 dias após a data em que você instalar o Software. No caso de uma violação de tal garantia, o Licenciador deverá, a seu critério, corrigir o Software ou substituí-lo gratuitamente. O acima exposto são os seus únicos e exclusivos recursos e a única responsabilidade do Licenciador pela violação destas garantias. As garantias estabelecidas acima são feitas apenas para benefício de você. As garantias aplicar-se-ão apenas se (a) o Software tiver sido instalado e usado adequadamente em todos os momentos e de acordo com as instruções de uso; (c) as atualizações mais recentes foram aplicadas ao software; e (c) nenhuma modificação, alteração ou adição tenha sido feita ao Software por pessoas que não sejam o Licenciante ou o representante autorizado da Licenciadora.


7. ISENÇÃO DE RESPONSABILIDADE.


EXCETO PODEM SER FORNECIDOS SOB A SECÇÃO 6 (a), O LICENCIANTE EXPRESSAMENTE RENUNCIA A TODAS AS GARANTIAS, EXPRESSAS OU IMPLÍCITAS, INCLUINDO QUAISQUER GARANTIAS IMPLÍCITAS DE COMERCIALIZAÇÃO, ADEQUAÇÃO A UM FIM ESPECÍFICO E NÃO VIOLAÇÃO, E QUAISQUER GARANTIAS RESULTANTES DO TRATAMENTO OU UTILIZAÇÃO DE COMÉRCIO. NENHUM CONSELHO OU INFORMAÇÃO, SEJA ORAL OU ESCRITO, OBTIDO DO LICENCIANTE OU EM OUTRA PARTE, CRIARÁ QUALQUER GARANTIA NÃO EXPRESSA NESTE ACORDO.


O Licenciador não garante que o Produto de Software atenderá aos seus requisitos ou operará sob as suas condições específicas de uso. O Licenciante não garante que a operação do Produto de Software será segura, sem erros ou sem interrupção.


VOCÊ DEVE DETERMINAR SE O SOFTWARE PRODUZ SUFICIENTEMENTE OS SEUS REQUISITOS DE SEGURANÇA E ININTERRUPTABILIDADE. VOCÊ ASSUME TOTAL RESPONSABILIDADE E TODA RESPONSABILIDADE POR QUALQUER PERDA INCORRIDA DEVIDO A FALHA DO PRODUTO DE SOFTWARE PARA ATENDER AOS SEUS REQUISITOS. O LICENCIANTE NÃO SERÁ, SOB NENHUMA CIRCUNSTÂNCIA, RESPONSÁVEL PELA PERDA DE DADOS EM QUALQUER COMPUTADOR OU DISPOSITIVO DE ARMAZENAMENTO DE INFORMAÇÕES.


8. LIMITAÇÃO DE RESPONSABILIDADE.


A RESPONSABILIDADE TOTAL DO LICENCIANTE EM RELAÇÃO A VOCÊ DE TODAS AS CAUSAS DE AÇÃO E SOB TODAS AS TEORIAS DE RESPONSABILIDADE SERÁ LIMITADA E NÃO EXCEDERÁ A TAXA DE LICENÇA PAGA POR VOCÊ AO LICENCIADOR PARA O SOFTWARE. EM CASO ALGUM O LICENCIADO SERÁ RESPONSÁVEL POR QUAISQUER DANOS ESPECIAIS, INCIDENTAIS, EXEMPLARES, PUNITIVOS OU CONSEQÜENTES (INCLUINDO PERDA DE USO, DADOS, NEGÓCIOS OU LUCROS) OU PELO CUSTO DE PROCURA DE PRODUTOS SUBSTITUTOS DECORRENTES OU RELACIONADOS A ESTE CONTRATO OU USO OU DESEMPENHO DO SOFTWARE, SEJA ESSA RESPONSABILIDADE SURJA DE QUALQUER RECLAMAÇÃO COM BASE EM CONTRATO, GARANTIA, DELITO (INCLUINDO NEGLIGÊNCIA), RESPONSABILIDADE ESTRITA OU OUTRA, E SE O LICENCIADOR TER OU NÃO SIDO AVISADO DA POSSIBILIDADE DE TAIS PERDAS OU DANIFICAR. AS LIMITAÇÕES PRECEDENTES SOBREVIVERÃO E APLICAR-SE-ÃO MESMO QUE QUALQUER RECURSO LIMITADO ESPECIFICADO NESTE ACORDO SEJA FALHADO EM SEU PROPÓSITO ESSENCIAL. NA MEDIDA EM QUE A JURISDIÇÃO APLICÁVEL LIMITA A CAPACIDADE DO LICENCIADOR DE REJEITAR QUAISQUER GARANTIAS IMPLÍCITAS, ESTA RENÚNCIA DEVERÁ SER EFICAZ NA EXTENSÃO MÁXIMA PERMITIDA.


Se qualquer disposição deste Contrato for considerada inválida ou inexequível, o restante deste Contrato permanecerá em pleno vigor e efeito. Na medida em que quaisquer restrições expressas ou implícitas não sejam permitidas pelas leis aplicáveis, estas restrições, expressas ou implícitas, permanecerão em vigor e vigor até o limite máximo permitido por tais leis aplicáveis.


Este Contrato é o contrato completo e exclusivo entre as partes com relação ao assunto aqui tratado, substituindo e substituindo todos e quaisquer acordos, comunicações e entendimentos anteriores (tanto escritos quanto orais) em relação a esse assunto. As partes deste Contrato são contratadas independentes, e nenhuma delas tem o poder de vincular a outra ou contrair obrigações em nome de outra. Nenhuma falha de qualquer das partes em exercer ou fazer valer quaisquer dos seus direitos sob este Contrato agirá como uma renúncia de tais direitos. Quaisquer termos ou condições contidos em qualquer pedido de compra ou outro documento de encomenda que sejam inconsistentes ou adicionais aos termos e condições deste Contrato são por este meio rejeitados pelo Licenciador e serão considerados nulos e sem efeito.


Este Contrato será interpretado e interpretado de acordo com as leis da Suíça, sem considerar conflitos de princípios legais. As partes concordam com a jurisdição exclusiva e o foro de tribunais localizados em Zurique, Suíça, para resolução de quaisquer disputas decorrentes ou relacionadas a este Contrato.


10. DEFINIÇÕES


& # 8220; Uso de avaliação & # 8221; significa usar o Software apenas para avaliação e teste de novas aplicações destinadas ao seu Uso de Produção.


& # 8220; Uso de produção & # 8221; significa usar o Software apenas para fins comerciais internos. O Uso de Produção não inclui o direito de reproduzir o Software para sublicenciamento, revenda ou distribuição, incluindo, sem limitação, a operação em um compartilhamento de tempo ou distribuição do Software como parte de um acordo de ASP, VAR, OEM, distribuidor ou revendedor.


& # 8220; Software & # 8221; significa o software do Licenciador e todos os seus componentes, documentação e exemplos incluídos pelo Licenciante.


& # 8220; Erro & # 8221; significa (a) uma falha do Produto em conformidade com as especificações estabelecidas na documentação, resultando na incapacidade de uso ou restrição no uso do Produto, e / ou (b) um problema que exige novos procedimentos, esclarecimentos, informações adicionais e / ou solicitações de aprimoramentos de produtos.


& # 8220; Lançamento de manutenção & # 8221; significa Upgrades e Atualizações do Produto disponibilizadas para licenciados de acordo com os Serviços de Suporte padrão definidos na seção 5.


& # 8220; Atualizar & # 8221; significa uma modificação ou adição de software que, quando feita ou adicionada ao Produto, corrige o Erro, ou um procedimento ou rotina que, quando observado na operação regular do Produto, elimina o efeito adverso prático do Erro no Licenciado.


& # 8220; Atualização & # 8221; significa uma revisão do Produto liberada pelo Licenciante para seus clientes usuários finais geralmente, durante o Termo dos Serviços de Suporte, para adicionar funções novas e diferentes ou para aumentar a capacidade do Produto. A atualização não inclui o lançamento de um novo produto ou recursos adicionais para os quais pode haver uma cobrança separada.


Noções básicas de negociação algorítmica: conceitos e exemplos.


Um algoritmo é um conjunto específico de instruções claramente definidas destinadas a realizar uma tarefa ou processo.


O comércio algorítmico (negociação automatizada, negociação de caixa preta ou simplesmente negociação de algoritmos) é o processo de usar computadores programados para seguir um conjunto definido de instruções para fazer uma negociação, a fim de gerar lucros a uma velocidade e frequência impossíveis para uma negociação. comerciante humano. Os conjuntos de regras definidos são baseados em tempo, preço, quantidade ou qualquer modelo matemático. Para além das oportunidades de lucro para o comerciante, a negociação de algoritmos torna os mercados mais líquidos e torna o comércio mais sistemático ao excluir os impactos humanos emocionais nas atividades de negociação. (Para mais, confira Escolhendo o Software de Negociação Algorítmica Certo.)


Suponha que um comerciante siga estes critérios comerciais simples:


Compre 50 ações de uma ação quando a média móvel de 50 dias ultrapassar a média móvel de 200 dias. Venda ações da ação quando a média móvel de 50 dias ficar abaixo da média móvel de 200 dias.


Usando este conjunto de duas instruções simples, é fácil escrever um programa de computador que monitore automaticamente o preço das ações (e os indicadores de média móvel) e coloque as ordens de compra e venda quando as condições definidas forem atendidas. O comerciante não precisa mais ficar de olho nos preços e gráficos ao vivo, ou colocar os pedidos manualmente. O sistema de negociação algorítmica faz isso automaticamente, identificando corretamente a oportunidade de negociação. (Para obter mais informações sobre médias móveis, consulte Médias móveis simples Faça as tendências se destacarem.)


[Se você quiser aprender mais sobre as estratégias comprovadas e no ponto que podem, eventualmente, ser trabalhadas em um sistema de negociação alorítimo, confira o curso Torne-se um Day Trader da Investopedia Academy. ]


Benefícios do comércio algorítmico.


Algo-trading fornece os seguintes benefícios:


Negociações executadas com os melhores preços Possibilidade de colocação imediata e imediata de ordens (com altas chances de execução nos níveis desejados) Negociações cronometradas correta e instantaneamente, para evitar mudanças significativas nos preços Redução dos custos de transação (veja o exemplo de déficit de implementação abaixo) Verificações automatizadas simultâneas em múltiplos condições de mercado Risco reduzido de erros manuais na colocação dos negócios Backtest o algoritmo, com base em dados históricos e em tempo real disponíveis Possibilidade de erros reduzidos por comerciantes humanos com base em fatores emocionais e psicológicos.


A maior parte da negociação de algoritmos atuais é a negociação de alta frequência (HFT), que tenta capitalizar a colocação de um grande número de pedidos em velocidades muito rápidas em vários mercados e vários parâmetros de decisão, com base em instruções pré-programadas. (Para mais informações sobre negociação de alta frequência, consulte Estratégias e segredos de empresas de negociação de alta frequência (HFT).)


O comércio de algo é usado em muitas formas de atividades de negociação e investimento, incluindo:


Investidores de médio a longo prazo ou empresas compradoras (fundos de pensão, fundos mútuos, seguradoras) que compram em grandes quantidades, mas não querem influenciar os preços das ações com investimentos discretos e de grande volume. Comerciantes de curto prazo e participantes do lado da venda (formadores de mercado, especuladores e arbitradores) se beneficiam da execução automatizada do comércio; Além disso, o comércio de algo ajuda a criar liquidez suficiente para os vendedores no mercado. Comerciantes sistemáticos (seguidores de tendências, pares de traders, hedge funds, etc.) acham muito mais eficiente programar suas regras de negociação e permitir que o programa troque automaticamente.


O comércio algorítmico fornece uma abordagem mais sistemática ao comércio ativo do que métodos baseados na intuição ou instinto de um comerciante humano.


Estratégias de Negociação Algorítmica.


Qualquer estratégia para negociação algorítmica requer uma oportunidade identificada que seja lucrativa em termos de ganhos aprimorados ou redução de custos. A seguir estão as estratégias de negociação comuns usadas no comércio de algo:


As estratégias de negociação algorítmica mais comuns seguem as tendências de médias móveis, desvios de canal, movimentos de níveis de preços e indicadores técnicos relacionados. Essas são as estratégias mais fáceis e simples de implementar por meio do comércio algorítmico, porque essas estratégias não envolvem previsões nem previsões de preços. As negociações são iniciadas com base na ocorrência de tendências desejáveis, que são fáceis e diretas de implementar por meio de algoritmos, sem entrar na complexidade da análise preditiva. O exemplo acima mencionado de média móvel de 50 e 200 dias é uma tendência popular seguindo a estratégia. (Para mais informações sobre estratégias de negociação de tendências, consulte: Estratégias simples para capitalizar tendências.)


Comprar uma ação com cotação dupla a um preço menor em um mercado e, simultaneamente, vendê-la a um preço mais alto em outro mercado oferece o diferencial de preço como lucro ou arbitragem isenta de risco. A mesma operação pode ser replicada para ações versus instrumentos futuros, já que os diferenciais de preço existem de tempos em tempos. Implementar um algoritmo para identificar esses diferenciais de preços e colocar as ordens permite oportunidades lucrativas de maneira eficiente.


Os fundos de índices definiram períodos de reequilíbrio para aproximar seus investimentos aos seus respectivos índices de referência. Isso cria oportunidades lucrativas para os traders algorítmicos, que capitalizam os negócios esperados que oferecem lucros de 20 a 80 pontos básicos, dependendo do número de ações no fundo de índice, imediatamente antes do rebalanceamento do fundo do índice. Tais negociações são iniciadas através de sistemas de negociação algorítmica para execução atempada e melhores preços.


Muitos modelos matemáticos comprovados, como a estratégia de negociação delta-neutral, que permitem negociar com combinação de opções e seu título subjacente, onde são feitas negociações para compensar deltas positivos e negativos, de modo que o delta do portfólio seja mantido em zero.


A estratégia de reversão à média baseia-se na ideia de que os preços altos e baixos de um ativo são um fenômeno temporário que revertem para seu valor médio periodicamente. Identificar e definir uma faixa de preço e implementar um algoritmo com base nisso permite que os negócios sejam colocados automaticamente quando o preço do ativo entra e sai de seu intervalo definido.


A estratégia de preço médio ponderado por volume divide uma ordem grande e libera pedaços menores da ordem para o mercado, determinados dinamicamente, usando perfis de volume histórico específicos do estoque. O objetivo é executar o pedido próximo ao Preço Médio Ponderado pelo Volume (VWAP), beneficiando, assim, no preço médio.


A estratégia de preço médio ponderada pelo tempo quebra uma ordem grande e libera dinamicamente pedaços menores da ordem para o mercado usando intervalos de tempo divididos uniformemente entre uma hora inicial e final. O objetivo é executar o pedido próximo ao preço médio entre os horários inicial e final, minimizando o impacto no mercado.


Até que a ordem de negociação esteja totalmente preenchida, este algoritmo continua enviando ordens parciais, de acordo com a taxa de participação definida e de acordo com o volume negociado nos mercados. A "estratégia de etapas" relacionada envia pedidos em uma porcentagem definida pelo usuário de volumes de mercado e aumenta ou diminui essa taxa de participação quando o preço da ação atinge níveis definidos pelo usuário.


A estratégia de déficit de implementação visa minimizar o custo de execução de um pedido negociando o mercado em tempo real, economizando assim no custo do pedido e se beneficiando do custo de oportunidade de execução atrasada. A estratégia aumentará a taxa de participação visada quando o preço das ações se mover favoravelmente e diminuirá quando o preço das ações se mover negativamente.


Existem algumas classes especiais de algoritmos que tentam identificar “acontecimentos” do outro lado. Esses "algoritmos de farejamento", usados, por exemplo, por um criador de mercado do lado da venda, têm a inteligência incorporada para identificar a existência de quaisquer algoritmos no lado da compra de uma ordem grande. Essa detecção por meio de algoritmos ajudará o criador de mercado a identificar grandes oportunidades de pedidos e possibilitará que ele se beneficie com o preenchimento dos pedidos a um preço mais alto. Às vezes, isso é identificado como front-running de alta tecnologia. (Para mais informações sobre comércio de alta frequência e práticas fraudulentas, consulte: Se você comprar ações on-line, você está envolvido em HFTs.)


Requisitos técnicos para negociação algorítmica.


Implementar o algoritmo usando um programa de computador é a última parte, batida com backtesting. O desafio é transformar a estratégia identificada em um processo informatizado integrado que tenha acesso a uma conta de negociação para fazer pedidos. Os seguintes são necessários:


Conhecimentos de programação de computadores para programar a estratégia de negociação necessária, programadores contratados ou software de negociação pré-fabricados. Conectividade de rede e acesso a plataformas de negociação para colocação de pedidos. Acesso a feeds de dados de mercado que serão monitorados pelo algoritmo para oportunidades de fazer pedidos. para backtest o sistema, uma vez construído, antes de ir viver em mercados reais Dados históricos disponíveis para backtesting, dependendo da complexidade das regras implementadas no algoritmo.


Aqui está um exemplo abrangente: A Royal Dutch Shell (RDS) está listada na Bolsa de Valores de Amsterdã (AEX) e na Bolsa de Valores de Londres (LSE). Vamos criar um algoritmo para identificar oportunidades de arbitragem. Aqui estão algumas observações interessantes:


AEX negocia em Euros, enquanto a LSE negocia em Libras Esterlinas Devido à diferença horária de uma hora, a AEX abre uma hora antes da LSE, seguida pelas duas bolsas negociadas simultaneamente pelas próximas horas e depois negociando apenas na LSE durante a última hora conforme a AEX fecha .


Podemos explorar a possibilidade de negociação de arbitragem sobre as ações da Royal Dutch Shell listadas nesses dois mercados em duas moedas diferentes?


Um programa de computador que pode ler os preços de mercado atuais Feeds de preços de LSE e AEX Um feed de taxa de câmbio para taxa de câmbio de GBP-EUR Capacidade de colocação de pedidos que pode encaminhar o pedido para a capacidade correta de troca.


O programa de computador deve executar o seguinte:


Leia o feed de preço recebido do estoque RDS de ambas as trocas Usando as taxas de câmbio disponíveis, converta o preço de uma moeda para outra Se houver uma discrepância de preço suficiente (descontando os custos de corretagem) levando a uma oportunidade lucrativa, coloque a compra ordem em troca de preço mais baixo e ordem de venda em troca de preço mais alto Se as ordens forem executadas como desejado, o lucro da arbitragem seguirá.


Simples e fácil! No entanto, a prática de negociação algorítmica não é tão simples de manter e executar. Lembre-se, se você puder colocar uma negociação gerada por algoritmos, os outros participantes do mercado também poderão. Consequentemente, os preços flutuam em milissegundos e até microssegundos. No exemplo acima, o que acontece se a transação de compra for executada, mas o comércio de venda não é feito, pois os preços de venda mudam no momento em que seu pedido chega ao mercado? Você vai acabar sentado com uma posição aberta, fazendo com que sua estratégia de arbitragem seja inútil.


Existem riscos e desafios adicionais: por exemplo, riscos de falha do sistema, erros de conectividade de rede, atrasos entre ordens de negociação e execução e, o mais importante de tudo, algoritmos imperfeitos. Quanto mais complexo for um algoritmo, o backtesting mais rigoroso é necessário antes de ser colocado em ação.


The Bottom Line.


A análise quantitativa do desempenho de um algoritmo desempenha um papel importante e deve ser examinada criticamente. É emocionante usar a automação auxiliada por computadores com a noção de ganhar dinheiro sem esforço. Mas é preciso garantir que o sistema seja completamente testado e que os limites necessários sejam definidos. Comerciantes analíticos devem considerar aprender programação e construir sistemas por conta própria, para ter confiança em implementar as estratégias corretas de maneira infalível. Uso cauteloso e testes completos de negociação de algoritmos podem criar oportunidades lucrativas. (Para mais, veja Como codificar seu próprio robô de negociação da Algo.)


Troca de Opções Algorítmicas 1.


Apesar das muitas características interessantes das opções, os operadores privados raramente se aproveitam delas (claro que estou falando aqui de opções sérias, não opções binárias). Talvez as opções sejam impopulares devido à sua reputação de serem complexas. Ou devido à falta de suporte da maioria das ferramentas de software de negociação. Ou devido às etiquetas de preço das poucas ferramentas que as suportam e dos dados históricos que você precisa para negociação algorítmica. Seja qual for o & # 8211; recentemente fizemos vários contratos de programação para sistemas de negociação de opções, e fiquei surpreso que sistemas simples pareciam produzir lucros relativamente consistentes. Especialmente vender opções parece mais lucrativo do que negociação "convencional". instrumentos. Este artigo é o primeiro de uma mini-série sobre como ganhar dinheiro com negociação de opções algorítmicas.


Opções 101.


As opções são explicadas em muitos sites e em muitas listas de negociação, portanto, aqui está uma breve visão geral. Uma opção é um contrato que dá ao seu proprietário o direito de comprar (opção de compra) ou vender (opção de venda) um ativo financeiro (o subjacente) a um preço fixo (o preço de exercício) em ou antes de uma data fixa (a data de vencimento) . Se você vender uma opção curta, você está assumindo o outro lado da negociação. Assim, você pode inserir uma posição de 4 maneiras diferentes: comprar uma ligação, comprar uma opção de venda, vender uma ligação a curto prazo, vender uma opção de venda a descoberto. E isso com todas as combinações possíveis de preços de exercício e datas de vencimento.


O prêmio é o preço que você paga ou coleta por comprar ou vender uma opção. É muito menos do que o preço do estoque subjacente. Os principais mercados de opções geralmente são líquidos, para que você possa comprar, gravar ou vender uma opção com qualquer preço de exercício e data de vencimento razoáveis. Se o preço subjacente atual (o preço à vista) de uma opção de compra estiver acima do preço de exercício, a opção estará no dinheiro; caso contrário, está fora do dinheiro. O oposto é verdadeiro para opções de venda. In-the-money é bom para o comprador e ruim para o vendedor. Opções no dinheiro podem ser exercidas e são então trocadas pelo subjacente ao preço de exercício. A diferença de spot e strike é o lucro do comprador e a perda do vendedor. Opções de estilo americano podem ser exercidas a qualquer momento, opções de estilo europeu apenas no vencimento.


Opções fora do dinheiro não podem ser exercidas, pelo menos não com lucro. Mas eles não são inúteis, já que eles ainda têm a chance de entrar no dinheiro antes da expiração. O valor de uma opção depende dessa oportunidade e pode ser calculado para opções européias a partir do preço à vista, greve, vencimento, taxa de rendimento sem risco, taxa de dividendos e volatilidade subjacente com a famosa fórmula de Black-Scholes. Este valor é a base do prêmio da opção. O prêmio real pode desviar ligeiramente devido à oferta, demanda e tentativas de prever a tendência de preço subjacente.


Ao inverter a fórmula com um processo de aproximação, a volatilidade pode ser calculada a partir do prêmio real. Essa volatilidade implícita é como o mercado espera que o subjacente flutue na próxima vez. As derivadas parciais do valor da opção são os gregos (Delta, Vega & # 8211; não sei qual letra grega que supostamente deveria ser & # 8211; e Theta). Eles determinam em qual direção, e quão forte, o valor mudará quando um parâmetro de mercado mudar.


Isso é tudo informação básica necessária para opções de negociação. By the way, é interessante comparar as performances de estratégias de negociação de livros. Embora os sistemas de negociação de ações ou forex descritos nesses livros sejam em sua maioria belicosos e já tenham perdido em um simples backtest, isso não acontece com os sistemas de opções. Eles geralmente vencem nos backtests. E isso, embora eu tenha certeza de que quase nenhum autor realmente voltou a testá-los. Os autores de livros de negociação de opções são apenas mais inteligentes do que outros autores de livros de negociação? Talvez, mas nós veremos que há uma explicação alternativa.


Por que as opções de negociação em tudo?


Eles são mais complexos e mais difíceis de negociar, e você precisa de uma fórmula ganhadora do prêmio Nobel para calcular um valor que, de outra forma, seria simplesmente uma diferença de preço de entrada e saída. Apesar de tudo isso, as opções oferecem muitas vantagens maravilhosas sobre outros instrumentos financeiros:


Alta alavancagem. Com $ 100 você pode comprar apenas algumas ações, mas opções de várias centenas de ações. Risco controlado Uma posição curta em um estoque pode limpar sua conta; posições em opções podem ser inteligentes combinadas para limitar o risco de qualquer maneira desejada. E ao contrário de um stop loss, é um limite de risco real. Dimensões adicionais. Os lucros das ações dependem apenas do aumento ou queda dos preços. Os lucros das opções podem ser alcançados com a crescente volatilidade, a queda da volatilidade, os preços se movendo num intervalo, fora de um intervalo, ou quase qualquer outro comportamento de preço imaginável. Fogo e esqueça. As opções expiram, para que você não precise de um algoritmo para fechá-las (a menos que queira vendê-las ou exercê-las em condições especiais). E você não paga comissão de saída por uma opção expirada. Vantagem do vendedor. Devido ao prêmio, as opções ainda podem gerar lucro para o vendedor, mesmo que o subjacente se mova na direção errada.


A ética hacker exige que você não apenas reivindique algo, mas prove. Para se familiarizar com as opções, vamos colocar a última reivindicação, a vantagem do vendedor, em teste:


Este é um sistema de negociação de opções muito simples. Ele escreve aleatoriamente opções de compra ou venda e mantém as posições abertas até que elas expirem. Devido à aleatoriedade de colocar / chamar, é tendência independente. Antes de examinar os detalhes do código, basta executá-lo no modo [Test] algumas vezes (você precisará do Zorro versão 1.53 ou superior). Você notará que o resultado é diferente a qualquer momento, mas é mais positivo que negativo, mesmo que a comissão seja subtraída do lucro. Um resultado típico:


Você pode ver que a maioria dos negócios ganha, mas quando eles perdem, eles perdem muito. Agora inverta a estratégia e compre as opções em vez de vendê-las: Substitua enterShort () por enterLong (). Execute-o novamente algumas vezes (o script precisa de cerca de 3 segundos para um backtest). Você verá agora que o resultado é mais frequentemente negativo & # 8211; na verdade quase a qualquer momento.


Parece que as opções, pelo menos os contratos de SPY testados, realmente favorecem o vendedor. Isso é um pouco semelhante à expectativa positiva de posições compradas em ações, ETFs ou futuros de índices, mas a vantagem do vendedor de opções é mais forte e independente da direção do mercado. Isso pode explicar uma grande parte dos resultados positivos dos sistemas de opções nos livros de negociação. Por que existem então compradores de opções? As opções são frequentemente compradas sem fins lucrativos, mas como um seguro contra tendências de preços desfavoráveis ​​do subjacente. E por que a vantagem do vendedor não é arbitrada pelos tubarões de mercado? Talvez porque ainda não há muita negociação algorítmica com opções, e porque há mais baleias do que tubarões nos mercados financeiros.


Funções para opções.


Podemos ver que as opções de negociação e backtesting exigem mais algumas funções do que apenas negociar o subjacente. Sem opções, o mesmo sistema de negociação aleatório seria reduzido a este script curto:


Opções requerem (pelo menos) três funções adicionais:


dataLoad (1, & # 8221; SPY_Options. t8 & # 8243;, 9) carrega dados de opções históricas do arquivo & # 8220; SPY_Options. t8 & # 8221; em um conjunto de dados. Dados de opções incluem não apenas os preços de compra e oferta, mas também o preço de exercício, a data de vencimento, o tipo & # 8211; coloque ou ligue, americano ou europeu & # 8211; de qualquer opção, e alguns dados adicionais raramente utilizados, como o interesse em aberto. Ao contrário dos dados de preços históricos, os dados de opções costumam ser caros. Você pode comprá-lo de fornecedores como o iVolatility. Mas há uma maneira alternativa de obtê-lo gratuitamente, o que eu descreverei abaixo.


A coluna central relaciona diferentes preços de exercício e datas de vencimento, as partes direita e esquerda são os preços de compra e oferta e os tamanhos do livro de pedidos para as opções de chamada atribuída (esquerda) e de venda (direita). Os preços são por ação; um contrato de opção sempre cobre um certo número de ações, normalmente 100. Então você pode ver na lista acima que você irá cobrar $ 15 de prêmio quando você escrever uma opção de compra SPY que expira na próxima semana (03/02/2017) com um valor de $ 230. preço de exercício. Se o SPY não ultrapassar os US $ 230 até essa data, os US $ 15 serão seu lucro. Se subir para $ 230 e 10 centavos e a opção for exercida (acontece automaticamente quando expira no dinheiro), você ainda mantém $ 5. Mas se de repente subiu para US $ 300 (talvez Trump tenha anunciado novas muralhas ao redor dos EUA, todas pagas por ele mesmo), você tem que arcar com uma perda de US $ 6985.


A imagem exibe 54 contratos, mas essa é apenas uma pequena parte da cadeia de opções, já que existem muitas datas de vencimento e preços de exercício disponíveis. A cadeia de opções SPY pode conter até 10.000 opções diferentes. Todos eles são baixados para o PC com a função contractUpdate acima, que pode levar alguns segundos para ser concluída.


contract (Type, 30, priceClose ()) seleciona uma opção específica da cadeia de opções baixada anteriormente. O tipo (PUT ou CALL), os dias até a expiração (30) e o strike (priceClose () é o preço atual do subjacente) são informações suficientes para selecionar a opção de melhor ajuste. Observe que, para obter os preços de exercício corretos no backtest, fizemos o download dos dados de preço subjacentes com o sinalizador UNADJUSTED. Os preços de greve são sempre não ajustados.


Quando um contrato é selecionado, o próximo enterLong () ou enterShort () compra ou vende a opção no mercado. A cláusula if () verifica se o contrato está disponível e se o seu prazo de validade é diferente do anterior (para garantir que apenas contratos diferentes sejam negociados). Limites de entrada, parada ou lucro funcionariam como de costume, agora eles só se aplicam ao valor da opção, o prêmio, em vez do preço subjacente. O backtest assume que quando uma opção é exercida ou expira no dinheiro, o subjacente é imediatamente vendido, e o lucro é registrado na conta do comprador e deduzido da conta do vendedor. Se a opção expirar fora do dinheiro, a posição simplesmente desaparece. Então, não nos importamos em sair de posições nessa estratégia. Além dessas diferenças, as opções de negociação funcionam da mesma forma que qualquer outro instrumento financeiro.


Estratégias de opção de backtesting.


Aqui está uma maneira fácil de enriquecer. Abra uma conta IB e execute um software que registre as cadeias de opções e os preços do contrato em intervalos de um minuto. É o que alguns fornecedores de dados fizeram nos últimos 5 anos, e agora eles estão querendo vender seus tesouros de dados. Embora você possa facilmente pagar vários milhares de dólares por algumas cadeias de opções das principais ações, não tenho certeza de quem realmente detém os direitos autorais desses dados & # 8211; o fornecedor, o corretor, a bolsa ou os participantes do mercado? Esta pode ser uma área cinzenta legal. De qualquer forma, você precisa de dados históricos para desenvolver estratégias de opções, caso contrário, você não poderia backtest-los.


Aqui está um método para obtê-lo gratuitamente e sem quaisquer problemas legais:


Este script é um pouco mais longo do que os scripts Zorro usuais que eu postei aqui, então eu não explicarei isso em detalhes. Ele gera cadeias de opções artificiais para qualquer dia de 2011 a 2017 e as armazena em um arquivo de dados históricos. Os preços das opções são calculados a partir do preço subjacente, da volatilidade, da taxa de juros livre de risco atual e da taxa de dividendos do subjacente. Ele usa três faixas de preços de exercício e datas de vencimento em qualquer sexta-feira dos próximos 180 dias. Você precisa do R instalado para executá-lo e também do pacote RQuantlib para calcular valores de opções. Todas as funções são descritas no manual do Zorro. A função yield () retorna a taxa de rendimento atual das letras do tesouro dos EUA, e contractVal () calcula o prêmio resolvendo uma equação diferencial com todos os parâmetros da opção. O código-fonte de ambas as funções pode ser encontrado no arquivo de inclusão contract. c


Devido ao lento solucionador de equações diferenciais e ao grande número de opções, o script precisa de várias horas para ser concluído. Aqui está uma comparação dos dados gerados com dados reais das opções SPY:


A linha azul são os preços de opções artificiais, a linha preta são os preços reais comprados de um fornecedor de dados de opções, ambos para contratos SPY de 3 semanas com 10 pontos de distância spot-strike. Você pode ver que os preços correspondem muito bem. Existem algumas pequenas diferenças que podem ser parcialmente aleatórias, parcialmente causadas por anomalias na oferta e na demanda. Para estratégias que exploram essas anomalias & # 8211; que inclui todas as estratégias baseadas na volatilidade implícita & # 8211; você precisará de preços reais de opções históricas. Para as estratégias de opções que exploram apenas mudanças de preço ou volatilidade do subjacente, os dados artificiais provavelmente ocorrerão. Veja, ler este artigo até o fim já lhe economizou alguns milhares de dólares.


Conclusão.


Opções e combinações de opções podem ser usadas para criar instrumentos financeiros artificiais com propriedades muito interessantes. As estratégias de opções, especialmente as opções de venda, têm maior probabilidade de serem lucrativas do que outras estratégias. Estratégias de opções algorítmicas são um pouco, mas não muito mais complexas do que estratégias com outros instrumentos financeiros.


Incluímos todos os scripts no repositório de scripts 2017 e também um conjunto de dados históricos com as taxas de rendimento (caso contrário, você precisaria da ponte Quandl ou do Zorro S para fazer o download deles). Você precisará do Zorro 1.53 ou superior, que atualmente está disponível sob o comando & # 8220; Beta & # 8221; link da página de download do Zorro. A mensagem de erro da versão gratuita do Zorro sobre a ponte Quandl não suportada pode ser ignorada, devido às taxas de rendimento incluídas no script.


No próximo artigo, veremos mais de perto os valores das opções e métodos para combinar opções para limitar o risco ou negociar faixas de preço arbitrárias. Aquelas combinações com nomes engraçados como & # 8220; Iron Condor & # 8221; ou & # 8220; Borboleta & # 8221; são frequentemente referidos como estratégias de opções, mas não são & # 8211; eles são apenas instrumentos financeiros artificiais. O modo como você os negocia está à altura da estratégia real. Algumas estratégias de opções simples, mas consistentemente lucrativas, serão o tópico do terceiro artigo desta minissérie.


49 pensamentos sobre "Algorithmic Options Trading 1"


Artigo muito interessante! Eu tenho uma opção de sistema de negociação automática criada por desenvolvedores Zorro (excelente trabalho a propósito) e é bastante interessante ver, que minha estratégia gera resultados semelhantes à sua estratégia "aleatória". Estou ansioso pelos próximos artigos desta minissérie.


Gostaria de perguntar, tem alguma ideia se o seu livro será traduzido para inglês em breve? Adoraria ler o livro.


Estou totalmente interessado nos artigos desta minissérie. Por favor, deixe-me saber o próximo da série.


Obrigado & # 8211; Sim, uma versão em inglês do livro está planejada, só preciso encontrar algum tempo para revisar a tradução bruta. Andrés: você pode inserir seu e-mail no campo de inscrição à direita.


Belo artigo, gostaria de perguntar quais são os bons livros ou onde posso aprender a negociar com opções. Obrigado.


Estou certo, que esses preços artificiais e reais se relacionam com uma espécie de 'sintético'? Opção feita como uma série de opções reais com a data de vencimento mais próxima e uma greve alterada dinamicamente (dependendo do preço subjacente)?


Investopedia e Tastytrade têm alguns tutoriais e vídeos sobre opções. - Não há séries roladas, mas sim uma cadeia de opções com diferentes greves e datas de expiração, assim como na vida real. Caso contrário, o backtest não seria realista.


Quando você está comparando os preços artificiais com os preços reais, você está usando a greve do caixa eletrônico? O ponto principal, para mim, do backtesting de uma estratégia de negociação de opções versus dados de opções reais é que, nas asas, os volumes implícitos serão muito mais altos do que os gerados artificialmente.


As greves utilizadas foram cerca de 10 pontos ITM.


Obrigado por publicar este artigo interessante. Posso saber quando os outros dois artigos desta minissérie serão publicados?


Quando eu tiver algum tempo & # 8230; 🙂


Que artigo legal! Os resultados do sistema de negociação aleatória parecem similares ao CBOE S & P 500 PutWrite Index e isso faz sentido.


Muito obrigado por este artigo! Estava apenas pensando sobre isso no outro dia.


Eu gosto muito deste artigo do blog. Atualmente estou negociando opções de vencimento de 1 ano de ações específicas.


O meu maior problema com a vantagem do vendedor & # 8221; que contradiz a risco controlado & # 8221; declaração.


"Algo que muitas vezes confunde os investidores é se as chamadas são curtas ou longas e as conversas longas são as mesmas." Intuitivamente, isso pode fazer algum sentido, já que as calls e puts são contratos quase opostos, mas ser curto e longo não é o mesmo. Quando você é comprado, você tem que pagar o prémio e o pior caso resultará em uma perda apenas do prêmio. No entanto, quando você recebe uma chamada, você recebe o prêmio da opção, mas está exposto a uma grande quantidade de risco & # 8221;


Então, quando você escreve (nu), seu risco é ilimitado. O curto período de tempo de expiração (30 dias) salva você na maioria dos casos, mas isso é uma ilusão. Este método é muito semelhante a bots de negociação fraudulentos, onde 99,5% dos bots ganham pouco (por exemplo, call premium) em dinheiro, mas quando você perde, arrisca grande quantia do seu dinheiro.


Long call ou colocar o risco dos operadores é limitado e eles escolhem opções fora do dinheiro para multiplicar seus ganhos e, paralelamente, reduzem suas chances de ganho.


Eu estaria interessado em LEAPS (1 ano de validade / opções de venda) backtest.


Apenas faça isso. Baixe o Zorro 1.54 do fórum do usuário e faça backtest de um sistema com o LEAPS. Para isso, você precisa aumentar o & # 8220; o DaysMax & # 8221; variável no script de geração de dados de opções acima para 1 ano (365) ou 2 anos (2 * 365) para incluir contratos de longo prazo. O script precisará de um pouco mais de tempo para a geração de dados.


Como as opções de negociação são um novo recurso do Zorro, estou pensando se a parte API do Broker do manual (zorro-trader / manual / en / brokerplugin. htm) foi suficientemente atualizada para considerar as opções de manuseio.


Estou perguntando porque estou tentando escrever um plug-in de DLL para o TradeKing (que em breve será renomeado para Ally Invest). Eles têm ações, ETFs e contratos de opções. Corretor de barreira de entrada muito baixa também (US $ 0 necessário para obter acesso à API).


Para opções, implemente as funções básicas da API mais 5 funções de BrokerCommand: GET_POSITION, GET_OPTIONS, GET_UNDERLYING, SET_SYMBOL e SET_MULTIPLIER.


Fantastic Article, obrigado por compartilhar, testei o código e baixei os dados das opções através do script, tudo parecia fazer o download OK e fazer um arquivo T8 de 48mb para o SPY, mas quando eu executo o script aleatório eu não obtenho quaisquer trocas. É a primeira vez que eu corri zorro (eu estou na versão mais recente baixada 2-3 dias atrás), então realmente não tenho certeza do que estou fazendo errado.


Qualquer ajuda seria apreciada e estou realmente ansioso para o próximo episódio desta série envolvente.


aqui está a saída do log:


Opções de testeSellRandom SPY.


Conta Simulada AssetsIB.


Período da barra 24 horas (média 2233 min)


Período de teste 12.01.2011-01.06.2016 (1270 bares)


Período de lookback de 80 bars (16 semanas)


Modo de simulação Realista (escorregamento 5,0 seg.)


Spread 2,0 pips (rolo 0,00 / 0,00)


Contratos por lote 1.0.


Ganho / perda bruta 0,00 $ / -0,00 $ (-1p)


Lucro médio 0,00 $ / ano, 0,00 $ / mês, 0,00 $ / dia.


Retirada máxima -0,00 $ -1% (MAE -0,00 $ -1%)


Tempo total de inatividade 0% (TAE 0%)


Tempo de inatividade máximo 0 minutos a partir de setembro de 2010.


Máxima margem aberta 0,00 $


Risco máximo aberto 0,00 $


Volume de negociação 0,00 $ (0,00 $ / ano)


Custos de transação 0,00 $ spr, 0,00 $ slp, 0,00 $ rol.


Capital requerido 0 $


Número de negócios 279 (52 / ano, 1 / semana, 1 / dia)


Por cento vencendo 0,0%


Ganho / perda máx. 0.00 $ / & # 8211; 0.00 $


Lucro comercial médio de 0,00 $ -1. $ P (+ 0,0p / -1. $ P)


Média de desvio do comércio em 0,00 $ 1. $ p (+ 0,0p / -1. $ P)


Média de barras comerciais 23 (+0 / -23)


Max trade bars 26 (5 semanas)


Tempo no mercado 506%


Negociações abertas máximas 6.


Perda de perda máxima 279 (não correlacionada 279)


Retorno anual 0%


Relação de Sharpe 0,00.


Critério de Kelly 0,00.


Coeficiente R2 1.000.


Nível de confiança AR DDMax Capital.


Análise de portfólio OptF ProF Win / Loss Wgt%


e um trecho do arquivo de log & # 8230;


[1338: Sex 13.05.16 19:00] +0 +0 6/271 (206.21)


[SPY :: SC1272] Ligue 20160513 204.0 0@3.5713 não negociado hoje!


[SPY :: SC1272] Expired 1 Ligue 20160513 204.0 0 @ 207: +0,00 às 19:00:00.


[1339: seg 16.05.16 19:00] +0 +0 5/272 (204.96)


[1340: terça-feira 17.05.16 19:00] +0 +0 5/272 (206,46)


[1341: qua 18.05.16 19:00] +0 +0 5/272 (204,44)


[1342: Qui 19.05.16 19:00] +0 +0 5/272 (204,06)


[SPY :: SC4278] Escreva uma chamada 20160624 205.0 0@3.4913 às 19:00:00.


[1343: sex 20.05.16 19:00] +0 +0 6/272 (204,92)


[SPY :: SP1773] Coloque 20160520 208.0 0@4.2851 não negociado hoje!


[SPY :: SP1773] Expirado 1 Coloque 20160520 208.0 0 @ 204: +0,00 às 19:00:00.


[1344: seg 23.05.16 19:00] +0 +0 5/273 (205,51)


[1345: 24.05.16 19:00] +0 +0 5/273 (206.17)


[1346: qua 25.05.16 19:00] +0 +0 5/273 (208.67)


[1347: Qua 26.05.16 19:00] +0 +0 5/273 (209.44)


[SPY :: SC4779] Escreva uma chamada 20160701 209.0 0@3.7358 às 19:00:00.


[1348: sex 27.05.16 19:00] +0 +0 6/273 (209.53)


[SPY :: SP2274] Coloque 20160527 208.0 0@3.3622 não comercializado hoje!


[SPY :: SP2274] Expirado 1 Coloque 20160527 208.0 0 @ 209: +0,00 às 19:00:00.


[1349: terça 31.05.16 19:00] +0 +0 5/274 (210,56)


[SPY :: SC2775] Capa 1 Ligue 20160531 207,0 0@2.2309: +0,00 às 19:00:00.


[SPY :: SC3276] Cobertura 1 Ligue 20160531 205,0 0@5.1843: +0,00 às 19:00:00.


[SPY :: SP3777] Capa 1 Coloque 20160531 206.0 0@0,8602: +0,00 às 19:00:00.


[SPY :: SC4278] Cobertura 1 Ligue 20160531 205,0 0@4.9463: +0,00 às 19:00:00.


[SPY :: SC4779] Capa 1 Ligue 20160531 209,0 0@2.8347: +0,00 às 19:00:00.


[1350: qua 01.06.16 19:00] +0 +0 0/279 (209.12)


Vejo que as posições são todas abertas com volume zero, como se você tivesse definido o número de contratos como 0. Você usou o script não modificado do repositório?


Estou usando o arquivo OptionsSimulate. c diretamente do arquivo Zip.


Eu instalei as bibliotecas R e Quantlib e a ponte R também funcionou bem.


O topo do arquivo.


string Nome_do_Arquivo = & # 8220; Histórico \\ SPY_SimOptions. t8 & # 8221 ;;


var StrikeMax [3] =; // 3 intervalos de ataque com diferentes etapas.


var StrikeStep [3] =; // stepwidths para os 3 intervalos.


int DiasMax = 180;


var BidAskSpread = 2.5; // Bid / Ask spread em porcentagem.


Dividendo var = 0,02;


int Tipo = 0; // ou EUROPEU, ou FUTURO.


LookBack = 21; // para volatilidade.


Eu sinto muito pelas perguntas do n00b, suas ferramentas e sistemas realmente interessantes e eu estava querendo experimentar alguns spreads de crédito verticais usando este código como base no SPY e talvez alguns outros instrumentos!


Não é uma questão noob, é de fato minha culpa. Acabei de ver que esqueci de definir o multiplicador de opções no script. Isso não importava com a versão anterior do Zorro, já que o multiplicador era 100 por padrão, mas agora deve ser definido porque as opções podem ter multiplicadores muito diferentes.


Eu corrigi o script acima. Obrigado por me notificar!


Sim foi isso!


Recuperando os resultados agora, muito obrigado pela sua ajuda jcl.


Estou fora para colocar $ 1mm em uma conta e trocar esse bebê 😉


Você tem alguma idéia de quando vai trabalhar no restante dos artigos desta série?


Parece que o código abaixo não está mais funcionando.


O arquivo CSV SPY. csv é preenchido com este conteúdo:


QECx05, O URL que você solicitou está incorreto. Por favor, use o seguinte url: / api / v3 / datasets /: database_code /: dataset_code.


Desculpe, na verdade esse arquivo era do Quandl e precisa de uma assinatura paga.


Do Yahoo, recebo o erro Não consigo baixar o SPY do Yahoo.


Alguém está com o mesmo problema?


Eu acho que todos estão tendo o mesmo problema, já que o Yahoo mudou seu protocolo na semana passada. Se você tiver problemas como esse, procure uma solução não apenas no meu blog, mas primeiro no fórum do Zorro:


Obrigado por esta informação útil sobre sistemas de negociação automatizados!


Eu sou muito novo para isso, mas eu acho que isso é um negócio muito maior do que você faz parecer:


& gt; Existem algumas pequenas diferenças que podem ser parcialmente aleatórias, parcialmente causadas por anomalias na oferta e na demanda. Para estratégias que exploram essas anomalias, você precisará de dados históricos reais.


Ter volatilidade precisa é essencial. Sem isso, você não está apenas escrevendo uma estratégia que não explora essas anomalias, mas está escrevendo uma que as ignora totalmente. É comparável a gerar um preço de ação escolhendo um número aleatório baseado na distribuição de probabilidade das semanas anteriores & # 8217; preços ou suavizar todos os maiores movimentos.


Os preços das opções baseiam-se nas expectativas sobre o futuro, mas (a menos que eu não compreenda o seu código), você está precificando-os com base no passado. As diferenças serão mais pronunciadas em underlyings além do SPY, particularmente em torno do tempo de ganhos (digamos, AAPL, MSFT ou GOOG).


Eu também acho difícil pensar em uma estratégia que não explore a diferença entre a volatilidade implícita e a real. Mesmo um delta de 16/5 colocado no SPY só funciona tão bem quanto porque IV é muito mais alto do que deveria ser.


Sim, mudanças de preço de opção devido à expectativa de volatilidade, talvez quando a abordagem de notícias da empresa, pertence às anomalias mencionadas. A regra geral é: para anomalias que também têm um efeito sobre o subjacente, você pode usar os preços artificiais. Para anomalias que afetam apenas as opções, mas não o subjacente, você precisará adquirir dados de opções históricas reais.


quão bons serão os dados simulados se eu alterar BarPeriod = 1440 para ser BarPeriod = 1?


Teoricamente, tão bom ou ruim quanto os dados diários, já que o princípio é o mesmo. Mas ainda não fiz testes com dados de opções de 1 minuto. Isso é uma enorme quantidade de dados.


& # 8220; Devido ao lento solucionador de equações diferenciais e ao grande número de opções, o script precisa de várias horas para ser concluído. & # 8221;


Quanto mais rápido você acha que isso poderia ser se o material R / Quantmod fosse substituído por C / C ++? Estou pensando em gerar muitos dados sintéticos.


Acredito que seja C ++, pelo menos o Quantlib subjacente é programado em C ++. A sobrecarga de R é provavelmente insignificante. O problema não é o código, mas a matemática. A resolução numerica de equações diferenciais é lenta. O Black-Scholes é muito mais rápido, mas apenas para opções européias. Se você tiver muitos dados para gerar, pode fazer sentido verificar a velocidade de diferentes métodos de aproximação para opções americanas.


Eu noto que a volatilidade é fixada em 20 no script acima para gerar preços de opções sintéticas. Não poderia haver um argumento para que a volatilidade fosse 30 dias consecutivos e calculada de forma programática a partir do subjacente?


O que você quer dizer com "30 dias de folga & # 8221 ;? 20 é o período usual de volatilidade nos cálculos financeiros, uma vez que é aproximadamente equivalente a um mês. 30 provavelmente não faria muita diferença.


Você usa uma estimativa de Volatilidade de uma vez eu penso: por exemplo, 16 para o S & amp; P. Mas, de modo rotativo, será muito amplo, o que é, naturalmente, parte da razão pela qual os preços das opções mudam tanto: à medida que a volatilidade aumenta, também aumenta o preço da opção. Se, portanto, você usar uma média móvel de 20 (ou 30) dias de volatilidade, obterá preços de opções sintéticas mais precisos do que simplesmente assumir uma única vez 16 para o S & P, quando às vezes real pode ser 10, às vezes 30. Eu não olhei para a arquitetura do zorro e por isso não sei se é principalmente vetor, ou aparência ou o quê. De qualquer forma, seria possível incluir a média móvel do dia relevante da volatilidade do instrumento subjacente em vez de um valor fixo.


Mas, novamente, é o que você faz, talvez? HistVolOV = VolatilidadeOV (20) & # 8211; talvez isso seja 20 dias? Não 20%?


Uma pergunta não é uma afirmação.


De qualquer forma, parece um maravilhoso software. Só vou abrir caminho pelo manual.


Sim, parece que Vol é uma série temporal. Desculpe incomodá-lo.


Sim, é a volatilidade anualizada dos últimos 20 dias. Se fosse 20%, eu teria escrito: HistVolOV = 0,2.


Não. Não o corta. Você não pode usar uma única medida de volatilidade histórica para tudo, desde uma opção de um mês até uma expiração de 24 meses. Talvez o esquema todo seja inválido. Por exemplo, IV para um vencimento de dois anos SPX é atualmente 15% + enquanto uma opção que expira nos próximos dias é de 5% ish.


Pode ser inválido usar dados fabricados. Exceto se você tratá-lo como uma espécie de teste de Monte Carlo: isto é o que pode / poderia ter acontecido / poderia acontecer.


Anthony, o script está calculando o preço atual de uma opção. O preço atual depende da volatilidade atual. Não sobre a volatilidade de 24 meses atrás.


Você calcula o valor das opções européias com a fórmula Black Scholes e as opções americanas, como no script acima, com um método de aproximação. Ambos os métodos normalmente usam 20 dias de volatilidade. O método de amostragem de volatilidade pode diferir, mas os 20 dias são bastante comuns em todos os softwares de negociação de opções que eu conheço. E você pode ver a partir da comparação com os preços reais acima que esse período funciona muito bem.


Não, você não pode calcular o preço atual de uma opção em um determinado dia dessa maneira. Não há como reproduzir com precisão a volatilidade implícita, portanto, o preço em qualquer data no passado. E é a volatilidade implícita em que estamos interessados, não o histórico. Eu concordo totalmente com o Black Scholes, é claro, e seus usos, mas é antes que o cavalo espere ligar a volatilidade de 20 dias em 3 de janeiro de 1985 e esperar que ele venha com um preço exato negociado no fechamento daquele dia para o SPX para qualquer ataque ou expiração.


Está olhando para o lado errado.


O que você pode tentar é brincar com diferentes métodos de estimar o que o custo / preço implícito PODE ter sido em 3 de janeiro de 1985 para um determinado golpe e expiração de uma opção SPX.


Por exemplo, você pode usar a volatilidade histórica de cinco dias para uma opção que expira em uma semana e uma volatilidade de 252 dias para uma opção que expira em um ano. Ou você pode implicar volatilidades observando a estrutura a termo dos contratos futuros VIX a partir de 2004. Ou pelo menos use o próprio índice VIX voltando a 1986 como entrada para a volatilidade de 30 dias.


O que quer que você faça, você não estará realmente produzindo nada parecido com o que foi realmente negociado no dia. Ou pelo menos não consistentemente e com precisão sobre todos os vencimentos e greves.


Acredito que o processo que você descreve tenha um valor, mas que o resultado tanto dos preços produzidos quanto dos testes posteriores resultantes sejam mais parecidos com um processo de moel carlo aleatório do que com um teste de retorno sobre os dados reais de preços negociados.


Eu acredito que é um processo valioso, mas que o que é produzido é uma série de universos paralelos: o que poderia ter acontecido a uma determinada estratégia ao longo de um determinado período de tempo usando volatilidades implícitas que podem ou não ter sido negociadas.


Desculpe ser longo e sou um admirador tanto do seu produto quanto do seu script acima. Eu não teria pensado em gerar preços de opções falsas se não tivesse visto o seu excelente artigo.


Mas na minha opinião, pelo menos, você precisa repensar sua entrada na fórmula BS no que diz respeito à volatilidade.


Aliás, por favor, esteja ciente de que eu admiro seu produto e seus pensamentos. Não imagine que estou sendo difícil. Da mesma forma, por favor, não imagine que eu acredito que estou "certo & # 8221 ;!


Estou apenas curtindo a jornada e o diálogo com você e esperando juntos podermos melhorar a compreensão um do outro sobre o assunto.


O meu é limitado!


Diga a data que você está olhando é 7 de janeiro de 1987. Naquele dia, a volatilidade histórica da SPX calculada em 20 dias de negociação foi de 15,23. A volatilidade histórica nesse dia nos últimos 252 dias foi de 14,65.


Durante 5 dias, foi 18.


Agora digamos que estou tentando "calcular" # 8221; (acho) um preço (que poderia ter sido negociado em 7 de janeiro de 1987) para uma opção que expira em 5 dias, 20 dias e 252 dias. Vamos supor ATM.


Minha suspeita é que não seria útil usar 15,23 para todos os três vencimentos.


Obrigado pelas suas palavras gentis. Finanças são complexas. Meu conhecimento é ainda mais limitado e eu sou diariamente surpreendido por alguns resultados que eu não esperava. & # 8211; No seu exemplo, a volatilidade de 15,23% é o valor correto. Se você usou um período de maior volatilidade para vencimento mais alto, então depende se ainda é volatilidade anualizada ou apenas volatilidade de um tempo maior. Neste último caso, os resultados estão desvalorizados por algum fator, no primeiro caso eles são baseados em volatilidade muito antiga e, portanto, não estão atualizados. & # 8211; Você está certo sobre a volatilidade implícita, pois ela é afetada pela diferença do valor da opção teórica e real. Então você não pode usar o script acima para obtê-lo. Caso contrário, você só voltaria com alguma aproximação da volatilidade atual. Você precisa de preços de opções reais para IV.


Espero que tudo bem que eu discuta isso com apenas alguns dos meus clientes, isso ajudará.


Algorithmic Trading System Design & amp; Implementação.


AlgorithmicTrading é um desenvolvedor de sistema de negociação de terceiros especializado em sistemas automatizados de negociação, estratégias de negociação algorítmica e análise de negociação quantitativa. Oferecemos dois algoritmos de negociação distintos para comerciantes de varejo e investidores profissionais.


Assista ao nosso blog de vídeo algorítmico em que nosso principal desenvolvedor analisa o desempenho a partir de 6/10/17 & ndash; 8/8/17 usando nosso sistema de negociação automatizado. Visite nosso Blog Algorithmic Trading para ver todos os vídeos de desempenho de 2016-2018 no acumulado do ano. Os futuros e opções de negociação envolvem risco substancial de perda e não são adequados para todos os investidores.


Comece hoje mesmo na negociação algorítmica.


Os Destaques do Swing Trader.


Nossa Swing Trading Strategy negocia o S & P 500 Emini Futures (ES) e o Ten Year Note (TY). Este é um sistema de negociação 100% automatizado que pode ser executado automaticamente com os melhores esforços por vários Corretores Registrados da NFA. Também pode ser instalado e carregado na plataforma Tradestation. Os seguintes dados cobrem o período de avanço (fora da amostra) que abrange 10/1 / 15-1 / 4/18. A negociação de futuros envolve risco substancial de perda e não é apropriada para todos os investidores. O desempenho passado não é indicativo de desempenho futuro. Esses dados presumem que 1 unidade (US $ 15.000) foi negociada durante todo o período em análise (non-compounded).


* Perdas podem exceder o rebaixamento máximo. Isso é medido de pico a vale, fechando o comércio para fechar o comércio. O desempenho passado não é indicativo de desempenho futuro.


O Swing Trader Mensal P / L.


Os negócios iniciados em outubro de 2015 são considerados Walk-Forward / Out-of-Sample, enquanto os negócios anteriores a outubro de 2015 são considerados back-tested. Os lucros / perdas fornecidos são baseados em uma conta de US $ 15.000 que troca 1 unidade no Swing Trader. Esses dados não são compostos.


* Perdas podem exceder o rebaixamento máximo. Isso é medido de pico a vale, fechando o comércio para fechar o comércio. O desempenho passado não é indicativo de desempenho futuro.


CFTC REGRA 4.41: Os resultados são baseados em resultados de desempenho simulados ou hipotéticos que possuem certas limitações inerentes. Ao contrário dos resultados mostrados em um registro de desempenho real, esses resultados não representam negociação real. Além disso, como esses negócios não foram efetivamente executados, esses resultados podem ter uma compensação maior ou menor pelo impacto, se houver, de alguns fatores de mercado, como a falta de liquidez. Programas de negociação simulados ou hipotéticos em geral também estão sujeitos ao fato de que eles são projetados com o benefício da retrospectiva. Não está sendo feita nenhuma representação de que qualquer conta terá ou poderá obter lucros ou perdas similares a essas demonstrações.


Noções básicas de negociação algorítmica.


O Algorithmic Trading, também conhecido como Quant Trading, é um estilo de negociação que utiliza algoritmos de previsão de mercado para encontrar transações potenciais. Existem várias subcategorias de negociação quantitativa para incluir High Frequency Trading (HFT), Arbitragem Estatística e Análise de Predição de Mercado. Na AlgorithmicTrading, nós nos concentramos no desenvolvimento de sistemas de negociação automatizados que fazem negócios de swing, dia e opções para aproveitar as ineficiências do mercado.


Atualmente, estamos oferecendo dois sistemas de negociação de futuros que negociam o ES & amp; Futuros de TY. Continue lendo para ver por si mesmo como implementar um sistema de negociação de algo projetado profissionalmente pode ser benéfico para suas metas de investimento. Nós não somos registrados Consultores de Negociação de Commodities e, portanto, não controlamos diretamente as contas de clientes & ndash; no entanto, negociamos ambos os sistemas de negociação com nosso próprio capital, utilizando um dos corretores de execução de negociação automatizada.


Exemplo de negociação algorítmica.


Estratégia de negociação de futuros: o pacote Swing Trader.


Este pacote utiliza nossos algoritmos de melhor desempenho desde o início. Visite a página do comerciante do swing para ver preços, estatísticas comerciais completas, lista completa de comércio e muito mais. Este pacote é ideal para o cético que deseja negociar um sistema robusto que tenha se saído bem em negociações cegas para fora e para fora da amostra. Cansado de modelos otimistas com back-testing que nunca parecem funcionar quando negociados ao vivo? Se assim for, considere este sistema de negociação de caixa preta. Este é o nosso algoritmo de negociação mais popular para venda.


Detalhes no Swing Trader System.


Futuros & amp; Estratégia de negociação de opções: o pacote S & amp; P Crusher v2.


Este pacote utiliza sete estratégias de negociação em uma tentativa de diversificar melhor sua conta. Este pacote utiliza comércios de swing, day trades, condutores de ferro e chamadas cobertas para tirar proveito de várias condições de mercado. Este pacote é negociado em unidades de tamanho de US $ 30.000 e foi lançado ao público em outubro de 2016. Visite a página de produtos do S & amp; P Crusher para ver os resultados do back-test com base nos relatórios de comercialização.


Detalhes no triturador S & P.


Cobrindo os fundamentos do design do sistema de negociação automatizado.


Múltiplos Sistemas de Negociação Algorítmica Disponíveis.


Escolha de um dos nossos sistemas de negociação & ndash; O Swing Trader ou o S & amp; P Crusher. Cada página mostra a lista de negociação completa, incluindo resultados de otimização de post-forward, walk-forward. Esses sistemas de negociação informatizados de caixa preta são totalmente automatizados para gerar alfa ao tentar minimizar o risco.


Algoritmos de negociação múltiplos trabalhando juntos.


Nossa metodologia de negociação quântica nos emprega várias estratégias de negociação de algoritmos para diversificar melhor sua conta de negociação automática. Saiba mais visitando nossa página de metodologia de design de estratégias de negociação.


Trades During Bear & amp; Mercados de touro.


Em nossa opinião, a chave para o desenvolvimento de um sistema de negociação algorítmica que realmente funciona é contabilizar múltiplas condições de mercado. A qualquer momento, o mercado poderia passar de um touro para um mercado em baixa. Ao tomar uma posição agnóstica de direção de mercado, estamos tentando superar o desempenho em Bull & amp; Condições de mercado do urso.


Sistemas de negociação totalmente automatizados.


Você pode negociar automaticamente nosso software algorítmico usando um corretor de execução automática (com os melhores esforços). Temos vários corretores para você escolher. Remova as decisões baseadas em emoções de sua negociação usando nosso sistema de negociação automatizado.


O comércio algorítmico funciona?


Acompanhe o progresso diário de nossos algoritmos de negociação quantitativa com o aplicativo do corretor OEC. Você também receberá declarações diárias da empresa de compensação da NFA Registered. Você pode comparar cada uma das suas negociações com a lista comercial que publicamos no final de cada dia. Exemplos completos de negociação algorítmica são postados para todos verem. A lista completa de transações pode ser vista visitando a página de negociação algorítmica do sistema que você está negociando. Quer ver algumas declarações de contas ativas? Visite os retornos ao vivo & amp; página de instruções.


Múltiplas Estratégias de Negociação Quant.


Nossos sistemas de negociação quantitativos têm diferentes expectativas com base nos algoritmos preditivos empregados. Nossos Sistemas de Negociação Automatizada colocarão operações de swing, day trade, condutores de ferro & amp; chamadas cobertas. Estas Estratégias 100% Quant baseiam-se puramente em indicadores técnicos e algoritmos de reconhecimento de padrões.


Nosso software de negociação automatizada ajuda a remover suas emoções da negociação.


Algoritmos de negociação múltiplos são negociados como parte de um maior sistema de negociação algorítmica.


Cada estratégia de negociação algorítmica oferecida tem vários pontos fortes e fracos. Seus pontos fortes e fracos são identificados com base em três estados de mercado potenciais: Strong Up, Sideways & amp; Abaixo mercados em movimento. A estratégia de negociação de condores de ferro supera os mercados em movimento lateral e ascendente, enquanto o algoritmo das notas de tesouro se destaca nos mercados em baixa. Com base no backtesting, espera-se que o algoritmo de momentum tenha um bom desempenho durante os mercados em ascensão. Confira a seguinte coleção de vídeos, onde cada algoritmo de negociação oferecido é revisado por nosso desenvolvedor líder. Os pontos fortes de cada algoritmo de negociação são analisados ​​juntamente com as suas fraquezas.


Vários tipos de estratégias de negociação são usados ​​em nosso software de negociação automatizada.


Comissões do dia são inseridas & amp; saiu no mesmo dia, enquanto as negociações de giro terão um longo prazo de negociação com base nas expectativas para o S & amp; P 500 a tendência de maior ou menor no prazo intermédio. Os negócios de opções são colocados nas opções semanais do S & amp; P 500 sobre futuros, normalmente entrando em uma segunda-feira e mantendo até a expiração da sexta-feira.


Swing Trading Strategies.


As seguintes Swing Trading Strategies colocam operações de swing direcional no S & amp; P 500 Emini Futures (ES) e na Nota de Dez Anos (TY). Eles são usados ​​em ambos os sistemas de negociação automatizados que oferecemos para aproveitar as tendências de longo prazo que nossos algoritmos de predição de mercado estão esperando.


Futures Swing Trading Strategy # 1: Momentum Swing Trading Algorithm.


A Momentum Swing Trading Strategy coloca os negócios do swing no Emini S & amp; P Futures, aproveitando as condições de mercado que sugerem um movimento de prazo intermediário mais alto. Este algoritmo de negociação é usado em ambos os nossos sistemas de negociação automatizados: O S & amp; P Crusher v2 & amp; O comerciante do balanço.


Estratégia de Negociação de Futuros Swing # 2: Algoritmo de Notas do Tesouro de Dez Anos.


A Tesouraria Note (TY) Trading Strategy coloca swing trades na nota de dez anos (TY). Uma vez que o TY tipicamente se move inversamente para os mercados mais amplos, esta estratégia cria um trade swing semelhante ao shorting do S & P 500. Esse algoritmo T-Note tem expectativas positivas para condições de mercado em baixa. Este algoritmo de negociação é usado em ambos os nossos sistemas de negociação automatizados: O S & amp; P Crusher v2 & amp; O comerciante do balanço.


Estratégias de Negociação Diária.


As estratégias de negociação do dia seguinte colocam o day trade no S & amp; P 500 Emini Futures (ES). Eles quase sempre entram em negociações durante os primeiros 20 minutos após a abertura dos mercados de ações e saem antes do fechamento dos mercados. Paradas apertadas são utilizadas em todos os momentos.


Estratégia de Negociação do Dia de Futuros # 1: Algoritmo de Negociação de Dia.


A Estratégia de Negociação de Dia Curta coloca negociações diárias no Emini S & P Futures quando o mercado mostra fraqueza pela manhã (prefere uma grande diferença para baixo). Esta estratégia de negociação é utilizada no sistema de negociação automatizado S & amp; P Crusher v2.


Estratégia de Negociação de Dia de Futuro # 2: Algoritmo de Negociação de Dia de Breakout.


A Breakout Day Trading Strategy coloca o day trade no Emini-S & P Futures quando o mercado mostra força pela manhã. Esta estratégia de negociação de futuros é utilizada no sistema de negociação automatizado S & amp; P Crusher v2.


Estratégia de Negociação de Dia de Futuros # 3: Algoritmo de Negociação de Dia de Intervalo da Manhã.


O Morning Gap Day Trading Strategy coloca negócios de dia curto no Emini S & amp; P Futures quando o mercado tem uma grande lacuna, seguido por um curto período de fraqueza. Esta estratégia de negociação é utilizada no sistema de negociação automatizado S & amp; P Crusher v2.


Estratégias de Negociação de Opções.


As seguintes estratégias de negociação de opções cobram prêmio no S & amp; P 500 Emini Weekly Options (ES). Eles são usados ​​em nosso S & amp; P Crusher v2, a fim de aproveitar as vantagens de lateralmente, para baixo & amp; condições de mercado em movimento. Um benefício para as opções de negociação com nossas estratégias de negociação algorítmica é que elas são suportadas em um ambiente de negociação automatizado usando um dos corretores de execução automática.


Opções Trading Strategy # 1: Algoritmo de Condor Iron Condor.


A Estratégia de Negociação de Opções da Iron Condor é perfeita para quem deseja uma taxa de ganhos por negociação mais alta e que simplesmente quer cobrar prêmios no S & amp; P 500 Emini Futures com a venda da Iron Condors. Quando nossos algoritmos esperam uma condição de mercado de derivação lateral ou ascendente, esse sistema criará uma operação de Condor de Ferro. Essa estratégia é usada em um dos nossos Sistemas de negociação automatizados: O S & amp; P Crusher v2.


Estratégia de negociação de opções # 2: Algoritmo de opções de chamadas cobertas.


A Estratégia de Negociação de Opções de Compra Coberta vende de chamadas cobertas por dinheiro contra os algoritmos de momento Long swing swing, para arrecadar premium e ajudar a minimizar as perdas caso o mercado se mova contra nossa posição de algoritmo de momentum. Quando negociado com o Algoritmo de Troca de Momentum Swing - como é o caso no S & amp; P Crusher & amp; ES / TY Futures Trading Systems, isso cria uma posição de compra coberta. Quando negociados no Sistema de Negociação Bearish Trader, as chamadas são vendidas sem cobertura e, portanto, são vendidas a descoberto. Em ambos os casos, & ndash; como um suporte ao longo do algoritmo & ndash; Ele funciona bem em condições de mercado em movimento lateral e para baixo. Essa estratégia é usada em um dos nossos Sistemas de negociação automatizados: O S & amp; P Crusher v2.


Embora cada uma dessas estratégias de negociação possa ser negociada sozinha, elas são negociadas melhor em uma coleção mais ampla de algoritmos de negociação & ndash; como visto em um dos nossos sistemas automatizados de negociação, como o The Swing Trader.


Algoritmos de negociação que realmente funcionam?


Essa série de vídeos de negociação algorítmica é feita para que nossos clientes possam ver os detalhes de cada negociação semanalmente. Assista a cada um dos seguintes vídeos de negociação algorítmica para ver em tempo real o desempenho de nossos algoritmos de negociação. Sinta-se à vontade para visitar nossos Críticas de AlgorithmicTrading & amp; Página Press Releases para ver o que os outros estão dizendo sobre nós.


Inscrição na Newsletter.


Obtenha atualizações de desempenho da AlgorithmicTrading juntando-se à nossa newsletter.


O que separa o comércio algorítmico de outras técnicas técnicas de negociação?


Nos dias de hoje, parece que todo mundo tem uma opinião sobre as técnicas de negociação técnica. Head & amp; Padrões de ombros, MACD Bullish Crosses, VWAP Divergences, a lista continua. Nesses vídeos, nosso engenheiro líder de projeto analisa alguns exemplos de estratégias de negociação encontradas on-line. Ele pega suas Tips Trading, faz um código e executa um back-test simples para ver o quão efetivas elas realmente são. Depois de analisar seus resultados iniciais, ele otimiza o código para ver se uma abordagem quantitativa à negociação pode melhorar as descobertas iniciais. Se você é novo em negociação algorítmica, esses blogs de vídeo serão bastante interessantes. Nosso designer utiliza máquinas de estado finito para codificar essas dicas básicas de negociação. Como a negociação algorítmica difere da negociação técnica tradicional? Simplificando, Algorithmic Trading requer precisão e fornece uma janela para um potencial de algoritmos baseado em back-testing que possui limitações.


Procurando por Algorithmic Trading Tutorial & amp; Como para vídeos?


Assista a várias apresentações de vídeo educativo feitas por nosso designer líder em negociação algorítmica para incluir um vídeo que cobre nossa Metodologia de Design de Quantificação Comercial e um Tutorial de Negociação Algorítmica. Esses vídeos de estratégia de negociação fornecem exemplos de codificação de comércio algorítmico e o introduzem à nossa abordagem de negociar os mercados usando análise quantitativa. Nesses vídeos, você verá muitas razões pelas quais a negociação automatizada está decolando para incluir a ajuda para remover suas emoções da negociação. Visite nossa página de vídeos de negociação educacional para ver uma lista completa de mídia educacional.


Comece a usar um dos nossos sistemas de negociação automatizados hoje.


Não perca. Junte-se aos que já estão negociando com AlgorithmicTrading. Comece hoje mesmo com um dos nossos pacotes de negociação algorítmica.


Várias opções de execução automática de comércio estão disponíveis.


Nossos algoritmos de negociação podem ser executados automaticamente usando um dos corretores de execução automática registrados pela NFA (com os melhores esforços) ou podem ser negociados em seu próprio PC usando MultiCharts ou Tradestation.


O FOX Group é uma corretora de introdução independente localizada no icônico prédio da Chicago Board of Trade, no coração do distrito financeiro da cidade. Eles são registrados no NFA e são capazes de executar nossos algoritmos automaticamente com os melhores esforços.


Os corretores interativos são corretores registrados pela NFA que podem executar nossos algoritmos automaticamente com os melhores esforços. Além disso, eles suportam clientes canadenses.


Se você preferir executar os algoritmos em seu próprio PC, o MultiCharts é a plataforma preferida de software de negociação para execução automática. Ele oferece benefícios consideráveis ​​para os traders e oferece vantagens significativas sobre as plataformas concorrentes. Ele vem com gráficos de alta definição, suporte a mais de 20 feeds de dados e mais de 10 corretores, backtesting dinâmico de estratégia em nível de portfólio, suporte a EasyLanguage, relatórios interativos de desempenho, otimização genética, scanner de mercado e replay de dados.


A TradeStation é mais conhecida pelo software de análise e pela plataforma de negociação eletrônica que fornece ao operador ativo e a determinados mercados de traders institucionais que permitem que os clientes projetem, testem, otimizem, monitorem e automatizem suas próprias ações, opções e opções personalizadas. estratégias de negociação de futuros. Tradestation é outra opção para pessoas que desejam negociar automaticamente nossos algoritmos em seu próprio PC.


O Trader R.


Usando R e ferramentas relacionadas em Finanças Quantitativas.


Visualizando dados de séries temporais em R.


É com muito prazer que anuncio meu curso do DataCamp sobre Visualização de Dados de Séries Temporais em R. Esse curso também faz parte da série de Períodos Temporais com a faixa de habilidades R. Sinta-se livre para dar uma olhada, o primeiro capítulo é grátis!


Descrição do Curso.


Como diz o ditado, "Um gráfico vale mais que mil palavras". É por isso que a visualização é a maneira mais usada e poderosa de entender melhor seus dados. Após este curso, você terá uma visão geral muito boa dos recursos de visualização da série temporal R e poderá decidir melhor qual modelo escolher para a análise subsequente. Você também poderá transmitir a mensagem que deseja transmitir de maneira eficiente e bonita.


Esboço de Curso.


Capítulo 1: Ferramentas de Visualização da Série Temporal.


Este capítulo apresentará as ferramentas básicas de visualização da série temporal R.


Capítulo 2: Séries Temporais Univariadas.


Gráficos univariados são projetados para aprender o máximo possível sobre a distribuição, a tendência central e a disseminação dos dados disponíveis. Neste capítulo, você será presenteado com algumas ferramentas visuais usadas para diagnosticar séries de tempos univariados.


Capítulo 3: Séries Temporais Multivariadas.


O que fazer se você tiver que lidar com séries temporais multivariadas? Neste capítulo, você aprenderá como identificar padrões na distribuição, tendência central e se espalhar sobre pares ou grupos de dados.


Capítulo 4: Estudo de caso: selecionando visualmente um estoque que melhora seu portfólio existente.


Vamos colocar tudo que você aprendeu até agora na prática! Imagine que você já possui uma carteira de ações e você tem algum dinheiro disponível para investir, como você sabiamente pode selecionar uma nova ação para investir seu dinheiro adicional? Analisar as propriedades estatísticas dos estoques individuais versus um portfólio existente é uma boa maneira de abordar o problema.


Vinculando R ao IQFeed com o pacote QuantTools.


O IQFeed fornece serviços de dados de fluxo contínuo e soluções de negociação que cobrem o mercado agrícola, de energia e financeiro. É um provedor de feed de dados bem conhecido e reconhecido, voltado para usuários de varejo e pequenas instituições. O preço da assinatura começa em cerca de US $ 80 / mês.


Stanislav Kovalevsky desenvolveu um pacote chamado QuantTools. É um pacote tudo em um projetado para melhorar a modelagem de negociação quantitativa. Ele permite baixar e organizar dados históricos de mercado de várias fontes, como Yahoo, Google, Finam, MOEX e IQFeed. O recurso que mais me interessa é a capacidade de vincular o IQFeed à R. Eu uso o IQFeed há alguns anos e estou feliz com ele (não estou afiliado à empresa em nenhum caminho). Mais informações podem ser encontradas aqui. Eu tenho procurado uma integração dentro de R por um tempo e aqui está. Como resultado, depois que fiz alguns testes, mudei meu código que ainda estava em Python para R. Apenas para completar, aqui está um link que explica como baixar dados históricos do IQFeed usando Python.


A QuantTools oferece quatro funcionalidades principais: Obter dados de mercado, Armazenar / Recuperar dados de mercado, Dados de séries temporais de plotagem e Testes reversos.


Primeiro, verifique se o IQfeed está aberto. Você pode baixar dados diários ou intradiários. O código abaixo faz o download dos preços diários (Aberto, Alto, Baixo, Fechado) para o SPY de 1º de janeiro de 2017 a 1º de junho de 2017.


O código abaixo faz o download dos dados intraday de 1º de maio de 2017 a 3 de maio de 2017.


Observe o parâmetro do período. Pode usar qualquer um dos seguintes valores: tick, 1min, 5min, 10min, 15min, 30min, hora, dia, semana, mês, dependendo da freqüência que você precisa.


O QuantTools facilita o processo de gerenciar e armazenar dados do mercado de ticks. Você acabou de configurar os parâmetros de armazenamento e está pronto para começar. Os parâmetros são onde, desde que data e quais símbolos você gostaria de armazenar. Sempre que você puder adicionar mais símbolos e se eles não estiverem presentes em um armazenamento, o QuantTools tentará obter os dados da data de início especificada. O código abaixo salvará os dados no seguinte diretório: & # 8220; C: / Usuários / Arnaud / Documentos / Dados de Mercado / iqfeed & # 8221 ;. Há uma subpasta por instrumento e os dados são exibidos em arquivos. rds.


Você também pode armazenar dados entre datas específicas. Substitua a última linha de código acima por uma das abaixo.


Agora, se você quiser recuperar alguns dos dados armazenados, basta executar algo como:


Observe que apenas os ticks são suportados no armazenamento local, portanto, o período deve ser & # 8216; tick & # 8217;


O QuantTools fornece a função plot_ts para plotar dados de séries temporais sem fim de semana, feriados e intervalos noturnos. No exemplo abaixo, primeiro recupero os dados armazenados acima, depois seleciono as primeiras 100 observações de preço e, finalmente, desenho o gráfico.


Duas coisas para notar: primeiro espião é um objeto data. table, portanto, a sintaxe acima. Para obter uma visão geral rápida dos recursos do data. table, confira esta excelente folha de dicas do DataCamp. Segundo, o parâmetro local é TRUE, pois os dados são recuperados do armazenamento interno.


O QuantTools permite escrever sua própria estratégia de negociação usando sua API C ++. Eu não vou elaborar sobre isso, pois isso é basicamente código C ++. Você pode consultar a seção Exemplos no site da QuantTools.


No geral, acho o pacote extremamente útil e bem documentado. O único bit faltante é o feed ao vivo entre R e IQFeed, o que tornará o pacote uma solução de ponta a ponta.


Como de costume, qualquer comentário é bem-vindo.


BERT: um recém-chegado na conexão R Excel.


Há alguns meses, um leitor me mostrou essa nova maneira de conectar R e Excel. Eu não sei há quanto tempo isso acontece, mas nunca me deparei com isso e nunca vi nenhum post ou artigo de blog sobre isso. Então eu decidi escrever um post enquanto a ferramenta realmente vale a pena e antes que alguém pergunte, eu não estou relacionado à empresa de forma alguma.


BERT significa Basic Excel R Toolkit. É gratuito (licenciado sob a GPL v2) e foi desenvolvido pela Structured Data LLC. No momento em que escrevo, a versão atual do BERT é 1.07. Mais informações podem ser encontradas aqui. De uma perspectiva mais técnica, o BERT é projetado para suportar a execução de funções R a partir de células da planilha do Excel. Em termos do Excel, é para escrever Funções definidas pelo usuário (UDFs) em R.


Neste post eu não vou mostrar como R e Excel interagem via BERT. Há muito bons tutoriais aqui, aqui e aqui. Em vez disso, quero mostrar como usei BERT para construir uma torre de controle & # 8220; & # 8221; para minha negociação.


Meus sinais de negociação são gerados usando uma longa lista de arquivos R, mas eu preciso da flexibilidade do Excel para exibir os resultados de forma rápida e eficiente. Como mostrado acima, o BERT pode fazer isso para mim, mas também quero adaptar o aplicativo às minhas necessidades. Combinando o poder do XML, VBA, R e BERT, posso criar um aplicativo bonito, mas poderoso, na forma de um arquivo do Excel com código VBA mínimo. Por fim, tenho um único arquivo do Excel reunindo todas as tarefas necessárias para gerenciar meu portfólio: atualização de banco de dados, geração de sinal, submissão de pedidos, etc. & # 8230; Minha abordagem pode ser dividida nos três passos abaixo:


Use XML para criar menus e botões definidos pelo usuário em um arquivo do Excel. Os menus e botões acima são essencialmente chamadas para funções do VBA. Essas funções do VBA são encapsuladas em torno de funções R definidas usando BERT.


Com essa abordagem, posso manter uma clara distinção entre o núcleo do meu código mantido em R, SQL e Python e tudo o que é usado para exibir e formatar os resultados mantidos no Excel, VBA & amp; XML Nas próximas seções apresento o pré-requisito para desenvolver tal abordagem e um guia passo a passo que explica como o BERT poderia ser usado para simplesmente passar dados de R para o Excel com o mínimo de código VBA.


1 & # 8211; Baixe e instale o BERT neste link. Quando a instalação estiver concluída, você deve ter um novo menu Add-Ins no Excel com os botões, conforme mostrado abaixo. É assim que o BERT se materializa no Excel.


2 & # 8211; Faça o download e instale o editor de interface de usuário personalizada: O Editor de interface de usuário personalizado permite criar menus e botões definidos pelo usuário na faixa de opções do Excel. Um procedimento passo a passo está disponível aqui.


1 & # 8211; Código R: A função R abaixo é um código muito simples apenas para fins ilustrativos. Calcula e retorna os resíduos de uma regressão linear. É isso que queremos recuperar no Excel. Salve isso em um arquivo chamado myRCode. R (qualquer outro nome é bom) em um diretório de sua escolha.


2 & # 8211; functions. R em BERT: No Excel selecione Add-Ins - & gt; Diretório base e abra o arquivo chamado functions. R. Neste arquivo, cole o seguinte código. Certifique-se de inserir o caminho correto.


Isso é apenas o fornecimento de BERT no arquivo R que você criou acima. Em seguida, salve e feche as funções do arquivo. Se você quiser fazer qualquer alteração no arquivo R criado na etapa 1, terá que recarregá-lo usando o botão BERT & # 8220; Recarregar o arquivo de inicialização & # 8221; do menu Add-Ins no Excel.


3 & # 8211; No Excel: Crie e salve um arquivo chamado myFile. xslm (qualquer outro nome é bom). Este é um arquivo habilitado para macro que você salva no diretório de sua escolha. Depois que o arquivo for salvo, feche-o.


4 & # 8211; Abra o arquivo criado acima no editor da interface do usuário personalizada: Depois que o arquivo estiver aberto, cole o código abaixo.


Você deve ter algo parecido com isto no editor de XML:


Essencialmente, este pedaço de código XML cria um menu adicional (RTrader), um novo grupo (My Group) e um botão definido pelo usuário (New Button) na faixa de opções do Excel. Quando terminar, abra myFile. xslm no Excel e feche o Custom UI Editor. Você deveria ver algo assim.


5 & ​​# 8211; Abra o editor VBA: Em myFile. xlsm, insira um novo módulo. Cole o código abaixo no módulo recém-criado.


Isso apaga os resultados anteriores na planilha antes de lidar com os novos.


6 & # 8211; Clique no botão New: Agora volte para a planilha e no menu RTrader, clique no botão & # 8220; New Button & # 8221; botão. Você deve ver algo como o abaixo aparece.


O guia acima é uma versão muito básica do que pode ser obtido usando o BERT, mas mostra como combinar o poder de várias ferramentas específicas para criar seu próprio aplicativo personalizado. Da minha perspectiva, o interesse de tal abordagem é a capacidade de colar R e Excel, obviamente, mas também incluir pedaços de código XML (e em lote) do Python, SQL e muito mais. Isso é exatamente o que eu precisava. Por fim, gostaria de saber se alguém tem alguma experiência com o BERT?


Estratégia de negociação: aproveitando ao máximo os dados da amostra.


Ao testar estratégias de negociação, uma abordagem comum é dividir o conjunto de dados inicial em dados de amostra: a parte dos dados projetados para calibrar o modelo e os dados de amostra: a parte dos dados usada para validar a calibração e garantir que o desempenho criado na amostra será refletido no mundo real. Como regra geral, cerca de 70% dos dados iniciais podem ser usados ​​para calibração (ou seja, na amostra) e 30% para validação (ou seja, fora da amostra). Em seguida, uma comparação entre os dados de entrada e de saída ajuda a decidir se o modelo é suficientemente robusto. Este post visa dar um passo adiante e fornece um método estatístico para decidir se os dados fora da amostra estão alinhados com o que foi criado na amostra.


No gráfico abaixo, a área azul representa o desempenho fora da amostra de uma das minhas estratégias.


Uma inspeção visual simples revela um bom ajuste entre o desempenho de entrada e saída da amostra, mas que grau de confiança eu tenho nisso? Nesta fase não muito e esta é a questão. O que é realmente necessário é uma medida de similaridade entre os conjuntos de dados de entrada e de saída. Em termos estatísticos, isso pode ser traduzido como a probabilidade de que os números de desempenho dentro e fora da amostra sejam provenientes da mesma distribuição. Existe um teste estatístico não paramétrico que faz exatamente isso: o teste de Kruskall-Wallis. Uma boa definição deste teste pode ser encontrada no R-Tutor Uma coleção de amostras de dados é independente se eles vêm de populações não relacionadas e as amostras não afetam umas às outras. Usando o Teste de Kruskal-Wallis, podemos decidir se as distribuições populacionais são idênticas sem assumi-las para seguir a distribuição normal. & # 8221; O benefício adicional desse teste não está assumindo uma distribuição normal.


Existem outros testes da mesma natureza que poderiam se encaixar nessa estrutura. O teste de Mann-Whitney-Wilcoxon ou os testes de Kolmogorov-Smirnov se encaixam perfeitamente na estrutura descrita aqui, porém isso está além do escopo deste artigo para discutir os prós e contras de cada um desses testes. Uma boa descrição junto com exemplos de R pode ser encontrada aqui.


Aqui está o código usado para gerar o gráfico acima e a análise:


No exemplo acima, o período de amostragem é maior do que o período de amostragem, portanto, eu criei aleatoriamente 1.000 subconjuntos dos dados da amostra, cada um deles tendo o mesmo comprimento que os dados fora da amostra. Então, testei cada um em um subconjunto de amostras em relação aos dados fora da amostra e gravei os valores p. Esse processo não cria um único valor p para o teste Kruskall-Wallis, mas uma distribuição que torna a análise mais robusta. Neste exemplo, a média dos valores de p é bem acima de zero (0,478), indicando que a hipótese nula deve ser aceita: há fortes evidências de que os dados de entrada e saída da amostra são provenientes da mesma distribuição.


Como de costume, o que é apresentado neste post é um exemplo de brinquedo que apenas arranha a superfície do problema e deve ser adaptado às necessidades individuais. No entanto, penso que propõe um quadro estatístico interessante e racional para avaliar os resultados fora da amostra.


Este post é inspirado nos dois artigos seguintes:


Vigier Alexandre, Chmil Swann (2007), "Efeitos de várias funções de otimização sobre o desempenho da amostra de estratégias de negociação geneticamente evoluídas", prevendo a conferência sobre mercados financeiros.


Vigier Alexandre, Chmil Swann (2010), «Um processo de otimização para melhorar a consistência da amostra, um caso da Bolsa de Valores», JP Morgan Cazenove Equity Quantitative Conference, Londres, outubro de 2010.


Apresentando o fidlr: LoanceR de Dados Financeiros.


O fidlr é um suplemento do RStudio projetado para simplificar o processo de download de dados financeiros de vários provedores. Esta versão inicial é um wrapper em torno da função getSymbols no pacote quantmod e somente o Yahoo, Google, FRED e Oanda são suportados. Eu provavelmente adicionarei funcionalidades ao longo do tempo. Como de costume, com essas coisas, apenas um lembrete: "O SOFTWARE É FORNECIDO" COMO ESTÁ, SEM GARANTIA DE NENHUM TIPO "# 8230; & # 8221;


Como instalar e usar o fidlr?


Você pode obter o addin / package do seu repositório Github aqui (eu vou registrá-lo no CRAN mais tarde) Instale o addin. Existe um excelente tutorial para instalar o RStudio Addins aqui. Depois que o addin é instalado, ele deve aparecer no menu Addin. Basta escolher fidlr no menu e uma janela como abaixo deve aparecer. Escolha um provedor de dados no menu suspenso Origem. Selecione um intervalo de datas no menu Data Insira o símbolo que você deseja baixar na caixa de texto do instrumento. Para baixar vários símbolos basta digitar os símbolos separados por vírgulas. Use os botões de opção para escolher se deseja baixar o instrumento em um arquivo csv ou no ambiente global. O arquivo csv será salvo no diretório de trabalho e haverá um arquivo csv por instrumento. Pressione Executar para obter os dados ou Fechar para fechar o suplemento.


Mensagens de erro e avisos são manipulados pelos pacotes subjacentes (quantmod e Shiny) e podem ser lidos no console.


Esta é uma primeira versão do projeto, então não espere a perfeição, mas esperamos que melhore com o tempo. Por favor, informe qualquer comentário, sugestão, erro etc & # 8230; para: thertrader @ gmail.


Manter um banco de dados de arquivos de preços em R.


Fazer pesquisa quantitativa implica muita análise de dados e é preciso dados limpos e confiáveis ​​para conseguir isso. O que é realmente necessário são dados limpos que sejam facilmente acessíveis (mesmo sem uma conexão com a Internet). A maneira mais eficiente de fazer isso para mim foi manter um conjunto de arquivos csv. Obviamente, este processo pode ser tratado de várias maneiras, mas eu achei um tempo extra muito eficiente e simples para manter um diretório onde eu armazeno e atualizo arquivos csv. Eu tenho um arquivo csv por instrumento e cada arquivo é nomeado após o instrumento que ele contém. A razão pela qual eu faço isso é dupla: Primeiro, eu não quero baixar dados (de preço) do Yahoo, Google, etc & # 8230; toda vez que eu quiser testar uma nova ideia, mas mais importante, uma vez que eu identifiquei e consertei um problema, eu não quero ter que fazer isso novamente na próxima vez que eu precisar do mesmo instrumento. Simples, mas muito eficiente até agora. O processo é resumido no gráfico abaixo.


Em tudo o que se segue, presumo que os dados estão vindo do Yahoo. O código terá que ser alterado para os dados do Google, Quandl, etc & # 8230; Além disso, apresento o processo de atualização dos dados diários de preços. A configuração será diferente para dados de frequência mais alta e outro tipo de conjunto de dados (ou seja, diferente dos preços).


1 & # 8211; Download de dados inicial (listOfInstruments. R & amp; historicalData. R)


O arquivo listOfInstruments. R é um arquivo contendo apenas a lista de todos os instrumentos.


Se um instrumento não é parte da minha lista (ou seja, nenhum arquivo csv na minha pasta de dados) ou se você fizer isso pela primeira vez, você terá que baixar o conjunto de dados históricos inicial. O exemplo abaixo faz o download de um conjunto de cotações diárias dos ETFs do Yahoo Finance até janeiro de 2000 e armazena os dados em um arquivo csv.


2 & # 8211; Update existing data (updateData. R)


The below code starts from existing files in the dedicated folder and updates all of them one after the other. I usually run this process everyday except when I’m on holiday. To add a new instrument, simply run step 1 above for this instrument alone.


3 & # 8211; Create a batch file (updateDailyPrices. bat)


Another important part of the job is creating a batch file that automates the updating process above (I’m a Windows user). This avoids opening R/RStudio and run the code from there. The code below is placed on a. bat file (the path has to be amended with the reader’s setup). Note that I added an output file (updateLog. txt) to track the execution.


The process above is extremely simple because it only describes how to update daily price data. I’ve been using this for a while and it has been working very smoothly for me so far. For more advanced data and/or higher frequencies, things can get much trickier.


Como de costume, qualquer comentário é bem-vindo.


The Rise of the Robots (Advisors…)


The Asset Management industry is on the verge of a major change. Over the last couple of years Robots Advisors (RA) have emerged as new players. The term itself is hard to define as it encompasses a large variety of services. Some are designed to help traditional advisers to better allocate their clients money and some are real “black box”. The user enter a few criteria (age , income, children etc…) and the robot proposes a tailor-made allocation. Between those two extremes a full range of offers is available. I found the Wikipedia definition pretty good. “They are a class of financial adviser that provides portfolio management online with minimal human intervention”. More precisely they use algorithm-based portfolio management to offer the full spectrum of services a traditional adviser would offer: dividend reinvesting, compliance reports, portfolio rebalancing, tax loss harvesting etc… (well this is what the quantitative investment community is doing for decades!). The industry is still in its infancy with most players still managing a small amount of money but I only realised how profound the change was when I was in NYC a few days ago. When RA get their names on TV adds or on the roof of NYC cab you know something big is happening…


it is getting more and more attention from the media and above all it makes a lot of sense from an investor perspective. There are actually two main advantages in using RA:


Significantly lower fees over traditional advisers Investment is made more transparent and simpler which is more appealing to people with limited financial knowledge.


In this post R is just an excuse to present nicely what is a major trend in the asset management industry. The chart below shows the market shares of most popular RA as of the end of 2014. The code used to generate the chart below can be found at the end of this post and the data is here.


Those figures are a bit dated given how fast this industry evolves but are still very informative. Not surprisingly the market is dominated by US providers like Wealthfront and Betterment but RA do emerge all over the world: Asia (8Now!), Switzerland (InvestGlass), France (Marie Quantier)….. It is starting to significantly affect the way traditional asset managers are doing business. A prominent example is the partnership between Fidelity and Betterment. Since December 2014 Betterment past the $2 billion AUM mark.


Despite all the above, I think the real change is ahead of us. Because they use less intermediaries and low commission products (like ETFs) they charge much lower fees than traditional advisers. RA will certainly gain significant market shares but they will also lowers fees charged by the industry as a whole. Ultimately it will affect the way traditional investment firms do business. Active portfolio management which is having a tough time for some years now will suffer even more. The high fees it charges will be even harder to justify unless it reinvents itself. Another potential impact is the rise of ETFs and low commission financial products in general. Obviously this has started a while ago but I do think the effect will be even more pronounced in the coming years. New generations of ETFs track more complex indices and custom made strategies. This trend will get stronger inevitably.


Como de costume, qualquer comentário é bem-vindo.


R financial time series tips everyone should know about.


There are many R time series tutorials floating around on the web this post is not designed to be one of them. Instead I want to introduce a list of the most useful tricks I came across when dealing with financial time series in R. Some of the functions presented here are incredibly powerful but unfortunately buried in the documentation hence my desire to create a dedicated post. I only address daily or lower frequency times series. Dealing with higher frequency data requires specific tools: data. table or highfrequency packages are some of them.


xts : The xts package is the must have when it comes to times series in R. The example below loads the package and creates a daily time series of 400 days normaly distributed returns.


merge. xts (package xts): This is incredibly powerful when it comes to binding two or more times series together whether they have the same length or not. The join argument does the magic! it determines how the binding is done.


apply. yearly/apply. monthly (package xts): Apply a specified function to each distinct period in a given time series object. The example below calculates monthly and yearly returns of the second series in the tsInter object. Note that I use the sum of returns (no compounding)


endpoints (package xts): Extract index values of a given xts object corresponding to the last observations given a period specified by on. The example gives the last day of the month returns for each series in the tsInter object using endpoint to select the date.


na. locf (package zoo): Generic function for replacing each NA with the most recent non-NA prior to it. Extremely useful when dealing with a time series with a few “holes” and when this time series is subsequently used as input for an R functions that does not accept arguments with NAs. In the example I create a time series of random prices then artificially includes a few NAs in it and replace them with the most recent value.


charts. PerformanceSummary (package PerformanceAnalytics): For a set of returns, create a wealth index chart, bars for per-period performance, and underwater chart for drawdown. This is incredibly useful as it displays on a single window all the relevant information for a quick visual inspection of a trading strategy. The example below turns the prices series into an xts object then displays a window with the 3 charts described above.


The list above is by no means exhaustive but once you master the functions describe in this post it makes the manipulation of financial time series a lot easier, the code shorter and the readability of the code better.


Como de costume, qualquer comentário é bem-vindo.


Factor Evaluation in Quantitative Portfolio Management.


When it comes to managing a portfolio of stocks versus a benchmark the problem is very different from defining an absolute return strategy. In the former one has to hold more stocks than in the later where no stocks at all can be held if there is not good enough opportunity. The reason for that is the tracking error . This is defined as the standard deviation of the portfolio return minus the benchmark return. The less stocks is held vs. a benchmark the higher the tracking error (e. g higher risk).


The analysis that follows is largely inspired by the book “Active Portfolio Management” by Grinold & Kahn. This is the bible for anyone interested in running a portfolio against a benchmark. I strongly encourage anyone with an interest in the topic to read the book from the beginning to the end. It’s very well written and lays the foundations of systematic active portfolio management (I have no affiliation to the editor or the authors).


Here we’re trying to rank as accurately as possible the stocks in the investment universe on a forward return basis. Many people came up with many tools and countless variant of those tools have been developed to achieve this. In this post I focus on two simple and widely used metrics: Information Coefficient (IC) and Quantiles Return (QR).


The IC gives an overview of the factor forecasting ability. More precisely, this is a measure of how well the factor ranks the stocks on a forward return basis. The IC is defined as the rank correlation ( ρ ) between the metric (e. g. factor) and the forward return. In statistical terms the rank correlation is a nonparametric measure of dependance between two variables. For a sample of size n , the n raw scores are converted to ranks , and ρ is computed from:


The horizon for the forward return has to be defined by the analyst and it’s a function of the strategy’s turnover and the alpha decay (this has been the subject of extensive research). Obviously ICs must be as high as possible in absolute terms.


For the keen reader, in the book by Grinold & Kahn a formula linking Information Ratio (IR) and IC is given: with breadth being the number of independent bets (trades). This formula is known as the fundamental law of active management . The problem is that often, defining breadth accurately is not as easy as it sounds.


In order to have a more accurate estimate of the factor predictive power it’s necessary to go a step further and group stocks by quantile of factor values then analyse the average forward return (or any other central tendency metric) of each of those quantiles. The usefulness of this tool is straightforward. A factor can have a good IC but its predictive power might be limited to a small number of stocks. This is not good as a portfolio manager will have to pick stocks within the entire universe in order to meet its tracking error constraint. Good quantiles return are characterised by a monotonous relationship between the individual quantiles and forward returns.


All the stocks in the S&P500 index (at the time of writing). Obviously there is a survival ship bias: the list of stocks in the index has changed significantly between the start and the end of the sample period, however it’s good enough for illustration purposes only.


The code below downloads individual stock prices in the S&P500 between Jan 2005 and today (it takes a while) and turns the raw prices into return over the last 12 months and the last month. The former is our factor, the latter will be used as the forward return measure.


Below is the code to compute Information Coefficient and Quantiles Return. Note that I used quintiles in this example but any other grouping method (terciles, deciles etc…) can be used. it really depends on the sample size, what you want to capture and wether you want to have a broad overview or focus on distribution tails. For estimating returns within each quintile, median has been used as the central tendency estimator. This measure is much less sensitive to outliers than arithmetic mean.


And finally the code to produce the Quantiles Return chart.


3 & # 8211; How to exploit the information above?


In the chart above Q1 is lowest past 12 months return and Q5 highest. There is an almost monotonic increase in the quantiles return between Q1 and Q5 which clearly indicates that stocks falling into Q5 outperform those falling into Q1 by about 1% per month. This is very significant and powerful for such a simple factor (not really a surprise though…). Therefore there are greater chances to beat the index by overweighting the stocks falling into Q5 and underweighting those falling into Q1 relative to the benchmark.


An IC of 0.0206 might not mean a great deal in itself but it’s significantly different from 0 and indicates a good predictive power of the past 12 months return overall. Formal significance tests can be evaluated but this is beyond the scope of this article.


The above framework is excellent for evaluating investments factor’s quality however there are a number of practical limitations that have to be addressed for real life implementation:


Rebalancing : In the description above, it’s assumed that at the end of each month the portfolio is fully rebalanced. This means all stocks falling in Q1 are underweight and all stocks falling in Q5 are overweight relative to the benchmark. This is not always possible for practical reasons: some stocks might be excluded from the investment universe, there are constraints on industry or sector weight, there are constraints on turnover etc… Transaction Costs : This has not be taken into account in the analysis above and this is a serious brake to real life implementation. Turnover considerations are usually implemented in real life in a form of penalty on factor quality. Transfer coefficient : This is an extension of the fundamental law of active management and it relaxes the assumption of Grinold’s model that managers face no constraints which preclude them from translating their investments insights directly into portfolio bets.


And finally, I’m amazed by what can be achieved in less than 80 lines of code with R…


Como de costume, qualquer comentário é bem-vindo.


Risk as a “Survival Variable”


I come across a lot of strategies on the blogosphere some are interesting some are a complete waste of time but most share a common feature: people developing those strategies do their homework in term of analyzing the return but much less attention is paid to the risk side its random nature. I’ve seen comment like “a 25% drawdown in 2011 but excellent return overall”. Well my bet is that no one on earth will let you experience a 25% loss with their money (unless special agreements are in place). In the hedge fund world people have very low tolerance for drawdown. Generally, as a new trader in a hedge fund, assuming that you come with no reputation, you have very little time to prove yourself. You should make money from day 1 and keep on doing so for a few months before you gain a bit of credibility.


First let’s say you have a bad start and you lose money at the beginning. With a 10% drawdown you’re most certainly out but even with a 5% drawdown the chances of seeing your allocation reduced are very high. This has significant implications on your strategies. Let’s assume that if you lose 5% your allocation is divided by 2 and you come back to your initial allocation only when you passed the high water mark again (e. g. the drawdown comes back to 0). In the chart below I simulated the experiment with one of my strategies.


You start trading in 1st June 2003 and all goes well until 23rd Jul. 2003 where your drawdown curve hits the -5% threshold (**1**). Your allocation is cut by 50% and you don’t cross back the high water mark level until 05th Dec. 2003 (**3**). If you have kept the allocation unchanged, the high water mark level would have been crossed on 28th Oct. 2003 (**2**) and by the end of the year you would have made more money.


But let’s push the reasoning a bit further. Still on the chart above, assume you get really unlucky and you start trading toward mid-June 2003. You hit the 10% drawdown limit by the beginning of August and you’re most likely out of the game. You would have started in early August your allocation would not have been cut at all and you end up doing a good year in only 4 full months of trading. In those two examples nothing has changed but your starting date….


The trading success of any individual has some form of path dependency and there is not much you can do about it. However you can control the size of a strategy’s drawdown and this should be addressed with great care. A portfolio should be diversified in every possible dimension: asset classes, investment strategies, trading frequencies etc…. From that perspective risk is your “survival variable”. If managed properly you have a chance to stay in the game long enough to realise the potential of your strategy. Otherwise you won’t be there next month to see what happens.


Opções de negociação do Excel Calculator.


As opções são derivativos sofisticados de índices de ações / ações que constituem uma parte importante em qualquer bolsa. Eles fornecem muitas maneiras de proteger e proteger seus riscos contra a volatilidade e movimentos inesperados no mercado.


Algumas das estratégias, como cobertura, proteção, divulgação, etc., são as maneiras pelas quais você pode ganhar dinheiro e limitar os riscos. Mas em qualquer troca há muitas opções disponíveis com preços diferentes e taxas de greve diferentes. Se você quiser analisar o payoff vs risco para cada um deles, torna-se complicado e cansativo para calcular o lucro máximo / perda máxima para cada opção / estratégia.


Neste artigo, você aprenderá a criar sua própria planilha do Excel para analisar estratégias de opções.


Opções Negociando Excel Long Call.


Se você for comprar uma opção de compra, a perda máxima será igual ao prêmio; mas seu lucro máximo seria ilimitado.


O preço do ponto de equilíbrio seria igual ao preço de exercício mais o prêmio.


E, se o preço na expiração & gt; Preço de ataque,


Lucro = Preço na Expiração - Preço de Exercício - Prêmio.


Se o preço na expiração & lt; Preço de ataque,


Crie uma estrutura semelhante a uma tabela, como mostrado na imagem abaixo -


Uma vez que call curto, put longo e put curto são semelhantes, seria inútil cobrir isso também, então vá em frente e implemente-o em planilhas separadas.


Opções Negociando Cobertura Coberta Excel.


Uma chamada coberta é quando, uma opção de compra é encurtada junto com a compra de estoque suficiente para cobrir a chamada. Uma chamada coberta deve ser empregada quando você tiver uma visão neutra de curto prazo sobre o estoque. ou seja, se você acha que o preço das ações não se desviará muito do preço de exercício. Dessa forma, você ganhará dinheiro com o prêmio.


Uma chamada coberta irá protegê-lo contra o rápido aumento no preço das ações. Mais uma vez, faça uma tabela semelhante à de Long Call.


O lucro máximo será realizado quando o preço da ação for igual ao preço de exercício na data de expiração da opção.


Lucro Máximo = Preço de Exercício - Preço Atual de Ações + Prêmio.


A perda máxima ocorre quando o preço da ação se torna zero no vencimento.


Perda Máxima = Preço Atual da Ação - Prêmio.


O preço de equilíbrio é o preço que é menor do que o preço atual da ação.


Preço Breakeven = Preço Atual da Ação - Prêmio.


Se o preço da ação na expiração & gt; Preço de ataque então.


Lucro = Preço de Exercício - Preço Atual das Ações + Prêmio.


Else If Stock Price na expiração & lt; Preço de ataque então.


Lucro = Cotação na Expiração - Cotação atual + Prêmio.


Então, para calcular o lucro, insira a seguinte fórmula na célula C12 -


Alternativamente, você também pode usar a fórmula -


Opções Trading Excel Protective Put.


Uma posição de proteção envolve ficar comprada em um estoque e comprar uma opção de venda para o mesmo estoque. Um put de proteção é implementado quando você está otimista sobre uma ação, mas quer se proteger de perdas no caso do preço das ações diminuir.


O lucro máximo é ilimitado.


A perda máxima = Preço de exercício - Preço de ações atual - Prêmio.


O preço de equilíbrio = preço atual + prêmio.


Se o preço da ação na expiração & gt; Preço de ataque então.


Lucro = Preço da Ação na Expiração - Preço Atual da Ação - Prêmio.


Se o preço das ações na expiração & lt; Preço de ataque então.


Lucro = Preço de Exercício - Preço de Ações Atual - Prêmio.


Faça uma tabela semelhante em outra planilha, como acima.


Digite a seguinte fórmula para calcular o lucro -


Alternativamente, você também pode usar a função IF para isso.


Agora vá em frente e implemente o Covered Put e o Protective Call sozinho.


Opções Trading Excel Bull Call Spread.


Um Spread de Touro é implementado quando uma chamada é comprada por um preço de exercício mais baixo e outra é encurtada com um preço de exercício mais alto. Ele é implementado quando você está se sentindo otimista sobre um estoque.


Crie uma estrutura de tabela como a da imagem abaixo.


Implemente as mesmas fórmulas que você implementou para Long Call e Short Call.


Agora, para a terceira tabela, onde calculamos o lucro / perda geral,


Lucro Máximo = (Preço de Ataque para ligação curta) - (Preço de Ataque para ligação longa) - (Premium para ligação longa) + (Premium para ligação curta)


Perda Máxima = (Premium para longa chamada) - (Premium para chamada curta)


Preço da Ação Break-Even = (Preço de Exercício para Longa Duração) + (Premium para Longa Duração) - (Premium para Curto Prazo)


Lucro Geral = (Lucro por chamada longa) + (Lucro por chamada curta).


Então, basta digitar a seguinte fórmula na célula J12 -


Crie planilhas semelhantes para Spread Put, Bear Call Spread e Bear Put Spread.


Opções Trading Excel Straddle.


Um Straddle é onde você tem uma posição longa em uma opção de compra e uma opção de venda. Isso é implementado quando você espera que a ação mude significativamente no futuro próximo, mas não tem certeza de qual direção ela irá fazer. Isso pode ser implementado antes de um grande anúncio de notícias que provavelmente terá um impacto substancial no valor de uma ação.


Crie uma estrutura semelhante a uma tabela, conforme mostrado abaixo -


Observe que há dois preços de ações em equilíbrio.


Primeiro, insira as mesmas fórmulas para a Long Call e Long Put, como fizemos nas seções anteriores.


O lucro máximo é infinito / ilimitado.


Perda Máxima = Prêmio na Chamada + Prêmio na Colocação.


Então, basta inserir a fórmula = C6 + F6 em C13.


Vamos quebrar mesmo se qualquer um.


Preço da Ação = Preço de Exercício + Prêmio na ligação + Prêmio na Colocação.


Preço da Ação = Preço de Exercício - Prêmio na ligação - Prêmio na colocação.


Finalmente, o lucro total é apenas a soma do lucro na ligação + lucro na colocação.


Opções Negociação Excel Collar.


Um colar é uma estratégia de opções que é de natureza protetora, que é implementada depois que uma posição longa em uma ação provou ser lucrativa. Ele é implementado por meio da compra de uma opção de venda, de uma opção de compra e de um longo estoque.


Destina-se a evitar perdas excessivas, mas também restringe ganhos excessivos. O colar é basicamente uma combinação de uma chamada coberta e uma colocação de proteção.


Isso minimiza o custo devido ao prêmio escrevendo uma opção de compra do mesmo / prêmio similar.


Novamente, seus dados precisam se parecer com isso -


Insira as fórmulas de lucro máximo, perda máxima, equilíbrio e lucro para as chamadas longas e curtas, conforme mostrado nas seções anteriores.


O lucro máximo é realizado quando o preço atinge até o preço de exercício da opção de compra, desta forma, não há perda por redação da opção de compra, e percebemos um lucro porque já possuímos a ação, cujo valor aumentou.


A perda máxima ocorre quando o estoque vai para zero, mas nossas perdas são interrompidas devido à nossa opção de venda, então perda máxima = Preço de estoque atual - Preço de exercício da opção de venda.


Se o preço da ação permanecer o mesmo, não ganhamos nem perdemos, portanto nosso preço de breakeven é igual ao preço atual da ação em si.


Para calcular o lucro, insira a seguinte fórmula na célula C15 -


Conclusão.


Agora que você criou suas próprias opções de negociação de planilha Excel para análise de opções, não só é mais fácil para você avaliar estratégias diferentes, você também ganhou uma compreensão mais profunda dos diferentes tipos de estratégias.


AlgoJi é o único fórum na Índia que não tem parceria comercial (partilha de comissão) com qualquer corretor / fornecedor. Mesmo que tenhamos colaborações do setor em toda a Índia. Isso nos torna imparciais e mantém seus dados identificáveis ​​seguros.

No comments:

Post a Comment