Wednesday 17 May 2017

Fineco Multi Day Forex


Buongiorno a tutti e ben ritrovati La mia vera passione per quanto riguarda il trading, in modo particolare sul Forex. Quella dell analisi tecnica. Ovvero lo studio dellandament o dei prezzi dei mercati finanziari. Com lobinetivo di includere le tendenze future dei prezzi stessi, mediante a análise de candlestick, lanalisi delle candele giapponesi. Solitate viene utilizazata, assieme all analisi fondamentale. Per la definizione delle decisioni di trading. Prevedere il futuro alquanto improbabile ma saper leggere correttamente un grafico e interpretativo beneficiar a formação de um mercado comercial (voglio ricordare che il trading non un gioco dazzardo, bens un abilit basata sul calcolo delle probabilit). Uma delle prime cose che ho fatto non appena mi sono imerso nellaffascinante mondo del trading stata quaa de frequência e corso de analisis tecnica, convino che mi potesse servire per il percorso che andavo ad iniziare e che mi avrebbe portato a diventare un trader di professione. E cos stato Ci che vi voglio propor é esattamente quello che ho imparato durante il corso, arricchito da tante piccolo sfumature che si sono aggiunte nel tempo con lesperienza. Ecco il programma del corso: Posição de Forex: trading multiday Durata: 2 min. E mediação do documento em Skype Docente: dott. Stefano Ferri Obiettivi: imparle uma tarifa que comercialize o senza restare davanti al pc durante a sedução e and a uma lavorare em ottica di swing trading por sfruttare anche i trend di breve durata (2-3 giorni) le strategie hanno come obiettivo lo sfruttamento ottimale di contesti di Bassa volatilit e di test falliti di supportiresistenze sui grafici diariamente, um 4 ore e 1 ora con un8217intelligente gestione del rischio. Estratégia: candele di esaurimento del trend, reversão de candele, vela de pino, padrão de candelabro, double topbottom, supportiresistenze, test di medie mobili, figura de continuação da tendência (rettangoli, triangoli, flag, pennant), figura de inversão da moda , Testa e spalle, divergence prezzi-momentum) analisi del sentiment di mercato. Omaggio: slides della lezione em formato PDFfoglio di calcolo gestão do dinheiro Alla fine del corso ognuno di voi sar em grau de leggere e interpretação e grafico e iniziare uma negociação de tarifa no modo rilassato e ragionato. Se você é um tempo desde a minha mais recente atualização do Diário de negociação Forex. Diário de negociação 6 - Multi-Day Trading e Plotting Results. Fui ocupado trabalhando na nova placa do Jobs QuantStart e, portanto, não tive tanto tempo como de costume para trabalhar no QSForex. Embora eu tenha feito algum progresso Em particular, eu consegui adicionar alguns novos recursos, incluindo: Documentação - Ive agora criou uma subseção QSForex no site, que inclui todas as entradas do Forex Trading Diary e documentação para QSForex. Em particular, inclui instruções de instalação detalhadas e um guia de uso para backtesting e 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 - Um pedido de longa data no QSForex é a capacidade de backtest ao longo de 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. Eu usei 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 seguir a série até o momento, pode dirigir-se à seção QSForex para se recuperar das entradas anteriores. Simulado Tick Data Script Um recurso extremamente importante solicitado 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 vários pares ao longo de períodos de meses ou mais. Para começar a criar uma capacidade de arquivo multi-daymulti, comecei a tentar baixar mais arquivos do feed de ticks 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 scriptsgeneratesimulatedpair. 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 bidask e valores de volume de bidask. O spread entre a oferta e a pergunta é constante, enquanto os próprios valores de bidask são gerados como uma caminhada aleatória. Uma vez que eu realmente nunca estarei testando estratégias reais sobre esses dados, eu também não estava preocupado com suas propriedades estatísticas ou seus valores absolutos em relação aos pares reais de divisas. 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 2014. Ele usa a biblioteca do calendário Python para verificar os dias úteis (embora eu ainda não tenha excluído os feriados ainda) e, em seguida, gere um conjunto de arquivos do formulário BBBQQQYYYYMMDD. csv . Onde BBBQQQ será o par de moedas especificado (por exemplo, GBPUSD) e YYYMMDD é a data especificada (por exemplo, 20140112). Esses arquivos são colocados no diretório CSVDATADIR, 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 em particular, por exemplo, GBPUSD: o arquivo exigirá modificação para gerar vários meses ou anos de dados. Cada arquivo de marca diária está na 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. Por favor, note que o formato corresponde exatamente aos dados do ticks históricos da DukasCopy, que é o conjunto de dados que estou usando atualmente. Backtesting de vários dias implementado Seguindo 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 a eventos do sistema requer apenas alguma necessidade de arquivos N na memória ao mesmo tempo, onde N é o número de pares de moeda 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 streamnexttick, mas com uma modificação para a conta de vários dias de dados ao carregar 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. allpairs como mostrado neste fragmento de pseudocódigo: Na nova implementação, este fragmento é modificado para o seguinte: Neste trecho, Quando StopIteration é gerado, o código verifica o resultado de self. updatecsvforday (). Se o resultado for True o backtest continua (no self. curdatepairs. Que poderia ter sido alterado para os dados dos dias subseqüentes). Se o resultado for False. O backtest termina. Esta abordagem é muito eficiente na memória, pois apenas um determinado dia de dados é carregado em qualquer ponto. Isso significa que podemos realizar meses de backtesting e que são limitados apenas 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. Traçar 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 habitual painel três de gráficos que acompanham frequentemente métricas de desempenho para sistemas de negociação quantitativos, a saber, a curva de patrimônio, o perfil de retorno e a curva de redução. Todos os três são calculados para cada tick e são enviados para um arquivo chamado equity. csv no OUTPUTRESULTSDIR 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 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 o Matplotlib embaixo, para que você ainda possa usar a API Matplotlib. Para permitir a saída, escrevi o script output. py que vive no diretório backtest. A listagem para o 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, retorno e redução. Observe que o gráfico de retirada em si é realmente calculado a partir de uma função auxiliar que vive em performanceperformance. py. Que é chamado da classe Portfolio no final de um backtest. Um exemplo do resultado da estratégia MovingAverageCrossStrategy incluída, em um conjunto gerado aleatoriamente de dados GBPUSD para o mês de janeiro de 2014, é o seguinte: Em particular, você pode ver as seções planas da curva de equidade nos fins de semana onde nenhum dado Está presente (pelo menos, para este conjunto de dados simulados). 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 bem 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 o spread e o deslizamento. Teremos muito mais a dizer sobre este ponto extremamente importante nas subseqüentes inscrições do Forex Trading Diary. Próximos passos Cálculos de posição de fixação Ive recentemente tiveram muita correspondência extremamente útil com os usuários do QSForex através dos comentários da 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. Portanto, um dos passos mais importantes é realmente fazer e testar essas modificações sugeridas em position. py e também atualizar os testes de unidade que vivem em positiontest. py. Isso terá um efeito knock-on com portfolio. py e também portfoliotest. 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 estratégico, incluindo rácios comuns de risco, como Ratio Sharpe, Relação de Informações e Razão Sortino. Também precisaremos 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 comercialização, queremos ver métricas, como avg profitloss, lucro máximo, taxa de lucros e taxa de ganhos. Uma vez que construímos a classe Position como parte fundamental do software desde o início, isso 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, clique abaixo para aprender mais sobre. A informação contida neste site é a opinião dos autores individuais com base em sua observação pessoal, pesquisa e anos de experiência. A editora e seus autores não são consultores de investimentos registrados, advogados, CPAs ou outros profissionais de serviços financeiros e não prestam assessoria jurídica, fiscal, contábil, de investimento ou outros serviços profissionais. A informação oferecida por este site é apenas de educação geral. Como cada situação factual de indivíduos é diferente, o leitor deve procurar seu próprio conselheiro pessoal. Nem o autor nem o editor assumem qualquer responsabilidade ou responsabilidade por quaisquer erros ou omissões e não têm responsabilidade nem responsabilidade para com qualquer pessoa ou entidade em relação aos danos causados ​​ou alegadamente causados ​​direta ou indiretamente pelas informações contidas neste site. Use por sua conta e risco. Além disso, este site pode receber compensações financeiras das empresas mencionadas através de publicidade, programas de afiliados ou de outra forma. Taxas e ofertas de anunciantes exibidos neste site mudam com freqüência, às vezes sem aviso prévio. Enquanto nos esforçamos para manter informações oportunas e precisas, os detalhes da oferta podem estar desactualizados. Os visitantes devem assim verificar os termos de tais ofertas antes de participar delas. O autor e a editora estão isentos de responsabilidade pela atualização de informações e negam a responsabilidade pelo conteúdo, produtos e serviços de terceiros, inclusive quando acessados ​​através de hiperlinks ou propagandas neste site.

No comments:

Post a Comment