Ceci est une continuation de Dernière fois.
LESSON 8 Your Portfolio and Plotting Variables
context.portfolio
C'est un objet context qui a été utilisé comme une soucoupe pour les variables globales, mais un objetportfolio est fourni en dessous. Cet objet contient diverses informations (propriétés) sur le portefeuille.
| Propriétés | Contenu | 
|---|---|
| capital_used | Espèces consommées par la transaction | 
| cash | Trésorerie restante dans le portefeuille | 
| pnl | Gains et pertes réalisés et gains et pertes non réalisés | 
| positions | Toutes les positions ouvertes saisies par ID de sécurité | 
| portfolio_value | Total de la trésorerie et des positions ouvertes | 
| positions_value | Total des positions ouvertes | 
| rendements | Gains / pertes cumulés de position (10% de rendement = 0,1) | 
| starting_cash | Capital initial | 
| start_date | Date et heure de début (UTC), date et heure d'exécution de l'algorithme dans le cas du trading en direct | 
Le code ci-dessous ferme tous les postes que vous possédez.
for security in context.portfolio.positions:
    order_target_percent(security, 0)
Plotting Variables
Vous pouvez représenter graphiquement les données que vous souhaitez enregistrer en utilisant la fonction record (). Jusqu'à 5 types de données peuvent être enregistrés (tracé).
Le code ci-dessous enregistre les liquidités utilisées et les liquidités restantes en utilisant la fonction recode () à la clôture quotidienne, exécutant chaque jour 50% des longs AAPL et des shorts SPY. [^ 1]
def initialize(context):
    context.aapl = sid(24)
    context.spy = sid(8554)
    schedule_function(rebalance, date_rules.every_day(), time_rules.market_open())
    schedule_function(record_vars, date_rules.every_day(), time_rules.market_close())
def rebalance(context, data):
    order_target_percent(context.aapl, 0.50)
    order_target_percent(context.spy, -0.50)
def record_vars(context, data):
    record(capital_used=context.portfolio.capital_used,
           cash=context.portfolio.cash)

[^ 1]: [Code du didacticiel original] modifié (https://www.quantopian.com/tutorials/getting-started#lesson8).
Recommended Posts