Wednesday 9 August 2017

Algoritmos Trading Strategies With Matlab Examples


MatlabTrading Esta publicação é sobre como é importante usar diferentes tipos de métodos de otimização, como algoritmos genéticos e paralelização para obter resultados mais rápidos. Otimização de Algoritmos Genéticos Apesar do fato de que o princípio do algoritmo genético (evolutivo) é muito bem explicado nos webinars de MathWorks, no entanto, ele é usado apenas para otimizar a escolha de um grupo de estratégia de um conjunto. Este é um bom exemplo do uso desses algoritmos, no entanto, acontece que há uma necessidade de configurar muitas variáveis ​​com intervalos significativos para uma estratégia, você não passa por uma iteração e a paralelização de processos. Os cálculos podem levar vários dias . Certamente, existem estratégias na fase final de otimização. Quando quase certamente sabemos que a estratégia de negociação é bem sucedida, podemos aguardar vários dias também ou alugar todo o cluster - o resultado pode valer a pena. No entanto, se precisarmos estimar os resultados de uma estratégia volumosa e decidir se vale a pena gastar o tempo, os algoritmos genéticos podem ser perfeitamente adequados. Nós fornecemos a possibilidade de usar três métodos para otimizar a estratégia em WFAToolbox: Método linear 8211 é um modo usual de classificação em que você verá todos os resultados intermediários (sub-ótimos). Ele fornece a máxima precisão. Método paralelo 8211, todos os kernels da sua CPU serão usados. Não permite ver resultados intermediários, mas acelera significativamente a operação. Ele fornece a máxima precisão durante o aumento da velocidade computacional. Método genético 8211 usa o algoritmo de otimização evolutiva. Permite ver valores sub-óptimos, mas dá o resultado próximo ao melhor. Não é um método muito preciso, mas é suficientemente preciso para a execução inicial da estratégia. Muito rápido. Muitas vezes, nos perguntam se o WFAToolbox - Walk-Forward Analysis Toolbox para MATLAB tem a capacidade de usar a GPU em cálculos. Infelizmente, o GPU não é adequado para todas as tarefas e seu uso é muito específico. Para usá-lo, você precisa ajustar a lógica e o código de cada estratégia para o teste de núcleos gráficos. Infelizmente, devido a tal não-universalidade do método, não se pode usar o GPU no WFAToolbox. Continuando a Parte 2 da discussão de problemas e soluções no teste e análise da estratégia de negociação algorítmica no MATLAB, convido você a ler esta publicação sobre o problema da indisponibilidade da visualização dos processos em soluções de software modernas para testar sistemas de negociação. Visualização do processo de teste Na minha experiência de trabalho, muitas vezes analisei outras plataformas populares para testes de estratégia comercial. Como a TradeStation. MetaStock. Multicartas etc e sempre fiquei surpreso com a pouca atenção dada à visualização do processo de teste. O que é que, quando não vemos os resultados dos valores intermediários, sub-ótimos de parâmetros otimizados, muitas vezes jogamos fora o ouro junto com a sujeira. O assunto é devido a uma amostragem excessivamente ampla, a estratégia ajusta os parâmetros da maneira como queremos ver uma estratégia perfeita que falha na vida real ou veja uma ou duas promoções, que supostamente são as melhores porque foi selecionado dados de intervalo de tempo onde a A melhor estratégia de negociação seria buy-and-hold, mas por que outras estratégias são necessárias para a visualização do processo de teste de estratégia de negociação em MATLAB (proposto no webinar). Como resultado, sem ver resultados intermediários, precisamos que ceifa187 altere os parâmetros para tentar Para obter melhores dados ou assisti-lo em algum 3D ou 4D (a cor é a 4ª dimensão), conforme proposto nos webinars. A análise de valores nos espaços N-dimensional pode definitivamente ser uma alternativa, mas tem várias limitações: o que acontece se houver mais de 4 dimensões. Quando você vê quais sinais e a que freqüência aparecem na faixa de preço, você tem quase todos os Representação visual necessária de sua estratégia: a freqüência das transações, sua rentabilidade (curva de renda), a precisão da abertura, a semelhança com outros valores sub-ótimos, etc., que não pode ser dito sobre o desempenho no espaço N-dimensional, onde todas as informações úteis É, de fato, que o valor ótimo não é apenas um, mas existe toda uma gama de valores subóptimos em uma ou mais áreas. Ao otimizar uma estratégia na WFAToolbox 8211 Walk-Forward Analysis Toolbox para MATLAB174. Como um novo valor ótimo é encontrado, os sinais de estratégia de negociação no período em amostra e fora da amostra aparecem imediatamente no gráfico, para que você sempre possa controlar o intervalo de opções que você deve atribuir e também pode pausar a otimização Sem esperar o fim do teste, pois fica claro que algo deu errado ou tudo está bem. Hola, meu nome é Igor Volkov. Eu tenho desenvolvido estratégias de negociação algorítmicas desde 2006 e trabalhei em diversos fundos de hedge. Neste artigo, gostaria de discutir as dificuldades surgidas no caminho do desenvolvedor de estratégias de negociação MATLAB durante testes e análises, bem como oferecer soluções possíveis. Eu tenho usado o MATLAB para testar estratégias de algoritmos desde 2007 e cheguei à conclusão de que esta não é apenas a ferramenta de pesquisa mais conveniente, mas também a mais poderosa porque possibilita a utilização de modelos complexos estatísticos e econométricos, redes neurais, Aprendizado de máquina, filtros digitais, lógica difusa, etc., adicionando caixa de ferramentas. A linguagem MATLAB é bastante simples e bem documentada, então mesmo um não programador (como eu) pode dominá-la. Como tudo começou. Foi 2008 (se não me enganei) quando o primeiro webinar de negociação algorítmica em MATLAB com Ali Kazaam foi lançado, abrangendo o tema de otimização de estratégias simples baseadas em indicadores técnicos, etc., apesar de um código bastante 8220chaotic8221, as ferramentas eram interessantes O suficiente para usar. Eles serviram como ponto de partida para pesquisa e aprimoramento de um modelo de teste e análise que permitiria usar todo o poder das caixas de ferramentas e a liberdade das ações MATLAB durante a criação de suas próprias estratégias comerciais, ao mesmo tempo que permitiria controlar o processo De testes e os dados obtidos e sua análise subsequente escolheriam o portfólio efetivo de sistemas de negociação robustos. Posteriormente, os webinars Mathworks foram atualizados todos os anos e introduziram gradualmente elementos cada vez mais interessantes. Assim, o primeiro webinar em negociação de pares (arbitragem estatística) usando a Econometric Toolbox foi realizado em 2010, embora a caixa de ferramentas de testes e análises permaneceu a mesma. Em 2013, surgiu o Trading Toolbox da Mathworks, que permitiu conectar MATLAB a diferentes corretores para a execução de suas aplicações. Embora houvesse soluções automáticas para a execução das transações, a partir desse ponto, o MATLAB poderia ser considerado um sistema para desenvolver estratégias de negociação com um ciclo completo: desde o carregamento de dados até a execução de estratégias de negociação automatizadas. Por que todo o Algotrader deve reinventar a roda No entanto, a Mathworks não ofereceu uma solução completa para testar e analisar as estratégias. Os códigos que você poderia sair dos webinars eram os únicos elementos de um teste completo do sistema, e era necessário modificá-los. , Personalize-os e adicione-os à GUI para facilidade de uso. Foi muito demorado, colocando uma questão: seja qual for a estratégia, deve passar pelo mesmo processo de testes e análises, o que permitiria classificar-se como estável e útil 8211, então por que cada algotrader reinventar a roda e escrever Seu próprio código para estratégias de teste adequadas no MATLAB Então, a decisão foi tomada para criar um produto que permita realizar todo o processo associado ao teste e análise de estratégias de negociação algorítmicas usando uma interface simples e fácil de usar. Em primeiro lugar, gostaria de responder as seguintes perguntas: O que aconteceu com o blog. Jev Kuznetsov já não é o dono. O blog foi comprado pelo nosso amigo Jev Kuznetsov, que se mudou para o seu outro blog com o blog com o blog. Ele concluiu que Python é melhor que o MATLAB para negociação, o que eu considerava falso. MATLAB continua a ser um dos melhores softwares do mundo para fins de negociação algorítmica IMHO (tenho alguns fatos sobre isso, porém para discussão futura). 2. Nós mudamos a marca. A partir deste momento, o blog será chamado MatlabTrading, o que é muito mais compreensível em relação aos tópicos que irá incluir. Além disso, o nome do domínio foi alterado para matlabtrading em vez do matlab-trading. blogspot inicial. Embora o domínio antigo ainda esteja funcionando redirecionando do nome de domínio primário. O que acontecerá com o blog 1. Mais publicações e artigos Esperamos trazer a vida a este blog postando conteúdos relevantes uma ou duas vezes por semana. Nos primeiros meses, publicaremos principalmente os artigos e vídeos que já temos para tornar mais fácil para os nossos queridos leitores pesquisar informações sobre um recurso e se cruzar sobre eles. Então temos planos para escrever posts sobre aspectos práticos da negociação algorítmica no MATLAB. Como criar estratégias modernas de negociação automática, tais como: negociação de pares de arbitragem estatística significa reversão estratégias de negociação neutras de mercado baseadas em co-integração bollinger bandas filtro kalman etc para commodities, ações e Forex. Tendência de estratégias seguidas com Jurik Moving Average e outros filtros digitais sofisticados Estratégias de previsão com aprendizado de máquina (Support Vector Machines) e outros métodos Criando estratégias de negociação robustas usando o teste visual avançado de gerenciamento de dinheiro para reinvestir seu capital (ciência sobre como obter 1M de 10K Em um ano com o máximo, mas o risco estimado e as recompensas de suor). Talvez, depois de ler isso, você pensou que este seria um outro artigo burro para aqueles caras pobres que procuram como se tornar rico através da negociação no forex e tudo isso. Bem, isso é totalmente falso Estamos trabalhando em MATLAB, e a maioria de nós é cientistas e especialistas nesse aspecto, então tudo é sério. 2. Mais interatividade ficarei feliz se possamos todos nos relacionarmos com comentários em postagens. Assine nossas novidades para receber alertas sobre as últimas postagens e eventos. Mais tarde, temos planos de fazer webinars do Google Hangouts. Não perca, clique no botão Siga no canto superior direito para se juntar à nossa comunidade. O que você gostaria de ler em nossas postagens de blog Que tópicos você pode sugerir Por favor, escreva aqui nos comentários. Na minha publicação anterior, cheguei à conclusão de que a negociação de pares fechados para perto não é tão lucrativa hoje quanto antes. Um leitor apontou que poderia ser que a natureza reversa dos spreads acabasse de mudar para prazos mais curtos . Eu compartilhei a mesma idéia, então eu decidi testar essa hipótese. Desta vez, apenas um par é testado: 100 SPY vs -80 IWM. O Backtest é executado em dados de barra de 30 segundos de 11.2011 a 12.2012. As regras são simples e semelhantes à estratégia que testei na última publicação: se o retorno da barra do par exceder 1 no z-score, troque a barra seguinte. O resultado parece muito bonito: considero que isso é uma prova suficiente de que ainda existe uma grande inversão média na escala de 30 segundos. Se você acha que este gráfico é muito bom para ser verdade, isso infelizmente é o caso. Não foram considerados custos de transação ou spread de oferta e solicitação. Na verdade, eu duvidaria que houvesse algum lucro depois de subtrair todos os custos de negociação. Ainda assim, este tipo de gráficos é a cenoura pendurada na minha frente, mantendo-me em pé. Boas notícias de todos, de acordo com os meus cálculos (que eu sinceramente espero que sejam incorretas), o comércio de pares clássicos está morto. Algumas pessoas estariam totalmente em desacordo, mas aqui é o que eu encontrei: vamos tomar uma estratégia hipotética que funciona em uma cesta de etfs: SPY, XLY, XLE, XLF, XLI, XLB, XLK, IWM, QQQ, DIA A partir destes etfs 90 unique Podem ser feitos pares. Cada par é construído como um spread neutro para o mercado. Regras de estratégia: em cada dia, para cada par, calcule o z-score com base no desvio padrão de 25 dias. Se o limite de gt de z-score, fique curto, feche o próximo dia. Se o limite de z-score lt for longo, feche o próximo dia. Para manter tudo simples, o cálculo é feito sem gerenciamento de capital (um pode ter até 90 pares em portfólio Em cada dia). Os custos de transação também não são considerados. Simplificando, esta estratégia rastreia a natureza do dia de um dia reverter a natureza dos spreads de mercado neutro. Aqui estão os resultados simulados para vários limiares: Não importa qual limite seja usado, a estratégia é altamente rentável em 2008, muito boa até 2009 e completamente inútil desde o início de 2010. Esta não é a primeira vez que me deparo com essa mudança na reversão média Comportamento em etfs. Não importa o que tentei, não tive sorte em encontrar uma estratégia de negociação de pares que funcionasse em ETFs passados ​​em 2010. Minha conclusão é que esses tipos de modelos simples de stat-arb simplesmente não diminuíram mais. Como identificar estratégias de negociação algorítmicas em Neste artigo, quero apresentar-lhe os métodos pelos quais eu próprio identifico estratégias de negociação algorítmicas lucrativas. Nosso objetivo hoje é entender detalhadamente como encontrar, avaliar e selecionar esses sistemas. Vou explicar como a identificação de estratégias é tanto sobre preferência pessoal quanto sobre o desempenho da estratégia, como determinar o tipo e quantidade de dados históricos para testes, como avaliar de forma imparcial uma estratégia de negociação e, finalmente, como proceder para a fase de teste e a implementação da estratégia. . Identificando suas próprias preferências pessoais para negociação Para ser um comerciante bem-sucedido - de forma discricionária ou algorítmica - é necessário fazer-se algumas perguntas honestas. A negociação oferece a você a capacidade de perder dinheiro a um ritmo alarmante, por isso é necessário se conhecer tanto quanto for necessário entender a estratégia escolhida. Eu diria que a consideração mais importante na negociação é estar ciente de sua própria personalidade. O comércio e o comércio algorítmico em particular, requer um grau significativo de disciplina, paciência e descolamento emocional. Uma vez que você está deixando um algoritmo executar sua negociação para você, é necessário ser resolvido para não interferir com a estratégia quando está sendo executado. Isso pode ser extremamente difícil, especialmente em períodos de redução prolongada. No entanto, muitas estratégias que mostraram ser altamente rentáveis ​​em um backtest podem ser arruinadas por uma simples interferência. Compreenda que, se você deseja entrar no mundo da negociação algorítmica, você será testado emocionalmente e, para ser bem-sucedido, é necessário trabalhar com essas dificuldades. A próxima consideração é uma vez. Você trabalha em tempo integral Você trabalha a tempo parcial Você trabalha em casa ou tem um longo trajeto a cada dia. Essas perguntas ajudarão a determinar a freqüência da estratégia que você deve procurar. Para aqueles de vocês no emprego a tempo inteiro, uma estratégia de futuros intradiária pode não ser apropriada (pelo menos até que seja totalmente automatizada). Suas restrições de tempo também ditarão a metodologia da estratégia. Se sua estratégia é freqüentemente negociada e dependente de feeds de notícias caras (como um terminal da Bloomberg), você terá claramente que ser realista sobre a sua capacidade de executar com sucesso enquanto estiver no escritório Para aqueles com você com muito tempo, ou as habilidades Para automatizar sua estratégia, você pode querer examinar uma estratégia mais técnica de negociação de alta freqüência (HFT). Minha opinião é que é necessário realizar pesquisas contínuas sobre suas estratégias de negociação para manter um portfólio consistentemente lucrativo. Poucas estratégias permanecem sob o radar para sempre. Assim, uma parcela significativa do tempo atribuído à negociação será na realização de pesquisas em andamento. Pergunte a si mesmo se você está preparado para fazer isso, pois pode ser a diferença entre uma forte rentabilidade ou um declínio lento em relação às perdas. Você também precisa considerar seu capital comercial. O valor mínimo ideal geralmente aceito para uma estratégia quantitativa é de 50,000 USD (aproximadamente 35,000 para nós no Reino Unido). Se eu estivesse começando de novo, eu começaria com uma quantidade maior, provavelmente mais perto de 100,000 USD (aproximadamente 70,000). Isso ocorre porque os custos de transação podem ser extremamente caros para estratégias de média a alta freqüência e é necessário ter capital suficiente para absorvê-los em tempos de redução. Se você está considerando começar com menos de 10.000 USD, então você precisará se restringir a estratégias de baixa freqüência, negociando em um ou dois ativos, uma vez que os custos de transação irão comer rapidamente em seus retornos. Interactive Brokers, que é um dos corretores mais amigáveis ​​para aqueles com habilidades de programação, devido à sua API, possui uma conta mínima de 10.000 USD. A habilidade de programação é um fator importante na criação de uma estratégia de negociação algorítmica automatizada. Ser informado em uma linguagem de programação como C, Java, C, Python ou R permitirá que você crie o sistema de armazenamento de dados, o sistema de backtest e o sistema de execução de ponta a ponta. Isso tem uma série de vantagens, cujo chefe é a capacidade de estar completamente atento a todos os aspectos da infra-estrutura comercial. Também permite que você explore as estratégias de maior freqüência, pois você terá o controle total da sua pilha de tecnologia. Embora isso signifique que você pode testar seu próprio software e eliminar bugs, também significa mais tempo gasto na codificação de infra-estrutura e menos na implementação de estratégias, pelo menos na parte anterior da sua carreira de trading. Você pode achar que você está confortável negociando no Excel ou MATLAB e pode terceirizar o desenvolvimento de outros componentes. Eu não recomendaria isso no entanto, particularmente para aqueles que negociam em alta freqüência. Você precisa se perguntar o que você espera alcançar por meio de negociação algorítmica. Você está interessado em um rendimento regular, pelo qual você deseja obter lucros de sua conta de negociação Ou você está interessado em um ganho de capital a longo prazo e pode se negociar sem a necessidade de retirar fundos. A dependência da renda determinará a freqüência de sua estratégia . As retiradas de renda mais regulares exigirão uma estratégia de negociação de maior freqüência com menor volatilidade (ou seja, uma proporção Sharpe mais alta). Os comerciantes de longo prazo podem pagar uma frequência comercial mais tranquila. Finalmente, não se sinta iludido com a noção de tornar-se extremamente rico num curto espaço de tempo. A negociação de Algo não é um esquema rápido e rápido. Se alguma coisa pode ser um esquema rápido e rápido. É preciso disciplina, pesquisa, diligência e paciência importantes para serem bem-sucedidos no comércio algorítmico. Pode levar meses, senão anos, gerar rentabilidade consistente. Sourcing Algorithmic Trading Ideas Apesar das percepções comuns ao contrário, é realmente bastante direto para localizar estratégias comerciais lucrativas no domínio público. Nunca as idéias comerciais estão mais disponíveis do que hoje. Revistas de finanças acadêmicas, servidores de pré-impressão, blogs comerciais, fóruns de negociação, revistas comerciais semanais e textos especializados fornecem milhares de estratégias de negociação com as quais basear suas idéias. Nosso objetivo como pesquisadores quantitativos de negócios é estabelecer um pipeline estratégico que nos forneça um fluxo de idéias comerciais em andamento. Idealmente, queremos criar uma abordagem metódica para sourcing, avaliação e implementação de estratégias que encontramos. Os objetivos do pipeline são gerar uma quantidade consistente de novas idéias e fornecer-nos uma estrutura para rejeitar a maioria dessas idéias com o mínimo de consideração emocional. Devemos ter o cuidado de não deixar influenciar a tendência cognitiva na nossa metodologia de tomada de decisão. Isso pode ser tão simples como ter uma preferência por uma classe de ativos sobre outra (o ouro e outros metais preciosos vêm à mente) porque são percebidos como mais exóticos. Nosso objetivo sempre deve ser encontrar estratégias consistentemente lucrativas, com expectativas positivas. A escolha da classe de ativos deve basear-se em outras considerações, como restrições de capital de negociação, taxas de corretagem e recursos de alavancagem. Se você não está completamente familiarizado com o conceito de estratégia comercial, então o primeiro lugar a olhar é com livros didáticos estabelecidos. Os textos clássicos fornecem uma ampla gama de idéias mais simples e diretas, para se familiarizarem com a negociação quantitativa. Aqui está uma seleção que eu recomendo para aqueles que são novos para negociação quantitativa, que gradualmente se tornam mais sofisticados enquanto você trabalha através da lista: Para obter uma lista mais longa de livros de negociação quantitativos, visite a lista de leitura QuantStart. O próximo local para encontrar estratégias mais sofisticadas é com fóruns de negociação e blogs comerciais. No entanto, uma nota de cautela: muitos blogs comerciais dependem do conceito de análise técnica. A análise técnica envolve a utilização de indicadores básicos e psicologia comportamental para determinar tendências ou padrões de inversão nos preços dos ativos. Apesar de ser extremamente popular no espaço comercial geral, a análise técnica é considerada um pouco ineficaz na comunidade de finanças quantitativas. Alguns sugeriram que não é melhor do que ler um horóscopo ou estudar folhas de chá em termos de seu poder preditivo. Na realidade, há indivíduos bem sucedidos que fazem uso da análise técnica. No entanto, como quants com uma caixa de ferramentas matemática e estatística mais sofisticada à nossa disposição, podemos avaliar facilmente a eficácia de tais estratégias baseadas em TA e tomar decisões baseadas em dados, em vez de basear nossa em considerações ou preconceitos emocionais. Aqui está uma lista de blogs e fóruns de negociação algorítmica bem respeitados: uma vez que você teve alguma experiência na avaliação de estratégias mais simples, é hora de olhar para as ofertas acadêmicas mais sofisticadas. Algumas revistas acadêmicas serão de difícil acesso, sem altas assinaturas ou custos pontuais. Se você é membro ou aluno de uma universidade, você poderá obter acesso a algumas dessas revistas financeiras. Caso contrário, você pode olhar para servidores de pré-impressão. Que são repositórios de internet de rascunhos finais de documentos acadêmicos que estão sendo submetidos a revisão pelos pares. Uma vez que estamos apenas interessados ​​em estratégias que possamos replicar com sucesso, fazer backtest e obter rentabilidade, uma revisão por pares é de menor importância para nós. A principal desvantagem das estratégias acadêmicas é que muitas vezes podem estar desactualizadas, requerem dados históricos obscuros e dispendiosos, trocam classes de ativos ilíquidas ou não influenciam taxas, derrapagens ou spread. Também pode não estar claro se a estratégia de negociação deve ser realizada com ordens de mercado, ordens limitantes ou se contém perdas de parada, etc. Portanto, é absolutamente essencial replicar a estratégia o melhor que puder, fazer uma prova e adicionar uma transação realista Custos que incluem tantos aspectos das classes de ativos que você deseja negociar. Aqui está uma lista dos servidores de pré-impressão mais populares e jornais financeiros dos quais você pode criar ideias: o que é sobre a formação de suas próprias estratégias quantitativas. Mas não está limitado a) experiência em uma ou mais das seguintes categorias: Microestrutura de mercado - Para estratégias de maior freqüência em particular, pode-se usar a microestrutura do mercado. Ou seja, compreensão da dinâmica do livro de pedidos para gerar rentabilidade. Diferentes mercados terão várias limitações tecnológicas, regulamentos, participantes do mercado e restrições que estão abertas à exploração através de estratégias específicas. Esta é uma área muito sofisticada e os profissionais de varejo terão dificuldade em ser competitivos neste espaço, particularmente porque a competição inclui fundos de hedge quantitativos grandes e bem capitalizados com fortes capacidades tecnológicas. Estrutura do fundo - Os fundos de investimento em conjunto, como fundos de pensão, parcerias de investimento privado (fundos de hedge), consultores de negociação de commodities e fundos de investimento, são limitados por uma forte regulamentação e suas grandes reservas de capital. Assim, certos comportamentos consistentes podem ser explorados com aqueles que são mais ágeis. Por exemplo, grandes fundos estão sujeitos a restrições de capacidade devido ao tamanho deles. Assim, se eles precisam rapidamente descarregar (vender) uma quantidade de títulos, eles terão que dimensioná-lo para evitar mover o mercado. Algoritmos sofisticados podem tirar proveito disso, e outras idiossincrasias, em um processo geral conhecido como arbitragem de estrutura de fundos. Aprendizagem mecânica de inteligência artificial - Os algoritmos de aprendizagem de máquinas tornaram-se mais prevalentes nos últimos anos nos mercados financeiros. Os classificadores (como Naive-Bayes, et al.) Correspondentes de função não-linear (redes neurais) e rotinas de otimização (algoritmos genéticos) foram usados ​​para prever caminhos de ativos ou otimizar estratégias de negociação. Se você tem um histórico nesta área, você pode ter alguma visão sobre como determinados algoritmos podem ser aplicados em certos mercados. Há, é claro, muitas outras áreas para investigar quants. Bem, discuta como apresentar estratégias personalizadas em detalhes em um artigo posterior. Ao continuar monitorando essas fontes em uma base semanal, ou mesmo diariamente, você está se preparando para receber uma lista consistente de estratégias de uma variedade diversificada de fontes. O próximo passo é determinar como rejeitar um grande subconjunto dessas estratégias, a fim de minimizar o desperdício de seu tempo e os recursos de backtesting em estratégias que provavelmente não serão lucrativas. Avaliando as estratégias de negociação A primeira e, possivelmente, a consideração mais óbvia é se você realmente entende a estratégia. Você poderia explicar a estratégia de forma concisa ou exigir uma série de ressalvas e listas de parâmetros infinitos. Além disso, a estratégia tem uma base boa e sólida na realidade. Por exemplo, você poderia apontar alguma lógica comportamental ou restrição de estrutura de fundo que Pode estar causando o (s) padrão (s) que você está tentando explorar. Essa restrição suportaria uma mudança de regime, como uma dramática perturbação do ambiente regulatório. A estratégia depende de regras complexas estatísticas ou matemáticas Aplica-se a qualquer série de tempo financeiro ou é É específico para a classe de ativos que se afirma ser rentável. Você deve estar pensando constantemente nesses fatores ao avaliar novos métodos comerciais, caso contrário você pode desperdiçar uma quantidade significativa de tempo tentando fazer backtest e otimizar estratégias não lucrativas. Uma vez que você tenha determinado que você entende os princípios básicos da estratégia, você precisa decidir se ele se encaixa com o seu perfil de personalidade acima mencionado. Esta não é uma consideração tão vaga quanto parece. As estratégias diferirão substancialmente em suas características de desempenho. Existem certos tipos de personalidade que podem lidar com períodos mais significativos de redução ou estão dispostos a aceitar um maior risco de retorno maior. Apesar do fato de que nós, como quants, tentamos eliminar todo o viés cognitivo possível e deveríamos poder avaliar uma estratégia de forma desapaixonada, os preconceitos sempre se aproximarão. Portanto, precisamos de um meio consistente, sem emoção, através do qual avaliar o desempenho das estratégias . Aqui está a lista de critérios que eu julgo uma nova estratégia potencial através de: Metodologia - É o impulso da estratégia, a reversão média, o mercado neutro, direcional. A estratégia depende de técnicas sofisticadas (ou complexas) de técnicas estatísticas ou de máquinas que são difíceis. Para entender e exigir um doutorado em estatísticas para entender. Essas técnicas introduzem uma quantidade significativa de parâmetros, o que pode levar a um viés de otimização. A estratégia é susceptível de suportar uma mudança de regime (ou seja, uma nova regulamentação potencial dos mercados financeiros). Razão de Sharpe - A relação de Sharpe Caracteriza heuristicamente o rácio de risco de risco da estratégia. Quantifica quanto retorno você consegue para o nível de volatilidade suportado pela curva patrimonial. Naturalmente, precisamos determinar o período e a frequência que esses retornos e volatilidade (ou seja, o desvio padrão) são medidos. Uma estratégia de maior freqüência exigirá maior taxa de amostragem do desvio padrão, mas um período de tempo geral mais curto, por exemplo. Alavancagem - A estratégia exige alavancagem significativa para ser lucrativa. A estratégia requer o uso de contratos de derivativos alavancados (futuros, opções, swaps) para fazer um retorno. Estes contratos alavancados podem ter uma forte volatilidade e, portanto, podem facilmente levar a Chamadas de margem. Você tem o capital de negociação e o temperamento para essa volatilidade Frequência - A freqüência da estratégia está intimamente ligada à sua pilha de tecnologia (e, portanto, experiência tecnológica), ao índice de Sharpe e ao nível geral dos custos de transação. Todas as outras questões consideradas, as estratégias de maior freqüência requerem mais capital, são mais sofisticadas e mais difíceis de implementar. No entanto, assumindo que seu mecanismo de teste de backtest é sofisticado e livre de erros, eles geralmente terão taxas de Sharpe muito maiores. Volatilidade - A volatilidade está fortemente relacionada ao risco da estratégia. A relação Sharpe caracteriza isso. A maior volatilidade das classes de ativos subjacentes, se não coberta, muitas vezes leva a uma maior volatilidade na curva de patrimônio e, portanto, menores índices de Sharpe. Provavelmente suponho que a volatilidade positiva é aproximadamente igual à volatilidade negativa. Algumas estratégias podem ter maior volatilidade negativa. Você precisa estar ciente desses atributos. WinLoss, Average ProfitLoss - As estratégias serão diferentes nas suas características de ganhos e ganhos de lucro. Pode-se ter uma estratégia muito lucrativa, mesmo que o número de negócios perdidos exceda o número de negociações vencedoras. As estratégias de impulso tendem a ter esse padrão, pois dependem de um pequeno número de grandes sucessos para serem lucrativos. As estratégias de reversão média tendem a ter perfis opostos onde mais dos negócios são vencedores, mas os negócios perdidos podem ser bastante graves. Drawdown máximo - A redução máxima é a maior queda percentual global na curva de equidade da estratégia. As estratégias de Momentum são bem conhecidas por sofrerem períodos de redução prolongada (devido a uma série de muitos negócios perdidos incrementais). Muitos comerciantes vão desistir em períodos de redução prolongada, mesmo que os testes históricos sugeriram que este é um negócio como de costume para a estratégia. Você precisará determinar qual porcentagem de redução (e em que período de tempo) você pode aceitar antes de deixar de negociar sua estratégia. Esta é uma decisão altamente pessoal e, portanto, deve ser considerada com cuidado. CapacityLiquidity - No nível de varejo, a menos que você esteja negociando em um instrumento altamente ilíquido (como um estoque de pequena capitalização), você não terá que se preocupar muito com a capacidade da estratégia. A capacidade determina a escalabilidade da estratégia para aumentar o capital. Muitos dos hedge funds maiores sofrem de importantes problemas de capacidade à medida que suas estratégias aumentam na alocação de capital. Parâmetros - Certas estratégias (especialmente aquelas encontradas na comunidade de aprendizagem de máquinas) requerem uma grande quantidade de parâmetros. Todo parâmetro adicional que uma estratégia exige deixa-o mais vulnerável ao viés de otimização (também conhecido como ajuste de curva). Você deve tentar e segmentar estratégias com o menor número possível de parâmetros ou garantir que você tenha quantidades suficientes de dados para testar suas estratégias. Benchmark - Quase todas as estratégias (a menos que sejam caracterizadas como retorno absoluto) são medidas em relação a um benchmark de desempenho. O benchmark geralmente é um índice que caracteriza uma grande amostra da classe de ativos subjacentes na qual a estratégia negocia. Se a estratégia negociar ações americanas de grande capitalização, então o SP500 seria uma referência natural para medir a sua estratégia. Você ouvirá os termos alfa e beta, aplicado a estratégias deste tipo. Vamos discutir esses coeficientes em profundidade em artigos posteriores. Observe que não discutimos os retornos reais da estratégia. Por que isso é isolado, os retornos realmente nos fornecem informações limitadas sobre a eficácia da estratégia. Eles não lhe dão uma visão de alavancagem, volatilidade, benchmarks ou requisitos de capital. Assim, as estratégias raramente são avaliadas apenas em seus retornos. Sempre considere os atributos de risco de uma estratégia antes de analisar os retornos. Nesta fase, muitas das estratégias encontradas no seu pipeline serão rejeitadas, uma vez que não atendem aos requisitos de capital, alavancar restrições, tolerar a tolerância máxima ou preferências de volatilidade. As estratégias que permanecem agora podem ser consideradas para testes anteriores. No entanto, antes disso é possível, é necessário considerar um critério de rejeição final - o dos dados históricos disponíveis para testar essas estratégias. Obtenção de dados históricos Atualmente, a amplitude dos requisitos técnicos em todas as classes de ativos para o armazenamento histórico de dados é substancial. Para se manterem competitivos, tanto o lado da compra (fundos) quanto os de venda (bancos de investimento) investem fortemente em sua infraestrutura técnica. É imperativo considerar sua importância. Em particular, estamos interessados ​​em requisitos de tempo, precisão e armazenamento. Vou agora descrever os conceitos básicos de obtenção de dados históricos e como armazená-lo. Infelizmente, este é um tópico muito profundo e técnico, então não consigo dizer tudo neste artigo. No entanto, vou escrever muito mais sobre isso no futuro, já que minha experiência na indústria anterior no setor financeiro se preocupou principalmente com a aquisição, armazenamento e acesso de dados financeiros. Na seção anterior, criamos um pipeline de estratégia que nos permitiu rejeitar certas estratégias com base em nossos próprios critérios de rejeição pessoal. Nesta seção, vamos filtrar mais estratégias com base em nossas próprias preferências para obter dados históricos. As principais considerações (especialmente no nível do profissional de varejo) são os custos dos dados, os requisitos de armazenamento e seu nível de expertise técnica. Também precisamos discutir os diferentes tipos de dados disponíveis e as diferentes considerações que cada tipo de dados nos impõe. Comece por discutir os tipos de dados disponíveis e as questões-chave que precisaremos para pensar: dados fundamentais - Isso inclui dados sobre tendências macroeconômicas, tais como taxas de juros, números de inflação, ações corporativas (dividendos, estoque-divisão), registros da SEC , Contas corporativas, números de ganhos, relatórios de culturas, dados meteorológicos, etc. Estes dados são freqüentemente usados ​​para valorizar as empresas ou outros ativos em uma base fundamental, ou seja, por meio de fluxos de caixa futuros esperados. Não inclui séries de preços de ações. Alguns dados fundamentais estão disponíveis gratuitamente nos sites do governo. Outros dados fundamentais históricos de longo prazo podem ser extremamente caros. Os requisitos de armazenamento geralmente não são particularmente grandes, a menos que milhares de empresas estejam sendo estudadas de uma só vez. Dados de notícias - Os dados de notícias são muitas vezes de natureza qualitativa. Consiste em artigos, postagens de blog, postagens de microblog (tweets) e editorial. As técnicas de aprendizagem de máquinas, como os classificadores, costumam ser usadas para interpretar o sentimento. Estes dados também são frequentemente disponíveis gratuitamente ou baratos, por meio da assinatura de meios de comunicação. Os bancos de dados de armazenamento de documentos Novos NoSQL são projetados para armazenar esse tipo de dados qualitativos não estruturados. Dados de preço de ativos - Este é o domínio de dados tradicional do quant. Consiste em séries temporais de preços dos ativos. Ações (ações), produtos de renda fixa (títulos), commodities e preços cambiais, todos sentados nesta classe. Os dados históricos diários são frequentemente simples de obter para classes de ativos mais simples, como ações. No entanto, uma vez que a precisão e a limpeza estão incluídas e os desvios estatísticos removidos, os dados podem se tornar caros. Além disso, os dados das séries temporais geralmente possuem requisitos significativos de armazenamento, especialmente quando os dados intradiários são considerados. Instrumentos Financeiros - Ações, títulos, futuros e opções derivadas mais exóticas possuem características e parâmetros muito diferentes. Portanto, não existe um tamanho único para toda a estrutura de banco de dados que possa acomodá-los. Deve ser dada uma atenção significativa à concepção e implementação de estruturas de banco de dados para diversos instrumentos financeiros. Vamos discutir a situação ao longo de quando chegarmos a construir um banco de dados mestre de valores mobiliários em futuros artigos. Frequência - Quanto maior a frequência dos dados, maiores são os custos e os requisitos de armazenamento. Para estratégias de baixa frequência, os dados diários são frequentemente suficientes. Para estratégias de alta freqüência, pode ser necessário obter dados de nível de tiquetaque e até cópias históricas de determinados dados do livro de pedidos de troca de negócios. A implementação de um mecanismo de armazenamento para este tipo de dados é altamente tecnológica e só é apropriada para aqueles que possuem um sólido cenário técnico de programação. Pontos de referência - As estratégias descritas acima serão comparadas com um benchmark. Isso geralmente se manifesta como uma série de tempo financeiro adicional. Para as ações, isso geralmente é um benchmark de estoque nacional, como o índice SP500 (US) ou FTSE100 (UK). Para um fundo de renda fixa, é útil comparar com uma cesta de títulos ou produtos de renda fixa. A taxa livre de risco (ou seja, a taxa de juros apropriada) também é outra referência amplamente aceita. Todas as categorias de classes de ativos possuem um benchmark preferido, por isso será necessário pesquisar isso com base em sua estratégia específica, se desejar ganhar interesse em sua estratégia externamente. Tecnologia - As pilhas de tecnologia por trás de um centro de armazenamento de dados financeiros são complexas. Este artigo apenas pode arranhar a superfície sobre o que está envolvido na construção de um. No entanto, ele se centra em torno de um mecanismo de banco de dados, como um Sistema de Gerenciamento de Base de Dados Relacional (RDBMS), como MySQL, SQL Server, Oracle ou um Document Storage Engine (ou seja, NoSQL). Isso é acessado através do código de aplicativo de lógica de negócios que questiona o banco de dados e fornece acesso a ferramentas externas, como MATLAB, R ou Excel. Muitas vezes, esta lógica de negócios está escrita em C, C, Java ou Python. Você também precisará hospedar esses dados em algum lugar, em seu próprio computador pessoal ou remotamente através de servidores de internet. Produtos como o Amazon Web Services tornaram isso mais simples e barato nos últimos anos, mas ainda exigirá conhecimentos técnicos significativos para alcançar de forma robusta. Como pode ser visto, uma vez que uma estratégia tenha sido identificada através da tubulação, será necessário avaliar a disponibilidade, os custos, a complexidade e os detalhes de implementação de um determinado conjunto de dados históricos. Você pode achar que é necessário rejeitar uma estratégia baseada unicamente em considerações de dados históricos. Esta é uma grande área e equipes de doutorados trabalham em grandes fundos garantindo que os preços sejam precisos e oportunos. Não subestime as dificuldades de criar um centro de dados robusto para os seus resultados de backtesting. Eu quero dizer, no entanto, que muitas plataformas de backtesting podem fornecer esses dados para você automaticamente - a um custo. Assim, demorará muito da dor de implementação para você, e você pode se concentrar exclusivamente na implementação e otimização da estratégia. Ferramentas como a TradeStation possuem essa capacidade. No entanto, minha visão pessoal é implementar o máximo possível internamente e evitar terceirizar partes da pilha para fornecedores de software. Eu prefiro estratégias de freqüência mais altas devido aos seus índices de Sharpe mais atraentes, mas muitas vezes estão fortemente acoplados à pilha de tecnologia, onde a otimização avançada é crítica. Agora que discutimos as questões relacionadas aos dados históricos, é hora de começar a implementar nossas estratégias em um mecanismo de teste. Este será o assunto de outros artigos, pois é uma área de discussão igualmente grande

No comments:

Post a Comment