2017-11-24 2 views
3

Ich versuche, eine Strategie mit Backtrader Backtest und ein Problem beim Drucken Datum & Zeit für jede Iteration (Zeit bleiben 23:59:59).Warum zeigt Backtrader beim Backtesting keine Zeit an?

Hier sind die ersten Zeilen meines Datensatzes:

Lines of dataset

Was auf der Konsole gedruckt wird:

Console log

Und schließlich, wie ich meine Daten laden:

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") 

Hat jemand Hast du schon dieses Problem?

Antwort

1

diese Zeile in den Datenfeed Hinzufügen sortiert mein Problem aus:

timeframe=bt.TimeFrame.Ticks 

Wenn in der Strategie Ergebnis interessiert, es here ist.

2

Das ist sicher nur Ihr Problem durch Zufall gelöst (weil das, was haben Sie sich kleiner als die tatsächliche Realität ist)

Ihre Daten sind offensichtlich 15-minutes basiert. Aber ohne Spezifikation, lassen Sie die Standardwerte an Ort und Stelle: bt.TimeFrame.Daily, die Sie die Ende des Tages für jeden Balken gibt. Keine Überraschungen dort.

Die richtige Wahl wäre daher:

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

Dies erklärt sich in der backtrader Gemeinschaft in mehreren Stellen und in der FAQ.

Verwandte Themen