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.