Monday, 28 August 2017

Forex Github


API Software IB API Licença não comercial Esta Licença não comercial do IB API (Licença) é um acordo entre a Interactive Brokers LLC (IB) e você, e governa o uso do código da API. Ao clicar no botão I ACORDO abaixo, você reconhece que você concorda em estar legalmente vinculado por este Contrato. 0. Introdução. O IB desenvolveu o código da interface do programa de aplicação (API) para permitir que seus clientes usem suas próprias ferramentas de software proprietárias internas no gerenciamento de suas contas com o IB. Esta Licença destina-se apenas a usuários que desejem usar o Código da API por conta própria, ou em conexão com ou para o desenvolvimento de suas próprias ferramentas proprietárias internas para gerenciar suas próprias contas do IB. Esta Licença NÃO é para quem está desenvolvendo aplicativos de software que eles desejam: (a) vender a usuários de terceiros por uma taxa, ou (b) dar a usuários de terceiros para gerar um benefício financeiro indireto (por exemplo, comissões). Se você deseja fazer um aplicativo de software para os propósitos descritos na frase anterior, entre em contato com Shail Mangla no opensourceinteractivebrokers. 1. Definições. 1.1. Código da API significa o código do cliente para a API da estação de trabalho do IBs Trader que está disponível para você. 1.2. O objetivo não comercial significa usar o código da API por conta própria, ou em conexão com o desenvolvimento de aplicativos, programas ou outros trabalhos que (a) interface com a plataforma de negociação do IBs e (b) permitem que você acesse as informações da sua conta , Acessar dados do mercado, realizar análises, inserir ordens ou executar quaisquer outras transações ou funções em conexão com sua conta no IB. 1.3. Você ou Seu significa uma pessoa física ou jurídica que exerce direitos sob esta Licença. Para entidades legais, Você ou Você inclui qualquer entidade que controla, é controlada por, ou está sob controle comum com você, onde o controle significa (a) o poder, direto ou indireto, para causar a direção ou gerenciamento dessa entidade, seja Por contrato ou de outra forma, ou (b) propriedade de cinquenta por cento (50) ou mais das ações em circulação ou propriedade beneficiária dessa entidade. 2. Concessão de licença. 2.1. Sujeito aos termos desta Licença, o IB, por este meio, concede-lhe, com vigência na data em que você aceita esta Licença e baixe o Código da API, um direito pessoal e sem restrições, não-exclusivo, não-sublicenciável, intransferível e restrito. Para instalar, modificar e usar o Código da API apenas para fins comerciais. 3. Restrições. 3.1. Você reconhece e concorda que você só deve usar o Código da API para fins não comerciais. Quaisquer outros usos do Código da API são expressamente proibidos. 3.2. Você deve reter e reproduzir em todas as cópias do Código da API os avisos de direitos autorais e outros avisos de propriedade e renúncias de IB como eles aparecem no Código da API e manter intactos todos os avisos no Código da API que se referem a esta Licença. 3.3. Você concorda em não publicar, disseminar ou redistribuir o código da API para terceiros. 3.4. Você concorda que você manterá uma conta no IB durante a duração desta Licença. 3.5. Você concorda em não usar a API para qualquer finalidade que viole qualquer lei ou regulamento, qualquer direito de qualquer pessoa, incluindo mas não limitado a direitos de propriedade intelectual, direitos de privacidade ou direitos de personalidade, ou de qualquer maneira inconsistente com os termos de IBs de Uso, política de privacidade ou esta Licença. 4. Propriedade do código da API. 4.1. Salvo o disposto expressamente no presente documento, o IB ou seus licenciadores devem possuir todos os direitos, títulos e interesses no e no Código da API. 5. RENÚNCIA DE GARANTIAS. 5.1. Você expressamente reconhece e concorda que, embora o IB conceda a licença ao Código da API aqui estabelecido, a IB e seus licenciadores não oferecem garantias de que o Código da API não infrinja a patente ou outros direitos de propriedade intelectual de qualquer outra entidade. A IB e seus licenciadores renunciam a qualquer responsabilidade para você por reclamações apresentadas por qualquer outra pessoa ou entidade com base em violação de direitos de propriedade intelectual ou de outra forma. 5.2. O Código da API pode conter, no todo ou em parte, pré-lançamento, não testado ou não totalmente testado. O código da API pode conter erros que podem causar falhas ou perda de dados e podem estar incompletos ou conter imprecisões. Você expressamente reconhece e concorda que o uso do Código da API, ou qualquer parte dele, é ao seu único e total risco. VOCÊ ENTENDE E CONCORDA QUE O CÓDIGO DA API É FORNECIDO COMO É E EM UMA BASE COMO DISPONÍVEL, SEM GARANTIA DE QUALQUER TIPO, SEJA EXPRESSA OU IMPLÍCITA, INCLUINDO, SEM LIMITAÇÃO, GARANTIAS QUE O CÓDIGO DA API ESTÁ LIVRE DE DEFEITOS, COMERCIALIZAÇÃO, NÃO - INFRINGING OU FIT PARA UM FIM ESPECÍFICO. ESTA ISENÇÃO DE GARANTIA DE GARANTIA CONSTITUI UMA PARTE ESSENCIAL DESTA LICENÇA. NENHUMA UTILIZAÇÃO DE QUALQUER CÓDIGO DE API É AUTORIZADA AQUI, EXCEPTO SOB ESTA ISENÇÃO DE RESPONSABILIDADE. 6. LIMITAÇÃO DE RESPONSABILIDADE. 6.1. VOCÊ ENTENDE E CONCORDA QUE IB, SEUS AFILIADAS E OS SEUS LICENCIADORES NÃO SERÃO RESPONSÁVEIS POR VOCÊ SOB QUALQUER TEORIA DE RESPONSABILIDADE POR QUALQUER DANO DIRETO, INDIRECTO, INCIDENTAL, ESPECIAL, CONSEQUENCIAL OU EXEMPLAR EM RELAÇÃO OU RESULTANTE OU RELACIONADO COM A API CÓDIGO OU USO DO CÓDIGO DA API, INCLUINDO QUALQUER PERDA DE NEGOCIAÇÃO, PERDA DE LUCRO, PERDA DE NEGÓCIOS OU PERDA DE DADOS, SE A IB OU SEUS REPRESENTANTES SÃO SIDO AVISADOS OU DEVEM SER CONSIDERADOS SOBRE A POSSIBILIDADE DE QUAISQUER PERDAS PARAGENDO. 7. Indenização. 7.1. Na medida máxima permitida por lei, você concorda em defender, indenizar e isentar o IB, suas afiliadas e seus respectivos diretores, diretores, funcionários e agentes de e contra todas e quaisquer reclamações, ações, processos ou processos, bem como quaisquer e quaisquer Todas as perdas, responsabilidades, danos, custos e despesas (incluindo honorários advocatícios razoáveis) decorrentes ou decorrentes de (a) Seu uso do Código da API, (b) qualquer aplicação que você desenvolva com o Código da API que infrinja qualquer direito autoral, marca registrada, Segredo comercial, comércio, patente ou outro direito de propriedade intelectual de qualquer pessoa, e (c) qualquer incumprimento por Você com esta Licença. 8. Rescisão. 8.1. Esta Licença e os direitos concedidos neste documento terminam automaticamente: (a) se você não cumprir com qualquer termo (s) desta Licença e não consertar essa violação dentro de 30 dias após ter conhecimento dessa violação (b) se você não for Mais um cliente do IB ou (c) se você, a qualquer momento durante o termo desta Licença, iniciar uma ação por violação de patente contra o IB (desde que a IB não tenha iniciado uma ação por violação de patente contra você nessa instância). 8.2. Você deve destruir todas as cópias do Código da API após o término desta Licença e não deve reter o Código da API de qualquer forma após essa destruição. 8.3. As seguintes seções devem sobreviver a qualquer rescisão: 3, 4, 5, 6, 7, 8 e 9. 9. Geral. 9.1. Você concorda que se o IB não exercer ou aplicar qualquer direito ou remédio legal que esteja contido nesta Licença ou esteja disponível para o IB de acordo com qualquer lei aplicável), isso não será uma renúncia formal aos direitos do IBs e que esses direitos ou Os remédios ainda estarão disponíveis para o IB. 9.2. Se um tribunal de justiça, tendo a jurisdição para decidir sobre este assunto, determina que qualquer disposição desta Licença é inválida, então essa disposição será removida desta Licença sem afetar o restante desta Licença. As restantes disposições desta Licença continuarão a ser válidas e executáveis. 9.3. Esta Licença constitui todo o acordo legal entre Você e IB e governa o seu uso do Código da API e substitui completamente quaisquer acordos prévios entre Você e IB em relação ao Código da API. 9.4. Se você está entrando neste Contrato em nome de seu empregador ou outra entidade, você declara e garante que você tem autoridade legal total para vincular seu empregador ou essa entidade a este Contrato. 9.5. Você não pode atribuir os direitos concedidos nesta Licença sem a aprovação prévia por escrito da IBs. 9.6. Esta Licença será regida pelas leis do Estado de Connecticut, independentemente das suas disposições em matéria de conflitos de leis. Você concorda em se submeter à jurisdição exclusiva dos tribunais localizados no município de Fairfield, Connecticut para resolver qualquer assunto legal decorrente desta Licença. Não obstante, você concorda que o IB terá permissão para solicitar medidas cautelares em qualquer jurisdição. O QSForex é uma plataforma de negociação em tempo real baseada em eventos, baseada em eventos abertos, 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 de negociação sistemática um motor de negociação robusto que permite a implementação e o teste diretos da estratégia forex. O software é fornecido sob uma licença MIT permissiva (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 aplicações 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 a 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 de unidade 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 testes de pesquisa 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 anteriores. Backtesting - QSForex possui backtesting de vários dias multi-currency multi-day intraday. Negociação - O QSForex atualmente oferece suporte à negociação intradía ao vivo usando a OANDA Brokerage API em um portfólio de pares. Métricas de desempenho - O QSForex atualmente suporta medição básica de desempenho e visualização de equidade através das bibliotecas de visualização Matplotlib e Seaborn. Instalação e uso 1) Visite oanda e configure uma conta para obter as credenciais de autenticação da API, que você precisará realizar uma negociação ao vivo. Eu explico como realizar isso neste artigo: quantstart artigos Forex-Trading-Diary-1-Automated-Forex-Trading-with-the-OANDA-API. 2) Clonar este repositório git em um local adequado em sua máquina usando o seguinte comando em seu terminal: git clone github mhallsmoore qsforex. git. Alternativa, você pode baixar o arquivo zip do ramo mestre atual no github mhallsmoore qsforex archive master. zip. 3) 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: 4) Crie um ambiente virtual (virtualenv) para o código QSForex e use pip para instalar os requisitos. Por exemplo, em um sistema baseado em Unix (Mac ou Linux), você pode criar esse diretório da seguinte maneira, digitando os seguintes comandos no terminal: 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 projetos qsforex (mude 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. Existem muitos pacotes necessários para que isso funcione, por isso, 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 ligar Importe qsforex dentro do código. Para fazer isso, você precisará de um comando semelhante ao seguinte: Certifique-se de alterar projetos qsforex para seu diretório de instalação e venv qsforex lib python2.7 pacotes de sites para o diretório de pacotes do site virtualenv. Agora você poderá executar os comandos subseqüentes corretamente. 5) Nesta fase, se você simplesmente deseja realizar práticas ou negociação ao vivo, então 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 a cada 5%. É puramente para testes - não use isso em um ambiente de negociação ao vivo Se você deseja criar uma estratégia mais útil, basta criar uma nova classe com um nome descritivo, por exemplo, MeanReversionMultiPairStrategy e garantir que ele tenha um método calculatesignals. Você precisará passar nesta classe a lista de pares, bem como a fila de eventos, como na negociação trading. py. Por favor, consulte Strategy Strategy. py para obter detalhes. 6) Para realizar qualquer backtesting, é necessário gerar dados forex simulados ou baixar dados históricos do tick. 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 por QSForex é o mesmo que o fornecido pelo DukasCopy Historical Data Feed em dukascopy swiss english marketwatch historical. Para gerar alguns dados históricos, certifique-se de que a configuração CSVDATADIR em settings. py seja configurada para um diretório onde você deseja que os dados históricos vivam. Você então precisa gerar geratesimulatedpair. py. Que está no diretório de scripts. Ele espera um único argumento de linha de comando, que neste caso é o par de moedas no formato BBBQQQ. Por exemplo: Nesta etapa, o script é codificado para criar dados de um único mês para janeiro de 2014. Ou seja, você verá arquivos individuais, do formato BBBQQQYYYYMMDD. csv (por exemplo, GBPUSD20140112.csv) aparecem em seu CSVDATADIR para todos os dias úteis em Naquele mês. Se você deseja alterar o mês da saída de dados, simplesmente modifique o arquivo e re-execute. 7) 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 só contém a classe Backtest. Para 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 do Crossover Médio Mínimo no arquivo mac. py dos exemplos e usar isso como um modelo. Isso faz uso do MovingAverageCrossStrategy que é encontrado na estratégia strategy. py. Este padrão é a negociação de GBP USD e EUR USD para demonstrar uso de par de moedas múltiplas. Ele usa dados encontrados no CSVDATADIR. Para executar o exemplo backtest, simplesmente execute o seguinte: Isso levará algum tempo. No meu sistema de desktop Ubuntu em casa, com os dados históricos gerados via generatesimulatedpair. py. Demora cerca de 5-10 minutos para correr. 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. Por favor, deixe-o até a conclusão. 8) Se você deseja visualizar o desempenho do backtest, você pode simplesmente usar output. py para ver uma curva de patrimônio, retornos de período (ou seja, tick-to-tick returns) e uma curva de redução: E é isso. Nesta fase você está pronto Para começar a criar os seus backtests, modificando ou adicionando estratégias na estratégia strategy. py e usando dados reais baixados da DukasCopy (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 mikequantstart. Se você tiver algum erro ou outros problemas que você acha que podem ser devido especificamente à base de código, sinta-se livre para abrir um problema do Github aqui: github mhallsmoore qsforex issues Copyright (c) 2015 Michael Halls-Moore É concedida, gratuitamente, Para 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 usar, copiar, modificar, mesclar, publicar, distribuir, sublicenciar ou vender cópias Do Software e para permitir que as pessoas a quem o Software seja fornecido, sujeitas à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 COMO É, SEM GARANTIA DE QUALQUER TIPO, EXPRESSA OU IMPLÍCITA, INCLUINDO, MAS NÃO SE LIMITANDO ÀS GARANTIAS DE COMERCIALIZAÇÃO, APTIDÃO PARA UM FIM 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, DECORRENTE, DESTE OU RELACIONADO COM O SOFTWARE OU O USO OU OUTRAS NEGOCIAÇÕES NO PROGRAMAS. Disclaimer de Negociação de Forex A troca de câmbio em margem possui 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 a 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 conselho de um consultor financeiro independente se tiver dúvidas.

No comments:

Post a Comment