Table of Contents Table of Contents
Previous Page  68 / 84 Next Page
Information
Show Menu
Previous Page 68 / 84 Next Page
Page Background

BÁSICOS

68

TRADERS´ 07/08.2018

operar sobre él, vamos a disponer de la misma resolución

de datos cuando nos conectemos al mercado a tiempo

real, y eso es mucho suponer: lo más común es que ni

dispongamos de dicha granularidad ni seamos capaces

de actuar sobre ella para capturar el siguiente tick.

Así que será mucho mejor para nosotros reconvertir la

información de ticks en un formato tradicional de velas,

con precios Open, High, Low, Close que resumen la acti-

vidad en un determinado intervalo de tiempo, así como

un Volumen agregado. Esta operación se conoce como

resampling (o, para ser exactos, upsampling ya que

pasamos de mayor a menor granularidad temporal) y

backtrader cuenta con recursos propios para manejar

la tarea sin ningún problema, basta con cargar los datos

mediante la función resampledata en lugar de adddata y

proporcionar unos pocos parámetros adicionales acerca

de cómo queremos que se realice el proceso. Por nuestra

parte, como vamos a estar iterativamente ejecutando una

serie de backtests sobre los mismos datos preferimos

guardar previamente los datos resumidos en disco para

acelerar significativamente el trabajo; esa es la función

de nuestro archivo

Resample.py

. Para nuestro artículo

hemos elegido una resolución de 15 minutos – un tiempo

razonable para operar, además del hecho de que muchas

fuentes de información están retrasadas 15 minutos en

su versión de acceso libre – obteniendo pero si lo desea

puede modificar la propiedad mins por otro valor en

minutos para obtener una granularidad diferente.

El archivo resultante, krakenUSD_15m.csv, además de ser

muchísimo más compacto y manejable (6 MB en lugar de

500), cuenta ya con un formato directamente legible por

backtrader - con la salvedad de que deberemos rellenar

el Open Interest con valores nulos porque carecemos de

dicha información.

Date,Open,High,Low,Close,Volume

2014-01-07 18:30:00,883.32614,892.06753,874.48165,

874.48165,0.04276811

2014-01-07 19:15:00,866.10944,866.10944,860.0,860.0,

0.17440196000000002

2014-01-07 19:30:00,870.0,870.0,830.00001,835.02002,

6.227191829999995

Benchmark: Escenario Base

Es importante resaltar que para mantener todos nuestros

tests ceteris paribus operaremos siempre una cuenta de

apenas 1,000 EUR, entrando o saliendo del mercado prácti-

camente con todo el capital disponible en cuenta (menos un

margen de seguridad del 5%). Para acercar nuestro entorno

lo más posible a las condiciones reales del mercado, apli-

caremos una comisión del 0.3% tanto a las entradas como

a las salidas, y tendremos en cuenta el volumen de la barra

actual, suponiendo que, debido a la presencia de otros

operadores, sólo podemos aspirar a un 25% del volumen de

cada barra para llenar nuestras órdenes.

También incluiremos en nuestro sistema un leve apalan-

camiento de 2. Dicho apalancamiento no es fundamental

para que el sistema opere, pero nos permite extraer un

plus de rentabilidad en los momentos de subida libre –

aunque por otro lado hará más peligrosos los momentos

de caída libre, ya que el efecto multiplicador del apalan-

camiento opera tanto para las pérdidas como para las

ganancias. Por supuesto, este

apalancamiento no implica que

nuestro bróker nos posibilite operar

con cuentas apalancadas o comprar

con margen, puede ser tan sencillo

como pedir prestado otros 10,000

EUR a nuestro tío rico con el acuerdo

de devolverle dicho capital inicial al

final de nuestro periodo de inversión.

Finalmente, para evaluar si nuestro

sistema es bueno o no, hemos de

compararlo siempre con un esce-

nario base o benchmark. Ya que en

el fondo queremos evaluar si nuestra

acción sobre la criptodivisa produce

un resultado positivo, lo más sensato

será compararlo con… no actuar. Es

decir, una estrategia pasiva consis-

tente simplemente en comprar y

Al tratarse de una estrategia “Buy and Hold”, toda la actividad compradora se concentra en los periodos

iniciales y se mantiene hasta el final.

Fuente:

www.backtrader.com

G1

Resultados del backtest de benchmark