Tuesday 4 July 2017

Python Forex Backtesting


Python Algorithmic Trading Library PyAlgoTrade é uma Python Algorithmic Trading Library com foco em backtesting e suporte para papel-trading e live-trading. Digamos que você tenha uma idéia de uma estratégia comercial e que gostaria de avaliá-la com dados históricos e ver como ela se comporta. PyAlgoTrade permite que você faça isso com um esforço mínimo. Principais características Totalmente documentado. Evento conduzido. Suporta pedidos de Mercado, Limite, Parada e StopLimit. Suporta os arquivos do Yahoo Finance, Google Finance e NinjaTrader CSV. Suporta qualquer tipo de dados de séries temporais no formato CSV, por exemplo, Quandl. Suporte comercial Bitcoin através do Bitstamp. Indicadores técnicos e filtros como SMA, WMA, EMA, RSI, Bandas Bollinger, Expositores Hurst e outros. Métricas de desempenho como a taxa de Sharpe e análise de redução. Manipulação de eventos no Twitter em tempo real. Perfil de eventos. Integração TA-Lib. Muito fácil de dimensionar horizontalmente, ou seja, usando um ou mais computadores para testar uma estratégia. PyAlgoTrade é livre, de código aberto, e está licenciado sob a Licença Apache, Versão 2.0.bt - Backtesting Flexível para Python O que é bt bt é uma estrutura de backtesting flexível para o Python usado para testar estratégias de negociação quantitativas. Backtesting é o processo de testar uma estratégia em um dado conjunto de dados. Essa estrutura permite que você crie facilmente estratégias que combinem e combinem diferentes Algos. Ele visa promover a criação de blocos de lógica de estratégia facilmente testáveis, reutilizáveis ​​e flexíveis para facilitar o rápido desenvolvimento de estratégias comerciais complexas. O objetivo: salvar quants de reinventar a roda e deixá-los concentrar-se na parte importante do trabalho - desenvolvimento da estratégia. Bt é codificado em Python e se junta a um ecossistema vibrante e rico para análise de dados. Existem inúmeras bibliotecas para aprendizagem de máquina, processamento de sinais e estatísticas e podem ser alavancadas para evitar reinventar a roda - algo que ocorre com demasiada frequência ao usar outros idiomas que don8217t têm a mesma riqueza de projetos de código aberto de alta qualidade. Bt é construído no topo do ffn - uma biblioteca de funções financeiras para o Python. Confira um exemplo rápido Aqui está um gosto rápido de bt: Uma estratégia simples Backtest Let8217s criam uma estratégia simples. Criaremos uma estratégia mensal reequilibrada e de longa duração, onde colocamos pesos iguais em cada ativo em nosso universo de ativos. Primeiro, vamos baixar alguns dados. Por padrão, bt. get (alias para ffn. get) baixa o Close ajustado do Yahoo Finance. Vamos baixar alguns dados a partir de 1º de janeiro de 2010 para os propósitos desta demonstração. Uma vez que possamos nossos dados, criaremos nossa estratégia. O objeto Estratégia contém a lógica estratégica ao combinar vários Algos. Finalmente, criaremos um Backtest. Qual é a combinação lógica de uma estratégia com um conjunto de dados. Uma vez feito isso, podemos executar o backtest e analisar os resultados. Agora, podemos analisar os resultados do nosso backtest. O objeto Result é um wrapper fino em torno de ffn. GroupStats que adiciona alguns métodos auxiliares. Um aplicativo para testar estratégias de negociação básicas para o mercado FX, com base em dados históricos. Este código está escrito para o Python 2.7 e não é compatível com o Python 3. Pré-requisitos: Tkinter Para executar o programa, baixe todos os arquivos, mantenha a mesma estrutura de diretório e execute o arquivo inputhandling. py do intérprete do Python. As configurações dos parâmetros são as seguintes: StartEnd Date: as datas que vinculam os dados históricos que serão testados Depósito inicial: o valor da moeda (USD) na conta de corretagem para começar com TimeFrame: a largura de cada barra do histórico Dados que serão testados, esse é o prazo utilizado para cada estratégia. Símbolo: suporte para apenas EURUSD, USDJPY, GBPUSD e USDCHF com dados incluídos. Posição ao comércio: restrinja o backtest para incluir apenas posições longas, posições curtas ou ambas. Critério: a principal estratégia utilizada para simular negócios históricos (Moving Average Crossover e Stochastics included) Alavancagem (margem): o índice de alavancagem máximo permitido Tamanho do lote preferido: um tamanho de lote fixo a ser negociado quando uma posição é aberta. Se a margem livre restrinja o tamanho do lote para ser menor, será ajustado durante o teste. Técnica de Modelagem de Propagação: Spreads Médicos - suponha que os spreads permaneçam constantes ao longo dos dados históricos Técnica de Gerenciamento de Comércio: TPSL - defina um lucro fixo fixo e pare o nível de perda em pips do preço de entrada Price SL - ajuste a perda de parada para ser uma porcentagem de preço e Atualizar cada barra Uma vez que esses parâmetros são inseridos, o programa executará um teste de retorno rudimentar usando barra por análise de barras para determinar qual será o saldo final da conta. Este programa pode ser ampliado adicionando mais estratégias de negociação. Eles devem implementar a mesma interface que as estratégias de média móvel e estocástica. 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