Wednesday 4 April 2018

Sistema de comércio multiday


Multi Day Trade Setup JYHW.
Outra configuração de vários dias usando JYHW desta vez. Este foi um estoque que eu tive na minha lista de observação por causa do hype e aumento de volume ultimamente.
Dê uma olhada no gráfico abaixo para ver as várias observações que assinalou, além de prestar atenção aos níveis de suporte e resistência:
Depois de inicialmente mover-se mais alto neste gráfico de configuração de comércio multi-dia de 10 dias de perto de US $ 0,90 até aprox. US $ 1,60 em 6 de janeiro de 2018, os preços começaram a retroceder. No dia 7 de janeiro, os preços se moviam muito mais baixos do dia anterior, mas os compradores entraram e derrubaram o preço de volta. Não houve pressão de venda contínua na queda da madrugada.
No dia seguinte, 8 de janeiro, os preços re-testaram a alta anterior perto de US $ 1,60 e puxaram para trás novamente. Desta vez, puxando para trás menos do que no dia anterior e fechou perto dos máximos do dia.
No dia 11 de janeiro, os preços continuaram mais altos, e chegaram a uma nova alta neste gráfico apenas de US $ 1,70, mas isso era sobre isso. Não siga a força na primeira tentativa de breakout para novos altos.
Depois de puxar para trás ligeiramente nos próximos dois dias, os preços mais uma vez testaram a alta recente apenas um pouco de US $ 1,70, mas uma vez mais falhando em fuga ainda fechando perto dos altos novamente.
No dia 15 de janeiro, os preços voltaram a testar novamente e, desta vez, estouraram mais alto para US $ 1,80 e fecharam no final do dia em um ponto alto acima de US $ 1,80.
Agora, os preços passaram de cerca de US $ 0,90 para pouco mais de US $ 1,80 nos 9 dias mostrados no gráfico. Uma compra potencialmente arriscada, ou um potencial curto, pois duplicou em um período tão rápido.
Normalmente, quando um estoque está sendo bombeado por empresas de pesquisa de ações pagas (promotores), eles espalharão seus comunicados de imprensa e e-mails de spam que enviam para construir sobre o movimento anterior. Esta manhã, recebi e enviei um email fazendo exatamente isso. Foi um e-mail informando como esse estoque vai se mover mais alto por tal e tal motivo, blá, blá, blá.
Bem, depois de sair para uma nova alta e fechar no máximo do dia do dia de negociação anterior, este seria o tempo perfeito para dar ao estoque um outro impulso, pelo menos um potencial impulso de qualquer maneira.
Comecei a assistir o estoque no início do dia 18, e, como você pode ver, abriu mais alto sem retrocesso e, em seguida, subiu mais de 10% na primeira hora de negociação.
Este é outro exemplo de uma configuração de comércio de vários dias, usando o JYHW desta vez, que pode ser bom para aprender ao estudar os padrões e os breakouts ocorridos ao longo de vários dias.
O risco para tais configurações de comércio multi-dia, é claro, é que o estoque está sendo bombeado, o que pode acabar com a inversão em qualquer momento.
A mesma estratégia pode ser usada em ações com preços mais altos, enquanto procura as mesmas configurações de comércio de vários dias e fuga em potencial. Certifique-se de ter algum tipo de perda de parada no lugar para se proteger de perdas potenciais. Se você vê que está errado, pense muito sobre fechar sua posição e sair, de preferência, tendo este pensamento antes de entrar no comércio em primeiro lugar.
Leia o artigo de seguimento que escrevi para ver o que aconteceu no dia seguinte após o gráfico acima: Pump and Dump JYHW ?.

QuantStart.
Junte-se ao portal de membros privados da Quantcademy que atende à comunidade de comerciantes de varejo de varejo em rápido crescimento. Você encontrará um grupo bem informado de mentalistas quant pronto para responder suas perguntas comerciais mais importantes.
Confira meu ebook sobre o comércio de quant, onde eu ensino você como criar estratégias de negociação sistemáticas lucrativas com ferramentas Python, desde o início.
Dê uma olhada no meu novo ebook sobre estratégias de negociação avançadas usando análise de séries temporais, aprendizado de máquina e estatísticas bayesianas, com Python e R.
Por Michael Halls-Moore em 3 de junho de 2018.
Já faz um tempo desde a minha última atualização no Forex Trading Diary. Fiquei ocupado trabalhando no novo QuantStart Jobs Board e então não tive tanto tempo como de costume para trabalhar no QSForex, embora tenha feito algum progresso!
Em particular, consegui adicionar alguns novos recursos, incluindo:
Documentação - Agora criei uma subseção QSForex no site, que inclui todas as entradas do Diário de negociação Forex e documentação para a QSForex. Em particular, inclui instruções de instalação detalhadas e um guia para o uso tanto para backtesting quanto para negociação ao vivo. Simulado Tick Data Generation - Uma vez que é desafiador baixar dados do tick forex em massa (ou, pelo menos, foi de certos fornecedores que eu uso!) Eu decidi que seria mais simples simplesmente gerar alguns dados de ticks aleatórios para testar o sistema. Multi-Day Backtesting - Uma solicitação de longa data no QSForex é a capacidade de backtest durante vários dias de dados do tick. Na versão mais recente, o QSForex agora oferece suporte ao backtesting multi-dia e multi-par, tornando-o substancialmente mais útil. Resultados de Backtesting de Plotting - Enquanto a saída do console é útil, nada pode ser capaz de visualizar uma curva de equidade ou redução histórica. Utilizei a biblioteca Seaborn para traçar os vários gráficos de desempenho.
Nesta entrada, descreverei todos os novos recursos em detalhe abaixo.
Se você não conseguiu acompanhar a série até o momento, pode dirigir-se à seção QSForex, a fim de recuperar as entradas anteriores.
Simulado Tick Data Script.
Um recurso solicitado extremamente importante para QSForex foi a capacidade de backtest durante vários dias. Anteriormente, o sistema só suportou backtesting através de um único arquivo. Esta não era uma solução escalável, pois um arquivo deve ser lido na memória e posteriormente em um Pandas DataFrame. Enquanto os arquivos de dados de tiros produzidos não são enormes (aproximadamente 3.5Mb cada), eles se somam rapidamente se considerarmos múltiplos pares ao longo de períodos de meses ou mais.
Para começar a criar uma capacidade de vários dias / arquivos múltiplos, comecei a tentar baixar mais arquivos do feed de tiques histórico do DukasCopy. Infelizmente, encontrei alguns problemas e não consegui baixar os arquivos necessários para testar o sistema.
Como não estava muito preocupado com a própria série de tempo real, senti que seria mais simples escrever um script para gerar dados simulados de forex. Coloquei esse script no arquivo scripts / generate_simulated_pair. py. O código atual pode ser encontrado aqui.
A idéia básica do script é gerar uma lista de timestamps distribuídos aleatoriamente, cada um possuindo valores de lance / pergunta e valores de volume de lance / solicitação. O spread entre a oferta e a pergunta é constante, enquanto os próprios valores de lance / pedido são gerados como uma caminhada aleatória.
Uma vez que na verdade nunca estarei testando estratégias reais sobre esses dados, eu não estava muito incomodado com suas propriedades estatísticas ou seus valores absolutos em relação aos pares reais de divisas forex. Contanto que tivesse o formato correto e o comprimento aproximado, eu poderia usá-lo para testar o sistema de backtesting de vários dias.
O script está atualmente codificado para gerar dados forex para todo o mês de janeiro de 2018. Ele usa a biblioteca do calendário Python para verificar os dias úteis (embora ainda não tenha excluído os feriados) e, em seguida, gere um conjunto de arquivos do formulário BBBQQQ_YYYYMMDD. csv, onde BBBQQQ será o par de moedas especificado (por exemplo, GBPUSD) e AAAAMMDD é a data especificada (por exemplo, 20180112).
Esses arquivos são colocados no diretório CSV_DATA_DIR, que é especificado nas configurações. py na raiz da aplicação.
Para gerar os dados, o seguinte comando deve ser executado, onde BBBQQQ deve ser substituído pelo nome da moeda particular de interesse, por exemplo, GBPUSD:
O arquivo exigirá modificação para gerar vários meses ou anos de dados. Cada arquivo de seleção diária é da ordem de 3,2Mb de tamanho.
No futuro, vou modificar este script para gerar vários meses ou anos de dados com base em uma lista de pares de moedas fornecidos, em vez de os valores serem codificados. No entanto, por enquanto isso deve ajudá-lo a começar.
Observe que o formato corresponde exatamente ao dos dados do ticks históricos da DukasCopy, que é o conjunto de dados que estou usando atualmente.
Execução de Back-Test Multi-Day implementada.
Seguir diretamente da geração de dados de tiques simulados é a implementação de backtesting de vários dias.
Enquanto meu plano de longo prazo é usar um sistema de armazenamento histórico mais robusto, como PyTables com HDF5, por enquanto, eu vou fazer uso de um conjunto de arquivos CSV, um arquivo por dia por par de moedas.
Esta é uma solução escalável à medida que aumenta o número de dias. A natureza orientada para eventos do sistema requer apenas alguma vez US $ N $ na memória ao mesmo tempo, onde $ N $ é o número de pares de moedas que são negociados em um determinado dia.
A idéia básica do sistema é que o HistoricCSVPriceHandler atual continue a usar o método stream_next_tick, mas com uma modificação para a conta de vários dias de dados, carregando cada dia de dados sequencialmente.
A implementação atual sai do backtest após o recebimento da exceção StopIteration lançada pela próxima (...) chamada para self. all_pairs como mostrado neste snippet de pseudocódigo:
Na nova implementação, esse trecho é modificado para o seguinte:
Neste snippet, quando StopIteration é gerado, o código verifica o resultado de self._update_csv_for_day (). Se o resultado for True o backtest continua (em self. cur_date_pairs, que poderia ter sido alterado para os dados dos dias subseqüentes). Se o resultado for Falso, o backtest termina.
Esta abordagem é muito eficiente para a memória, pois apenas um determinado dia de dados é carregado em qualquer ponto. Isso significa que, potencialmente, podemos realizar meses de teste e apenas são limitados pela velocidade de processamento da CPU e pela quantidade de dados que podemos gerar ou adquirir.
Atualizei a documentação para refletir o fato de que o sistema agora espera vários dias de dados em um formato específico, em um diretório particular que deve ser especificado.
Plotando resultados de Backtesting com Seaborn Library.
Um backtest é relativamente inútil se não pudermos visualizar o desempenho da estratégia ao longo do tempo. Embora o sistema tenha sido principalmente baseado em console até a data, eu comecei a transição para uma Interface gráfica de usuário (GUI) com esta versão.
Em particular, criei o "painel de três" usual de gráficos que acompanham frequentemente métricas de desempenho para sistemas de negociação quantitativos, a saber, a curva de equidade, o perfil de retorno e a curva de redução. Todos os três são calculados para cada marca e são enviados para um arquivo chamado equity. csv no OUTPUT_RESULTS_DIR encontrado em settings. py.
Para visualizar os dados, fazemos uso de uma biblioteca chamada Seaborn, que produz gráficos de qualidade de publicação (sim, qualidade de publicação REAL) que parecem substancialmente melhores do que os gráficos padrão produzidos pela Matplotlib.
Os gráficos parecem muito próximos dos produzidos pelo pacote R ggplot2. Além disso, o Seaborn realmente usa Matplotlib embaixo, para que você ainda possa usar a API Matplotlib.
Para permitir a saída escrevi o script output. py que vive no backtest / diretório. A listagem do script é a seguinte:
Como você pode ver, o script importa Seaborn e abre o arquivo equity. csv como um Pandas DataFrame, então simplesmente cria três subparcelas, uma para a curva de equidade, retornos e retração.
Observe que o próprio gráfico de redução é realmente calculado a partir de uma função auxiliar que atua no desempenho / performance. py, que é chamado da classe Portfolio no final de um backtest.
Um exemplo da saída da estratégia MovingAverageCrossStrategy incluída, em um conjunto gerado aleatoriamente de dados GBPUSD para o mês de janeiro de 2018, é o seguinte:
Valor de carteira / curva de patrimônio, retorna perfil e curva de redução para o teste MovingAverageCrossStrategy.
Em particular, você pode ver as seções planas da curva de equidade nos fins de semana onde não há dados presentes (pelo menos, para este conjunto de dados simulado). Além disso, você pode ver que a estratégia simplesmente perde dinheiro de forma bastante previsível nesse conjunto de dados simulados aleatoriamente.
Esta é uma boa prova do sistema. Estamos simplesmente tentando seguir uma tendência em séries temporais geradas aleatoriamente. As perdas ocorrem devido ao spread fixo introduzido no processo de simulação.
Isso deixa claro que, se quisermos fazer um lucro consistente na negociação forex de maior freqüência, precisaremos de uma borda quantificável específica que gere retornos positivos além dos custos de transação, como spread e deslizamento.
Teremos muito mais a dizer sobre este ponto extremamente importante nas entradas subseqüentes do Diário de negociação Forex.
Próximos passos.
Cálculos de posição de fixação.
Eu recentemente tive uma correspondência extremamente útil com os usuários QSForex através dos comentários Disqus e da página QSForex Issues sobre a correção dos cálculos dentro da classe Position.
Alguns observaram que os cálculos podem não refletir exatamente como o OANDA (o corretor que é usado para o sistema trading. py) calcula os negócios de moeda cruzada.
Assim, uma das etapas mais importantes é realmente fazer e testar essas modificações sugeridas em position. py e também atualizar os testes de unidade que vivem em position_test. py. Isso terá um efeito knock-on com portfolio. py e também portfólio_test. py.
Medição de desempenho.
Embora tenhamos agora um conjunto básico de indicadores de desempenho visual através da curva de equidade, retorna perfil e séries de redução, precisamos de medidas de desempenho mais quantificadas.
Em particular, precisaremos de métricas de nível de estratégia, incluindo índices comuns de risco / recompensa, como Ratio Sharpe, Relação de Informações e Razão Sortino. Também precisamos de estatísticas de retirada, incluindo a distribuição das retiradas, bem como estatísticas descritivas, como redução máxima. Outras métricas úteis incluem a taxa de crescimento anual composto (CAGR) e o retorno total.
No nível de troca / posição, queremos ver métricas, como lucro / perda médio, lucro / perda máximo, relação lucro e relação vitória / perda. Uma vez que construímos a classe Posição como parte fundamental do software desde o início, não deve ser muito problemático para gerar essas métricas através de alguns métodos adicionais. Mais sobre isso na próxima entrada, no entanto!
Apenas iniciando o comércio quantitativo?
3 razões para se inscrever para a lista de e-mails QuantStart:
1. Quant Trading Lessons.
Você terá acesso instantâneo a um curso de e-mail gratuito de 10 partes, repleto de sugestões e dicas para ajudá-lo a começar a negociação quantitativa!
2. Todo o conteúdo mais recente.
Todas as semanas, vou enviar-lhe um envoltório de todas as atividades no QuantStart para que você nunca mais perca uma postagem novamente.
Real, dicas de negociação viáveis, sem tonturas.

FREE Forex Trading System! Escalando com as médias móveis.
Se você achou útil a informação no meu Guia, avalie-a com um voto de voto sim.
Verifique também forexsync e F-Fx e considere tentar em nossos sistemas de negociação!
Nossos sistemas de negociação ganham mais de 2000pips por mês! Saiba mais em nossa loja ebay F-Fx!
Médias móveis do sistema Scalping do piso.
Como construir o modelo.
Você precisa desenhar essas Médias móveis no seu gráfico como você pode ver na figura abaixo:
200 (marrom, tracejado)
Quando os dois grupos de MMAs parte, você tem um sinal de entrada. Você pode dizer quando isso ocorreu observando uma diferença entre as EMA amarelas e aquáticas.
As melhores entradas são dadas quando o grupo de longo prazo (vermelho) já está alinhado em uma ordem perfeita por trás da tendência indicada pelo grupo de curto prazo (verde). Cruzes superficiais resultam em negociações desleixadas.
Há algumas das coisas que você precisa prestar atenção com esta implementação do guppy:
1. Evite a negociação contra os 200 EMA. (Eu também não gosto de negociar contra a tendência de vários dias).
2. Não faça cruzamentos instáveis. Você quer que a vela se mova acima ou abaixo dos verdes com autoridade.
3. Os melhores cruzamentos ocorrem em um ângulo afiado contra os vermelhos.
4. Não tome uma cruz se os vermelhos ainda estão apontando para o outro lado. Quando os vermelhos apertam e começam a virar, você está bem.
5. Às vezes, é melhor esperar por um pullback para confirmar a validade do movimento. Quando você obtém uma vela fechando em sua direção alta ou baixa na direção do movimento, você pode entrar.
Você pode revisar nossos sistemas de negociação Forex!
Experimente com DEMO LIVRE para ver se eles se adequam às suas necessidades!
Visite nossa loja ebay clicando em nosso nome de usuário ebay no topo deste guia!

Artigos - Troca de apostas.
Dica de troca de apostas - Eventos de vários dias.
Uma das melhores e ainda pouco conhecidas estratégias de negociação gira em torno de favoritos à deriva nas apostas na conclusão de um dia de jogo quando o evento demorará mais de um dia para ser concluído.
Esportes como o cricket e o golfe são notáveis ​​para isso, com o cricket de teste sendo, de longe, o melhor. Por exemplo, no cricket de teste, você achará que as equipes que estão no topo do jogo na conclusão de uma jogada de dia são proposições comerciais excelentes. A grande maioria do tempo, o preço do favorito irá diminuir a partir do tempo que o jogo do dia terminou em cerca de duas a três horas após esse ponto, dependendo da liquidez.
Por exemplo, você colocou o favorito na conclusão do jogo em desacordo com 1,5 por US $ 1.000. Agora, para a maioria dos apostadores, $ 1,000 soa muito dinheiro para uma aposta. No entanto, tenha em mente que o pior cenário é que o preço cairá para dizer 1,45. Se isso acontecesse, você poderia apostar US $ 1.034,48, o que bloquearia uma perda de US $ 34,48. Então, mesmo que você esteja pagando US $ 1.000, sua responsabilidade total é de apenas US $ 34,48.
Se o preço se mover para 1.55, poderíamos apostar $ 967.74 para bloquear um lucro de US $ 30.65. (Esse valor tomou em consideração a comissão a pagar na taxa máxima de 5%.) Se o preço se transferiu para 1,6, você teria feito um lucro garantido de US $ 59,38.
Deixe-se dizer que você apenas # 8217; fez US $ 30,65 para o comércio. Essa é uma boa renda para provavelmente todos os 10 minutos e # 8216; trabalho & # 8217 ;. Olhando para as taxas horárias, isso seria $ 306.50 com base nos pressupostos acima. Na realidade, seria menos do que isso, porque tanto quanto queríamos que tudo seguisse o nosso caminho, ele ganhou. De vez em quando você perderá negócios e, como tal, é muito importante que você tenha uma parada de perda. Esse é um ponto em que você volta a equipe de volta por uma perda garantida se os preços se movimentarem contra você. É muito importante fazer isso porque este é apenas um comércio técnico e você não está apostando no resultado da partida, mas sim na direção a curto prazo dos preços.
Test cricket é o melhor esporte para esta abordagem, no entanto, o golfe pode ser bom para trocar imediatamente após um dia de jogo usando os mesmos princípios.
Se você está se perguntando como os valores da aposta foram derivados, a Calculadora de apostas do & # 8216; & # 8217; que está disponível para quem compra & # 8216; The Insider & # 8217; s Guide to Betting Exchange Secrets & # 8217; é usado para executar tais cálculos. Você pode descobrir mais informações do site bettingexchangesecrets.
Este artigo foi de autoria do profissional de apostas Matt Elliott, autor de Betting Exchange Secrets. bettingexchangesecrets.
Nossa missão: oferecer-lhe um site de recursos de apostas profissionais de alta qualidade. Incluindo detalhes de.
Apostas de Corrida de Cavalos, Corridas de galgos e sistemas de apostas de futebol, métodos, informações, artigos, ferramentas e dicas.
&cópia de; the-secret-system 2004-2018 | Artigos de apostas grátis, dicas comerciais de troca de apostas para eventos de vários dias.
Como todos sabemos, a única maneira de fazer um lucro a longo prazo das apostas é apenas apostar quando as probabilidades são a nosso favor. O método Value Horse mostra como fazer exatamente isso selecionando cavalos que oferecem um enorme valor. É muito bem escrito, fácil de entender e é um GEM real de um produto. Eu uso pessoalmente o método todos os dias de cada semana.

Sistema de negociação multiday
Solicitações de envio 11.
Participe do GitHub hoje.
O GitHub é o lar de mais de 20 milhões de desenvolvedores que trabalham juntos para hospedar e rever o código, gerenciar projetos e criar software juntos.
Clone com HTTPS.
Use o Git ou o check-out com o SVN usando o URL da web.
A QSForex é uma plataforma de negociação de backtesting e de negociação aberta de código aberto para uso nos mercados cambiais ("forex"), atualmente em um estado "alfa".
Ele foi criado como parte da série Forex Trading Diary no QuantStart para fornecer à comunidade comercial sistemática um motor de negociação robusto que permite a implementação e o teste direto da estratégia forex.
O software é fornecido sob uma licença permissiva "MIT" (veja abaixo).
Open-Source - QSForex foi lançado sob uma Licença MIT de código aberto extremamente permissiva, que permite o uso total em aplicativos comerciais e de pesquisa, sem restrições, mas sem garantia de qualquer tipo. Grátis - QSForex é completamente gratuito e não custa nada para baixar ou usar. Colaboração - Como o QSForex é de código aberto, muitos desenvolvedores colaboram para melhorar o software. Novos recursos são adicionados com freqüência. Todos os erros são rapidamente determinados e corrigidos. Desenvolvimento de Software - QSForex está escrito na linguagem de programação Python para suporte direto à plataforma cruzada. QSForex contém um conjunto de testes unitários para a maioria do seu código de cálculo e novos testes são constantemente adicionados para novos recursos. Arquitetura dirigida a eventos - O QSForex é completamente conduzido por eventos tanto para backtesting quanto para negociação ao vivo, o que leva a uma transição direta de estratégias de uma fase de pesquisa / teste para uma implementação de negociação ao vivo. Custos de transação - Os custos de spread são incluídos por padrão para todas as estratégias testadas anteriormente. Backtesting - QSForex possui backtesting de vários dias de multi-moeda multi-dia intradía. Negociação - O QSForex atualmente oferece suporte à negociação intradiária ao vivo usando a OANDA Brokerage API em um portfólio de pares. Métricas de desempenho - O QSForex atualmente oferece suporte a medição básica de desempenho e visualização de equidade através das bibliotecas de visualização Matplotlib e Seaborn.
Visite oanda / e configure uma conta para obter as credenciais de autenticação da API, que você precisará realizar uma negociação ao vivo. Explico como realizar isso neste artigo: https: // quantstart / articles / Forex-Trading-Diary-1-Automated-Forex-Trading-with-the-OANDA-API.
Clonar este repositório git em um local adequado em sua máquina usando o seguinte comando em seu terminal: git clone https: //github/mhallsmoore/qsforex. git. Alternativa, você pode baixar o arquivo zip do ramo mestre atual em https: //github/mhallsmoore/qsforex/archive/master. zip.
Crie um conjunto de variáveis ​​de ambiente para todas as configurações encontradas no arquivo settings. py no diretório raiz do aplicativo. Alternativamente, você pode "codificar" suas configurações específicas substituindo as chamadas os. environ. get (.) Por cada configuração:
Isso criará um novo ambiente virtual para instalar os pacotes. Supondo que você baixou o repositório QSForex git em um diretório de exemplo, como.
/ projects / qsforex / (altere este diretório abaixo para onde você instalou QSForex), então, para instalar os pacotes, você precisará executar os seguintes comandos:
Isso levará algum tempo, como NumPy, SciPy, Pandas, Scikit-Learn e Matplotlib devem ser compilados. Há muitos pacotes necessários para que isso funcione, então por favor dê uma olhada nestes dois artigos para obter mais informações:
Você também precisará criar um link simbólico do seu diretório de pacotes do site para seu diretório de instalação QSForex para poder chamar importar qsforex dentro do código. Para fazer isso, você precisará de um comando semelhante ao seguinte:
Certifique-se de mudar.
/ projects / qsforex para o diretório de instalação e.
/venv/qsforex/lib/python2.7/site-packages/ para o seu diretório de pacotes do site virtualenv.
Agora você poderá executar os comandos subseqüentes corretamente.
Nesta fase, se você simplesmente deseja realizar práticas ou negociação ao vivo, você pode executar o python trading / trading. py, que usará a estratégia de negociação padrão do TestStrategy. Isso simplesmente compra ou vende um par de moedas cada 5 vezes. É puramente para testar - não use isso em um ambiente de comércio ao vivo!
Se você deseja criar uma estratégia mais útil, basta criar uma nova classe com um nome descritivo, por exemplo, MeanReversionMultiPairStrategy e assegure-se de que ele tenha um método de calcule_signals. Você precisará passar esta classe a lista de pares, bem como a fila de eventos, como em trading / trading. py.
Por favor, consulte Strategy / Strategy. py para obter detalhes.
Para realizar qualquer backtesting, é necessário gerar dados de Forex simulados ou baixar dados de ticks históricos. Se você deseja simplesmente testar o software, a maneira mais rápida de gerar um exemplo de backtest é gerar alguns dados simulados. O formato de dados atual usado pelo QSForex é o mesmo que o fornecido pelo DukasCopy Historical Data Feed em https: // dukascopy / swiss / english / marketwatch / historical /.
Para gerar alguns dados históricos, verifique se a configuração CSV_DATA_DIR na settings. py é configurar para um diretório onde deseja que os dados históricos sejam exibidos. Você então precisa gerar generate_simulated_pair. py, que está no diretório / script. Ele espera um único argumento de linha de comando, que neste caso é o par de moedas no formato BBBQQQ. Por exemplo:
Nesta fase, o script é codificado para criar dados de um único mês para janeiro de 2018. Ou seja, você verá arquivos individuais, do formato BBBQQQ_YYYYMMDD. csv (por exemplo, GBPUSD_20180112.csv) aparecem em seu CSV_DATA_DIR para todos os dias úteis desse mês. Se você deseja alterar o mês / ano da saída de dados, simplesmente modifique o arquivo e re-execute.
Agora que os dados históricos foram gerados, é possível realizar um backtest. O arquivo backtest em si é armazenado no backtest / backtest. py, mas isso contém apenas a classe Backtest. Para realmente executar um backtest, você precisa instanciar esta classe e fornecer os módulos necessários.
A melhor maneira de ver como isso é feito é olhar para o exemplo de Implementação de Crossover em Moving Average no arquivo examples / mac. py e usá-lo como um modelo. Isso faz uso do MovingAverageCrossStrategy que é encontrado em strategy / strategy. py. Este padrão é negociar GBP / USD e EUR / USD para demonstrar uso de par de moedas múltiplas. Ele usa dados encontrados em CSV_DATA_DIR.
Para executar o exemplo backtest, simplesmente execute o seguinte:
Isso vai levar algum tempo. No meu sistema de desktop Ubuntu em casa, com os dados históricos gerados via generate_simulated_pair. py, leva cerca de 5-10 minutos para serem executados. Uma grande parte deste cálculo ocorre no final do backtest real, quando o drawdown está sendo calculado, então lembre-se de que o código não foi desligado! Deixe-o até a conclusão.
Se você deseja visualizar o desempenho do backtest, você pode simplesmente usar output. py para ver uma curva de equivalência patrimonial, retornos de período (ou seja, tick-to-tick) e uma curva de redução:
E é isso! Nesta fase, você está pronto para começar a criar os seus backtests modificando ou anexando estratégias em strategy / strategy. py e usando dados reais baixados da DukasCopy (https: // dukascopy / swiss / english / marketwatch / historical /).
Se você tiver dúvidas sobre a instalação, então fique à vontade para me enviar um e-mail no mike @ quantstart.
Se você tiver algum erro ou outros problemas que você acha que podem ser devido especificamente à base de código, sinta-se à vontade para abrir um problema Github aqui: https: // github / mhallsmoore / qsforex / issues.
Copyright (c) 2018 Michael Halls-Moore.
A permissão é concedida, gratuitamente, a qualquer pessoa que obtenha uma cópia deste software e dos arquivos de documentação associados (o "Software"), para lidar com o Software sem restrições, incluindo, sem limitação, os direitos de uso, cópia, modificação, mesclagem , publicar, distribuir, sublicenciar e / ou vender cópias do Software e permitir que pessoas a quem o Software seja fornecido, sujeito às seguintes condições:
O aviso de direitos autorais acima e este aviso de permissão devem ser incluídos em todas as cópias ou porções substanciais do Software.
O SOFTWARE É FORNECIDO "NO ESTADO EM QUE SE ENCONTRAM", SEM GARANTIA DE QUALQUER TIPO, EXPRESSA OU IMPLÍCITA, INCLUINDO, MAS NÃO SE LIMITANDO ÀS GARANTIAS DE COMERCIALIZAÇÃO, APTIDÃO PARA UM PROPÓSITO ESPECÍFICO E NÃO INFRACÇÃO. EM NENHUMA CIRCUNSTÂNCIA, OS AUTORES OU TITULARES DE DIREITOS AUTORAIS SERÃO RESPONSÁVEIS POR QUALQUER RECLAMAÇÃO, DANOS OU OUTRA RESPONSABILIDADE, SEJA EM AÇÃO DE CONTRATO, DELITO OU DE OUTRA FORMA, DECORRENDO, DESTE OU RELACIONADO COM O SOFTWARE OU O USO OU OUTRAS NEGOCIAÇÕES NA PROGRAMAS.
A negociação de câmbio em margem comporta um alto nível de risco e pode não ser adequada para todos os investidores. O desempenho passado não é indicativo de resultados futuros. O alto grau de alavancagem pode funcionar contra você, bem como para você. Antes de decidir investir em divisas, você deve considerar cuidadosamente seus objetivos de investimento, nível de experiência e apetite de risco. Existe a possibilidade de que você possa sustentar uma perda de algum ou todo seu investimento inicial e, portanto, você não deve investir dinheiro que não pode perder. Você deve estar ciente de todos os riscos associados à negociação cambial e procurar o aconselhamento de um consultor financeiro independente se tiver dúvidas.
&cópia de; 2018 GitHub, Inc. Termos Privacidade Segurança Status Ajuda.
Você não pode executar essa ação neste momento.
Você fez login com outra guia ou janela. Recarregue para atualizar sua sessão. Você se separou em outra guia ou janela. Recarregue para atualizar sua sessão.

No comments:

Post a Comment