Cómo instalar Zipline en Ubuntu Linux

tirolesa es un algoritmo trading biblioteca construida en Python. Fue utilizado en producción por Quantopian, que es una plataforma alojada para construir e investigar trading estrategias.

Zipline es un excelente sistema para trading investigación y desarrollo del sistema. En este artículo, solo repasaremos los detalles para instalar y probar la instalación. Zipline es una plataforma compleja con múltiples partes. Si se encuentra con algún error, desplácese hasta la solución de problemas de instalación.

Instalar Miniconda

Tú puedes descargar Miniconda desde el sitio web, o use wget en la terminal. Cuando ejecute el script de shell, siga las indicaciones.

$ wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
$ chmod +x Miniconda3-latest-Linux-x86_64.sh
$ ./Miniconda3-latest-Linux-x86_64.sh
... follow the prompts
$ conda update conda

instalar tirolesa

Crearemos un entorno para instalar Zipline, luego lo activaremos configurándolo como nuestro entorno actual y luego instalaremos todos los paquetes necesarios. Debe configurar explícitamente la versión de python como se muestra a continuación.

$ conda create -n env_zipline python=3.5
$ conda activate env_zipline
$ conda install -c Quantopian zipline

Agreguemos bibliotecas útiles adicionales e ingiramos datos de Quandl. Tenga en cuenta que estoy usando pip para instalar Pyfolio. La versión de Pyfolio instalada con Conda estaba significativamente desactualizada y su uso causará problemas. Si falta algún paquete durante la instalación, use conda o pip install en ese orden. La última línea requerirá que tenga un Quandl cuenta con una clave API asociada. Reemplace your_key_here con su clave API de Quandl. Según su conexión a Internet y la velocidad de procesamiento, la ingesta de zipline puede llevar algún tiempo.

$ conda install jupyter matplotlib
$ conda install -c conda-forge alphalens
$ pip install pyfolio
$ QUANDL_API_KEY=your_key_here zipline ingest -b quandl
$ zipline ingest -b quantopian-quandl

Tirolesa de prueba

Cree un archivo llamado dual_moving_average.py con lo siguiente:

from zipline.api import order_target, record, symbol

def initialize(context):
	context.i = 0
	context.asset = symbol('AAPL')

def handle_data(context, data):
# Skip first 300 days to get full windows
	context.i += 1
	if context.i < 300:
		return

	# Compute averages
	# data.history() has to be called with the same params
	# from above and returns a pandas dataframe.
	short_mavg = data.history(context.asset, 'price', bar_count=100, frequency="1d").mean()
	long_mavg = data.history(context.asset, 'price', bar_count=300, frequency="1d").mean()

	# Trading logic
	if short_mavg > long_mavg:
		# order_target orders as many shares as needed to
		# achieve the desired number of shares.
		order_target(context.asset, 100)
	elif short_mavg < long_mavg:
		order_target(context.asset, 0)

	# Save values for later inspection
	record(AAPL=data.current(context.asset, 'price'),
			short_mavg=short_mavg,
			long_mavg=long_mavg)

Ejecute Zipline usando el siguiente comando que produce el siguiente resultado:

$ zipline run -f dual_moving_average.py --start 2014-1-1 --end 2018-1-1 -o dma.pickle

INFO: zipline.finance.metrics.tracker: Simulated 1007 trading days
first open: 2014-01-02 14:31:00+00:00
last close: 2017-12-29 21:00:00+00:00

Si su sistema simuló el 1007[[trading dias/cuantos-trading-días-en-un-año), ya está todo listo para seguir los próximos artículos. Si tiene algún problema, comente a continuación o envíeme un mensaje en Twitter e intentaré ayudarlo.

Solución de problemas

Si tiene algún problema durante la instalación de Zipline, consulte la Problemas de Zipline Github y Tirolesa Grupos de Google paginas Además, asegúrese de que sus versiones estén actualizadas y de que tenga instalados los paquetes de Quandl. Veremos cómo crear nuestros propios paquetes en un artículo posterior.

$ conda list
$ zipline bundles

Errores específicos

Deja un comentario