2. So führen Sie einen Backtest durch
2.1. Einstiegspunkt und Konfigurationsmethode
Führen Sie den Backtest mit qt.run(op, mode=1, …) aus. Die Konfiguration kann vorab über qt.configure(…) eingestellt werden. Die an run übergebenen Kwargs werden mit der aktuellen Konfiguration zusammengeführt (an run übergebene Parameter haben Vorrang).
2.2. Vollständige Liste der Backtest-Laufzeitparameter (auflisten und kurz erläutern)
Im Folgenden sind die Hauptparameter im Zusammenhang mit dem Modus=1-Backtesting aufgeführt. Einzelheiten finden Sie in der aktuellen API qteasy 2.0.
Parametername |
Typ/optionale Werte |
Bedeutung |
|---|---|---|
asset_pool |
str oder Liste |
Backtest-Universum (Börsenticker usw.). |
asset_type |
str |
Vermögenswerttyp (z. B. „E“ für Aktien). |
invest_start |
str |
Startdatum des Backtests. |
invest_end |
str |
Enddatum des Backtests. |
invest_cash_amounts |
list/float |
Investieren Sie die Mittel zunächst oder in Raten. |
invest_cash_dates |
list |
Investitionsdaten entsprechend invest_cash_amounts (falls in Batches). |
trade_batch_size |
float |
Mindestmengeneinheit pro Trade (mindestens 0,01; für A-Aktien können Sie sie beispielsweise auf 100 festlegen, um ein Lot darzustellen). |
cost_rate_buy |
float |
Kaufkostensatz (Provisionen usw.). |
cost_rate_sell |
float |
Verkaufskostensatz. |
cost_min |
float |
Minimale Kosten pro Transaktion. |
allow_sell_short |
bool |
Ob Leerverkäufe erlaubt sind. |
trade_log |
bool |
Ob das Handelsprotokoll aufgezeichnet werden soll. |
visual |
bool |
Ob Visualisierungsdiagramme ausgegeben werden sollen. |
Weitere mögliche Parameter: Slippage, Handelseinheit, Stempelsteuer usw. Bitte lesen Sie die Dokumentation für qt.configure() oder führen Sie es aus.
2.3. Minimal lauffähiges Beispiel
import qteasy as qt
# 假设已配置数据源与 Operator
op = qt.Operator(strategies='dma', signal_type='PT', run_freq='d')
qt.configure(asset_pool='000001.SZ', invest_start='2020-01-01', invest_end='2023-12-31')
result = qt.run(op, mode=1)
2.4. Häufige Anwendungsfälle
Kosteneinstellungen: Verwenden Sie cost_rate_buy, cost_rate_sell und cost_min, um Provisionen und Stempelsteuern zu simulieren.
Handelseinheit: trade_batch_size steuert die minimale Handelseinheit (Minimum ist 0,01; für A-Aktien kann sie beispielsweise auf 100 Aktien eingestellt werden).
Ob Leerverkäufe zulässig sind:allow_sell_short=False bedeutet nur Long-Verkäufe.