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. |
|
Tabla de datos |
Tablas en DataSource que almacenan datos de mercado, financieros, macroeconómicos y de otro tipo en una estructura unificada. |
|
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. |
|
dtype_id |
El identificador único de DataType, en el formato |
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) |
|
Group |
Una colección de estrategias con el mismo run_freq y run_timing, con un signal_type y un blender |
|
Strategy |
La clase de estrategia base y sus subclases; declara tipos de datos/longitud de ventana y parámetros, e implementa realizar() |
|
run_freq |
La frecuencia de ejecución de una estrategia (grupo), por ejemplo, |
|
run_timing |
Cuando una estrategia (grupo) se ejecuta dentro de un período, por ejemplo, |
|
group_timing_table |
Una tabla de Paso de tiempo × Grupo que marca qué grupos se ejecutan en cada paso de tiempo. |
|
blender |
Cómo se combinan las señales de múltiples estrategias dentro del mismo grupo (expresión o reglas predeterminadas) |
|
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.) |
|
data_types |
Tipos de datos requeridos declarados por la estrategia (DataType o lista) |
|
window_length |
Duración de la ventana de datos históricos requerida por la estrategia (por ejemplo, 20 días) |
|
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 |
|
get_data / get_pars |
Dentro de realizar(), obtenga datos por dtype_id y obtenga parámetros ajustables por nombre de parámetro |
|
Backtester |
Ejecutor de backtest: impulsa el Operator según group_timing_table y simula rellenos |
|
Optimizer |
Optimizador: busca el espacio de parámetros y ejecuta pruebas retrospectivas varias veces, agregando la función objetivo |
|
Trader |
Gestión de operaciones en vivo: activa el Operator según lo programado y coordina al corredor |
|
Broker |
Interfaz abstracta para ejecución de órdenes e informes de cumplimiento. |
|
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 |
|
qt.run |
Punto de entrada unificado: qt.run(op, mode=…, **kwargs) → op.run(config, datasource, logger) |
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 |
|---|---|
|
Precio de cierre diario de las acciones. |
|
Precio de cierre diario de un índice |
|
Precio de cierre diario de cualquier activo. |
|
Capitalización de mercado total trimestral de acciones |
|
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).