Sunday 26 August 2018

Estratégias de troca de máquinas aprendizagem em pares


Aprendizagem de máquinas no comércio Forex: por que muitos acadêmicos estão fazendo tudo errado Construir estratégias de aprendizado de máquina que podem obter resultados decentes em condições de mercado ao vivo sempre foi um desafio importante na negociação algorítmica. Apesar da grande quantidade de interesse e das incríveis recompensas em potencial, ainda não há publicações acadêmicas que possam mostrar bons modelos de aprendizagem de máquinas que possam solucionar com sucesso o problema comercial no mercado real (no meu melhor conhecimento, publique um comentário se Você tem um e não tenho prazer em lê-lo). Embora muitos artigos publicados parecem mostrar resultados promissores, muitas vezes é o caso de esses documentos se inserirem em uma variedade de diferentes problemas de tendência estatística que tornam o sucesso do mercado real de suas estratégias de aprendizagem de máquinas altamente improváveis. Na publicação de hoje8217, vou falar sobre os problemas que vejo na pesquisa acadêmica relacionada com a aprendizagem de máquinas no Forex e como acredito que essa pesquisa poderia ser melhorada para produzir informações muito mais úteis tanto para as comunidades acadêmicas quanto para as comunidades comerciais. A maioria das armadilhas no projeto de estratégia de aprendizado de máquinas ao fazer o comércio de Forex é inevitavelmente herdada do mundo de problemas de aprendizagem deterministas. Ao construir um algoritmo de aprendizagem de máquina para algo como reconhecimento de face ou reconhecimento de letras, existe um problema bem definido que não muda, o que geralmente é abordado através da construção de um modelo de aprendizado de máquina em um subconjunto dos dados (um conjunto de treinamento) e depois teste se O modelo foi capaz de resolver corretamente o problema usando o lembrete dos dados (um conjunto de testes). É por isso que você tem alguns conjuntos de dados famosos e bem estabelecidos que podem ser usados ​​para estabelecer a qualidade das novas técnicas de aprendizado de máquina. O ponto chave aqui, no entanto, é que os problemas abordados inicialmente pela aprendizagem por máquinas foram na sua maioria deterministas e independentes do tempo. Ao se mudar para a negociação, aplicar esta mesma filosofia gera muitos problemas relacionados tanto com o caráter parcialmente não determinista do mercado quanto com a dependência do tempo. O simples ato de tentar selecionar conjuntos de treinamento e teste apresenta uma quantidade significativa de viés (um viés de seleção de dados) que cria um problema. Se a seleção for repetida para melhorar os resultados no conjunto de testes 8211 que você deve assumir acontece em pelo menos alguns casos 8211, o problema também adiciona uma grande quantidade de viés de mineração de dados. Toda a questão de fazer um único exercício de treinamento de validade também gera um problema relacionado à forma como esse algoritmo deve ser aplicado quando a negociação ao vivo. Por definição, a negociação ao vivo será diferente uma vez que a seleção de conjuntos de treinamento deve ser reaplicada a dados diferentes (como agora o conjunto de testes é dados verdadeiramente desconhecidos). O viés inerente à seleção inicial do período de exclusão da amostra e a falta de regras testadas para negociação em dados desconhecidos tornam essas técnicas comuns falhar na negociação ao vivo. Se um algoritmo for treinado com dados 2000-2017 e tiver sido validado de forma cruzada com os dados de 2017-2017, não há motivos para acreditar que o mesmo sucesso acontecerá se treinado em dados de 2003-2017 e depois comercializado de 2017 a 2017, os conjuntos de dados São de natureza muito diferente. O sucesso do algoritmo de medição também é um problema muito relevante aqui. Inevitavelmente, os algoritmos de aprendizado de máquina usados ​​para negociação devem ser medidos pelo mérito por sua capacidade de gerar retornos positivos, mas algumas medidas medem o mérito de novas técnicas algorítmicas, tentando comparar sua capacidade de obter previsões corretas. As previsões corretas não são necessariamente iguais às negociações lucrativas, como você pode ver facilmente ao criar classificadores binários. Se você tentar prever a próxima direção da vela, você ainda pode fazer uma perda se você estiver na maior parte direita em pequenas velas e errado em velas maiores. Na verdade, a maioria desses tipos de classificadores 8211, a maioria daqueles que trabalham com 8282, acabam por prever a direcionalidade com uma precisão acima de 50, mas não acima do nível necessário para superar as comissões que permitiriam negociação de opções binárias rentáveis. Para construir estratégias que estão na maior parte livres dos problemas acima, sempre defendai uma metodologia em que o algoritmo de aprendizado da máquina é treinado antes da tomada de qualquer decisão de treinamento. Ao usar uma janela em movimento para treinar e nunca tomar mais de uma decisão sem reconquistar todo o algoritmo, podemos livrar-se do viés de seleção que é inerente na escolha de um único conjunto de amostra de amostra. Desta forma, todo o teste é uma série de exercícios de treinamento de validade que acabam garantindo que o algoritmo de aprendizagem da máquina funcione mesmo em conjuntos de dados de treinamento tremendamente diferentes. Eu também defendo a medição do desempenho de backtesting real para medir o mérito de um algoritmo de aprendizado de máquina e, além disso, eu iria até dizer que nenhum algoritmo pode valer o seu sal sem ser comprovado em condições reais de fora de amostra. O desenvolvimento de algoritmos dessa maneira é muito mais difícil e não encontrei um único documento acadêmico que acompanhe esse tipo de abordagem (se perdi, sinto-me livre para postar um link para que eu possa incluir um comentário). Isso não significa que esta metodologia seja completamente livre de problemas, no entanto, ainda está sujeita aos problemas clássicos relevantes para todos os exercícios de construção de estratégia, incluindo viés de ajuste de curva e viés de mineração de dados. É por isso que também é importante usar uma grande quantidade de dados (eu uso 25 anos para testar sistemas, sempre treinando depois de cada aprendizado aprendendo aprendendo a decisão derivada) e realizar testes adequados de avaliação de viés de mineração de dados para determinar a confiança com a qual podemos Dizer que os resultados não provêm de chance aleatória. Meu amigo AlgoTraderJo 8211 que também é membro da minha comunidade comercial 8211 está atualmente crescendo um segmento no ForexFactory seguindo esse mesmo tipo de filosofia para desenvolvimento de aprendizado de máquina, enquanto trabalhamos em alguns novos algoritmos de aprendizado de máquinas para minha comunidade comercial. Você pode se referir ao seu tópico ou postagens no meu blog para vários exemplos de algoritmos de aprendizado de máquina desenvolvidos desta maneira. Se você quiser saber mais sobre nossos desenvolvimentos na aprendizagem de máquinas e como você também pode desenvolver suas próprias estratégias de aprendizagem de máquinas usando o framework F4, considere se juntar ao Asirikuy. Um site cheio de vídeos educacionais, sistemas de negociação, desenvolvimento e uma abordagem sólida, honesta e transparente para negociação automatizada. Preparando um grande passo na aprendizagem de máquinas: resultados históricos rentáveis ​​em vários pares Forex No passado, eu consegui usar a máquina aprendendo para Crie sistemas de negociação lucrativos com sucesso, isso inclui minhas implementações da Rede Neural (que geraram as estratégias Sunqu, Tapuy e Paqarin, construindo mais tarde o AsirikuyBrain), bem como minhas tentativas de classificação linear e outros tipos de algoritmos. No entanto, uma das coisas que todos esses desenvolvimentos têm em comum é que eles trocaram dados diários do EURUSD e não conseguiram gerar resultados decentes em outros pares e ou prazos. Isso significa que, embora eu tenha abordado este partimeframe particular com sucesso (vários desses sistemas foram negociados ao vivo com resultados rentáveis), eu ainda não tinha podido desenvolver qualquer coisa por outros instrumentos. Na publicação de hoje, eu vou falar sobre um dos meus últimos desenvolvimentos (em grande parte devido a um membro da Asirikuy que vou mencionar mais adiante), o que me permitiu obter resultados de aprendizado de máquina lucrativos em outros pares além do EURUSD. Note-se que todos os resultados dos back-testing mostrados não são compostos (para que possam ser facilmente julgados por linearidade). O fato de que as técnicas de aprendizado de máquinas parecem ser tão intensas para desenvolver no EURUSD diariamente, mas tão difícil de desenvolver em outros pares no mesmo período de tempo sempre me incomodou. Por que o diário EURUSD é tão especial, que os dados anteriores parecem predizer facilmente os resultados futuros da barra diária, enquanto que em outros pares isso simplesmente não funciona. A resposta parece ser exatamente o mesmo ponto de vista do que estou tentando prever. O Fabio 8211, membro da nossa comunidade, apontou para mim que seria interessante tentar classificar se um certo resultado comercial seria bem sucedido, ao invés de tentar classificar simplesmente se o próximo bar seria 8220bullish ou bearish8221. Prever se uma determinada entrada comercial seria bem-sucedida é uma rota interessante, porque você está tentando prever se seu comércio real dentro de alguns limites de saída alcançará um lucro ou perda, e não se a direcionalidade geral for para ou contra você. Ao implementar a idéia acima em F4, vi que nem todas as previsões de resultados comerciais eram igualmente bem-sucedidas, enquanto a previsão de grandes bordas não funcionava (por exemplo, tentar prever onde um risco 1: 2 para recompensar o comércio seria bem sucedido), prevendo menores As bordas funcionaram muito melhor. Os algoritmos diferentes também deram resultados marcadamente diferentes, enquanto que os classificadores lineares eram extremamente dependentes dos dados de alimentação (alterados significativamente entre os dois conjuntos de dados FX), o Support Vector Machines (SVM) me deu os melhores resultados globais com menor dependência alimentar e lucro melhorado características. As técnicas de agrupamento de keltner significativas também deram resultados interessantes, embora a rentabilidade tenha sido reduzida em relação ao SVM. Como em todas as minhas implementações de aprendizado de máquina, o treinamento é feito em cada nova barra diária usando as barras X passadas e, portanto, a técnica de aprendizado da máquina recorre constantemente durante todo o período de teste de back-back. 8211 8211 Curiosamente, esta técnica atinge resultados rentáveis ​​(testes de back-up de 25 anos) em todos os 4 principais mestres de Forex (mesmo configurações), com resultados particularmente bons no EURUSD e GBPUSD e resultados pior, mas ainda lucrativos, no USDCHF e no USDJPY. A capacidade de prever os resultados parece ser mais perdida no USDJPY, onde há um período significativamente longo (cerca de 10 anos), onde a estratégia não consegue atingir um nível significativo de sucesso. Gostaria também de salientar que o teste de aprendizagem de máquina atual usa apenas uma única instância de aprendizado de máquina e não tentei aumentar a lucratividade criando comissões ou outros 8220tricks8221 que possam ajudar a melhorar e suavizar os resultados ao usar técnicas de aprendizado de máquina. Neste caso, tentar diferentes previsões de alcance comercial dentro de um comitê ou até mesmo colocar SVM e técnicas Keltner significativas para trabalharem juntos podem melhorar significativamente os resultados. Para mim, o fato de que esta técnica finalmente tenha interrompido a barreira multiparino8221 tem sido bastante significativa, pois revela algo fundamental sobre o uso da aprendizagem de máquinas que, até agora, parece ter perdido. Isso também reforça o fato de que as seleções de saída são absolutamente críticas ao desenvolver estratégias de aprendizado de máquinas, pois tentarem prever as saídas erradas podem facilmente levar a técnicas não lucrativas (como aconteceu comigo ao tentar criar estratégias ML em outros símbolos). Escolhendo resultados que são significativos para negociação, mas ainda previsível dentro de uma boa precisão, leva ao desenvolvimento de estratégias de aprendizado de máquinas mais bem-sucedidas. Neste caso em particular, mudar o foco para uma previsão que teve implicações diretas na lucratividade comercial teve um bom impacto. 8211 8211 Embora os resultados até agora não sejam quantitativamente nada para 8220party cerca de 8221, o fato de que agora existe uma estrada aberta para o desenvolvimento de estratégias ML rentáveis ​​que possam funcionar em toda a linha (não apenas em um par) me dá confiança no fato de que Estou caminhando pelo caminho correto (graças a Fabio por suas sugestões). Depois de alcançar este marco, meu objetivo agora é polir e estudar essas implementações de aprendizado de máquina para encontrar melhores preditores e melhorar os resultados em pares não EURUSD. Meu objetivo final seria ter uma estratégia de aprendizado de máquina que possa fornecer resultados históricos altamente lineares ( Semelhante ao AsirikuyBrain) em pelo menos os 4 maiores (espero que ainda mais pares) para que eu possa ter uma fonte de diversificação que esteja sendo constantemente adaptada às novas condições de mercado. Se você quiser saber mais sobre as estratégias de aprendizado de máquina e como você também pode facilmente criar classificadores lineares, as florestas aleatórias, o Keltner significa agrupamento, redes neurais e estratégias SVM na F4, considere se juntar a Asirikuy, um site repleto de vídeos educacionais, sistemas de negociação, Desenvolvimento e uma abordagem sólida, honesta e transparente para negociação automatizada em geral. Espero que tenha gostado deste artigo. O) Aprendizado de máquinas e negociação automatizada O grande curto (eu gosto) Pesquisando estratégias de negociação com backtests rentáveis ​​- UPDATE Eu tive algumas conversas muito interessantes desde que eu ofereci o meu quadro de negociação intradía não público em troca de informações sobre estratégias rentáveis, o que é Por que eu quero prolongar indefinidamente esta chamada inicialmente limitada no tempo. Note que não estou procurando ideias de estratégia. Eu tenho muitos desses eu mesmo. O desafio não consiste em chegar a uma idéia, mas em escolher o caminho certo e testá-lo até o final, quando você sabe que funciona ou não. O fator crítico aqui é o tempo. Então, o que eu essencialmente negocio é o tempo que investei no desenvolvimento de uma estrutura de negociação intradiária sólida e sólida contra o tempo que você investiu no desenvolvimento de uma estratégia de negociação rentável. Pode ser uma estratégia de estoque, ETF, futuro ou opção. Todas as discussões e informações trocadas serão mantidas confidenciais. Eu, claro, estou aberto para discutir apenas idéias, mas não espere que eu as teste para você e não me quebre se as implemento sem pedir sua aprovação. Convocação de propostas Procura de estratégias de negociação com backtests rentáveis ​​Até 15 de junho. Estou aceitando propostas de estratégias de negociação promissoras sobre ações, moedas e índices de estoque de commodities. A estratégia deve ser rentável em backtesting e tem uma proporção de sharpe anualizada de pelo menos 1,0. Em 1. de julho, as duas estratégias mais promissoras serão selecionadas e seus autores podem escolher uma das seguintes opções: 1) Obtenha uma cópia completa e gratuita do quadro de negociação aprimorado e não-público baseado em R que desenvolvi e usei Desde 2017 e que os autores podem usar para negociar suas estratégias com Interactive Brokers. (A versão pública simplificada pode ser baixada aqui) 2) Entre em um acordo de cooperação no qual eu comprometo-se a implementar sua estratégia em R e trocar papel por um período máximo de três meses. Todos os negócios individuais serão compartilhados com os autores quando ocorram. Além disso, o código R que é específico da estratégia (e não o código da estrutura comercial) será entregue aos autores da estratégia. O que enviar: uma descrição escrita da estratégia, além de uma lista de trades mais os timeseries de retorno do backtest ou código Roctavepython executável que calcula diretamente os timeseries de retorno do backtest, juntamente com o conjunto de dados completo dos preços usados ​​no backtest. Envie para o meu e-mail disponível na seção Contato Atualização do quadro de negociação intraday puro da R Finalmente achei o tempo para fazer isso. Muito atrasado. A estrutura agora é executada com as versões mais recentes (unix) do IB TWSGW (versão 9493 e superior). Isso, por si só, exigiu uma reescrita parcial de várias funções do pacote IBrokers R, excelente, mas agora desactualizado, de Jeff Ryan. Além disso, a configuração padrão para negociação EURUSD foi atualizada de modo que agora é um pedaço de bolo para executar a estratégia dummy exemplo. Basta clonar o repo git para sua máquina local. GithubcensixINTRADAY-PartAB e siga o README. Algo sobre Hardware Eu ainda sou fã de possuir meu próprio metal. Claro, fazer as coisas com imagens de máquinas configuráveis ​​na nuvem é popular, porque você não precisa passar pelo aborrecimento de gerenciar seu próprio hardware, mas não é esse aborrecimento realmente apenas um problema para grandes organizações, onde muitos milhares de usuários devem ficar felizes em Custo mínimo. Assim, a nuvem não é apenas uma solução para um problema de pessoas que têm que gerenciar a escala, mas ao mesmo tempo tentam vender - naquela solução para o joe individual lá fora, que, enfrentá-lo, realmente não precisa disso. Enfim, como eu disse, sou fã de possuir meu próprio metal. O hardware barata fora da prateleira pode obter um longo caminho se você tomar o tempo para configurá-lo corretamente. Uma área de trabalho RAM de 16-64Gb com uma ou duas GPUs fará tudo o que você precisar. Parece que as estratégias de backtesting usam muito mais recursos de computação do que a negociação real ao vivo, e é por isso que atualmente você pode configurar e executar uma estratégia intradía de qualquer laptop decente com confiança, enquanto que para o backtesting e a pesquisa, você realmente gostaria que o monstro GPU CPU RAM Acima ou um pequeno e pequeno cluster de supercomputas, como descrevi recentemente aqui. Pure R Intraday trading framwork Download completo disponível Eu fiz INTRADAY-PartA. tar. gz e INTRADAY-PartB. tgz disponíveis para download. Censixdownloads. html Encontrando relacionamentos entre ativos que podem ser usados ​​para arbitragem estatística Em vez de se concentrar em prever a direção do preço e a volatilidade dos preços com os modelos não-lineares derivados dos métodos de aprendizagem automática, uma alternativa seria tentar descobrir relações de preços exploráveis ​​entre ativos da mesma classe E reagir (comércio) quando o erro de preços acontece, em outras palavras, fazer arbitragem estatística. Em certo sentido, isso é de alguma forma mais fácil do que tentar prever os preços, uma vez que o único que se faz é encontrar uma relação relativamente estável, linear ou não linear entre um grupo de pelo menos dois recursos e assumir que, a partir do momento de Sua detecção, essa relação continuará por algum tempo no futuro. Negociar sob este pressuposto é então muito um processo reativo que é desencadeado por movimentos de preços que divergem significativamente do relacionamento modelado. Tradicional Par O comércio e a negociação de ativos em um modelo VECM (Vector Error Correction Model) são bons exemplos para statarb usando modelos lineares. Então, por que não usar uma rede neural simples de uma camada ou mesmo um RBM para descobrir uma relação de preço não-linear entre dois ativos não cointegrados e se esse processo de descoberta for bem-sucedido, troque-o de maneira semelhante a um par clássico. As coisas se tornam ainda mais interessantes quando grupos com mais do que apenas dois ativos são considerados. Este seria então o equivalente não-linear de um VECM. Variável de Seleção de Recursos vs. Profundidade Digamos que temos um alvo de previsão de timeseries univariáveis ​​que pode ser de regressão ou classificação de tipo, e nós precisamos decidir quais recursos de entrada selecionar. Mais concretamente, temos um grande universo de timeseries que podemos usar como insumos e gostaríamos de saber quantos devemos escolher (largura) e também o tempo atrás que queremos procurar por cada um (profundidade). Há um espaço bidimensional de escolhas, delimitado pelos seguintes quatro casos extremos, sob o pressuposto de que temos um total de séries N e podemos, no máximo, olhar para trás K timesteps: (1) escolher apenas uma série e lookback Um timestep, (2) escolher apenas uma série e lookback K timesteps, (3) escolher N série e lookback um timestep, (4) escolher N series e lookback K timesteps. A escolha ótima provavelmente não será daquelas, uma vez que (1) e (2) podem não conter informações suficientes e (3), e especialmente (4) não serão viáveis ​​devido ao processamento de sinais de conexão ou ao excesso de ruído aleatório. A maneira sugerida de abordar isso é começar pequeno em (1), ver o desempenho que você obtém e, em seguida, aumentar o tamanho do espaço de entrada, tanto em profundidade quanto em profundidade, até que você tenha atingido um desempenho de previsão satisfatório ou até que você esgotou Seus recursos de computação e precisam abandonar toda a abordagem: (ou comprar uma nova (farm of) desktop (s) :) Usando Autoencoders Empilhados e Máquinas Boltzmann Restritas em R 12 de fevereiro de 2017 Autoencoderes Empilhados (SAs) e Máquinas Boltzmann Restritas ( RBMs) são modelos muito poderosos para a aprendizagem sem supervisão. Infelizmente, no momento da escrita, parece que não existem implementações R diretas disponíveis, o que é surpreendente, já que ambos os tipos de modelos existem há um tempo e R possui implementações para muitos outros tipos de modelos de aprendizagem de máquinas. Como solução alternativa, as SAs poderiam ser implementadas usando um dos vários pacotes de rede neural de R bastante rápido (nnet, AMORE) e RBMs, bem, alguém deveria escrever uma boa implementação R para eles. Mas dado que o treinamento de ambos os tipos de modelo requer muitos recursos computacionais, também queremos uma implementação que possa usar GPUs. Então, no momento, a solução mais simples que parece ter é usar Theano. Ele pode usar GPUs e fornece implementações de autoencoders e RBMs empilhados (desativados). Além disso, o código PythonTheano para várias outras variantes de máquinas Boltzmann mais exóticas também está flutuando ao redor da rede. Podemos usar rPython para chamar essas funções Python de R, mas o desafio é o dado. Obter grandes conjuntos de dados de um lado para o outro entre R e Python sem usar a serialização ascii que o rPython implementa (muito lento) precisa ser resolvido. Uma implementação pelo menos igualmente potente de autoencoders que suporta o uso de GPU está disponível através da estrutura Torch7 (demo). No entanto, as funções Torch7 são chamadas de usar lua e chamá-las de dentro de R, em vez disso, exigirá algum trabalho no nível C. Em conclusão: use Theano (Python) ou Torch7 (lua) para modelos de treinamento com suporte GPU e escreva os modelos treinados para o arquivo. Em R, importe o modelo treinado a partir do arquivo e use para predição. Atualização 25 de abril de 2017: A seguinte solução agradável Ligue para Python de R para Rcpp deve nos aproximar um pouco de usar Theano diretamente de R. What Frequencies to Trade. 13 de janeiro de 2017 Ao tentar encontrar padrões de mercado exploráveis ​​que se poderia trocar como comerciante de varejo, uma das primeiras questões é: quais frequências de negociação para olhar Mensal Semanal Diariamente ou intradía em qualquer lugar entre 5 segundos a 1 hora Com tempo limitado disponível para Realizando pesquisas em todas essas escalas de tempo, isso se torna uma questão importante a ser respondida. Eu e outros observamos que parece haver uma relação simples entre a frequência comercial e a quantidade de esforço necessária para encontrar uma estratégia lucrativa que seja puramente quantitativa e tenha um risco aceitável. Em suma: quanto menor (mais lento) a frequência em que você quer negociar, mais inteligente sua estratégia lucrativa precisa ser. Tradefreqvssmartness Como exemplo, pode-se olhar para o fim (muito) de alta freqüência do espectro, onde as estratégias de mercado baseadas em matemática realmente muito simples podem ser muito lucrativas, se você conseguir ficar perto o suficiente para o mercado. Fazendo um grande salto no domínio da frequência diária, está se tornando muito mais difícil encontrar estratégias quantitativas que são lucrativas enquanto ainda estão baseadas em matemática bastante simples. Negociar semanalmente e mensalmente, usando apenas métodos quantitativos ou indicadores técnicos apenas é uma receita muito boa para o desastre. Então, assumindo por um momento que essa relação é realmente verdadeira e considerando que podemos e queremos usar técnicas de aprendizado de máquina sofisticadas em nossas estratégias de negociação, poderíamos começar com uma janela de freqüência semanal e trabalhar em direção a freqüências mais altas. O comércio semanal não precisa ser automatizado e pode ser feito a partir de qualquer interface de corretagem baseada na web. Podemos desenvolver uma bolsa de estratégias, usando dados históricos publicamente disponíveis em combinação com nosso algoritmo de aprendizagem favorito para encontrar padrões de mercado negociáveis ​​e, em seguida, executar a estratégia manualmente. Nesta escala, todo o esforço deve ser encontrado e ajustar a estratégia quantitativa e muito pouco pensamento deve ser colocado na execução comercial. O esforço de automação comercial: 0. A inteligência da estratégia é necessária: 100 O comércio diário deve ser automatizado, a menos que você possa realmente dedicar uma parte fixa do seu dia ao monitoramento dos mercados e à execução de negócios. Integrar algoritmos de aprendizagem de máquinas com negociação diária automatizada não é uma tarefa trivial, mas pode ser feito. Esforço de automação comercial: 20, Inteligência de estratégia necessária: 80 Nos intervalos de tempo intradiários, variando de minutos e segundos a sub segundos, o esforço que você terá que assumir para automatizar seus negócios pode ficar em qualquer lugar entre 20 e 90. Felizmente, o menor A escala de tempo torna-se mais burda sua estratégia pode ser, mas é estúpido, é claro, um conceito relativo aqui. Esforço de automação comercial: 80, inteligência de estratégia necessária: 20 Que recursos usar. Hand-crafted vs. aprendido 10 de dezembro de 2017 Em um ponto no projeto de um sistema de aprendizagem (máquina) você será inevitável perguntar-se quais os recursos para alimentar seu modelo. Existem pelo menos duas opções. O primeiro é usar recursos artesanais. Esta opção normalmente lhe dará bons resultados se os recursos estiverem bem projetados (é claro que é uma tautologia, pois você só os chamará bem projetados se lhe derem bons resultados). O design de recursos criados à mão requer conhecimento especializado sobre o campo ao qual o sistema de aprendizagem será aplicado, ou seja, classificação de áudio, reconhecimento de imagem ou no nosso processo comercial. O problema aqui é que você pode não possuir nenhum desses conhecimentos especializados (ainda assim) e será muito difícil chegar ou ter muito tempo ou provavelmente ambos. Portanto, a alternativa é aprender os recursos dos dados ou, em outras palavras, usar a aprendizagem sem supervisão para obtê-los. Um requisito aqui é que você realmente precisa de muitos dados. Muito mais do que você precisaria para recursos feitos à mão, mas, novamente, ele não precisa ser rotulado. O benefício no entanto é claro. Você realmente não precisa ser um especialista no campo específico para o qual você projeta o sistema, ou seja, comércio e finanças. Então, enquanto você ainda precisa descobrir qual subconjunto dos recursos aprendidos será o melhor para seu sistema de aprendizagem, isso também é algo que você teria que fazer com os recursos feitos à mão. Minha sugestão: tente projetar alguns recursos feitos à mão por você mesmo. Se eles não realizam e você tem bons motivos para acreditar que é possível ter melhores resultados do que aqueles que você está recebendo, use métodos de aprendizagem sem supervisão para aprender recursos. Você pode até criar um sistema híbrido que use recursos projetados e aprendidos em conjunto. Por que eu uso ferramentas de código aberto para construção de aplicativos de negociação 19 de novembro de 2017 Quando comecei a procurar minha própria negociação automática, eu tinha três requisitos no conjunto de ferramentas que eu queria usar. 1) Eles devem custar o mínimo possível para começar, mesmo que isso significasse que eu tinha que fazer muita programação e personalizações eu mesmo (custaria tempo) 2) Deve haver uma comunidade de pessoas de mentalidade semelhante lá fora Usando essas mesmas ferramentas para um propósito semelhante. 3) As ferramentas devem permitir-me ir tão profundamente nas entranhas do sistema quanto necessário, mesmo que, no início, meu objetivo fosse mais descobrir o básico. Eu não queria me encontrar em uma situação em que dois anos abaixo eu precisaria mudar para um conjunto diferente de ferramentas, só porque as que eu tinha começado não me permitiram fazer o que eu queria por causa de problemas com Fontes fechadas e licenciamento restritivo. Como resultado, cheguei a escolher R como o meu idioma de escolha para o desenvolvimento de algoritmos de negociação e comecei a usar os Interactive Brokers, uma vez que eles fornecem uma API para interagir com seu sistema de corretagem. Embora existam muitas ferramentas de negociação agradáveis ​​que se conectam ao IB Trader Workstation e algumas podem ser usadas para negociação automatizada, nenhuma delas oferece o mesmo poder, flexibilidade e suporte comunitário que o projeto R tem. Além disso, a R tem realmente um incrível repositório de pacotes de aprendizado de estatística e de aprendizado gratuitos e muito adulta, algo que é essencial se você deseja criar algoritmos de negociação. Cópia de direitos autorais Censix 2017 - 2017

No comments:

Post a Comment