2. Cómo ejecutar una prueba retrospectiva
2.1. Punto de entrada y método de configuración.
Ejecute la prueba retrospectiva usando qt.run(op, mode=1, …). La configuración se puede establecer de antemano a través de qt.configure(…). Los kwargs pasados para ejecutar se fusionarán con la configuración actual (los parámetros pasados para ejecutar tienen prioridad).
2.2. Lista completa de parámetros de tiempo de ejecución de backtest (enumere y explique brevemente)
Los siguientes son los principales parámetros relacionados con el backtesting del modo = 1; consulte la API qteasy 2.0 actual para obtener más detalles.
Nombre del parámetro |
Tipo/valores opcionales |
Significado |
|---|---|---|
asset_pool |
cadena o lista |
Universo de backtest (tickers de acciones, etc.). |
asset_type |
str |
Tipo de activo (por ejemplo, “E” para acciones). |
invest_start |
str |
Fecha de inicio del backtest. |
invest_end |
str |
Fecha de finalización del backtest. |
invest_cash_amounts |
list/float |
Invierta los fondos inicialmente o en cuotas. |
invest_cash_dates |
list |
Fechas de inversión correspondientes a invest_cash_amounts (si son en lotes). |
trade_batch_size |
float |
Unidad de cantidad mínima por operación (mínimo 0,01; por ejemplo, para acciones A puede establecerlo en 100 para representar un lote). |
cost_rate_buy |
float |
Comprar tasa de coste (comisiones, etc.). |
cost_rate_sell |
float |
Tasa de costo de venta. |
cost_min |
float |
Costo mínimo por transacción. |
allow_sell_short |
bool |
Si se permiten las ventas en corto. |
trade_log |
bool |
Si se debe registrar el registro comercial. |
visual |
bool |
Ya sea para generar gráficos de visualización. |
Otros parámetros posibles: deslizamiento, unidad comercial, impuesto de timbre, etc. Consulte la documentación para qt.configure() o ejecute.
2.3. Ejemplo mínimo ejecutable
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. Casos de uso comunes
Configuración de costos: utilice cost_rate_buy, cost_rate_sell y cost_min para simular comisiones y derechos de timbre.
Unidad de negociación: trade_batch_size controla la unidad de negociación mínima (el mínimo es 0,01; por ejemplo, para las acciones A se puede establecer en 100 acciones).
Si se permiten las ventas en corto: enable_sell_short=False significa solo posiciones largas.