[PYTHON] Quantopian Tutorial LEKTION 7

Dies ist eine Fortsetzung von Letztes Mal.

LESSON 7 Scheduling Functions

Trading Calendars Ich werde es überspringen, ich werde erklären, wann Futures herauskommen.

Scheduling Functions Bisher haben wir "handle_data ()" als Timing für die Ausführung des Algorithmus verwendet. Dies geschieht jede Minute, aber wenn Sie jede Minute handeln, werden Sie wahrscheinlich leicht gegen eine Gebühr bankrott gehen.

Selbstverständlich möchten Sie möglicherweise täglich oder monatlich verarbeiten. Die Funktion sched_function () kann den Algorithmus mit einer bestimmten Häufigkeit planen.

Position Schlüsselwortargument Wert
1 func Funktionsname ausgeführt werden
2 date_rules Tägliche Regeln
3 time_rules Zeiteinheitsregeln

Der folgende Code führt die Funktion "rebalance ()" jeden Tag eine Stunde nach Beginn der Transaktion aus [^ 1].

schedule_function(func=rebalance,
                  date_rules=date_rules.every_day(),
                  time_rules=time_rules.market_open(hours=1))

Wieder tauchten plötzlich die Instanzen date_rules und time_rules auf, obwohl sie nichts definiert hatten ... Dies scheint auch Quantopians eigene Regeln zu sein.

Die folgenden Methoden werden für die Objekte date_rules und time_rules bereitgestellt.

date_rules

time_rules

Der folgende Code führt die Funktion week_trades () 30 Minuten vor dem Ende eines jeden Wochenendes aus.

schedule_function(weekly_trades, date_rules.week_end(), time_rules.market_close(minutes=30))

Der folgende Code erweitert SPY zu Beginn der Woche um 10% des Portfolios und schließt die Position 30 Minuten vor Ende des Wochenendes. Der Code kann von hier aus geklont werden (https://www.quantopian.com/tutorials/getting-started#lesson7).

def initialize(context):
    context.spy = sid(8554)

    schedule_function(open_positions, date_rules.week_start(), time_rules.market_open())
    schedule_function(close_positions, date_rules.week_end(), time_rules.market_close(minutes=30))

def open_positions(context, data):
    order_target_percent(context.spy, 0.10)

def close_positions(context, data):
    order_target_percent(context.spy, 0)

schedule_function () wird übersprungen, wenn der Markt geschlossen ist. Sie können auch halbtägige Transaktionen überspringen, indem Sie "half_days = False" setzen.

Im Umgang mit Finanzdaten ist der Umgang mit Feiertagen sehr mühsam, daher bin ich für diesen Bereich dankbar.

LESSON 6<-->LESSON8


[^ 1]: time_rules.market_open () gibt normalerweise 9:30 zurück (ET: Eastern Standard Time).

Recommended Posts

Quantopian Tutorial LEKTION 10
Quantopian Tutorial LEKTION 8
Quantopian Tutorial LEKTION 6
Quantopian Tutorial LEKTION 9
Quantopian Tutorial LEKTION 5
Quantopian Tutorial LEKTION 7
Quantopian Tutorial LEKTION 4
Quantopian Tutorial LEKTION 11
PyODE Tutorial 2
Python-Tutorial
PyODE Tutorial 1
TensorFlow Tutorial Tutorial