Sunday 18 June 2017

Testing Trading Strategies In Matlab


Enquanto eu gosto de onde essa questão está indo, eu sugeriria torná-la um pouco mais concreta. Quais as partes do processo de backtesting que você gostaria de aprender. Isso pode variar em qualquer lugar, apenas estimando um retorno normal, onde o retorno da carteira de sua estratégia já está sendo dado para implementar uma regra de formação de portfólio completa algorítmica. Ndash Constantin 30 de dezembro 14 às 21:06 Para ser sincero, não sei muito sobre o teste. Foi-me dito que terei que testar novas estratégias ou melhorar as atuais durante o meu estágio. Então, eu gostaria de saber um pouco mais sobre o assunto antes de começar. Quais são as diferentes partes disso. Ndash Maxime 30 de dezembro 14 às 21:31 A idéia geral Para títulos de capital, um backtest simples geralmente consistirá em duas etapas: Computação do retorno de carteira resultante da sua regra de formação de portfólio (ou estratégia de negociação) Ajuste de risco de retornos de portfólio usando um Modelo de preços de ativos O Passo 2 é simplesmente uma regressão e computacionalmente muito simples em Matlab. O que é mais complicado é a implementação da etapa 1, que exigirá que você fique 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ções de matriz. Implementação na Matlab Formação de carteiras e computação de retorno Para dar-lhe um exemplo de como uma estratégia de negociação primitiva poderia ser implementada na Matlab, podemos assumir dados de retorno mensais e um período de retenção uniforme de um mês em n ativos em mais de k períodos, onde i in e k dentro . Supondo que não há mudanças na composição do seu universo de ações, sua matriz de retorno X é de dimensões k vezes n. X começam x ampères ampères ampères ampères ampères x ampères ampères ampères ampères vds ampères ampères vpots x ampères ampères ampères ampères ampères ampères x ampères ampères ampères vdots amp ddps amp vdots x ampères ampères ampères ampères x amp x fim Onde retorna 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. Você então poderia escrever um algoritmo que identifique as entradas em C que atendem seu critério de seleção (por exemplo, exceder um determinado limite ) E substitua as entradas correspondentes (onde i e t são iguais) de uma matriz indicadora I (que foi inicializada como uma matriz zero usando a função zeros) com as. Você pode então multiplicar as entradas de I pela 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 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 na Matlab, pessoalmente, sugiro que você se familiarize com ela 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. Mais uma vez, o que gostaria de enfatizar é que isso exige que você fique muito confortável com o Matlab e, especialmente, com as diferentes maneiras de manipular as matrizes, que podem levar 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 for necessário para determinar o retorno normal é uma regressão OLS e uma compreensão rudimentar dos modelos de precificação de ativos. Respondido 30 de dezembro 14 em 22: 20Testeamento e Análise de Estratégias de Negociação Algorítmicas em MATLAB (Parte 2) GUI fácil de usar Nesta publicação, na continuação da Parte 1. Vou tentar descrever os problemas mais comuns que ocorrem ao testar algoritmos Estratégias de negociação no MATLAB ao utilizar o próprio trabalho de base de one8217 ou o código dos webinars de negociação automatizados. A GUI fácil de usar Let8217s começa com o fato de que não existe uma interface gráfica, porque se presumimos que quase todo o processo de teste e análise de estratégias de negociação é padronizado (é 99), você gostaria de ter a interface que o ajuda Acesse os dados necessários e inicie o processo de teste com um clique. Alguém (usuários experientes do MATLAB, em particular), pode argumentar que o uso de funções pré-fabricadas não é pior e, na verdade, às vezes é melhor e mais conveniente que a GUI estática. It8217s é possível, mas uma GUI no entanto tem uma série de vantagens: para usuários novos (e não apenas) do MATLAB é muito mais conveniente usar uma GUI com botões e campos de entrada do que buscar no código, portanto, há uma GUI mesmo Nas caixas de ferramentas MathWorks na maioria dos casos porque é mais conveniente. Ele permite focar apenas o código da sua estratégia porque o uso de uma GUI não implica, de modo algum, que ela limite a sua capacidade de escrever uma estratégia. Assim, em WFAToolbox. Criamos a possibilidade de escrever qualquer código para sua estratégia, usando qualquer das caixas de ferramentas MATLAB e trabalhando com vários ativos para as estratégias, tais como negociação de pares, troca de cesta ou arbitragem de triplet, etc., mas, ao mesmo tempo, este código é facilmente integrado no GUI por uso de padrões, que são simples o suficiente para aplicar no código e eles não limitam as oportunidades. A fim de dominar facilmente os padrões de código para criar suas estratégias, não só criamos a documentação WFAToolbox detalhada. Mas também WFAToolbox Video Tutorial. Que oferece uma oportunidade para um trabalho em grande escala com o aplicativo em alguns minutos. Testes e Análises de Estratégias de Negociação Algorítmicas em MATLAB (Parte 3) Visualização do Processo Continuando Parte 2 da discussão de problemas e soluções em testes e análises de algoritmos Estratégia de negociação 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ós não observamos os resultados dos valores intermediários, sub-ótimos de parâmetros otimizados, muitas vezes jogamos fora o ouro junto com a sujeira. A questão é devido a uma amostragem muito ampla, a estratégia ajusta os parâmetros da maneira como vemos uma estratégia perfeita do 8208 8221 que falha na vida real ou vê uma ou duas promoções, que são supostamente as melhores porque foi selecionado esses dados de intervalo de tempo Onde a melhor estratégia de negociação seria 8220comprar e manter, mas por que então são necessárias outras estratégias para a visualização do processo de teste de estratégia de negociação em MATLAB (proposto no webinar) Como resultado, sem ver resultados intermédios, precisamos mudar cegamente os parâmetros Para tentar obter melhores dados ou assistir em alguns 3D ou 4D (a cor é a 4ª dimensão), conforme proposto nos webinars. A análise de valores nos espaços N-dimensionais 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 em que freqüência aparecem na faixa de preço, você tem quase todos os Representação visual necessária da sua estratégia: a frequência das transacções, a sua rentabilidade (curva de rendimento), a precisão da abertura, a semelhança com outros valores sub-óptimos, 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 há toda uma gama de valores subóptimos em uma ou mais áreas. Ao otimizar uma estratégia na WFAToolbox Walk-Forward Analysis Toolbox para MATLAB. 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.

No comments:

Post a Comment