воскресенье, 10 июня 2018 г.

Estratégias de negociação matlab


Negociação Algorítmica.


Desenvolva sistemas de negociação com o MATLAB.


A negociação algorítmica é uma estratégia de negociação que usa algoritmos computacionais para conduzir decisões de negociação, geralmente em mercados financeiros eletrônicos. Aplicada em instituições de buy-side e sell-side, a negociação algorítmica forma a base de negociação de alta frequência, negociação de FOREX e análise associada de risco e execução.


Os desenvolvedores e usuários de aplicativos de comércio algorítmico precisam desenvolver, fazer backtest e implantar modelos matemáticos que detectem e explorem os movimentos do mercado. Um fluxo de trabalho efetivo envolve:


Estratégias de Negociação Algorítmica com Exemplos do MATLAB.


Ernest Chan, QTS Capital Management, LLC.


O paradigma tradicional de aplicação de técnicas não-lineares de aprendizado de máquina a estratégias de negociação algorítmica geralmente sofre um grande viés de bisbilhotagem de dados. Por outro lado, técnicas lineares, inspiradas e constrangidas pelo conhecimento profundo do domínio, provaram ser valiosas. Esta apresentação descreve a aplicação do filtro de Kalman, uma técnica essencialmente linear, de duas maneiras diferentes para a negociação algorítmica.


Negociação Automatizada.


Desenvolver sistemas de negociação automatizados com o MATLAB.


A negociação automatizada é uma estratégia de negociação que usa computadores para conduzir automaticamente decisões de negociação, geralmente em mercados financeiros eletrônicos. Aplicada em instituições de buy-side e sell-side, a negociação automatizada forma a base de negociação de alta frequência, por exemplo, em negociação de ações, negociação forex ou negociação de commodities.


Construtores e usuários de aplicativos de negociação automatizados precisam desenvolver, fazer backtest e implantar modelos matemáticos que detectem e explorem os movimentos do mercado. Um fluxo de trabalho efetivo envolve:


Backtesting Trading Strategies em apenas 8 linhas de código.


Kawee Numpacharoen, MathWorks.


Usando as funcionalidades do MATLAB ® e do Financial Toolbox ™, você pode realizar um backtesting de estratégia em apenas oito linhas de código.


• Geração de sinal de negociação.


• Cálculo dos retornos da carteira, índice de precisão e redução máxima.


• Gráficos de curva de capital.


• Use o Datafeed Toolbox ™ para baixar dados de mercado diretamente de vários provedores de dados.


• Gerar sinal de negociação usando o Econometrics Toolbox ™ ou o Statistics and Machine Learning Toolbox ™


• Execute automaticamente suas estratégias usando o Trading Toolbox ™


MatlabTrading.


Blog para MATLAB & # 174; usuários interessados ​​em estratégias de negociação algorítmica, backtesting, pares de negociação, arbitragem estatística etc.


Quarta-feira, 7 de dezembro de 2016.


Teste e Análise de Estratégias de Negociação Algorítmica no 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 (evolucionário) é muito bem explicado nos webinars do MathWorks, nos exemplos, no entanto, ele é usado apenas para otimização da 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 definir muitas variáveis ​​com intervalos significativos para uma estratégia, você não consegue com uma iteração e a paralelização de processos & # 8211; cálculos podem levar vários dias. Certamente, existem estratégias no estágio final de otimização, quando quase certamente sabemos que a estratégia de negociação é bem-sucedida, podemos esperar vários dias ou alugar todo o cluster - o resultado pode valer a pena. No entanto, se precisamos "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 ordenação no qual você verá todos os resultados intermediários (sub-ótimos). Dá 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. Dá máxima precisão durante o aumento da velocidade de cálculo. Método genético & # 8211; ele usa o algoritmo de otimização evolutiva. Permite ver valores sub-ótimos, 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.


Teste e Análise de Estratégias de Negociação Algorítmica no MATLAB (Parte 3) & # 8211; Visualização do Processo.


Visualização do processo de teste.


Em minha experiência de trabalho, muitas vezes analisei outras plataformas populares para testes de estratégia de negociação, como TradeStation, MetaStock, Multicharts etc. e sempre fiquei surpreso com a pouca atenção dada à visualização do processo de teste. O problema é que, quando não vemos os resultados dos valores intermediários e sub-ótimos dos parâmetros otimizados, muitas vezes jogamos fora o ouro junto com a sujeira. A questão é por causa de uma amostragem excessivamente ampla, a estratégia ajusta os parâmetros da maneira como vemos uma "estratégia perfeita" que falha na vida real ou vê uma ou duas transações, que são supostamente as melhores porque foram selecionadas essas informações de intervalo de tempo onde a melhor estratégia de negociação seria comprar e manter, mas por que outras estratégias são necessárias?


E se houver mais de 4 dimensões? Quando você vê quais sinais e em que frequência eles aparecem na faixa de preço, você tem quase toda a representação visual necessária da sua estratégia: a frequência das transações, sua lucratividade (curva de renda), a precisão da abertura, a semelhança com outras valores sub-ótimos, 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 há toda uma gama de valores sub-ótimos em uma ou mais áreas.


Enquanto otimiza uma estratégia no WFAToolbox & # 8211; Walk-Forward Analysis Toolbox para MATLAB & # 174 ;, como um novo valor ótimo é encontrado, os sinais da estratégia de negociação no período in-sample e out-of-sample aparecem imediatamente no gráfico, para que você possa sempre controlar qual faixa de opções você deve atribuir, e também pode pausar a otimização sem esperar pelo fim do teste, pois fica claro que algo deu errado ou está tudo bem.


Quarta-feira, 30 de novembro de 2016.


Teste e Análise de Estratégias de Negociação Algorítmica no MATLAB (Parte 2) & # 8211; GUI fácil de usar.


GUI fácil de usar.


Vamos começar com o fato de que não há 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 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 pesquisar no código; Portanto, há uma GUI, mesmo nas caixas de ferramentas MathWorks, na maioria dos casos, porque é mais conveniente. Ele permite focar apenas no código da sua estratégia, porque o uso de uma GUI não implica, de forma alguma, que ela limita de alguma forma sua capacidade de escrever uma estratégia.


Assim, no WFAToolbox, criamos a possibilidade de escrever qualquer código para sua estratégia, usando qualquer uma das caixas de ferramentas do MATLAB e trabalhando com múltiplos ativos para as estratégias como negociação de pares, negociação de cestas ou arbitragem tripla, etc .; mas, ao mesmo tempo, esse código é facilmente integrado à GUI por meio de padrões, que são simples o suficiente para serem aplicados no código e não limitam as oportunidades.


Terça-feira, 29 de novembro de 2016.


Teste e Análise de Estratégias de Negociação Algorítmica no MATLAB (Parte 1) - Introdução.


Como tudo começou.


Foi em 2008 (se não me engano) quando o primeiro webinar sobre negociação algorítmica no MATLAB com Ali Kazaam foi lançado, abordando o tópico de otimização de estratégias simples baseadas em indicadores técnicos, etc. apesar de um caótico & # 8220; 8221; código, ferramentas eram interessantes o suficiente 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 do MATLAB durante a criação das próprias estratégias comerciais, ao mesmo tempo em que permitiria controlar o processo. de teste e os dados obtidos e sua análise posterior escolheria carteira eficaz de sistemas de negociação robustos.


Por que todo Algotrader deveria reinventar a roda?


No entanto, o Mathworks não ofereceu uma solução completa para testes e análises das estratégias & # 8211; Esses códigos que você poderia obter 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 facilitar o uso. Foi muito demorado, colocando-se uma questão: seja qual for a estratégia, ela deve passar pelo mesmo processo de teste e análise, o que permitiria classificá-la como estável e utilizável & # 8211; então, por que todo algotrader deveria reinventar a roda e escrever seu próprio código para estratégias de teste adequadas no MATLAB?

Комментариев нет:

Отправить комментарий