Forex python trading


Jon V.
BigData. Iniciantes. Negociação.
BigData. Iniciantes. Negociação.
Colocando seu primeiro comércio Forex com o Python.
Atualização: atualizei o código para que ele funcione com a nova API da Oanda. Venha aqui.
Tempo para conversar sobre corretores, como colocar um comércio com programação e, o mais importante, como não ser enganado.
Um corretor não é mais do que uma empresa que lhe permite comercializar (comprar ou vender) ativos em um mercado através da plataforma. O que é muito importante para algotrading é:
O corretor oferece uma API para que possamos fazer pedidos. Você pode ter uma conta de demonstração para executar seu ambiente de teste e experimentar. O spread é tão pequeno quanto possível.
No nosso caso, nós realmente não nos importamos com a propagação, pois não estaremos fazendo a venda de alta freqüência em breve.
Embora os corretores estejam regulamentados, ocorreram incidentes nos últimos dois anos, os corretores dobraram devido a certas condições. Seja muito cauteloso se.
Não há comentários sobre o corretor na internet (ou a maioria deles é ruim) Se o corretor lhe oferecer uma alavanca louca (como 1: 200) Se o corretor parece estar em um país muito estranho.
O que poderia acontecer é que você comece a ganhar algum dinheiro e você não pode removê-los. A sério. Situação super estressante.
Mas vamos mudar para uma nota mais feliz que está abrindo uma conta e colocando nosso primeiro comércio programático. Whooha!
Estou usando o Oanda como corretor (não estou afiliado a eles) e eles oferecem uma API bastante decente, bibliotecas no github e uma conta demo gratuita.
Depois de iniciar sessão na sua conta de demonstração, vá para Gerenciar acesso à API. Lá, você pode encontrar sua chave de API que vamos usar em nosso sistema para fazer negócios. CERTIFIQUE-SE DE NÃO COMPARTILHAR ESTA CHAVE.
O código para isso é e todas as outras postagens estão no github e você pode instalá-lo e executá-lo facilmente.
Atualização: Oanda lançou um novo mecanismo de execução (kickass) chamado v20 e eles lançaram uma nova API (melhorada). Esta publicação foi atualizada para usar a nova API, mas se (por qualquer motivo) você quiser verificar o código antigo, está aqui. Você é sortudo!
Conectando-se a Oanda precisa de um arquivo conf - o qual você pode gerar usando um script que o Oanda fornece aqui ou você pode simplesmente criá-lo você mesmo. Porque você iria querer aquilo? Em primeiro lugar, quando se trata de credenciais (e meu dinheiro), eu prefiro saber tudo o que está acontecendo. E eu não gosto de ter que instalar o PyYAML apenas para ler um arquivo conf. Sinta-se livre para usar qualquer um dos métodos.
Agora, prepare-se para se surpreender. O código é direto. Inicializamos a API:
e agora vamos fazer um pedido (comprar 5000 unidades de EURUSD)
Verifique se o preço atual é tão fácil!
Super fácil. Não se preocupe com o que é EURUSD ou com quantas unidades estamos comprando ou qual é a ordem do mercado. Por enquanto, colocamos nossa primeira troca de nosso laptop e vamos construir nossa própria API para fazer negócios. Coisas emocionantes!
Você pode ler a documentação da Oanda aqui para ver o que mais você pode fazer com sua API e encontrar a biblioteca do Python aqui. Tons de exemplos estão disponíveis na página do Github da Oanda aqui.
Próxima, conectando-se a um verdadeiro sistema algotrading AO VIVO, correndo do meu RaspberryPI em casa.
Você poderá ver o programa (quase) final em execução e falaremos mais sobre Forex e estratégias.
Se você tiver mais comentários, clique-me no jonromero ou inscreva-se no boletim informativo.
Legal outro. Este é um tutorial de engenharia sobre como construir uma plataforma algotrading para experimentação e FUN. Qualquer sugestão aqui não é um conselho financeiro. Se você perder qualquer (ou todos) o seu dinheiro porque seguiu quaisquer conselhos de negociação ou implantou este sistema na produção, não pode culpar este blog aleatório (e / ou eu). Aproveite a seu próprio risco.

Forex python trading
P: Este curso está atualizado?
R: A última atualização principal foi realizada em 2018, quando o material do curso foi estendido e atualizado para a versão Python 3. Atualmente, estou trabalhando em uma versão completamente retrabalhada que será lançada em algum lugar em 2017. Claro que os assinantes atuais terão acesso à nova versão.
P. Quanto custa este curso?
A. A taxa do curso é de US $ 95 ou € 90.
P. Este conteúdo do curso é pesado? (por exemplo, prazos de atribuição, codificação, materiais de leitura, etc.)
UMA . Não há prazos, você pode fazer o curso em seu próprio ritmo. Quatro semanas devem ser suficientes para completar as primeiras três partes do curso com base no estudo de 16 horas / semana. A última parte é mais complexa e exigirá diferentes quantidades de tempo dependendo da sua experiência de programação. Haverá vídeo e / ou material de leitura com código de exemplo. Aproveite o tempo para entender o código e usar os conceitos para suas próprias tarefas.
P. Você estará passando por algumas estratégias de negociação?
UMA . Sim, várias estratégias de negociação típicas serão usadas como exemplos. Vamos dar uma olhada em uma média móvel (impulso), reversão média e troca de pares.
A: Abaixo está uma lista completa de cadernos incluídos.
twp_301 métricas de desempenho.
Ao lado disso, existem vários exemplos de integração com a Interactive Brokers API.
P. As estratégias apresentadas serão lucrativas no comércio real?
UMA . Provavelmente não. Muitos não serão rentáveis ​​em backtest. O objetivo do curso é aprender a desenvolver suas próprias estratégias.
P. Será que haverá algum tipo de apoio (após o curso)?
A. Atualmente, o curso é oferecido sem suporte, mas é possível providenciar suporte extra. Por favor, entre em contato para mais detalhes.
P. Você poderia escrever um exemplo para minha estratégia comercial ou algo não incluído no material do curso?
A. Somente se você se inscreveu em uma versão suportada do curso.
P. I codificou esta estratégia e é executado sem erros. Ainda não tenho certeza de que todos os cálculos estão corretos. Você pode verificar meu código para a correção?
A. Infelizmente, esta é uma tarefa muito difícil, envolvendo compreender e repetir todos os cálculos passo a passo, o que é essencialmente o mesmo que reescrever o código a partir do zero. Isso está além do suporte abrangente do curso.
P. Posso baixar e manter os materiais do curso? (por exemplo, notas, palestras de vídeo, códigos, etc.)
R. Sim, você pode manter tudo. Você também terá acesso vitalício ao material do curso no site. Um pedido gentil para manter o conteúdo premium para seu próprio uso.
Q. Existe alguma coisa que você possa sugerir que eu faça para maximizar os benefícios de aprendizagem?
A. Eu acredito que aprender fazendo é a maneira mais eficaz. Decida quais são os seus próprios aplicativos (construindo um banco de dados, testando uma idéia, obtendo dados da web, etc.) e reserve tempo suficiente para experimentar.

Forex python trading
Se você é um comerciante ou um investidor e gostaria de adquirir um conjunto de habilidades de negociação quantitativas, você está no lugar certo.
O curso Trading With Python irá fornecer-lhe as melhores ferramentas e práticas para pesquisa de negociação quantitativa, incluindo funções e scripts escritos por comerciantes quantitativos especializados. O curso dá o máximo impacto para o seu tempo investido e dinheiro. Ele se concentra na aplicação prática da programação ao comércio e não à informática teórica. O curso irá pagar por si mesmo rapidamente, economizando tempo no processamento manual de dados. Você passará mais tempo pesquisando sua estratégia e implementando negócios lucrativos.
Visão geral do curso.
Parte 1: princípios Você vai aprender por que a Python é uma ferramenta ideal para negociação quantitativa. Começaremos pela criação de um ambiente de desenvolvimento e, em seguida, apresentaremos as bibliotecas científicas.
Parte 2: Manipulação dos dados Saiba como obter dados de várias fontes gratuitas, como Yahoo Finance, CBOE e outros sites. Leia e escreva vários formatos de dados, incluindo arquivos CSV e Excel.
Parte 3: estratégias de pesquisa Aprenda a calcular o P & L e as métricas de desempenho acompanhantes, como Sharpe e Drawdown. Desenvolva uma estratégia de negociação e otimize seu desempenho. Múltiplos exemplos de estratégias são discutidos nesta parte.
Parte 4: Indo ao vivo! Esta parte é centrada em torno da Interactive Brokers API. Você aprenderá como obter dados em estoque em tempo real e colocar ordens ao vivo.
Muitos códigos de exemplo.
O material do curso consiste em "cadernos" que contêm texto junto com um código interativo como este. Você poderá aprender interagindo com o código e modificando-o para seu próprio gosto. Será um excelente ponto de partida para escrever suas próprias estratégias.
Embora alguns tópicos sejam explicados em grande detalhe para ajudá-lo a entender os conceitos subjacentes, na maioria dos casos você nem precisa escrever seu próprio código de baixo nível, devido ao suporte de bibliotecas de código aberto existentes:
A biblioteca TradingWithPython combina uma grande parte da funcionalidade discutida neste curso como uma função pronta para usar e será usada ao longo do curso. Pandas irá fornecer-lhe todo o poder de levantamento pesado necessário no trituração de dados.
Todo o código é fornecido sob a licença BSD, permitindo seu uso em aplicações comerciais.
Classificação do curso.
Um piloto do curso foi realizado na primavera de 2018, é o que os alunos conseguiram dizer:
Matej curso bem projetado e bom treinador. Definitivamente valeu o preço e meu tempo, Lave Jev, obviamente, conhecia suas coisas. A profundidade de cobertura foi perfeita. Se Jev executar algo assim novamente, serei o primeiro a se inscrever. John Phillips Seu curso realmente me fez começar a pensar em python para a análise do sistema de estoque.

Comércio com Python.
Sábado, 20 de maio de 2017.
Yahoo está morto, Viva Yahoo!
Nota: os dados fornecidos parecem ser ajustados para divisões, mas não para dividendos.
Sábado, 20 de fevereiro de 2018.
Uma vantagem estatística simples em SPY.
Ocorreu-me que, na maioria das vezes, há muita conversa na mídia sobre o mercado que cai (depois de grandes perdas ao longo do período de tempo), uma recuperação bastante significativa às vezes segue.
No passado, cometi alguns erros ao fechar minhas posições para reduzir as perdas, apenas para perder uma recuperação nos próximos dias.
Após um período de perdas consecutivas, muitos comerciantes liquidarão suas posições por medo de perda ainda maior. Grande parte desse comportamento é governado pelo medo, ao invés de risco calculado. Comerciantes mais inteligentes entram nas pechinchas.
Depois de três perdas ou mais, percorrer o tempo. Sair no próximo fechamento.
Isso não parece nada mal! Olhando para os índices de sharpe, a estratégia classifica uma descida 2.2 versus 0.44 para os B e H. Na verdade, isso é muito bom! (Não fique excitado demais, pois não contai com custos de comissão, derrapagem, etc.).
Embora a estratégia acima não seja algo que eu gostaria de negociar simplesmente por causa do longo período de tempo, a própria teoria provoca mais pensamentos que poderiam produzir algo útil. Se o mesmo princípio se aplica aos dados intradiários, uma forma de estratégia de escalação poderia ser construída. No exemplo acima, simplifiquei o mundo um pouco apenas contando o * número * dos dias baixos, sem prestar atenção à profundidade da retirada. Além disso, a saída da posição é apenas um "próximo dia próximo" básico. Há muito a ser melhorado, mas a essência na minha opinião é esta:
Segunda-feira, 17 de novembro de 2017.
Trading VXX com previsão de vizinhos mais próximos.
Minha definição desses dois é:
volatilidade premium = VIX-realizadoVol delta (inclinação da estrutura do termo) = VIX-VXV.
Combinar tanto premium como delta em um modelo foi um desafio para mim, mas sempre quis fazer uma aproximação estatística. Em essência, para uma combinação de (delta, premium), gostaria de encontrar todos os valores históricos mais próximos dos valores atuais e fazer uma estimativa dos retornos futuros com base neles. Algumas vezes eu comecei a escrever meus próprios algoritmos de interpolação de vizinho mais próximo, mas sempre que eu tinha que desistir. até encontrar a regressão dos vizinhos mais próximos. Isso me permitiu construir rapidamente um preditor com base em duas entradas e os resultados são tão bons, que estou um pouco preocupado por ter cometido um erro em algum lugar.
crie um conjunto de dados de [delta, premium] - & gt; [Retorno do VXX no próximo dia] (na amostra) crie um preditor vizinho mais próximo baseado no conjunto de dados acima da estratégia de comércio (fora da amostra) com as regras: vá longo se for previsto o retorno & gt; 0 vá curto se for previsto o retorno & lt; 0.
Nas duas últimas parcelas, a estratégia parece executar o mesmo dentro e fora da amostra. O índice Sharpe é de cerca de 2,3.
Estou muito satisfeito com os resultados e tenho a sensação de que eu apenas estava riscando a superfície do que é possível com esta técnica.
Quarta-feira, 16 de julho de 2017.
Módulo de backtesting simples.
Minha busca de uma ferramenta de backtesting ideal (minha definição de "ideal" é descrita nas postagens anteriores de "dilemas de Backtesting") não resultou em algo que eu poderia usar de imediato. No entanto, revisar as opções disponíveis me ajudou a entender melhor o que eu realmente quero. Das opções que eu olhei, pybacktest foi o que mais gostei por causa de sua simplicidade e velocidade. Depois de passar pelo código-fonte, tenho algumas idéias para torná-lo mais simples e um pouco mais elegante. A partir daí, foi apenas um pequeno passo para escrever meu próprio backtester, que agora está disponível na biblioteca TradingWithPython.
encontrar entrada e sair - & gt; calcular pnl e fazer parcelas com backtester - & gt; dados da estratégia pós-processo.
Sábado, 7 de junho de 2017.
Impulsionando o desempenho com Cython.
5k amostras como dados de teste. Aqui vem a versão original da minha função de redução (como agora é implementada na biblioteca TradingWithPython)
Hmm 1,2 segundos não é muito rápido para uma função tão simples. Há algumas coisas aqui que podem ser um excelente arrastar para o desempenho, como uma lista * highwatermark * que está sendo anexado em cada iteração de loop. Acessar a Série pelo seu índice também deve envolver algum processamento que não seja estritamente necessário. Vamos dar uma olhada no que acontece quando esta função é reescrita para trabalhar com dados numpy.
Bem, isso é muito mais rápido do que a função original, aproximadamente 40x de aumento de velocidade. Ainda há muito espaço para melhorar ao mudar para o código compilado com o cython. Agora eu reescrevo a função dd acima, mas usando dicas de otimização encontradas no tutorial do cython. Note que esta é a minha primeira tentativa de otimizar funções com o Cython.
Uau, esta versão é executada em 122 micro segundos, tornando-o dez mil vezes mais rápido que a minha versão original! Devo dizer que estou muito impressionado com o que as equipes de Cython e IPython conseguiram! A velocidade em comparação com a facilidade de uso é incrível!
P. S. Eu costumava fazer otimizações de código em Matlab usando o C puro e o wrapper de. mex, tudo era apenas uma dor no burro em comparação com isso.
Terça-feira, 27 de maio de 2017.
Dilemas de backtesting: revisão de pyalgotrade.
Primeira impressão: desenvolvido ativamente, documentação bastante boa, mais do que suficientes feautures (indicadores de TA, otimizadores, etc.). Parece bom, então continuei com a instalação, que também funcionou sem problemas.
O tutorial parece estar um pouco desactualizado, já que o primeiro comando yahoofinance. get_daily_csv () lança um erro sobre a função desconhecida. Não há preocupações, a documentação está atualizada e acho que a função ausente agora é renomeada para yahoofinance. download_daily_bars (símbolo, ano, csvFile). O problema é que esta função apenas faz o download de dados por um ano em vez de tudo, desde aquele ano até a data atual. Tão bonito, inútil.
Depois que eu baixei os dados e salvou-o para o csv, eu precisava ajustar os nomes das colunas, porque aparentemente o pyalgotrade espera que Date, Adj Close, Close, High, Low, Open, Volume estejam no cabeçalho. Isso é um problema menor.
Após o teste de desempenho em uma estratégia SMA que é fornecida no tutorial. O meu conjunto de dados consiste em 5370 dias de SPY:
Isso é bastante bom para uma estrutura baseada em eventos.
Mas tentei buscar documentação sobre a funcionalidade necessária para espalhar spreads e múltiplas carteiras de ativos e simplesmente não encontrou nenhuma. Então eu tentei encontrar uma maneira de alimentar pandas DataFrame como uma entrada para uma estratégia e não é possível, o que é novamente uma grande decepção. Não afirmei como um requisito na publicação anterior, mas agora chego a perceber que o suporte de pandas é uma obrigação para qualquer estrutura que funcione com dados da série temporal. Pandas foi uma razão para eu mudar de Matlab para Python e nunca mais quero voltar.
Conclusão pyalgotrade não cumpre meu requisito de flexibilidade. Parece que foi projetado com TA clássico em mente e comércio de instrumentos individuais. Eu não vejo isso como uma boa ferramenta para estratégias de backtesting que envolvem vários ativos, hedging etc.
Segunda-feira, 26 de maio de 2017.
Dilemas de backtesting.
Seja uma boa aproximação do mundo real. Este é, claro, o requisito mais importante. Permita flexibilidade ilimitada: as ferramentas não devem impedir o teste de idéias prontas. Tudo o que pode ser quantificado deve ser utilizável. Seja fácil de implementar & amp; manter. É tudo sobre produtividade e ser capaz de testar muitas idéias para encontrar uma que funcione. Permitir varredura de parâmetros, testes avançados e otimizações. Isso é necessário para investigar o desempenho e a estabilidade da estratégia, dependendo dos parâmetros da estratégia. O problema de satisfazer todos os requisitos acima é que # 2 e # 3 são conflitantes. Não há nenhuma ferramenta que possa fazer tudo sem o custo de alta complexidade (= baixa manutenção). Normalmente, uma ferramenta de ponto e clique de terceiros limitará severamente a liberdade para testar com sinais personalizados e portfólios ímpares, enquanto que na outra extremidade do espectro, uma solução diy com codificação personalizada exigirá dezenas ou mais horas para implementar com altas chances de terminando com código desordenado e ilegível. Então, na tentativa de combinar o melhor dos dois mundos, vamos começar alguns lugares no meio: use uma estrutura de backtesting existente e adapte-a ao nosso gosto.
Nas seguintes postagens, eu estarei olhando três candidatos possíveis que eu encontrei:
A Zipline é amplamente conhecida e é o motor por trás da Pyonggotpia da Lospian parece estar ativamente desenvolvido e o bem-documentado pybacktest é uma estrutura leve baseada em vetor que pode ser interessante por causa de sua simplicidade e desempenho. Eu estarei olhando a adequação dessas ferramentas comparando-as contra uma estratégia de negociação hipotética. Se nenhuma dessas opções se adequar aos meus requisitos, eu terei que decidir se eu quero investir na escrita da minha própria estrutura (pelo menos, olhando as opções disponíveis I & # 8217; saberá o que não funciona) ou fique com código personalizado para cada estratégia.
O primeiro para a avaliação é Zipline.
Minha primeira impressão de Zipline e Quantopian é positiva. A Zipline é apoiada por uma equipe de desenvolvedores e é testada em produção, então a qualidade (bugs) deve ser excelente. Há uma boa documentação no site e um exemplo de caderno no github.
Para arrumar isso, baixei o notebook do exampe e comecei a jogar com ele. Para minha decepção, rapidamente me deparo com o primeiro exemplo, Algoritmo de Zipline Simplest: Compre a Apple. O conjunto de dados tem apenas 3028 dias, mas executar este exemplo demorou para sempre. Aqui é o que eu medei:
Eu não esperava um desempenho estelar como o tirolesa é um backtester baseado em eventos, mas quase um minuto para 3000 amostras é muito ruim. Esse tipo de desempenho seria proibitivo para qualquer tipo de digitalização ou otimização. Outro problema surgirá ao trabalhar com conjuntos de dados maiores, como dados intradiários ou vários títulos, que podem conter facilmente centenas de milhares de amostras.
Infelizmente, eu vou ter que descartar Zipline da lista de backtesters utilizáveis, pois não atende a minha exigência # 4 por uma margem de gordura.
Na próxima publicação, eu vou olhar para PyAlgotrade.
Nota: Meu sistema atual tem alguns anos, executando um AMD Athlon II X2 @ 2800MHZ com 3 GB de RAM. Com o backtesting baseado em vetor I & # 8217; m usado para tempos de cálculo de menos de um segundo para um único backtest e um minuto ou dois para uma verificação de parâmetros. Um teste básico walk-forward com 10 passos e uma varredura de parâmetros para grade 20x20 resultaria em uma frequência de 66 horas com tirolesa. Não é tão paitient.
Quarta-feira, 15 de janeiro de 2017.
Iniciando o IPython notebook a partir do arquivo Windows exlorer.
Segunda-feira, 13 de janeiro de 2017.
ETFs com alavancas em 2018, onde está sua decadência agora?
Conhecendo o comportamento alavancado de etf, eu esperaria que esses resultados melhorassem seu benchmark, então a estratégia que tentaria lucrar com a deterioração perderia dinheiro.
Uma vez que normalizamos os preços para 100 $ no início do período de atraso (250 dias), é evidente que o 2x etf supera 1x etf.
O código fonte completo dos cálculos está disponível para os assinantes do curso Trading With Python. Caderno # 307.
Quinta-feira, 2 de janeiro de 2017.
Colocando um preço na TWTR.
Preço derivado do valor do usuário.
O TWTR é atualmente mais valioso por usuário que não é FB ou LNKD. Isso não é lógico, pois ambos os concorrentes têm mais valiosos dados de usuários pessoais à sua disposição. O GOOG tem se destacado na extração de receita de anúncios de seus usuários. Para fazer isso, tem um conjunto de ofertas altamente diversificadas, do mecanismo de busca para Google+, Docs e Gmail. TWTR não tem nada parecido com isso, enquanto seu valor por usuário é apenas 35% menor que o do Google. A TWTR tem um espaço limitado para aumentar a base de usuários, pois não oferece produtos comparáveis ​​às ofertas do FB ou do GOOG. TWTR tem sido em torno de sete anos agora e a maioria das pessoas que desejam um accout tem sua chance. O resto simplesmente não se importa. A base de usuários TWTR é volátil e é provável que se mova para o próximo hot thing quando ele estará disponível.
Preço derivado de ganhos futuros.
Conclusão.
Quinta-feira, 19 de setembro de 2018.
Curso de negociação com Python disponível!
Domingo, 18 de agosto de 2018.
Estratégia VXX curta.
Em um mundo ideal, se você segurar o tempo suficiente, um lucro gerado pela queda do tempo nos futuros e o reequilíbrio é garantido, mas, no curto prazo, você teria que passar por algumas retiradas bastante pesadas. Basta olhar para trás no verão de 2018. Fui lamentável (ou tolo) o suficiente para manter uma curta posição VXX logo antes do VIX subir. Eu quase explodi minha conta até então: 80% de redução em apenas alguns dias, resultando em uma ameaça de chamada de margem por meu corretor. Margin Call significaria cobrar a perda. Esta não é uma situação em que eu gostaria de estar novamente. Eu sabia que não seria fácil manter a cabeça fresca em todos os momentos, mas experimentar o estresse e a pressão da situação era algo diferente. Felizmente, eu sabia como VXX tende a comportar-se, então não entrei em pânico, mas troquei de lado para XIV para evitar uma chamada de margem. A história acaba bem, 8 meses depois, meu portfólio voltou à força e eu aprendi uma lição muito valiosa.
Dito isto, vamos dar uma olhada em uma estratégia que minimiza alguns dos riscos ao curvar o VXX somente quando for apropriado.
O gráfico acima mostra dados VIX-VXV desde janeiro de 2018. Os pontos de dados do ano passado são mostrados em vermelho.
Eu escolhi usar um ajuste quadrático entre os dois, aproximando VXV = f (VIX). O f (VIX) é plotado como uma linha azul.
Os valores acima da linha representam a situação quando os futuros estão em contango mais forte do que o normal. Agora eu defino um indicador delta, que é o desvio do ajuste: delta = VXV-f (VIX).
É evidente que áreas verdes correspondem a retornos negativos no VXX.
Short VXX quando delta & gt; 0 Capital constante (aposta em cada dia é de 100 $) Não há custos de deslizamento ou de transação.
Obtendo um pequeno volume de BATS.
Quinta-feira, 15 de agosto de 2018.
Construindo um indicador a partir de dados de curto volume.
Precisamos de mais informações adicionais ao que contém o preço para fazer um palpite mais informado sobre o que acontecerá no futuro próximo. Um excelente exemplo de combinar todo tipo de informações com uma análise inteligente pode ser encontrado no blog Short Side of Long. Produzir esse tipo de análise exige uma grande quantidade de trabalho, para o qual eu simplesmente não tenho tempo, pois só negocio a tempo parcial.
Então eu criei o meu próprio "painel de bordo do mercado" que coleciona informações automaticamente para mim e a apresenta de forma facilmente digerível. Nesta publicação, vou mostrar como criar um indicador com base em dados de curto volume. Esta publicação irá ilustrar o processo de coleta e processamento de dados.
A troca de BATS fornece dados de volume diários gratuitamente em seu site.
Os dados de curto volume da troca do BATS estão contidos em um arquivo de texto que é compactado. Cada dia tem seu próprio arquivo zip. Depois de baixar e descompactar o arquivo txt, isso é o que está dentro (primeiro várias linhas):
Esses dados precisam de algum trabalho antes que ele possa ser apresentado de forma significativa.
O que eu realmente quero não é apenas os dados de um dia, mas uma proporção de volume curto para volume total nos últimos anos, e eu realmente não sinto como baixar 500 arquivos zip e copiá-los em excel manualmente.
Por sorte, a automação total é apenas um par de linhas de código:
Primeiro, precisamos criar dinamicamente um URL a partir do qual um arquivo será baixado:
Passo 5: Faça um gráfico:
Domingo, 17 de março de 2018.
Negociação com curso Python - atualização de status.
A partir de hoje, vou preparar um novo site e material para o curso, que começará na segunda semana de abril.
Quinta-feira, 12 de janeiro de 2018.
Reconstruindo VXX a partir de dados futuros do CBOE.
Os scripts abaixo automatizam esse processo. O primeiro, downloadVixFutures. py, obtém os dados do cboe, salva cada arquivo em um diretório de dados e os combina em um único arquivo csv, vix_futures. csv.
O segundo script reconstituir VXX. p.p. analisa o vix_futures. csv, calcula os retornos diários do VXX e salva os resultados para reconstruídoVXX. csv.
Para verificar os cálculos, comparei meus resultados simulados com os dados do índice SPVXSTR, os dois concordam muito bem, veja os gráficos abaixo.
Código para reconstruir o VXX.
Segunda-feira, 26 de dezembro de 2018.
howto: padrão de observador.
Uma classe de ouvinte pode ser de qualquer tipo, aqui eu faço um monte de classes de ExampleListener, chamado Bob, Dave & amp; Charlie. Todos eles têm um método, isto é, está inscrito no remetente. A única coisa especial sobre o método inscrito é que deve conter três parâmetros: remetente, evento, mensagem. Sender é a referência de classe da classe Remetente, então um ouvinte saberia quem enviou a mensagem. Evento é um identificador, para o qual costumo usar uma seqüência de caracteres. Opcionalmente, uma mensagem é o dado que é passado para uma função.
Um detalhe agradável é que, se um método de ouvinte lança uma exceção, ele é automaticamente cancelado a inscrição em outros eventos.
Quarta-feira, 14 de dezembro de 2018.
Ploting with guiqwt.
aquisição de dados: ibpy & amp; tradingWithPython. lib. yahooData - verificar.
recipiente de dados: pandas e amp; sqlite - cheque.
biblioteca de gráficos: matplotlib - ehm. Não.
Mas, como muitas vezes acontece com o Python, alguém, em algum lugar, já escreveu um kit de ferramentas kick-ass que é perfeito para o trabalho. E parece que o guiqt é apenas isso. Os gráficos interativos são apenas algumas linhas de código agora, veja um exemplo aqui: Criando caixa de diálogo de curva. Para isso eu usei um exemplo de código de guiqwt com alguns ajustes menores.
. Se eu soubesse como definir datas no eixo dos x.
Sexta-feira, 4 de novembro de 2018.
Como configurar o ambiente de desenvolvimento do Python.
2. Instale Tortoise SVN. Este é um utilitário que você precisa para extrair o código-fonte do Google Code.
3. Instalar Pandas (biblioteca de séries temporais)
Para obter o código, use o menu de contexto 'Windows Svn Checkout' do Windows Explorer que esteja disponível após a instalação do Tortoise SVN. Marque assim (mude o diretório Checkout para o local desejado, mas deve terminar com tradingWithPython):
Ok, tudo pronto, agora você pode executar os exemplos de \ cookbok dir.
Sexta-feira, 28 de outubro de 2018.
Os pandios kung fu resolverão seus problemas de dados.
Há algum tempo, encontrei um conjunto de ferramentas de análise de dados, especialmente adequado para trabalhar com dados financeiros. Depois de apenas arranhar a superfície de suas capacidades, eu já estou impressionado com o que entrega. O pacote está sendo desenvolvido ativamente por Wes McKinney e sua ambição é criar a ferramenta de análise / manipulação de dados de código aberto mais poderosa e flexível disponível. Bem, acho que ele está bem no caminho!
Aqui está o resultado:
Cara, isso poderia me salvar uma tonelada de tempo! Mas ainda vai me ajudar no futuro, pois vou usar seu objeto DataFrame como padrão no meu trabalho adicional.

Python EA.
O Python EA baseia-se na natureza reversa média das flutuações de preços durante as horas noturnas (das 20:00 às 08:00 para EET). O backtest foi conduzido a partir de 2005.
O Python EA coloca duas ordens limitadas em um período de tempo específico. Este consultor especialista não usa técnicas de martingale / grid ou gerenciamento de hedge.
O robô comercial Forex usa:
EMA diária para determinação da tendência; Níveis de suporte e resistência do canal de preços para a colocação ideal de pedidos de limite; Filtro de volatilidade; Time-stop e Stop-loss.
Prazo - M30. Moeda: GBP / USD. A EA pode ser testada por barras ou por todos os carrapatos.

Comments