Nota de la API de Yahoo :
[2018-11-16] Después de algunas pruebas, parece que las descargas de datos se pueden confiar nuevamente en la interfaz web (o API v7 )Entradas
El sistema de boletos es (en realidad) la mayoría de las veces abusadas de pedir consejos sobre muestras.
Para comentarios/preguntas/... use la comunidad
Aquí un fragmento de un crossover de promedio móvil simple. Se puede hacer de varias maneras diferentes. ¡Use los documentos (y ejemplos) Luke!
desde la importación de fecha y hora de fecha y hora
Importar Backtrader como BT
Clase 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 ()
Incluyendo una tabla completa. ¡Probar! Esto se incluye en las muestras como sigsmacross/sigsmacross2.py . A lo largo está sigsmacross.py que se puede parametrizar desde la línea de comando.
Plataforma de comercio y prueba de retroceso en vivo escrita en Python.
- Alimentación de datos en vivo y comercio con
- Corredores interactivos (necesita
IbPyy beneficios en gran medida de unpytzinstalado)- Gráfico visual (necesita una bifurcación de
comtypeshasta que se integre una solicitud de extracción en el lanzamiento y los beneficios depytz)- OANDA (necesita
oandapy) (API REST solamente - V20 no admitió la transmisión cuando se implementó)- Feeds de datos de CSV/archivos, fuentes en línea o de Pandas y Blaze
- Filtros para datos, como romper una barra diaria en trozos para simular intradía o trabajar con ladrillos Renko
- Múltiples alimentos de datos y múltiples estrategias compatibles con
- Múltiples plazos a la vez
- Revuestre y reproducción integrados
- Backtesting paso a paso o a la vez (excepto en la evaluación de la estrategia)
- Batería integrada de indicadores
- Soporte del indicador TA-liber (necesita python ta-lib / verificar los documentos)
- Desarrollo fácil de indicadores personalizados
- Analizadores (por ejemplo: Timereturn, Sharpe Relation, SQN) e integración
pyfolio( en desuso )- Definición flexible de esquemas de comisión
- Simulación integrada de corredores con mercado , cierre , límite , parada , stoplimit , stopTrail , stopTraillimit *y *OCO , pedidos de soporte, deslizamiento, estrategias de llenado de volumen y ajuste continuo en efectivo para instrumentos de forma futura
- Sizers for Automated Apartning
- Modos de trampa de cerca y de trampa abierta
- Planificadores
- Calendarios comerciales
- Trazar (requiere matplotlib)
El blog:
- Blog
Lea la documentación completa en:
- Documentación
Lista de indicadores incorporados (122)
- Referencia de indicadores
- Python> =
3.2- También funciona con
pypyypypy3(sin trazar -matplotlibno es compatible con Pypy )
backtrader es autónomo sin dependencias externas (excepto si desea trazar)
De Pypi :
pip install backtrader
pip install backtrader[plotting]Si
matplotlibno está instalado y desea hacer un trazado
Nota
La versión mínima de matlotlib es 1.4.1
Un ejemplo para Feeds/Comercio de datos IB :
IbPyno parece estar en Pypi. Haz o:Pip install git+https: //github.com/blampe/ibpy.gito (si
gitno está disponible en su sistema):PIP Instale https://github.com/blampe/ibpy/archive/master.zip
Para otras funcionalidades como: Visual Chart , Oanda , TA-Lib , verifique las dependencias en la documentación.
De la fuente:
- Coloque el directorio Backtrader que se encuentra en las fuentes dentro de su proyecto
Xyzi
- X: número de versión principal. Debe mantenerse estable a menos que algo grande cambie como una revisión para usar
numpy- Y: número de versión menor. Ser cambiado al agregar una nueva característica completa o (Dios prohíbe) un cambio de API incompatible.
- Z: Número de versión de revisión. Para ser cambiado para actualizaciones de documentación, pequeños cambios, pequeñas correcciones de errores
- I: Número de indicadores ya integrados en la plataforma