Ich bin relativ neu in Pandas und versuche einen Crossover-Trading-Strategie-Backtest zu erstellen. Es lief gut, bis ich versuchte, die Rentabilität von Long-Trades durch Erstellen eines DataFrame zu erhalten. Ich bekomme weiterhin die Fehlermeldung "ValueError: Array-Länge 4 stimmt nicht mit Index-Länge 5 überein". Hier ist der Code, der mir Probleme gibt.Array-Länge 4 stimmt nicht überein Index Länge 5 Fehlermeldung
Dextera_long_profits = pd.DataFrame({
"Price": Dextera_signals.loc[(Dextera_signals["Signal"] == "Buy") &
Dextera_signals["Regime"] == 1, "Price"],
"Profit": pd.Series(Dextera_signals["Price"] - Dextera_signals["Price"].shift(1)).loc[
Dextera_signals.loc[(Dextera_signals["Signal"].shift(1) == "Buy") & (Dextera_signals["Regime"].shift(1) == 1)].index
].tolist(),
"End Date": Dextera_signals["Price"].loc[
Dextera_signals.loc[(Dextera_signals["Signal"].shift(1) == "Buy") & (Dextera_signals["Regime"].shift(1) == 1)].index
].index
})
Dextera_long_profits
print(Dextera_long_profits)
Ich würde vorschlagen, Ihren Code neu zu formatieren, damit es ein wenig lesbarer ist. –
'&' hat eine höhere Priorität als '==', also vielleicht '(Dextera_signals [" Signal "] ==" Kaufen ") & Dextera_signals [" Regime "] == 1 'bewertet auf den falschen Wert? –