[PYTHON] Tutoriel Quantopian LESSON 7

Ceci est une continuation de Dernière fois.

LESSON 7 Scheduling Functions

Trading Calendars Je vais sauter, je vais vous expliquer quand les futurs sortiront.

Scheduling Functions Jusqu'à présent, nous avons utilisé handle_data () comme timing pour exécuter l'algorithme. Cela se fait toutes les minutes, mais si vous négociez chaque minute, vous risquez de faire faillite facilement moyennant des frais.

Bien entendu, vous voudrez peut-être traiter quotidiennement ou mensuellement. La fonction schedule_function () peut programmer l'algorithme à une fréquence spécifiée.

position Argument de mot-clé valeur
1 func Nom de la fonction à exécuter
2 date_rules Règles quotidiennes
3 time_rules Règles d'unité de temps

Le code ci-dessous exécute la fonction rebalance () tous les jours, une heure après le début de la transaction [^ 1].

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

Une fois de plus, les instances date_rules et time_rules sont soudainement apparues même si elles ne définissaient rien ... Cela semble aussi être les propres règles de Quantopian.

Les méthodes suivantes sont fournies pour les objets "date_rules" et "time_rules".

date_rules

time_rules

Le code ci-dessous exécute la fonction week_trades () 30 minutes avant la fin de chaque week-end.

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

Le code ci-dessous prolonge SPY de 10% du portefeuille en début de semaine et ferme la position 30 minutes avant la fin du week-end. Le code peut être cloné à partir d'ici (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 () est ignoré si le marché est fermé. Vous pouvez également ignorer les transactions d'une demi-journée en définissant half_days = False.

En ce qui concerne les données financières, la gestion des vacances est très gênante, je suis donc reconnaissante pour ce domaine.

LESSON 6<-->LESSON8


[^ 1]: time_rules.market_open () renvoie normalement 9:30 (ET: heure normale de l'Est).

Recommended Posts

Tutoriel Quantopian LESSON 10
Tutoriel Quantopian LEÇON 8
Tutoriel Quantopian LESSON 6
Tutoriel Quantopian LEÇON 9
Tutoriel Quantopian LESSON 5
Tutoriel Quantopian LESSON 7
Tutoriel Quantopian LEÇON 4
Tutoriel Quantopian LEÇON 11
Tutoriel PyODE 2
Tutoriel Python
Tutoriel PyODE 1
Tutoriel du didacticiel TensorFlow