Ich schreibe einen Algo, um die Preisänderungen einer gegebenen Liste von Aktien jeden Tag zu bewerten. Im Moment arbeite ich mit zwei Aktien: Apple und Amex. Ich möchte sie von der größten Preisveränderung zur geringsten Preisveränderung täglich einordnen.Ranking Tägliche Preisänderungen
Zum Beispiel die Daten, die ich habe sieht wie folgt aus:
Tag 1:
AAPL = 60,40
AMX = 15.50
Tag 2:
AAPL = 61.00
AMX = 15.60
Und ich möchte, dass das Ergebnis so aussieht, mit der höchsten positiven Änderung, um Faust zu rangieren. Ist das möglich?
Wechsel:
AAPLchg = .60 Rang 1
AMXchg = 0,10 Rang 2
Dies ist, was ich bisher:
def handle_data(context, data):
price_history = data.history(context.security_list, "price", bar_count=2, frequency="1d")
for s in context.security_list:
PrevAMX = price_history[sid(679)][-2]
CurrAMX = price_history[sid(679)][1]
PrevAAPL = price_history[sid(24)][-2]
CurrAAPL = price_history[sid(24)][1]
AMXchg = CurrAMX - PrevAMX
AAPLchg = CurrAAPL - PrevAAPL
if AMXchg < AAPLchg:
order(sid(679), 20)
if AAPLchg < AMXchg:
order(sid(24), 20)
price_history = data.history(context.security_list, "price", 20, "1d")
print price_history.mean()
print AMXchg
print AAPLchg
print log.info(str(context.chg_list.sort('adv_rank', descending=True).head()))
Sicher gibt es, was hast du bisher versucht. Im Moment gibt es zu viele mögliche Antworten. – MooingRawr
context.chg_list = [AMXchg, AAPLchg] price_history = data.history (context.security_list, "Preis", 20, "1D") Druck price_history.mean() Druck AMXchg Druck AAPLchg Druck log.info (str (context.chg_list.sort ('adv_rank', absteigend = True) .head())) –
Bitte bearbeiten Sie Ihre Frage, um zu enthalten, was Sie mit der richtigen Formatierung versucht haben, nicht im Kommentar. – MooingRawr