Table of Contents Table of Contents
Previous Page  43 / 76 Next Page
Information
Show Menu
Previous Page 43 / 76 Next Page
Page Background

“paquetes de zipline” para ver si la descarga tuvo éxito. En

realidad, Zipline ya estaría listo para usarse y usted podría

realizar una prueba histórica de su primera estrategia.

El problema es que no se ha programado aún ninguna

estrategia.

Estrategia de trading

La simplicidad de Python y Zipline nos permitirá revisar

fácilmente la estrategia. Al principio, nos centra-

remos en 2 funciones: “initialize ()” y “handle_data ()”.

La función “initialize ()” se llama una vez en cada una

de las pruebas históricas al inicio. Por ejemplo, puede

utilizar esta función para definir parámetros iniciales. La

segunda función “handle_data ()” se llama durante las

pruebas históricas con cada entrada de datos. Entonces,

si se reciben datos de precio a diario, la función handle_

data () se llamará todos los días. En este artículo vamos

a comprar una acción a diario durante las pruebas histó-

ricas. Para implementarlo, se requiere un nuevo archivo

de Python. En este archivo se escribe “ from zipline.api

import order, symbol”. Esto significa que podrá importar

las siguientes funciones del paquete “ zipline “ y del

módulo “api “: “order ()” y “symbol ()”. Por ejemplo, podrá

utilizar la función order () para comprar acciones. La

función requiere los 2 parámetros “activo” y “cantidad”.

Como parámetros se pasarán las acciones y el número

de acciones “acción” y “cantidad”, aquellos que desee

comprar. Por otro lado, con la función “símbolo ()”, podrá

pasar una abreviatura de la acción a la función. Si desea

saber más acerca de las características incorporadas

en Zipline, puede utilizar la documentación Quantopian

(www.quantopian.com/help)

. Al definir las funciones

“initalize()” y “handle_data ()” seguramente notará que

el “contexto” está configurado como parámetro (no

introduciremos “datos” ahora porque no los usaremos

en absoluto). “Contexto” es un diccionario de Python

vacío que se usa para acceder a los objetos dentro de

las funciones que se configuran dentro de la función

“inicializar ()”. También podrá leerlo con más detalle

en la documentación, el resto le quedará más claro con

ejemplos. Busque el código fuente en la imagen 2.

TRADERS´ 03.2019

HERRAMIENTAS

Realizar las pruebas históricas

Si desea ejecutar el algoritmo, vuelva ahora al terminal

desde donde ya se ha iniciado el entorno de Python con

el paquete “zipline”. Escriba allí el comando “zipline run

-f C: /Users/alank/Desktop

/test.py

--start 2016-1-1 -

end 2018-1-1 -b quantopian-quandl “. Luego ejecute las

pruebas históricas hasta llegar a la salida (ver imagen

3). El archivo en el que se encuentra el algoritmo lo

podrá encontrar en la siguiente ruta “C: / Users / alank

/Desktop

/test.py”

. La ruta está marcada con la opción

“-f”. A ello le sigue la definición de las fechas en donde

se indica desde cuándo a cuándo se deben ejecutar las

pruebas históricas. Las opciones “--start” y “--end” se

usan con esta finalidad. Por último, usted especifica qué

paquete de datos se debe usar para las pruebas histó-

ricas. Utilizaremos el paquete de datos previamente

descargado “ quantopian-quandl “.

Conclusión

En esta parte de nuestra serie de artículos, hemos

analizado la instalación de Zipline y su uso práctico en

pruebas históricas con las que le hemos ofrecido una

descripción general del proceso. Seguramente aún le

podrán quedar algunas preguntas las cuales las acla-

raremos en la siguiente parte de esta serie de artículos.

En esta nueva parte entraremos en los detalles sobre la

implementación práctica.

Cuántica

Quantopian es una empresa que provee una pla-

taforma para programar y preparar algoritmos

de trading para analistas cuánticos. En el caso de

algoritmos profesionales, es posible eventualmente

crear una conexión a los fondos de cobertura, para

que luego dichos fondos nos puedan comprar o pro-

mover el algoritmo. Más información sobre todo ello

en

www.quantopian.com

.

Al definir las funciones “initalize()” y “handle_data ()” seguramente

notará que el “contexto” está configurado como parámetro.

43