Ceci est une continuation de Dernière fois.
LESSON 6 The history() Function
La méthode data.history ()
[^ 1] récupère les données historiques.
Les arguments à passer sont les suivants.
position | mot-clé | valeur |
---|---|---|
1 | Instance de marque | |
2 | fields | 'price', 'open', 'high', 'low', 'close' |
3 | bar_count | Le nombre de données |
4 | frequency | la fréquence |
La valeur de retour sera de type pandas DataFrame. Dans l'exemple ci-dessous, le prix pour 10 jours d'AAPL est obtenu et la moyenne est calculée.
# Get the 10-day trailing price history of AAPL in the form of a Series.
hist = data.history(sid(24), 'price', 10, '1d')
# Mean price over the last 10 days.
mean_price = hist.mean()
En spécifiant «1d» dans le quatrième argument, les données sont acquises à une fréquence de tous les jours. Si vous spécifiez «1m», vous obtiendrez les données toutes les minutes.
Si vous spécifiez «1d», le prix de la journée est également inclus. Je pense que la moyenne jusqu'à la veille est souvent utilisée pour les transactions qui utilisent la moyenne mobile comme guide. Pour calculer la moyenne sur 10 jours jusqu'au jour précédent, écrivez comme suit.
data.history(sid(8554), 'volume', 11, '1d')[:-1].mean()
Similaire à data.current ()
introduit dans la LEÇON 5, si plusieurs marques sont spécifiées, le type DataFrame des pandas sera retourné.
# Get the last 5 minutes of volume data for each security in our list.
hist = data.history([sid(24), sid(8554), sid(5061)], 'volume', 5, '1m')
# Calculate the mean volume for each security in our DataFrame.
mean_volumes = hist.mean(axis=0)
S'il y a plusieurs marques et que plusieurs champs sont spécifiés, le type de panneau pandas [^ 2] sera renvoyé.
# Low and high minute bar history for each of our securities.
hist = data.history([sid(24), sid(8554), sid(5061)], ['low', 'high'], 5, '1m')
# Calculate the mean low and high over the last 5 minutes
means = hist.mean()
mean_lows = means['low']
mean_highs = means['high']
Le code ci-dessous génère le volume moyen d'AAPL, MSFT et SPY pendant 10 minutes.
def initialize(context):
# AAPL, MSFT, SPY
context.security_list = [sid(24), sid(8554), sid(5061)]
def handle_data(context, data):
hist = data.history(context.security_list, 'volume', 10, '1m').mean()
print hist.mean()
[^ 1]: Noté comme une méthode comme précédemment. [^ 2]: J'ai entendu dire que Panel est intégré à xray. Si quelqu'un connaît les détails, faites-le moi savoir.
Recommended Posts