Modelo de estratégia de negociação
Como construir um modelo de negociação Forex.
Bem-vindo à negociação forex - um mercado global que funciona 24/7, oferecendo enormes oportunidades para os comerciantes prontos para dar uma queda.
Este artigo discute as diretrizes e o esboço para construir um modelo de negociação para negociação de divisas ou divisas. Também são discutidos os pontos relevantes sobre como a negociação forex é diferente da negociação de ações, bem como pontos específicos a serem considerados para a construção do modelo de negociação forex.
A grande vantagem com os mercados é que ele acomoda todo tipo de teorias (fundamental, técnica, ação de preço, etc.), permitindo aos participantes do mercado oportunidades enormes, que seguem padrões variados e diretores ao comércio. É uma questão de tempo - um está perdendo ou ganhando em qualquer momento particular. Quando cuidadosamente feito, construir um modelo de negociação baseado em uma estratégia claramente conceituada permite reduzir os negócios perdidos e melhorar o número de negociações vencedoras, permitindo assim uma abordagem sistemática de lucro.
Como um pensamento geral e fluxo de processo, a construção de uma estratégia de negociação pode ser capturada nas seguintes etapas, conforme demonstrado nesta figura:
No entanto, alguns insumos específicos podem ser necessários para o comércio específico forex, que são discutidos abaixo.
Como a negociação forex é diferente.
Teoricamente, as taxas de câmbio são transferidas devido a dois conceitos fundamentais: paridade de taxa de juros e paridade de poder de compra. Diferenças significativas entre a negociação forex e a negociação de ações são que o mercado forex é de natureza global, move-se em 24/7 e a regulamentação continua limitada. Isso leva a variações altamente sensíveis, imprevisíveis e susceptíveis nos movimentos de preços forex. Os drivers primários das taxas forex incluem notícias, p. Ex. emitiram declarações de funcionários do governo, desenvolvimentos geopolíticos, inflação e outras figuras macroeconômicas, etc.
Vamos discutir as etapas para construir um modelo de negociação forex.
Identificar / conceituar uma estratégia comercial:
Construir um modelo de negociação exige a identificação de oportunidades adequadas, o que, por sua vez, envolve a escolha de estratégias definidas ou conceitualizando novas como variantes de padrões. A estratégia de negociação continua a ser o coração de qualquer modelo de negociação, já que determina claramente as regras a serem seguidas, os pontos de entrada / saída, o potencial de lucro, a duração do comércio, os critérios de gerenciamento de riscos, etc. Por exemplo, aqui estão duas estratégias populares de negociação forex:
Notícias Fade: o mercado de forex irracional geralmente se move devido a notícias após a liberação de números oficiais como (números de PIB, números de emprego, liberação de dados de folha de pagamento não agrícola, etc.). Um efeito comumente observado imediatamente após o lançamento da notícia é um alto nível de volatilidade, levando a flutuações de preços significativas. No entanto, cerca de 15 minutos após o recorde de notícias, os preços geralmente são observados para voltar para níveis anteriores, que foram mantidos apenas antes do lançamento da notícia. Os modelos podem ser construídos para capitalizar em torno dessas oportunidades. Fragmento do dia interno: o padrão do dia interno aplica-se aos castiçais, onde o intervalo alto e baixo de hoje está dentro do alcance alto-baixo do dia anterior, indicando uma volatilidade reduzida. Pode haver vários padrões de dia interno dia após dia, indicando redução contínua na volatilidade e, portanto, aumentando significativamente a possibilidade de uma ruptura. Os comerciantes de Forex criam modelos e estratégias baseadas nesse conceito.
Identifique a segurança forex para negociar:
As estratégias específicas de negociação Forex exigem uma seleção cuidadosa do seguinte:
Ativos - o comércio envolverá simplesmente a negociação de notas de moeda, ou negociação de futuros de divisas, opções de divisas ou derivativos exóticos de forex mais avançados (como opções de barreira)? Parceiros (s) de moeda que valem a pena negociar de acordo com a estratégia identificada (como EURUSD, JPYAUD, etc.) Qual grupo de divisas forex - moedas maiores, menores e exóticas - o par forex selecionado pertence, pois essas categorias demonstram características específicas.
Plug-in os parâmetros específicos do forex:
Estratégia pós-comércio e identificação de segurança comercializável, o próximo passo para a construção de um modelo de negociação forex é a introdução de parâmetros específicos da estratégia forex que podem incluir:
Dependência de notícias: a menos que um seja um investidor de longo prazo, nenhum comerciante de forex pode se dar ao luxo de ignorar notícias associadas específicas a desenvolvimentos geopolíticos, estado da economia, anúncio de figuras econômicas de macros associadas, etc. O modelo de negociação deve considerar a inclusão de impacto de notícias - total ou parcialmente, manual ou automatizado - na medida do encaixe no modelo de negociação forex. Timing the trade: O modelo de negociação forex deve explicar as dependências de temporização, se houver, como segue:
assumir uma posição logo antes que os números macroeconômicos sejam anunciados negociando um par de moedas estrangeiras que tenha mais volatilidade durante horas extras - como um comerciante australiano que negocia em par de moeda EURUSD durante a troca de moeda exótica noturna da Austrália, que ocorre apenas durante o horário comercial em bancos designados e Mercados OTC.
Ferramentas técnicas, fatores fundamentais e requisitos de monitoramento: se a estratégia selecionada requer monitoramento constante de gráficos DMA ou bandas Bollinger ®, ou cálculos baseados em figuras fundamentais / macroeconômicas, o modelo de negociação forex deve ser equipado para incluir todas as ferramentas necessárias para esses requisitos.
Esta etapa concentra-se principalmente na incorporação das seguintes características básicas no modelo de negociação, com valores variáveis para encontrar o melhor ajuste:
Níveis de lucro (como o movimento de pips) Níveis de perda de perdas Gerenciamento de dinheiro: quanto dinheiro apostar em cada comércio, em que estilo (valor fixo por troca ou montantes variáveis com mudanças progressivas) Análise de gerenciamento de riscos e análise de cenários, conforme aplicável.
Pode começar com alguns pressupostos, e aperfeiçoar esses como testes mais iterativos são realizados para encontrar o melhor ajuste rentável.
Qualquer modelo comercial desenvolvido por um indivíduo reflete as características, o processo de pensamento, o temperamento e a experiência do comerciante que o constrói. Muitas vezes constrangido pelo conhecimento ou mesmo por desafios pessoais de opinião ego ou cega em modelos autodesenvolvidos, os comerciantes ocasionalmente ignoram aspectos importantes. Portanto, torna-se importante testar o modelo em dados históricos, identificar os erros e evitar tais perdas na negociação do mundo real. Backtesting também permite a personalização necessária dentro dos objetivos estabelecidos (metas de lucro, stop-loss, etc.) para afinar melhor o modelo e as estratégias desenvolvidas, garantindo a realização prática do potencial de lucro máximo.
Análise iterativa para modelo de negociação:
O desenvolvimento de um modelo de negociação requer análise de pacientes, que inclui numerosas iterações por mudanças repetitivas de parâmetros matemáticos, bem como variações nos conceitos teóricos subjacentes. Durante este ciclo, ajuda a registrar os casos de falha e sucesso, de modo a manter um registro do que funciona e do que não é, o que é útil durante os longos anos de carreira comercial.
Usando computadores para automação comercial e construção de modelos:
Hoje, está na moda tentar automatizar tudo. Mas lembre-se - "O programa é tão eficiente quanto os conceitos subjacentes e a implementação prática incorporada".
Os computadores podem ser usados para procurar padrões em dados históricos, que podem constituir a base do desenvolvimento de novos modelos. Os testes de volta também podem ser auxiliados por programas de computador sendo executados contra dados históricos.
Pode-se usar os aplicativos disponíveis em julgamento ou base de compra, ou criar novos por conta própria para seus requisitos com base na sua familiaridade com a programação de computadores. Certifique-se de usar os programas de computador com uma compreensão completa e aplicabilidade para suas próprias estratégias selecionadas, para evitar armadilhas mais tarde com o comércio de dinheiro real.
Uma das principais vantagens de usar os modelos comerciais é que ele tira os apegos emocionais e bloqueios mentais durante a negociação, que são conhecidos como os principais motivos de falhas e perdas comerciais. Embora seja sempre excitante trocar por modelos estabelecidos de forma definida e sistemática, os comerciantes sábios sempre continuam a procurar a possibilidade de falhas e a personalização contínua para mais sucesso, com base nos desenvolvimentos do mercado. Uma abordagem pragmática, com acompanhamento contínuo e melhorias, pode ajudar oportunidades lucrativas através de modelos comerciais.
Crie um modelo de negociação rentável em 7 etapas fáceis.
Um modelo de negociação é uma estrutura definida, passo-a-passo, baseada em regras, para governar as atividades comerciais. Neste artigo, apresentamos o conceito básico de modelos de negociação, explicamos seus benefícios e fornecemos instruções sobre como construir seu próprio modelo de negociação.
Os Benefícios da Construção de um Modelo de Negociação.
Usar um modelo de negociação baseado em regras oferece muitos benefícios:
Os modelos são baseados em um conjunto de regras comprovadas. Isso ajuda a remover as emoções humanas da tomada de decisões. Os modelos podem ser facilmente testados em dados históricos para verificar seu valor antes de tomar o mergulho com dinheiro real. O backtesting baseado em modelo permite a verificação de custos associados para que o comerciante possa ver o potencial de lucro de forma mais realista. Um lucro teórico de US $ 2 pode parecer atraente, mas uma taxa de corretagem de US $ 2,50 altera a equação. Os modelos podem ser automatizados para enviar alertas móveis, mensagens pop-up e gráficos. Isso pode eliminar a necessidade de monitoramento e ação manual. Com um modelo, um comerciante pode rastrear facilmente 10 ações para a média móvel de 50 dias (DMA) cruzando a média móvel de 15 dias. Sem essa automação, o rastreamento manual, mesmo um DMA de estoque, pode ser difícil.
Como construir seu próprio modelo de negociação.
Para construir um modelo de negociação, você não precisa de conhecimentos comerciais de nível avançado. No entanto, você precisa de uma compreensão de como e por que os preços se movem (por exemplo, devido a eventos mundiais), onde as oportunidades de lucro existem e como praticamente aproveitar as oportunidades. Novatos e comerciantes moderadamente experientes podem começar por se familiarizar com alguns indicadores técnicos. Estes oferecem insights significativos para os padrões comerciais. A compreensão de indicadores técnicos também ajudará os comerciantes a conceituar tendências e a fazer estratégias e alterações personalizadas em seus modelos. Neste artigo, nos centraremos nas negociações com base em indicadores técnicos.
Exemplo de Estratégia de Modelo de Negociação Simples.
Com base no princípio da reversão da tendência, alguns comerciantes atuam com base no pressuposto de que o que vai para baixo voltará (e vice-versa). Usando a hipótese de reversão de tendência como estratégia, construiremos um modelo de negociação. Nas etapas abaixo, vamos percorrer uma série de etapas para criar um modelo de negociação e testar se é lucrativo.
Fluxograma para construir um modelo de negociação.
1. Conceituar o modelo de negociação.
Nesta etapa, o comerciante estuda movimentos de estoque históricos para identificar tendências preditivas e criar um conceito. O conceito pode ser o resultado de uma extensa análise de dados ou pode ser um palpite com base em observações ocasionais.
Para este artigo, estamos usando a reversão da tendência para construir a estratégia. O conceito inicial é: se um estoque diminui x por cento em comparação com o preço de fechamento do dia anterior, espere que a tendência retroceda nos próximos dias.
A partir daqui, veja dados passados e faça perguntas para refinar o conceito: o conceito é verdadeiro? Este conceito aplica-se a apenas alguns estoques de alta volatilidade selecionados ou caberá a todos e quaisquer estoques? Qual é a duração da reversão da tendência esperada (1 dia, 1 semana ou 1 mês)? O que deve ser definido como o nível de baixo para entrar em um comércio? Qual é o nível de lucro objetivo?
Um conceito inicial geralmente contém muitas incógnitas. Um comerciante precisa de alguns pontos decisivos ou números para começar. Estes podem ser baseados em certos pressupostos. Por exemplo: esta estratégia pode ser aplicada em ações moderadamente voláteis com um valor beta entre 2 e 3. Comprar se as ações caírem 3 por cento e aguardar os próximos 15 dias para a reversão da tendência e esperar um retorno de 4 por cento. Esses números são baseados em pressupostos e experiência de um comerciante. Novamente, uma compreensão básica dos indicadores técnicos é importante.
2. Identificar as oportunidades.
Nesta etapa, identifique as oportunidades certas ou ações para negociar. Isso envolve a verificação do conceito contra dados históricos. No conceito de exemplo, compramos um mergulho de 3%. Comece escolhendo estoques de alta volatilidade para a avaliação. Você pode baixar dados históricos de ações comumente negociadas em sites de câmbio ou portais financeiros como Yahoo! Finança. Usando fórmulas de planilha, calcule a variação percentual do preço de fechamento do dia anterior, filtre os resultados que correspondem aos critérios e observe o padrão para os dias seguintes. Abaixo está uma planilha de exemplo.
Neste exemplo, o preço de fechamento do estoque cai abaixo de 3% em 2 dias (4 de fevereiro e 7 de fevereiro). A observação cuidadosa dos dias seguintes revelará se a reversão da tendência é visível ou não. O preço em 5 de fevereiro dispara até 4,59 por cento de mudança. Até 8 de fevereiro, a mudança está abaixo prevista em 1,96 por cento.
Os resultados são conclusivos? Não. Uma observação corresponde à expectativa do conceito (mudança de 4% e acima) enquanto uma observação não acontece.
Em seguida, precisamos verificar ainda mais o nosso conceito em mais pontos de dados e mais ações. Execute o teste em vários estoques com preços diários durante pelo menos 5 anos. Observe quais ações fornecem reversões de tendência positivas dentro de uma duração definida. Se o número de resultados positivos for melhor do que os negativos, continue com o conceito. Caso contrário, ajuste o conceito e retore ou descarte completamente o conceito e volte para o passo 1.
3. Desenvolva o modelo de negociação.
Nesta fase, ajustamos o modelo de negociação e introduzimos as variações necessárias com base nos resultados de avaliação do conceito. Continuamos a verificar em grandes conjuntos de dados e observamos para mais variações. O resultado da estratégia melhora se considerarmos dias úteis específicos? Por exemplo, o preço das ações subindo 3 por cento em uma sexta-feira resulta em um aumento cumulativo de 5 por cento ou mais na próxima semana? O resultado melhora se tomamos estoques de alta volatilidade com valores beta acima de 4?
Podemos verificar essas personalizações, independentemente de o conceito original mostrar resultados positivos. Você pode continuar explorando vários padrões. Nesta fase, você também pode usar a programação de computadores para identificar tendências rentáveis, permitindo que algoritmos e programas de computador analise os dados. Em geral, o objetivo é melhorar os resultados positivos da nossa estratégia, levando a mais rentabilidade.
Alguns comerciantes ficam presos neste estágio, analisando grandes conjuntos de dados sem parar com pequenas variações nos parâmetros. Não existe um modelo de negociação perfeito. Lembre-se de traçar uma linha de testes e tomar uma decisão.
4. Execute um estudo de praticidade:
Nosso modelo agora está ótimo. Isso mostra um lucro positivo para a maioria dos negócios (por exemplo, ganhos de 70 por cento de $ 2 e perdas de 30 por cento de US $ 1). Concluímos que, para cada 10 negociações, podemos fazer um belo lucro de 7 * $ 2 - 3 * $ 1 = $ 11.
Esta etapa requer um estudo de praticidade que pode basear-se nos seguintes pontos:
O custo-por-comércio da corretora deixa espaço suficiente para lucrar? Talvez eu deva fazer até 20 negócios de US $ 500 cada para obter lucro, mas meu capital disponível é de apenas US $ 8000. Meu modelo de negociação conta os limites de capital? Com que frequência posso trocar? O modelo mostra negociações muito frequentes acima da minha capital disponível, ou muito poucos negócios mantendo lucros muito baixos? O resultado teórico coincide com os regulamentos necessários. Isso exige venda a descoberto ou troca de opções de longo prazo que pode ser banido ou a realização de posições de compra e venda simultâneas que também não podem ser permitidas?
5. Vá ao vivo ou abandone e mude para um novo modelo.
Considerando os resultados dos testes, análises e ajustes acima, tome uma decisão. Vá ao vivo investindo dinheiro real usando o modelo de negociação ou abandone o modelo e comece novamente no primeiro passo.
Lembre-se, uma vez que você vive com dinheiro real, é importante continuar rastreando, analisando e avaliando o resultado, especialmente no início.
6. Esteja preparado para falhas e reinicia.
O comércio exige atenção constante e melhorias na estratégia. Mesmo que seu modelo comercial tenha consistentemente feito dinheiro há anos, os desenvolvimentos do mercado podem mudar a qualquer momento. Esteja preparado para falhas e perdas. Esteja aberto para novas personalizações e melhorias. Esteja pronto para destruir o modelo e passar para um novo se você perder dinheiro e não conseguir mais personalizações.
7. Assegurar o gerenciamento de riscos, construindo em cenários que são.
Pode não ser possível incluir o gerenciamento de risco no modelo de negociação selecionado, de acordo com as estratégias escolhidas, mas é sábio ter um plano de backup se as coisas não parecem ser esperadas. E se você comprar o estoque que caiu 3 por cento, mas não mostrou reversão de tendência para o próximo mês? Você deve despejar esse estoque com uma perda limitada ou continuar agarrando a essa posição? O que você deve fazer no caso de uma ação corporativa como uma questão de direitos?
Existem centenas de conceitos comerciais estabelecidos e estão crescendo diariamente com as personalizações de novos comerciantes. Para construir com sucesso um modelo de negociação, o comerciante deve ter disciplina, conhecimento, perseverança e avaliação de risco justo. Um dos principais desafios vem do apego emocional do comerciante a uma estratégia de negociação auto-desenvolvida. Essa fé cega no modelo pode levar a perdas crescentes. O comércio baseado em modelos é sobre o desapego emocional. Descarregue o modelo se estiver falhando e crie um novo, mesmo que ele tenha uma perda limitada e um atraso de tempo. O comércio é sobre a rentabilidade e a aversão à perda está incorporada nos modelos de negociação baseados em regras.
QuantStart.
Junte-se ao portal de membros privados da Quantcademy que atende à comunidade de comerciantes de varejo de varejo em rápido crescimento. Você encontrará um grupo bem informado de mentalistas quant pronto para responder suas perguntas comerciais mais importantes.
Confira meu ebook sobre o comércio de quant, onde eu ensino você como criar estratégias de negociação sistemáticas lucrativas com ferramentas Python, desde o início.
Dê uma olhada no meu novo ebook sobre estratégias de negociação avançadas usando análise de séries temporais, aprendizado de máquina e estatísticas bayesianas, com Python e R.
Por Michael Halls-Moore em 7 de outubro de 2018.
Neste artigo, quero mostrar-lhe como aplicar todo o conhecimento adquirido nas postagens anteriores da análise de séries temporais para uma estratégia de negociação no índice de mercado de ações S & amp; P500.
Veremos que, ao combinar os modelos ARIMA e GARCH, podemos superar de forma significativa uma abordagem "Buy-and-Hold" a longo prazo.
Visão geral da estratégia.
A idéia da estratégia é relativamente simples, mas se você quiser experimentar com isso, eu sugiro muito ler as postagens anteriores na análise de séries temporais para entender o que você está modificando!
A estratégia é realizada de forma contínua:
Para cada dia, $ n $, os dias anteriores de $ k $ dos retornos logarítmicos diferenciados de um índice de mercado de ações são usados como uma janela para ajustar um ótimo modelo ARIMA e GARCH. O modelo combinado é usado para fazer uma previsão para os retornos do dia seguinte. Se a previsão é negativa, o estoque é curto no fechamento anterior, enquanto que se for positivo é desejado. Se a predição é a mesma direção que o dia anterior, nada será alterado.
Para essa estratégia usei o máximo de dados disponíveis do Yahoo Finance para o S & amp; P500. Eu peguei $ k = 500 $, mas este é um parâmetro que pode ser otimizado para melhorar o desempenho ou reduzir a redução.
O backtest é realizado de forma direta e vetorial usando R. Ele não foi implementado no backtester baseado em eventos Python até o momento. Assim, o desempenho alcançado em um sistema de comércio real seria provavelmente um pouco menor do que você poderia alcançar aqui, devido à comissão e derrapagem.
Implementação estratégica.
Para implementar a estratégia, vamos usar alguns dos códigos que criamos anteriormente na série de artigos de análise da série temporal, bem como algumas novas bibliotecas, incluindo o rugarch, que me foi sugerido por Ilya Kipnis no QuantStrat Trader.
Passarei pela sintaxe de uma forma passo a passo e apresentarei a implementação completa no final, bem como um link para o meu conjunto de dados para o indicador ARIMA + GARCH. Eu incluí o último porque me levou alguns dias no meu PC dekstop para gerar os sinais!
Você deve ser capaz de replicar meus resultados na íntegra, pois o código em si não é muito complexo, embora leve algum tempo para simular se você executá-lo na íntegra.
A primeira tarefa é instalar e importar bibliotecas necessárias em R:
Se você já possui as bibliotecas instaladas, basta importá-las:
Com isso feito, vamos aplicar a estratégia ao S & amp; P500. Podemos usar quantmod para obter dados que datam de 1950 para o índice. O Yahoo Finance usa o símbolo "^ GPSC".
Podemos então criar os retornos logarítmicos diferenciados do "Preço de fechamento" do S & amp; P500 e retirar o valor inicial de NA:
Precisamos criar um vetor, previsões para armazenar nossos valores de previsão em datas específicas. Definimos o comprimento do comprimento anterior para ser igual ao comprimento dos dados de negociação que temos menos $ k $, o comprimento da janela:
Nesta fase, precisamos fazer um ciclo todos os dias nos dados de negociação e ajustar um modelo adequado ARIMA e GARCH para a janela de rolamento de comprimento $ k $. Dado que tentamos 24 ajustes ARIMA separados e ajustamos um modelo GARCH, para cada dia, o indicador pode levar muito tempo para gerar.
Usamos o índice d como uma variável de loop e loop de $ k $ para o comprimento dos dados de negociação:
Em seguida, criamos a janela de rolagem, levando os retornos S & P500 e selecionando os valores entre $ 1 + d $ e $ k + d $, onde $ k = 500 $ para esta estratégia:
Usamos o mesmo procedimento que no artigo ARIMA para pesquisar todos os modelos ARMA com $ p \ in \ $ e $ q \ in \ $, com a exceção de $ p, q = 0 $.
Nós envolvemos a chamada arimaFit em um bloco de tratamento de exceção R tryCatch para garantir que, se não conseguirmos um ajuste para um valor particular de $ p $ e $ q $, ignoramos e seguimos para a próxima combinação de $ p $ e $ q $.
Tenha em atenção que definimos o valor "integrado" de $ d = 0 $ (este é um $ d $ diferente para o nosso parâmetro de indexação!) E, como tal, nós somos realmente um modelo ARMA, em vez de um ARIMA.
O procedimento de looping nos fornecerá o modelo ARMA "melhor", em termos do Critério de Informação Akaike, que podemos usar para alimentar nosso modelo GARCH:
No próximo bloco de código, vamos usar a biblioteca do rugarch, com o modelo GARCH (1,1). A sintaxe para isso exige que configuremos um objeto de especificação ugarchspec que leve um modelo para a variância e a média. A variância recebe o modelo GARCH (1,1) enquanto a média leva um modelo ARMA (p, q), onde $ p $ e $ q $ são escolhidos acima. Também escolhemos a distribuição sged para os erros.
Uma vez que escolhemos a especificação, realizamos o ajuste real do ARMA + GARCH usando o comando ugarchfit, que leva o objeto de especificação, os retornos $ k $ do S & amp; P500 e um solucionador numérico de otimização. Escolhemos usar o híbrido, que tenta diferentes solucionadores para aumentar a probabilidade de convergência:
Se o modelo GARCH não converge, simplesmente estabelecemos o dia para produzir uma previsão "longa", o que é claramente um palpite. No entanto, se o modelo converge, então emitimos a data e a direção de previsão de amanhã (+1 ou -1) como uma seqüência de caracteres em que ponto o ciclo está fechado.
Para preparar a saída para o arquivo CSV, criei uma seqüência de caracteres que contém os dados separados por uma vírgula com a direção de previsão para o dia seguinte:
O penúltimo passo é a saída do arquivo CSV para o disco. Isso nos permite levar o indicador e usá-lo em software de backtesting alternativo para análise posterior, se assim desejar:
No entanto, há um pequeno problema com o arquivo CSV como está no momento. O arquivo contém uma lista de datas e uma previsão para a direção de amanhã. Se nós estivéssemos a carregar isso no código de backtest abaixo, como seria o caso, nós realmente estaríamos apresentando um viés avançado porque o valor de previsão representaria dados não conhecidos no momento da predição.
Para explicar isso, precisamos simplesmente mover o valor previsto um dia antes. Descobriu que isso era mais direto usando o Python. Como não quero assumir que você tenha instalado bibliotecas especiais (como os pandas), eu mantive o Python puro.
Aqui está o pequeno script que traz esse procedimento. Certifique-se de executá-lo no mesmo diretório que o arquivo forecast. csv:
Neste ponto, agora temos o arquivo de indicador corrigido armazenado em forecast_new. csv. Uma vez que isso leva uma quantidade substancial de tempo para calcular, forneci o arquivo completo aqui para você se baixar:
Resultados da Estratégia.
Agora que geramos o nosso arquivo CSV indicador, precisamos comparar seu desempenho com "Comprar e aguardar".
Em primeiro lugar, lemos o indicador do arquivo CSV e o armazenamos como spArimaGarch:
Em seguida, criamos uma interseção das datas para as previsões ARIMA + GARCH e o conjunto original de retornos da S & P500. Podemos então calcular os retornos para a estratégia ARIMA + GARCH multiplicando o sinal de previsão (+ ou -) pelo próprio retorno:
Uma vez que temos os retornos da estratégia ARIMA + GARCH, podemos criar curvas de equidade para o modelo ARIMA + GARCH e "Comprar e aguardar". Finalmente, nós os combinamos em uma única estrutura de dados:
Finalmente, podemos usar o comando xyplot para traçar as duas curvas de equidade no mesmo gráfico:
A curva patrimonial até 6 de outubro de 2018 é a seguinte:
Curva de capital da estratégia ARIMA + GARCH vs "Comprar e manter" para o S & P500 a partir de 1952.
Como você pode ver, ao longo de um período de 65 anos, a estratégia ARIMA + GARCH superou significativamente "Buy & amp; Hold". No entanto, você também pode ver que a maior parte do ganho ocorreu entre 1970 e 1980. Observe que a volatilidade da curva é bastante mínima até o início dos anos 80, altura em que a volatilidade aumenta significativamente e os retornos médios são menos impressionantes.
Claramente, a curva de equidade promete ótimo desempenho durante todo o período. No entanto, essa estratégia realmente teria sido negociável?
Em primeiro lugar, consideremos o fato de que o modelo ARMA só foi publicado em 1951. Não foi amplamente utilizado até a década de 1970, quando Box & amp; Jenkins discutiu isso em seu livro.
Em segundo lugar, o modelo ARCH não foi descoberto (publicamente!) Até o início dos anos 80, pela Engle, e o próprio GARCH foi publicado por Bollerslev em 1986.
Em terceiro lugar, este "backtest" realmente foi realizado em um índice de mercado de ações e não um instrumento fisicamente negociável. Para obter acesso a um índice como este, teria sido necessário negociar futuros S & P500 ou uma réplica Exchange Traded Fund (ETF), como SPDR.
Por isso, é realmente apropriado aplicar esses modelos a uma série histórica antes da invenção? Uma alternativa é começar a aplicar os modelos a dados mais recentes. Na verdade, podemos considerar o desempenho nos últimos dez anos, de 1 de janeiro de 2005 a hoje:
Curva de capital da estratégia ARIMA + GARCH vs "Comprar e manter" para o S & P500 de 2005 até hoje.
Como você pode ver, a curva de equidade permanece abaixo de um Buy & amp; Mantenha a estratégia por quase 3 anos, mas durante a queda no mercado de ações de 2008/2009, ela supera demais. Isso faz sentido porque é provável que haja uma correlação serial significativa nesse período e será bem capturada pelos modelos ARIMA e GARCH. Uma vez que o mercado se recuperou após 2009 e entra no que parece ser mais uma tendência estocástica, a performance do modelo começa a sofrer mais uma vez.
Note-se que esta estratégia pode ser facilmente aplicada a diferentes índices do mercado de ações, ações ou outras classes de ativos. Eu o encorajo a tentar pesquisar outros instrumentos, pois você pode obter melhorias substanciais nos resultados aqui apresentados.
Próximos passos.
Agora que terminamos de discutir a família de modelos ARIMA e GARCH, quero continuar a discussão da análise de séries temporais considerando processos de memória longa, modelos de espaço estadual e séries temporais cointegradas.
Estas áreas subsequentes de séries temporais nos apresentarão modelos que podem melhorar nossas previsões além das que eu mostrei aqui, o que aumentará significativamente nossa lucratividade comercial e / ou reduzirá o risco.
Aqui está a listagem completa para geração de indicadores, backtesting e traçado:
E o código Python para aplicar a forecast. csv antes de reimportar:
Apenas iniciando o comércio quantitativo?
3 razões para se inscrever para a lista de e-mails QuantStart:
1. Quant Trading Lessons.
Você terá acesso instantâneo a um curso de e-mail gratuito de 10 partes, repleto de sugestões e dicas para ajudá-lo a começar a negociação quantitativa!
2. Todo o conteúdo mais recente.
Todas as semanas, vou enviar-lhe um envoltório de todas as atividades no QuantStart para que você nunca mais perca uma postagem novamente.
Real, dicas de negociação viáveis, sem tonturas.
Escolha o seu país.
Escolha o seu país para obter conteúdo traduzido, quando disponível, e veja eventos e ofertas locais. Com base na sua localização, recomendamos que você selecione:.
Você também pode selecionar um local da seguinte lista:
América Latina (Español) Canadá (Inglês) Estados Unidos (Inglês)
Bélgica (Inglês) Dinamarca (Inglês) Deutschland (Deutsch) España (Español) Finlândia (Inglês) França (Français) Irlanda (Inglês) Italia (Italiano) Luxemburgo (Inglês)
Holanda (Inglês) Noruega (Inglês) Österreich (Deutsch) Portugal (Inglês) Suécia (English) Suíça Deutsch English Français Reino Unido (Inglês)
Ásia-Pacífico.
Austrália (Inglês) Índia (Inglês) Nova Zelândia (Inglês) 中国 (简体 中文) 日本 (日本語) 한국 (한국어)
Explore produtos.
Experimente ou compre.
Aprenda a usar.
Obter Suporte.
Sobre o MathWorks.
Acelerando o ritmo da engenharia e da ciência.
MathWorks é o principal desenvolvedor de software de computação matemática para engenheiros e cientistas.
R & amp; D Blog.
I. Estratégia de negociação.
Conceito: estratégia de negociação baseada na tendência baseada em um impulso de preços simples. Fonte: Kaufman, P. J. (2018). Sistemas e Métodos de Negociação. Nova Jersey: John Wiley & amp; Sons, Inc. Meta de pesquisa: verificação de desempenho do modelo de impulso de preços simples. Especificação: Tabela 1. Resultados: Figura 1-2. Carteira: 42 mercados de futuros de quatro principais setores de mercado (commodities, moedas, taxas de juros e índices de participação). Dados: 35 anos desde 1980. Plataforma de teste: MATLAB®.
II. Teste de sensibilidade.
Todos os gráficos 3-D são seguidos por gráficos de contorno bidimensionais para Fator de lucro, Ratio de Sharpe, Índice de Desempenho de Úlcera, CAGR, Drawdown Máximo, Percentagem de Negociações Rentáveis e Média. Win / Avg. Rácio de perda. A imagem final mostra a sensibilidade da Equity Curve.
Variáveis testadas: M1_Look_Back_Index & amp; M2_Look_Back (Definições na Tabela 1):
Figura 1 | Desempenho do portfólio (Entradas: Tabela 1, Comissão e Slippage: $ 0).
Momento de Preço Rápido (M1):
M1 [i] = Fechar [i] - Fechar [i - M1_Look_Back + 1]
Momento de Preço Lento (M2):
M2 [i] = Fechar [i] - Fechar [i - M2_Look_Back + 1]
M1_Look_Back_Index = [0.25, 1.00], Step = 0.025;
M2_Look_Back = [20, 200], Step = 5;
Artesanato curto: M1 [i-1] & lt; 0 e M2 [i-1] & lt; 0.
Operações curtas: uma venda no aberto é colocada após uma configuração de baixa.
Stop Loss Sair: ATR (ATR_Length) é o alcance real médio em um período de ATR_Length. ATR_Stop é um múltiplo de ATR (ATR_Length). Long Trades: um stop de venda é colocado em [Entry - ATR (ATR_Length) * ATR_Stop]. Operações curtas: uma parada de compra é colocada em [Entrada + ATR (ATR_Length) * ATR_Stop]. Stop Loss Exit é usado para normalizar o risco através do dimensionamento da posição.
M1_Look_Back_Index = [0.25, 1.00], Step = 0.025.
M2_Look_Back = [20, 200], Step = 5.
ATR_Stop = 6 (ATR.
Faixa verdadeira média
Tabela 1 | Especificação da Estratégia de Negociação.
III. Teste de sensibilidade com a Comissão & amp; Slippage.
Variáveis testadas: M1_Look_Back_Index & amp; M2_Look_Back (Definições na Tabela 1):
Figura 2 | Desempenho do portfólio (Entradas: Tabela 1, Comissão e Slippage: $ 100 Round Turn).
IV. Avaliação: Preço Momentum Model | Estratégia de negociação.
(i) O impulso de preço lento M2 funciona melhor quando M2_Look_Back & gt; 80 dias (Figura 1-2); (ii) O momento rápido do preço M1 é mais robusto quando M1_Look_Back_Index & gt; 0,5 (Figura 1-2); (iii) A estratégia de negociação baseada em um impulso de preços simples pode ser desenvolvida.
REGRA CFTC 4.41: RESULTADOS DE DESEMPENHO HIPOTÉTICOS OU SIMULADOS TÊM CERTAS LIMITAÇÕES. DESEJO UM REGISTRO DE DESEMPENHO REAL, OS RESULTADOS SIMULADOS NÃO REPRESENTAM A NEGOCIAÇÃO REAL. TAMBÉM, DESDE QUE OS NEGÓCIOS NÃO FORAM EXECUTADOS, OS RESULTADOS PODERÃO TER COMPRIMIDO COM COMPENSADO PARA O IMPACTO, SE QUALQUER, DE CERTOS FATORES DE MERCADO, COMO FALTA DE LIQUIDEZ. PROGRAMAS DE NEGOCIAÇÃO SIMULADOS EM GERAL SÃO TAMBÉM SUJEITOS AO FATO QUE ESTÃO DESIGNADOS COM O BENEFÍCIO DE HINDSIGHT. NENHUMA REPRESENTAÇÃO ESTÁ FAZENDO QUE QUALQUER CONTA VOCE OU POSSIBILIDADE DE ALCANÇAR LUCROS OU PERDAS SIMILARES ÀOS MOSTRADOS.
DIVULGAÇÃO DE RISCOS: GOVERNO DOS ESTADOS UNIDOS EXERCÍCIOS RENÚNCIA | REGRA CFTC 4.41.
Nós compartilhamos o que aprendemos.
Inscreva-se para receber notícias de pesquisa e ofertas exclusivas.
Comments
Post a Comment