3 votos

Backtrader no muestra el tiempo cuando se hace el backtesting

Estoy tratando de respaldar una estrategia con Backtrader (no es la primera vez) y tienen un problema al imprimir la fecha y la hora de cada iteración (la hora se mantiene en 23:59:59). Aquí están las primeras líneas de mi conjunto de datos:

Dataset lines

Lo que está impreso en la consola:

Console log

Y por último, la forma en que cargo mis datos:

data = bt.feeds.GenericCSVData(dataname="BTCUSD_15MIN.csv",
                           datetime=0,
                           fromdate=datetime.datetime(2015,1,13),
                           todate=datetime.datetime(2015,1,15),
                           open=1,
                           high=2,
                           low=3,
                           close=4,
                           openinterest=-1,
                           time=-1,
                           volume=-1,
                           dtformat="%Y-%m-%d %H:%M:%S")

¿Alguien ya tiene este número? ¡Muchas gracias!

2voto

zazzy Puntos 11

Respuesta : Esta es la línea que solucionó mi problema:

timeframe=bt.TimeFrame.Ticks

Si está interesado en los resultados de la estrategia, es aquí .

2voto

NetPlayer Puntos 11

Eso seguro que sólo resolvió tu problema por casualidad (porque lo que elegiste es más pequeño que la realidad actual)

Sus datos son obviamente 15-minutes basada. Pero sin especificación, se dejan los valores por defecto en su lugar: bt.TimeFrame.Daily que le da la fin de la jornada para cada barra. No hay sorpresas.

Por lo tanto, la elección correcta sería:

timeframe=bt.TimeFrame.Minutes,
compression=15,

Esto se explica en el backtrader comunidad en varios posts y en las preguntas frecuentes.

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X