API do Yahoo Nota :
[2018-11-16] Após alguns testes, parece que os downloads de dados podem ser novamente confiados na interface da web (ou API v7 )Ingressos
O sistema de ingressos é (na verdade) na maioria das vezes abusado em pedir conselhos sobre amostras.
Para feedback/perguntas/... use a comunidade
Aqui, um trecho de um crossover de média móvel simples. Isso pode ser feito de várias maneiras diferentes. Use os documentos (e exemplos) Luke!
Do DateTime Import DateTime
importar backtrader como BT
Classe Smacross (Bt.SignalStrategy):
def __init __ (self):
sma1, sma2 = bt.ind.sma (período = 10), bt.ind.sma (período = 30)
crossover = bt.ind.crosSover (sma1, sma2)
self.signal_add (Bt.signal_long, crossover)
cerebro = bt.cerebro ()
cerebro.addstrategy (Smacross)
data0 = bt.feeds.yahoofinancedata (dataname = 'msft', fromdate = dateTime (2011, 1, 1),
Todate = DateTime (2012, 12, 31))
cerebro.adddata (Data0)
cerebro.run ()
cerebro.plot ()
Incluindo um gráfico completo. Experimente! Isso está incluído nas amostras como sigsmacross/sigsmacross2.py . Ao longo, é sigsmacross.py , que pode ser parametrizado na linha de comando.
Plataforma de negociação e teste ao vivo escrita em Python.
- Feed de dados ao vivo e negociação com
- Corretores interativos (precisa de
IbPye se beneficia muito de umpytzinstalado)- O gráfico visual (precisa de um garfo de
comtypesaté que uma solicitação de tração seja integrada na liberação e benefícios dopytz)- Oanda (precisa de
oandapy) (apenas API REST - V20 não suportou o streaming quando implementado)- Feeds de dados de CSV/arquivos, fontes online ou de pandas e incêndios
- Filtros de dados, como quebrar um bar diário em pedaços para simular intradiário ou trabalhar com tijolos Renko
- Vários feeds de dados e várias estratégias suportadas
- Vários prazos de uma só vez
- Reamostragem integrada e reprodução
- Passo a passo backtesting ou de uma só vez (exceto na avaliação da estratégia)
- Bateria integrada de indicadores
- Suporte ao indicador TA-LIB (precisa de python ta-Lib / verifique os documentos)
- Fácil desenvolvimento de indicadores personalizados
- Analisadores (por exemplo: TimeReTurn, Sharpe Ratio, SQN) e Integração
pyfolio( depreciado )- Definição flexível de esquemas de comissão
- Simulação de corretor integrado com mercado , fechamento , limite , stop , stoplimit , stoptrail , stoptrailliMit *e *ordens OCO , ordem de suporte, desvie, estratégias de enchimento de volume e ajuste contínuo de caixa para instrumentos futuros
- Sizers para apostar automatizados
- Modos de trapaça em trapaça e trapaça
- Agendadores
- Calendários de negociação
- Plotagem (requer matplotlib)
O blog:
- Blog
Leia a documentação completa em:
- Documentação
Lista de indicadores internos (122)
- Referência de indicadores
- Python> =
3.2- Ele também funciona com
pypyepypy3(sem plotagem -matplotlibnão é suportado sob Pypy )
backtrader é independente, sem dependências externas (exceto se você quiser plotar)
De Pypi :
pip install backtrader
pip install backtrader[plotting]Se
matplotlibnão estiver instalado e você deseja fazer algumas pistas
Observação
A versão mínima do matplotlib é 1.4.1
Um exemplo para feeds/negociação de dados IB :
IbPynão parece estar em Pypi. Faça:pip install git+https: //github.com/blampe/ibpy.gitou (se
gitnão estiver disponível no seu sistema):pip install https://github.com/blampe/ibpy/archive/master.zip
Para outras funcionalidades como: Visual Chart , Oanda , TA-Lib , verifique as dependências na documentação.
Da fonte:
- Coloque o diretório de backtrader encontrado nas fontes dentro do seu projeto
Xyzi
- X: Número da versão principal. Deve permanecer estável, a menos que algo grande mude como uma revisão para usar
numpy- Y: Número da versão menor. A ser alterado ao adicionar um novo recurso completo ou (Deus proíbe) uma mudança de API incompatível.
- Z: Número da versão da revisão. Para ser alterado para atualizações de documentação, pequenas mudanças, pequenas correções de bugs
- I: Número de indicadores já embutidos na plataforma