MatlabTrading.
Blog para MATLAB & # 174; usuários interessados em estratégias de negociação algorítmica, backtesting, negociação de pares, arbitragem estatística, etc.
Quarta-feira, 7 de dezembro de 2018.
Testes e Análises de Estratégias de Negociação Algorítmicas em MATLAB (Parte 4) & # 8211; Algorítmos genéticos.
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, nos exemplos, 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 estabelecer muitas variáveis com intervalos significativos para uma estratégia, você não passa com uma iteração e a paralelização de processos # 8211; os cálculos podem demorar 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, então os algoritmos genéticos podem ser perfeitamente adequados.
Método linear & # 8211; é um modo usual de classificação em que você verá todos os resultados intermédios (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 de computação. Método genético & # 8211; Ele 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 é preciso o suficiente para a "execução" inicial da estratégia. Muito rápido.
Segunda-feira, 5 de dezembro de 2018.
Testes e Análises de Estratégias de Negociação Algorítmicas em MATLAB (Parte 3) & # 8211; Visualização do Processo.
Visualização do Processo de Teste.
Na minha experiência de trabalho, muitas vezes eu analisei outras plataformas populares para testes de estratégia de negociação, como a TradeStation, o MetaStock, Multicartas etc. e sempre me surpreendi com a pouca atenção que foi dada à visualização do processo de teste. A coisa é 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. A questão é devido a uma amostragem muito 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 esses dados de intervalo de tempo onde a melhor estratégia de negociação seria "comprar e manter", mas por que então são necessárias outras estratégias?
E se houver mais de 4 dimensões? Quando você vê quais sinais e em que freqüência eles aparecem na faixa de preço, você tem quase toda a 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 outras valores sub-óptimos, etc .; Isso não pode ser dito sobre o desempenho no espaço N-dimensional, onde todas as informações úteis são, de fato, que o valor ótimo não é apenas um, mas existe uma gama inteira de valores sub-ótimos em uma ou mais áreas.
Ao otimizar uma estratégia no WFAToolbox & # 8211; Walk-Forward Analysis Toolbox para MATLAB & # 174 ;, como um novo valor ótimo é encontrado, os sinais de estratégia de negociação no período em amostra e fora da amostra imediatamente aparecem no gráfico, para que você sempre possa controlar o intervalo de opções 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.
Quarta-feira, 30 de novembro de 2018.
Teste e Análise de Estratégias de Negociação Algorítmicas em MATLAB (Parte 2) & # 8211; GUI fácil de usar.
GUI fácil de usar.
Vamos começar 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 a chamar os dados necessários e inicie o processo de teste com um clique.
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 procurar 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 de alguma forma a sua capacidade de escrever uma estratégia.
Assim, na WFAToolbox, criamos a possibilidade de escrever qualquer código para sua estratégia, usando qualquer das caixas de ferramentas MATLAB e trabalhando com múltiplos ativos para as estratégias, tais como troca de pares, troca de cesta ou arbitragem de triplet, etc .; mas, ao mesmo tempo, esse código é facilmente integrado na GUI por meio do uso de padrões, que são simples o suficiente para aplicar no código e não limitam as oportunidades.
Terça-feira, 29 de novembro de 2018.
Testes e Análises de Estratégias de Negociação Algorítmicas em MATLAB (Parte 1) - Introdução.
Como tudo começou.
Foi 2008 (se não me enganei) quando foi lançado o primeiro webinar de negociação algorítmica em MATLAB com Ali Kazaam, abordando o tema da otimização de estratégias simples baseadas em indicadores técnicos, etc., apesar de um "caótico" e # 8221; código, as ferramentas eram interessantes o bastante 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 das próprias estratégias comerciais, ao mesmo tempo em que permitiria controlar o processo de testes e os dados obtidos e suas análises subseqüentes escolheriam um portfólio efetivo de sistemas de negociação robustos.
Por que todo Algotrader deve reinventar a roda?
No entanto, a Mathworks não ofereceu uma solução completa para testar e analisar as estratégias # 8211; esses códigos que você poderia sair dos webinars eram os únicos "elementos" de um teste completo do sistema, e era necessário modificá-los, personalizá-los e adicioná-los à GUI para facilidade de uso. Foi muito demorado, colocando uma questão: seja qual for a estratégia, deve passar pelo mesmo processo de análise e análise, o que permitiria classificar-se como estável e utilizável. então, por que cada algotrader deve reinventar a roda e escrever seu próprio código para estratégias de teste adequadas no MATLAB?
Nós decidimos chamar a solução WFAToolbox - Walk-Forward Analysis Toolbox cuja versão de demonstração está disponível no wfatoolbox desde 2018.
Segunda-feira, 7 de novembro de 2018.
Uau?! O que aconteceu com o blog?
O que aconteceu com o blog?
1. Jev Kuznetsov já não é o dono.
2. Nós mudamos a marca.
O que acontecerá com o blog?
1. Mais postagens 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 reticular-se sobre eles.
Negociação de pares de arbitragem estatística / estratégias de negociação de reversão / mercado neutro baseadas em cointegração / bollinger bands / kalman filter etc. para commodities, ações e Forex. Tendem as seguintes estratégias 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 gerenciamento de dinheiro de teste visual para reinvestir seu capital (ciência sobre como obter $ 1M de US $ 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 do "trading on forex" e tudo isso. Bem, isso é totalmente falso! Estamos trabalhando no MATLAB, e a maioria de nós somos cientistas e especialistas nesse aspecto, então tudo é sério.
2. Mais interatividade.
Terça-feira, 1 de janeiro de 2018.
Intraday significa reversão.
As regras são simples e semelhantes à estratégia que testei na última publicação:
Se o retorno de barra do par exceder 1 no z-score, troque a barra seguinte.
O resultado parece muito bonito:
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 duvidava 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é.
Domingo, 30 de dezembro de 2018.
Os pares são mortos?
A partir destes etfs 90 pares únicos podem ser feitos. Cada par é construído como um spread neutro no mercado.
Em cada dia, para cada par, calcule o z-score com base no desvio padrão de 25 dias.
Se z-score & gt; limiar, vá curto, fechar o próximo dia.
Se z-score & lt; O limite vai longo, fechado no próximo dia.
Aqui estão os resultados simulados para vários limiares:
Esta não é a primeira vez que encontrei essa mudança no comportamento de reversão média em etfs. Não importa o que tentei, não tive sorte em encontrar uma estratégia de negociação de pares que funcione em ETFs em 2018. Minha conclusão é que esses tipos de modelos simples de stat-arb simplesmente não o cortaram mais.
WFAToolbox - Walk-Forward Analysis Toolbox.
Complemento MATLAB para desenvolver estratégias de negociação algorítmica em MATLAB da maneira fácil.
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.
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.
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.
Backtesting Estratégias de negociação em apenas 8 linhas de código.
Kawee Numpacharoen, MathWorks.
Usando as funcionalidades em MATLAB ® e Financial Toolbox ™, você pode executar um backtesting de estratégia em apenas oito linhas de código.
• Geração de sinal de negociação.
• Cálculo do retorno da carteira, índice Sharp e redução máxima.
• Placar a curva de ações.
• Use o Datafeed Toolbox ™ para baixar dados de mercado diretamente de vários provedores de dados.
• Gerar sinal comercial usando Econometrics Toolbox ™ ou Statistics and Machine Learning Toolbox ™
• Execute suas estratégias automaticamente usando o Trading Toolbox ™
Foco no produto.
Outros recursos.
Produtos relacionados.
Vídeos e Webinars relacionados.
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) 中国 (简体 中文) 日本 (日本語) 한국 (한국어)
Testen oder Kaufen.
Apoio, suporte.
Über MathWorks.
Acelerando o ritmo da engenharia e da ciência.
MathWorks ist der führende Entwickler von Software para a matemática Berechnungen für Ingenieure und Wissenschaftler.
No comments:
Post a Comment