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 2016.
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 2016.
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 2016.
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 2016.
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 2013.
Segunda-feira, 7 de novembro de 2016.
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 2013.
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 2012.
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 passados em 2010. Minha conclusão é que esses tipos de modelos simples de stat-arb simplesmente não o cortaram.
WFAToolbox - Walk-Forward Analysis Toolbox.
Complemento MATLAB para desenvolver estratégias de negociação algorítmica em MATLAB da maneira fácil.
Negociação quantitativa.
Investimentos quantitativos e idéias comerciais, pesquisas e análises.
Quinta-feira, 07 de abril de 2016.
Estrutura média de reversão, momentum e volatilidade.
onde Var significa tomar a variância em muitos tempos de amostra. Se os preços realmente seguem uma caminhada aleatória geométrica, então Var (τ) & # 8801; Var ((z (t) - z (t-τ)) & # 8733; τ, e a volatilidade simplesmente se escala com a raiz quadrada de O intervalo de amostragem. É por isso que se medimos o retorno diário, precisamos multiplicar a volatilidade diária por & # 8730; 252 para obter a volatilidade anualizada.
Os comerciantes também sabem que os preços realmente não seguem uma caminhada aleatória geométrica. Se os preços forem significativos, veremos que eles não se afastarão do valor inicial tão rápido quanto uma caminhada aleatória. Se os preços estiverem tendendo, eles se afastarão mais rápido. Em geral, podemos escrever.
onde H é chamado de "Expositor Hurst", e é igual a 0,5 para uma caminhada aleatória geométrica verdadeira, mas será inferior a 0,5 para preços de reversão médios e maior que 0,5 para preços de tendências.
Se anualizamos a volatilidade de uma série de preços de reversão média, ela terá uma menor volatilidade anualizada do que a de uma caminhada aleatória geométrica, mesmo que ambas tenham exatamente a mesma volatilidade medida em, digamos, barras de 5 min. O contrário é verdadeiro para uma série de preços de tendências. Por exemplo, se tentarmos isso no AUDCAD, uma série de tempo obviamente significante, nós obteremos H = 0,43.
Todos os itens acima são bem conhecidos de muitos comerciantes e, de fato, são discutidos no meu livro. Mas o que é mais interessante é que o expoente de Hurst em si pode mudar em uma escala de tempo, e essa mudança às vezes sinaliza uma mudança de uma reversão média para um regime de impulso, ou vice-versa. Para ver isso, vamos traçar a volatilidade (ou mais convenientemente, variância) como uma função de τ. Isso geralmente é chamado de estrutura de prazo de volatilidade (realizada).
Comece com o familiar SPY. podemos calcular os retornos intraday usando midprices de 1 minutos a 2 ^ 10 minutos (
17 horas), e traçar o log (Var (τ)) contra log (τ). O ajuste, mostrado abaixo, é excelente. (Clique na figura para ampliar). A inclinação, dividida por 2, é o expoente de Hurst, que acaba por ser 0.494 e # 177; 0.003, que é muito ligeiramente reverso.
Podemos fazer a mesma análise para o USO (o ETF de futuros do petróleo bruto WTI). O intradase H é 0,515 & # 177; 0,001, indicando comportamento de tendência significativo. O diário H é 0.56 & # 177; 0.02, ainda mais significativamente tendência. Portanto, as estratégias de impulso deveriam funcionar para futuros de petróleo bruto em qualquer escala de tempo razoável.
Nick em mintegration. eu discute os novos bancos de dados intraday em Quandl e Kerf. Factorwave (criação de Euan Sinclair) iniciou um novo fórum: slack. factorwave. Tem algumas discussões muito ativas e aprofundadas sobre muitos tópicos de negociação e investimento. O Prof. Matthew Lyle da Kellogg School of Management tem um novo documento que relaciona os fundamentos com os prêmios de risco de variância: papers. ssrn / sol3 / papers. cfm? Abstract_id = 2696183.
20-21 de abril: estratégias de reversão média.
93 comentários:
Como você calculou as 10 horas = 1 dia, simplesmente ajustando o ponto de 1 dia em seu ajuste linear, resolvendo para colocá-lo na linha? Não existe um risco de lavagem significativa tendência noturna / reversão média desse jeito? E, suponho, em geral, há algumas referências sobre como lidar com lacunas durante a noite ao tentar fazer negociação no prazo de 3-5 dias usando dados intradiários?
Você apenas indica "variância em muitos tempos de amostra". Ou você deseja manter o segredo? :)
Agradeço, agora faz sentido.
Na verdade, eu quis dizer t = 2 * 14/10/60 dias = 27 dias acima!
Agradável novamente, mas eu tenho uma observação. O expoente Hurst é diferente para movimentos brownianos com diferentes distribuições. Você pode simular isso com Monte Carlo e testar.
Você está se referindo ao movimento Browniano fracionário?
Eu me refiro ao artigo deste mecânico mechanicalforex / 2016/03 / the-hurst-exponent-and-forex-trading-instruments. html.
Oi, Dr. Chan,
Ou, você usa o expoente de Hurst em pares ou resíduos cointegrados, a fim de os filtrar adicionalmente como "mais" inversão média se mostrarem um H & lt; .5?
Não, a escala de tempo de transição não indica quanto tempo demoraria para uma série de preços significar-reverter. Para isso, você precisa usar a equação de Ornstein-Uhlenbeck.
Eu não recomendo parar a perda para a estratégia de reversão média em geral, a menos que nunca seja esperado que seja acionado. Veja o último capítulo do meu segundo livro Algorithmic Trading.
Obrigado pela resposta, Dr.!
Eu também uso a equação de OU para HL de negociação de pares.
Esse é um bom ponto. Sim, você pode usar o tempo de transição como um limite superior para o período de espera.
Oi, ótimo blog que você tem, realmente. Eu aprendi muito de suas postagens já, então, por favor, jude manter o bom trabalho! :)
Ótimo artigo! Informações muito úteis. Eu estava tentando reproduzir o enredo do interio SPY. Eu usei o preço diário de log da SPY. Mas parece que recebo um resultado diferente. Por exemplo, o primeiro ponto de dados, 1 dia de atraso, a variação de log que recebi é -9,61, mas sua trama mostra deve ser em torno de -8,9. Estou faltando com alguma coisa? Obrigado.
Também interessado em ouvir a opinião da Ernie sobre isso ..
Obrigado pelas suas amáveis palavras.
Muitas técnicas de negociação podem ser consideradas processamento de sinal digital. Por exemplo. Filtro Kalman, wavelets, etc. Alguns deles são úteis, outros não. Portanto, é preciso ser específico sobre a técnica.
Não, eu não leio John Ehlers.
Esses indicadores funcionam para você?
Desculpe, estava me referindo especificamente aos filtros de bypass alto / baixo e à FFT muito bem documentada.
Obrigado pelo link.
Muito obrigado pela sua resposta ... Eu estava usando o mesmo período SPY dados. Desde que eu estava tentando fazer o enredo interdial, então usei os dados do preço diário da SPY. Como você sugeriu, eu mudei para o preço médio. (Eu usei 0,5 * (Alto + Baixo)). Mas o expoente de Hurst que recebi é apenas cerca de 0,387.
Midprice não significa meio de alto e baixo. Significa a metade da oferta e perguntar no mercado próximo.
Sinta-se à vontade para discutir isso.
Eu planejei a correção automática dos retornos diários da USO e encontrei um pico estatisticamente significativo em um intervalo de 1 dia. No entanto, o valor é negativo, indicando reversão média. Então testei duas estratégias simples para confirmar este comportamento diário de MR e a diferença nas curvas de equidade confirma esse pequeno comportamento diário de MR. Não sei como conectar autocorrelação de retornos com o parâmetro Hurst e seus resultados.
Seu resultado é realmente contrário ao expoente de Hurst.
No entanto, como um teste adicional, sugiro que você teste usando o preço médio do lance-pedido no mercado fechado, e não o fechamento consolidado.
Principalmente retornos atrasados.
Preferimos o comércio de curto prazo, portanto, fatores fundamentais não são de grande ajuda.
O curto prazo para nós é intradiário.
Sim, incluindo a intercepção geralmente é recomendada, a menos que você tenha uma razão fundamental para não.
Depende do par exato. Mas geralmente eu não ganhei.
Sim, o IB é tão bom quanto qualquer em termos de FX para contas & lt; = $ 100K.
Apenas curioso, quais opções você olharia para contas & gt; $ 100K?
Se você é um Participante de Contrato Elegível, conforme definido pela CFTC, você pode abrir qualquer conta de corretor principal e acessar qualquer ECN de FX diretamente, como HotspotFX, LMAX, EBS, etc.
Normalmente, assumimos o custo de transação de ida e volta de 5bps para os estoques SP500.
Eu concordo que é difícil fazer estratégias de estoque long-short funcionar este ano (veja relatórios de hedge funds também nesta categoria).
Não, nós não tentamos os pares de ações comerciais do dia como você sugeriu. Eu concordo que ainda pode haver oportunidades lá.
Normalmente, estratégias long-short dependem da volatilidade para ganhar retornos. A volatilidade no mercado de ações tem sido muito baixa nos últimos meses.
Veja a estratégia VX discutida em torno da Figura 5.12 no meu livro Algorithmic Trading.
Obrigado por compartilhar sua experiência!
Você tem explicações incríveis de ações de preços. Quem quer aprender forex trading deve olhar para o seu material que me ajudou tremendamente com a minha negociação.
A capacidade das estratégias intradiárias é limitada?
Nós negociamos principalmente estratégias intradias, devido à sua maior significância estatística e menor risco. Sim, eles têm menor capacidade, mas então não temos bilhões para gerenciar neste momento. No entanto, estamos trabalhando em estratégias com um período de espera mais longo e maior capacidade, e poderemos lançar-se em breve.
Não no momento.
Você está certo.
Se eu entendo corretamente do seu segundo livro p. 45, o Exponente Hurst pode estar entre + 1 / -1. Quando 0.50 é uma caminhada aleatória, ele parece ser ousado para alegar que H = 0.56 é FORTE tanto como você faz no artigo acima. Eu teria adivinhado que forte tendência seria H = 0,8 ou aproximadamente ??
Na verdade, H está entre 0 e 1. Não é realista ter H negativo, porque isso implicaria que os preços permanecem constantes a longo prazo.
Desculpe, entre 0 e 1, meu mau.
Sim, eu uso a palavra "quot; significativa" em um sentido específico. Isso significa que é mais de 2 desvios padrão longe da média.
O que significa exatamente o que?
O teste de significância neste contexto específico é ver se o expoente Hurst para dados aleatórios do mesmo tamanho terá o mesmo valor que o que obtivemos. A conclusão é que se assumirmos a distribuição Gaussiana de tais valores, a chance de isso ocorrer é inferior a 2,5%. Portanto, com uma probabilidade superior a 97,5%, esta é uma série de preços de tendências.
O log2 (t) no eixo dos x é apenas para fins de exibição. Na minha regressão linear real, tomei o log natural da variância e da escala de tempo.
Espero que isto ajude.
τ = intervalo de tempo?
t = o que se encaixa em t?
Tome variância em muitos tempos de amostragem, neste caso. preço médio de 1 minuto a 2 ^ 10 (1024 minutos ou 17 horas) para intraday.
2013-01-06 a 2016-01-15.
Ou eu simplesmente pego de vez em quando e traço o log (Var (τ)) contra log (τ)?
Não, você não anualiza a volatilidade neste estudo. Todo o ponto do exercício é que não devemos assumir um processo de difusão gaussiano para os preços do registro. Isto é, O expoente de Hurst não é necessariamente 0,5.
Ok, então, para cada dia, eu diria os preços médios de 1 minuto a 2 ^ 10 minutos (1024 minutos)
Digamos a data de início de: 2013-01-06.
2. Calcule a variância desses retornos.
3. Subtrair a variância desses retornos - o log retorna?
nós fazemos o retorno do log e a variância do log retorna.
Fazemos isso por cada bar. primeiro bar de 1 minuto até o último bar de 1024 minutos.
Arbitragem estatística.
Construa, teste e implemente estratégias de negociação de arbitragem estatística com MATLAB.
A arbitragem estatística, também referida como stat arb, é uma abordagem computacionalmente intensiva para negociação algorítmica de ativos do mercado financeiro, como ações e commodities. Envolve a compra e venda simultânea de carteiras de segurança de acordo com modelos estatísticos predefinidos ou adaptáveis.
As técnicas de arbitragem estatística são variações modernas da estratégia de negociação clássica baseada em cointegração. Esta estratégia baseia-se em princípios de reversão média de curto prazo, juntamente com estratégias de hedge que atendem ao risco global de mercado.
Fundos de hedge, fundos mútuos e empresas comerciais proprietárias constroem, testam e implementam estratégias comerciais baseadas em arbitragem estatística. Um fluxo de trabalho efetivo implica:
Recolhendo dados de bancos de dados e feeds de dados padrão do setor Projeto, teste e otimização de estratégias de negociação Aplicação de técnicas estatísticas avançadas, como aprendizagem de máquinas Execução de otimização de portfólio CVaR (5:33) Conexão a plataformas de negociação e gerenciamento de fluxo de trabalho de pedidos.
Exemplos e como fazer.
Aprendizagem de máquinas para negociação algorítmica (32:55) - Comércio de algoritmos de vídeo com MATLAB para aplicações financeiras (1:04:42) - Cointegration de vídeo e Pairs Trading com econometria Toolbox (1:01:27) - Vídeo Um sistema de negociação em tempo real em MATLAB (31:41) - Análise estatística de vídeo dos fluxos ETF (29:16) - Comércio de algoritmos de vídeo: Estratégias vencedoras e sua fundamentação - Análise do sentimento da notícia do livro usando MATLAB e RavenPack (12:01) - Vídeo.
Referência de Software.
Código de Negociação Algorítmica e Outros Recursos - MATLAB Central Introdução à Análise de Cointegração - Documentação Teste de Cointegração Engle-Granger - Função Fluxo de Trabalho para Interativos Brokers - Fluxo de Trabalho de Documentação para Tecnologias de Negociação X_TRADER ® - Documentação Conexão ao serviço de dados Bloomberg® V3 - Funções.
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.
Комментариев нет:
Отправить комментарий