2. Conceptos básicos de un vistazo

Este capítulo organiza los conceptos básicos de qteasy en tablas y notas breves, lo que facilita su búsqueda rápida al leer capítulos posteriores o al utilizar la API. Para obtener una estructura y relaciones más completas, consulte [Enfoque general de arquitectura y diseño] (00-overview.md).

2.1. 1. 概念表(名称 / 含义 / 在文档中的位置)

Concepto

Significado

Dónde encaja en esta serie

DataSource

Una abstracción del almacenamiento de datos local que gestiona tablas de datos históricos en archivos o bases de datos y no extrae datos de forma proactiva.

Adquisición de datos, almacenamiento y tipos de datos

Tabla de datos

Tablas en DataSource que almacenan datos de mercado, financieros, macroeconómicos y de otro tipo en una estructura unificada.

Adquisición de datos, almacenamiento y tipos de datos

DataType

Una descripción de tipo de «información a la que una estrategia puede hacer referencia», determinada por nombre, frecuencia, tipo de activo, etc.

Recuperación de datos, almacenamiento y tipos de datos, Cómo las estrategias declaran y utilizan los datos

htype

Nombre del tipo de datos históricos (por ejemplo, cerrar, abrir), que a menudo se usa junto con frecuencia y tipo_activo para identificar un tipo de datos.

Adquisición de datos, almacenamiento y tipos de datos

dtype_id

El identificador único de DataType, en el formato name_assettype_freq (por ejemplo, close_E_d)

Consulte «Composición y ejemplos de dtype_id» a continuación.

Operator

El contenedor de estrategias y el punto de entrada de ejecución; contiene una lista de grupos y group_timing_table, y proporciona run(config)

Operator y Grupo

Group

Una colección de estrategias con el mismo run_freq y run_timing, con un signal_type y un blender

Operator y Grupo

Strategy

La clase de estrategia base y sus subclases; declara tipos de datos/longitud de ventana y parámetros, e implementa realizar()

Cómo se ejecuta una estrategia

run_freq

La frecuencia de ejecución de una estrategia (grupo), por ejemplo, 'd' para diario, 'm' para mensual.

Operator y Grupo

run_timing

Cuando una estrategia (grupo) se ejecuta dentro de un período, por ejemplo, 'close' al cierre, 'open' al abrir.

Operator y Grupo

group_timing_table

Una tabla de Paso de tiempo × Grupo que marca qué grupos se ejecutan en cada paso de tiempo.

Operator y Grupo

blender

Cómo se combinan las señales de múltiples estrategias dentro del mismo grupo (expresión o reglas predeterminadas)

Operator y Grupo

signal_type

Tipos de señales: PT (posición objetivo), PS (compra/venta proporcional), VS (compra/venta de cantidad)

Abajo: “Tres tipos de señales PT/PS/VS”

Parameter

Definición de parámetros ajustables de la estrategia (nombre, tipo, rango de valores, etc.)

Cómo se ejecuta una estrategia

data_types

Tipos de datos requeridos declarados por la estrategia (DataType o lista)

Cómo una estrategia declara y utiliza datos

window_length

Duración de la ventana de datos históricos requerida por la estrategia (por ejemplo, 20 días)

Cómo una estrategia declara y utiliza datos

realize()

Punto de entrada de la lógica estratégica; no toma parámetros; recupera datos a través de get_pars/get_data y devuelve señales

Cómo se ejecuta una estrategia

get_data / get_pars

Dentro de realizar(), obtenga datos por dtype_id y obtenga parámetros ajustables por nombre de parámetro

Cómo una estrategia declara y utiliza datos

Backtester

Ejecutor de backtest: impulsa el Operator según group_timing_table y simula rellenos

Backtesting, operaciones en vivo y optimización

Optimizer

Optimizador: busca el espacio de parámetros y ejecuta pruebas retrospectivas varias veces, agregando la función objetivo

Backtesting, operaciones en vivo y optimización

Trader

Gestión de operaciones en vivo: activa el Operator según lo programado y coordina al corredor

Backtesting, operaciones en vivo y optimización

Broker

Interfaz abstracta para ejecución de órdenes e informes de cumplimiento.

Backtesting, operaciones en vivo y optimización

config

Configuración de ejecución (grupo de activos, rango de tiempo, costos, plan de capital, etc.), compartida por backtesting/comercio en vivo/optimización

Backtesting, operaciones en vivo y optimización

qt.run

Punto de entrada unificado: qt.run(op, mode=…, **kwargs) → op.run(config, datasource, logger)

Backtesting, operaciones en vivo y optimización

2.2. 2. dtype_id 的构成与示例

dtype_id se compone de tres partes concatenadas: name_assettype_freq.

  • nombre: nombre del tipo de datos (p. ej., cerrar, abrir, total_mv, pe).

  • assettype: tipo de activo, como E (acciones), IDX (índice), ANY (cualquiera).

  • freq: frecuencia de datos, por ejemplo, d (diario), w (semanal), m (mensual), q (trimestral).

Ejemplo:

dtype_id

Significado

close_E_d

Precio de cierre diario de las acciones.

close_IDX_d

Precio de cierre diario de un índice

close_ANY_d

Precio de cierre diario de cualquier activo.

total_mv_E_q

Capitalización de mercado total trimestral de acciones

pe_E_d

Relación P/E del stock diario (si está disponible)

Cuando la estrategia llama a get_data(dtype_id), la identificación utilizada debe coincidir con el dtype_id generado por el DataType declarado por la estrategia (generalmente visible a través de la propiedad data_type_ids de la estrategia).

2.3. 3. 三种信号类型 PT/PS/VS 的语义对比表

Tipo

nombre completo

Significado (una frase)

Ejemplo

PT

Position Target

Relación de posición objetivo: la señal indica la relación de posición larga/corta que se desea alcanzar.

0,5 indica una posición larga objetivo del 50%.

PS

Proportion Signal

Comercio proporcional: la señal indica qué proporción de capital o tenencias comprar/vender.

0,5 indica utilizar el 50% del capital para comprar o vender el 50% de la posición.

VS

Volume Signal

Negociación basada en cantidades: la señal indica la cantidad a comprar/vender (acciones o unidades).

100 indica comprar 100 acciones; -50 indica la venta de 50 acciones.

El mismo valor numérico se interpretará como diferentes intenciones de orden bajo diferentes tipos de señal; El tipo de señal de un grupo se determina al agregar la estrategia, y las estrategias dentro del mismo grupo generan el mismo tipo de señal, que luego es mezclada por el mezclador.

2.4. 4. 三种策略基类的输入/输出对比表

clase base

Casos de uso típicos

Entradas (get_data, etc.)

Salidas (valor de retorno de la realización)

RuleIterator

Sincronización del mercado, iteración de una sola regla

Ventana de datos de un solo activo o de múltiples activos (por dtype_id)

Señal escalar (por ejemplo, 1/-1/0); la misma regla se aplica a todos los activos

FactorSorter

Selección de acciones basada en factores

Datos transversales de múltiples activos (por ejemplo, valores de factores para múltiples acciones)

Matriz de factores 1D (un valor por activo); el motor selecciona acciones por clasificación de factores y reglas de filtrado

GeneralStg

Estrategia multiactivos de propósito general

Ventana de datos de múltiples activos y múltiples tipos de datos

Matriz de señales 1D (una posición objetivo o relación de compra/venta por activo)

Para obtener más detalles, consulte [Cómo se ejecuta la estrategia: tiempos, datos y parámetros] (05-strategy-lifecycle.md).