2. So führen Sie eine Strategieoptimierung durch

2.1. Einstiegspunkt und gemeinsame Kwargs

Führen Sie die Strategieoptimierung mit qt.run(op, mode=2, ...) durch. Zu den gängigen Argumenten gehören opti_method, opti_sample_count, opti_output_count und andere.

2.2. Vollständige Liste der Optimierungsalgorithmen (mit kurzen Erläuterungen)

Im Folgenden sind allgemeine opti_method-Werte und typische Anwendungsfälle aufgeführt; Beziehen Sie sich auf die qteasy 2.0-API als Quelle der Wahrheit.

Algorithmus

Bedeutung

Typischer Anwendungsfall

grid

Rastersuche

Wenige Parameter, diskreter Raum; umfassende oder grobe Rastersuche.

montecarlo

Monte-Carlo-Zufallsstichprobe

Zufallsstichprobe bei vielen Parametern.

GA

Genetischer Algorithmus

Mittlere bis hohe Abmessungen; kontinuierliche/diskrete Mischräume.

SA

Simuliertes Glühen

Mittlere Abmessungen; hilfreich, wenn lokale Optima ein Problem darstellen.

PSO

Partikelschwarmoptimierung

Kontinuierlicher Raum mit mehreren Gipfeln.

bayesian

Bayesianische Optimierung

Teure Bewertungen; Sie benötigen gute Ergebnisse in wenigen Schritten.

2.3. Vollständige Liste der Optimierungslaufparameter (mit kurzen Erläuterungen)

Parametername

Typ/Werte

Bedeutung

opti_method

str

Optimierungsalgorithmus: „grid``, ``montecarlo``, ``GA``, ``SA``, ``PSO``, ``bayesian“ usw.

opti_sample_count

int

Anzahl der Stichproben/Iterationen (z. B. Monte-Carlo-Stichproben oder GA-Generationen).

opti_output_count

int

Anzahl der besten Ergebnisse, die beibehalten werden sollen (Top-K).

Zielfunktion

Z. B. Sharpe Ratio oder Drawdown; siehe Konfigurations- oder API-Dokumente.

Einschränkungen

Wenn Einschränkungen gelten (z. B. maximales Drawdown-Limit), siehe Konfiguration.

Backtest-Datumsbereich: „asset_pool``, and other arguments shared with ``mode=1`` also apply in ``mode=2“.

2.4. Parameterraum

Die Parameter-Objekte und par_range der Strategie definieren den Suchraum; Das Framework probiert oder durchsucht darin gemäß „opti_method“.

2.5. Minimales lauffähiges Beispiel

import qteasy as qt

op = qt.Operator(strategies='dma', signal_type='PT', run_freq='d')
# dma 策略带 short_period、long_period 等可调参数
qt.configure(asset_pool='000001.SZ', invest_start='2020-01-01', invest_end='2023-12-31')
result = qt.run(op, mode=2, opti_method='grid', opti_sample_count=100, opti_output_count=10)

2.6. Konfigurations-Highlights

  • Backtest-Bereich und Asset-Pool: Wie „mode=1“; Sie definieren die Backtest-Umgebung für jede Parameterbewertung.

  • Zielfunktion: Definiert, was „besser“ bedeutet (z. B. Sharpe maximieren oder Drawdown minimieren) und beeinflusst das Ranking und die endgültige Auswahl.