Saturday 3 February 2018

Estratégia de negociação backtest matlab


A idéia geral.
Para títulos de capital, um backtest simples geralmente consistirá de duas etapas:
Cálculo do retorno de carteira resultante da sua regra de formação de carteira (ou estratégia de negociação) Ajuste de risco de retorno de carteira usando um modelo de precificação de ativos.
O Passo 2 é simplesmente uma regressão e computacionalmente muito simples em Matlab. O que é mais complicado é a implementação do passo 1, o que exigirá que você seja muito confortável em Matlab, e existem maneiras diferentes de fazer isso.
Se você sabe como fazer uma regressão OLS em Matlab, o que você deve focar é todo tipo de manipulação de matriz.
Implementação em Matlab.
Formação de carteira e computação de retornos.
Para dar-lhe um exemplo de como uma estratégia de negociação primitiva poderia ser implementada em Matlab, vamos assumir dados de retorno mensais e um período de retenção uniforme de um mês em US $ n $ ativos acima dos períodos de $ k $, onde $ i \ in \ $ e $ k \ in \ $.
Assumindo que não há alterações na composição do seu universo de ações, sua matriz de retorno $ X $ é de dimensões $ k \ times n $.
Onde os retornos são calculados como $ x_ = \ frac>> -1 $.
Supondo que seu critério de seleção seja algum tipo de característica de estoque que esteja disponível na freqüência mensal, você também terá uma matriz de características $ C $.
Em seguida, você poderia escrever um algoritmo que identifique as entradas em $ C $ que cumpram seu critério de seleção (por exemplo, exceda um determinado limite) e substitua as entradas correspondentes (onde $ i $ e $ t $ são os mesmos) de uma matriz de indicadores $ I $ (que foi inicializado como uma matriz zero usando a função zeros) com aqueles.
Você pode então multiplicar as entradas de $ I $ por aqueles da matriz de retorno $ X $ para obter uma matriz $ R $ que indique os retornos resultantes de suas participações. Você pode então calcular a média das entradas não-zero para cada linha de $ R $ para obter seu vetor de retornos de portfólio.
Ajuste de risco e identificação de retornos anormais.
Na etapa 2, você compara esse vetor com os retornos normais obtidos a partir da estimativa de regressão de um modelo de precificação de ativos, como o modelo Fama-French. Ao subtrair o vetor de retorno normal do seu vetor de retornos de portfólio, você determina se sua estratégia de negociação resultou em um retorno anormal positivo, que é o que você está buscando.
Recomendações.
Se você é novo no Matlab, eu pessoalmente sugiro que você se familiarize com ele o suficiente para implementar esta estratégia simplista antes de relaxar alguns dos pressupostos simplificadores (como período de espera uniforme e periodicidade) e proceder a implementações mais sofisticadas.
Novamente, o que gostaria de enfatizar é que isso exige que você se sinta muito confortável com o Matlab e, especialmente, com as diferentes maneiras de manipular as matrizes, que podem demorar algum tempo. Se você não for obrigado a usar o Matlab para o seu estágio e gostaria de obter resultados rapidamente, você poderia fazer o primeiro passo no Excel, o que é tedioso, mas não requer o investimento inicial (que vale a pena) que você precisa fazer para o Matlab.
Para se familiarizar com a Matlab, tenho certeza que você já descobriu a documentação extremamente boa que vem com ela. Isso, para mim, é o recurso mais valioso e provavelmente mais útil do que qualquer outro recurso financeiro específico (com o qual eu esperaria até que você esteja familiarizado com o próprio Matlab). Tudo o que é necessário para determinar o retorno normal é uma regressão OLS e uma compreensão rudimentar dos modelos de precificação de ativos.

Backtesting.
Valide seus modelos financeiros com dados históricos.
Backtesting é uma estrutura que usa dados históricos para validar modelos financeiros, incluindo estratégias de negociação e modelos de gerenciamento de riscos. Dependendo dos objetivos de validação, o profissional financeiro usa mais de um indicador ou metodologia para medir a eficácia dos modelos financeiros.
Backtesting é rotineiramente realizado na negociação e gerenciamento de riscos. Como resultado, existem várias técnicas dedicadas de backtesting específicas para essas duas áreas.
Na negociação, as técnicas comuns de backtesting incluem:
Testes em amostra versus fora de amostra Análise de marcha para frente ou otimização para avançar análise de nível de instrumento versus avaliação de nível de portfólio.
No gerenciamento de riscos, o teste de retorno é geralmente aplicado ao valor-em-risco (VaR) e também é conhecido como backstat de VaR. Existem várias técnicas de backsting do VaR, tais como:
Teste de semáforo de Basileia Teste de binômio A proporção de falhas de Kupiec prova o tempo de Kupiec até o primeiro teste de falha A cobertura condicional de Christoffersen teste misto Teste de independência de cobertura condicional de Christoffersen Tempo de Haas entre falhas ou teste de Kupiec misturado Tempo de Haas entre teste de independência de falhas.
Exemplos e como fazer.
Análise de Sentido de Notícias Usando MATLAB e RavenPack (12:01) - Video Alpha Generation Usando Thomson Reuters News Sentiment e MATLAB (59:53) - Tendência de Vídeo - Seguindo em Mercados Financeiros Usando MATLAB (24:29) - Video Backtest Moving Average RSI Combo Estratégia - Exemplo Usando MATLAB para Modelagem de Risco: Duas Aplicações Práticas (38:20) - Estratégias de Negociação de Backtesting de Vídeo em Apenas 8 Linhas de Código (4:13) - Vídeo.
Referência de Software.
Visão geral do VaR Backtesting - Documentação Cointegration Testing - Funções portvrisk: Portfolio Value-at-Risk - Function.
Gestão de Riscos com MATLAB.
Desenvolva, gerencie, revise e desafie modelos internos e regulatórios.
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:
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.

Estratégia de negociação Backtest matlab
Através da minha universidade eu tenho uma versão de estudante matlab, no entanto, não inclui a caixa de ferramentas de negociação ou a caixa de ferramentas financeira. No entanto, posso aplicar para obter (acho que). Eu agora estava pensando sobre o que prolongar o matlab é melhor ou pior? O que eu pergunto especificamente vale a pena passar por uma tonelada de papelada e / ou telefonemas para obter acesso a essas caixas de ferramentas?
Eu acho que o backtesting em matlab é bastante menos confortável do que em Quantopian (sem banco de dados ou existe?)
Além disso, o quão fácil é trabalhar com um livro que trata da negociação no matlab e aplica os conceitos desse livro sobre o Quantopian?
Eu acho que seus maiores 2 desafios estão recebendo suas mãos em dados anteriores e tendo um mecanismo realista de backtest.
Você pode facilmente obter dados históricos diários do OHLCV do yahoo, mas você realmente não pode fazer nada de graça. Se isso é tudo que você precisa, há uma função lisa na troca de arquivos matlabs que você pode usar. Apenas dados de estoque históricos do google com matlab.
Um motor bakctest realista também é uma preocupação. pode ser uma grande quantidade de programação e todos os erros no seu código podem ser grandes problemas. Você pode fazer o check-out da tirolesa e conseguir isso integrado. Não tenho certeza.
Caso contrário, vale a pena disparar se você tiver tempo.
Se você estiver olhando para trabalhar com a Tippine / Zipline, você precisará usar o Python. Outros podem acariciar, mas além de atacadinha / tirolesa, acho que você se beneficiará de aprender o Python e meu senso é que todas as ferramentas que você precisa podem ser baixadas gratuitamente.
Por sinal, qual é o seu principal / programa?
Estou estudando engenharia elétrica (bacharelado). Entretanto, descobri que não ganharia as caixas de ferramentas de qualquer maneira. Isso é, a menos que eu compre uma licença Matlab pessoal e essas duas caixas de ferramentas, pois é impossível adicionar caixas de ferramentas à versão do aluno. Agora, isso é um pouco demais de um investimento para algo que é "apenas" um hobby.
Eu recomendaria tentar usar linguagens gratuitas apenas porque você pode não ter acesso a Matlab após a faculdade por muito tempo. Isso aconteceu comigo com Matlab e Mathematica e, como resultado, estou tentando familiarizar-me com R e Python.
Na verdade, existem algumas funções escritas no MATLAB para ajudá-lo a baixar rapidamente os dados do Yahoo, o que é bastante o mesmo, você está usando Zipline localmente. E é grátis. Por exemplo, este: mathworks / matlabcentral / fileexchange / 39858-download-yahoo-finance-data-for-trading-and-backtesting.
No entanto, ainda existem muitas coisas a serem feitas, principalmente coisas de infra-estrutura, como a tradução de sinais comerciais para o jornal comercial, calculando CAGR, beta, alfa, todos os tipos de coisas pequenas, mas necessárias.
Meu 2c é tentar familiarizar-se com Python, é grátis e popular. pode realmente fazer mais. Por exemplo, em breve você terá uma ótima idéia e quer escrever um material para monitorar as flutuações das ações, bem como escrever e enviar um pedido rapidamente. A Matlab será menos conveniente, porque é basicamente um único thread.
Desculpe, algo deu errado. Tente novamente ou contate-nos enviando comentários.
Você enviou um ticket de suporte com sucesso.
Nossa equipe de suporte estará em contato em breve.
O material deste site é fornecido apenas para fins informativos e não constitui uma oferta de venda, uma solicitação de compra ou uma recomendação ou endosso para qualquer segurança ou estratégia, nem constitui uma oferta de prestação de serviços de consultoria de investimento pela Quantopian.
Além disso, o material não oferece nenhuma opinião em relação à adequação de qualquer segurança ou investimento específico. Nenhuma informação contida neste documento deve ser considerada como uma sugestão para se envolver ou abster-se de qualquer curso de ação relacionado ao investimento, já que nenhuma das empresas atacadas ou nenhuma das suas afiliadas está a comprometer-se a fornecer conselhos de investimento, atuar como conselheiro de qualquer plano ou entidade sujeito a A Lei de Segurança de Renda de Aposentadoria do Empregado de 1974, conforme alterada, conta de aposentadoria individual ou anuidade de aposentadoria individual, ou dar conselhos em capacidade fiduciária em relação aos materiais aqui apresentados. Se você é um aposentadorio individual ou outro investidor, entre em contato com seu consultor financeiro ou outro fiduciário não relacionado a Quantopian sobre se qualquer idéia, estratégia, produto ou serviço de investimento descrito aqui pode ser apropriado para suas circunstâncias. Todos os investimentos envolvem risco, incluindo perda de principal. A Quantopian não oferece garantias sobre a precisão ou integridade das opiniões expressas no site. Os pontos de vista estão sujeitos a alterações e podem ter se tornado pouco confiáveis ​​por vários motivos, incluindo mudanças nas condições do mercado ou nas circunstâncias econômicas.
O material deste site é fornecido apenas para fins informativos e não constitui uma oferta de venda, uma solicitação de compra ou uma recomendação ou endosso para qualquer segurança ou estratégia, nem constitui uma oferta de prestação de serviços de consultoria de investimento pela Quantopian.
Além disso, o material não oferece nenhuma opinião em relação à adequação de qualquer segurança ou investimento específico. Nenhuma informação contida neste documento deve ser considerada como uma sugestão para se envolver ou abster-se de qualquer curso de ação relacionado ao investimento, já que nenhuma das empresas atacadas ou nenhuma das suas afiliadas está a comprometer-se a fornecer conselhos de investimento, atuar como conselheiro de qualquer plano ou entidade sujeito a A Lei de Segurança de Renda de Aposentadoria do Empregado de 1974, conforme alterada, conta de aposentadoria individual ou anuidade de aposentadoria individual, ou dar conselhos em capacidade fiduciária em relação aos materiais aqui apresentados. Se você é um aposentadorio individual ou outro investidor, entre em contato com seu consultor financeiro ou outro fiduciário não relacionado a Quantopian sobre se qualquer idéia, estratégia, produto ou serviço de investimento descrito aqui pode ser apropriado para suas circunstâncias. Todos os investimentos envolvem risco, incluindo perda de principal. A Quantopian não oferece garantias sobre a precisão ou integridade das opiniões expressas no site. Os pontos de vista estão sujeitos a alterações e podem ter se tornado pouco confiáveis ​​por vários motivos, incluindo mudanças nas condições do mercado ou nas circunstâncias econômicas.

Walk-Forward Analysis: usando o MATLAB para acompanhar sua estratégia de negociação.
Digite suas informações de contato para continuar.
Muitos comerciantes, gestores de fundos ou investidores podem achar que eles se limitam a testar suas idéias comerciais. Ou os quadros de backtesting existentes não podem ser usados ​​para testar completamente suas idéias comerciais. Uma crescente complexidade nos dados do mercado, nas estratégias de negociação e nas estruturas de backtesting é uma questão desafiadora. Neste webinar, você aprenderá como o MATLAB pode suportar a prototipagem e o desenvolvimento de análises avançadas para acompanhar suas idéias comerciais, começando por obter dados de mercado, implementar estratégia de negociação, estrutura de testes e análise de desempenho. Você verá como o MATLAB fornece uma plataforma única que permite a solução eficiente de análise de avanço.
Com o MATLAB, você pode explorar, analisar e visualizar seus dados com eficiência. Através deste webinário, você aprenderá:
As questões desafiadoras no desenvolvimento de estratégias comerciais Diferentes tipos de framework de backtesting Diferentes tipos de método de otimização que podem ser usados ​​para otimizar os parâmetros de negociação A estratégia básica de negociação de pares baseada em Bollinger Band O cálculo de indicadores técnicos e métricas de desempenho O importante da computação paralela para escalabilidade.
Este webinar é para profissionais financeiros, pesquisadores e analistas quantitativos, comerciantes e gestores de portfólio cujo foco é análise quantitativa, desenvolvimento de estratégia comercial ou pesquisa de ações.
Aguarde aproximadamente 45 minutos para participar da apresentação e sessão de perguntas e respostas. Vamos gravar este webinar, então, se você não conseguir fazer a transmissão ao vivo, registre-se e nós lhe enviaremos um link para assistir on-demand.

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:
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.

No comments:

Post a Comment