1. Configurar QTEASY

Vea la información de configuración actual del sistema de qteasy:

qteasy.configuration(config_key=None, level=0, up_to=0, default=True, verbose=False) None[fuente]

Ver las variables de configuración actuales de qteasy,

Parámetros:
  • config_key (str or list of str) – El nombre de la variable que se mostrará. Si no se proporciona ningún nombre, todos los nombres de variables coincidentes se muestran según el nivel, hasta, etc. Se pueden proporcionar varios nombres de variables en forma de cadena separada por comas o en forma de lista. Los dos métodos siguientes son equivalentes: “local_data_source, local_data_file_type, local_data_file_path” [“local_data_source”, “local_data_file_type”, “local_data_file_path”]

  • level (int, Default: 0) – El nivel de la variable de configuración que se mostrará. Si se proporciona configuración, este parámetro se ignora

  • up_to (int, Default: 0) – El límite superior del nivel de la variable de configuración que se mostrará. Debe configurarse junto con el nivel. Por ejemplo, cuando nivel == 0, up_to == 2, se mostrarán todas las variables de configuración en los niveles 0 a 2. Si se proporciona configuración, este parámetro se ignora

  • default (Bool, Default: False) – Si se muestra o no el valor predeterminado de la variable de configuración, si es Verdadero, se mostrarán tanto el valor actual como el valor predeterminado de la variable de configuración.

  • verbose (Bool, Default: False) – Si se muestra la información de descripción completa, si es Verdadero, la descripción detallada de la variable de configuración se mostrará al mismo tiempo.

Tipo del valor devuelto:

None

Notas

Consulte get_config() para ver un ejemplo de su uso.

qteasy.get_config(config_key=None, level=0, up_to=0, default=True, verbose=False)[fuente]

Muestra las variables de configuración actuales de qt, igual que get_config/configuration

Parámetros:
  • config_key (str or list of str) – El nombre de la variable que se mostrará. Si no se proporciona ningún nombre, todos los nombres de variables coincidentes se muestran según el nivel, hasta, etc. Se pueden proporcionar varios nombres de variables en forma de cadena separada por comas o en forma de lista. Los dos métodos siguientes son equivalentes: “local_data_source, local_data_file_type, local_data_file_path” [“local_data_source”, “local_data_file_type”, “local_data_file_path”]

  • level (int, Default: 0) – El nivel de la variable de configuración que se mostrará. Si se proporciona configuración, este parámetro se ignora

  • up_to (int, Default: 0) – El límite superior del nivel de la variable de configuración que se mostrará. Debe configurarse junto con el nivel. Por ejemplo, cuando nivel == 0, up_to == 2, se mostrarán todas las variables de configuración en los niveles 0 a 2. Si se proporciona configuración, este parámetro se ignora

  • default (Bool, Default: False) – Si se muestra o no el valor predeterminado de la variable de configuración, si es Verdadero, se mostrarán tanto el valor actual como el valor predeterminado de la variable de configuración.

  • verbose (Bool, Default: False) – Si se muestra la información de descripción completa, si es Verdadero, la descripción detallada de la variable de configuración se mostrará al mismo tiempo.

Tipo del valor devuelto:

None

Ejemplos

>>> get_config('local_data_source')
No. Config-Key            Cur Val        Default val
----------------------------------------------------
1   local_data_source     database       <file>
>>> get_config('local_data_source, local_data_file_type, local_data_file_path')
No. Config-Key            Cur Val        Default val
----------------------------------------------------
1   local_data_source     database       <file>
2   local_data_file_type  csv            <csv>
3   local_data_file_path  data/          <data/>
>>> get_config(level=0, up_to=2)
No. Config-Key            Cur Val        Default val
----------------------------------------------------
1   mode                  1              <1>
2   time_zone             Asia/Shanghai  <Asia/Shanghai>
3   asset_pool            000300.SH      <000300.SH>
4   asset_type            IDX            <IDX>
5   live_trade_account_id None           <None>
6   live_trade_account    None           <None>
7   live_trade_debug_mode False          <False>
8   live_trade_init_cash  1000000.0      <1000000.0>
... (more rows)
>>> get_config(level=0, up_to=1, verbose=True)
No. Config-Key            Cur Val        Default val
      Description
----------------------------------------------------
1   mode                  1              <1>
      qteasy 的运行模式:
      0: 实盘运行模式
      1: 回测-评价模式
      2: 策略优化模式
      3: 统计预测模式
2   time_zone             Asia/Shanghai  <Asia/Shanghai>
      回测时的时区,可以是任意时区,例如:
      Asia/Shanghai
      Asia/Hong_Kong
      US/Eastern
      US/Pacific
      Europe/London
      Europe/Paris
      Australia/Sydney
      Australia/Melbourne
      Pacific/Auckland
      Pacific/Chatham
      etc.
3   asset_pool            000300.SH      <000300.SH>
      可用投资产品池,投资组合基于池中的产品创建
4   asset_type            IDX            <IDX>
      投资产品的资产类型,包括:
      IDX  : 指数
      E    : 股票
      FT   : 期货
      FD   : 基金
qteasy.get_configurations(config_key=None, level=0, up_to=0, default=True, verbose=False)[fuente]

Muestra las variables de configuración actuales de qt, igual que get_config/configuration

Parámetros:
  • config_key (str or list of str) – El nombre de la variable que se mostrará. Si no se proporciona ningún nombre, todos los nombres de variables coincidentes se muestran según el nivel, hasta, etc. Se pueden proporcionar varios nombres de variables en forma de cadena separada por comas o en forma de lista. Los dos métodos siguientes son equivalentes: “local_data_source, local_data_file_type, local_data_file_path” [“local_data_source”, “local_data_file_type”, “local_data_file_path”]

  • level (int, Default: 0) – El nivel de la variable de configuración que se mostrará. Si se proporciona configuración, este parámetro se ignora

  • up_to (int, Default: 0) – El límite superior del nivel de la variable de configuración que se mostrará. Debe configurarse junto con el nivel. Por ejemplo, cuando nivel == 0, up_to == 2, se mostrarán todas las variables de configuración en los niveles 0 a 2. Si se proporciona configuración, este parámetro se ignora

  • default (Bool, Default: False) – Si se muestra o no el valor predeterminado de la variable de configuración, si es Verdadero, se mostrarán tanto el valor actual como el valor predeterminado de la variable de configuración.

  • verbose (Bool, Default: False) – Si se muestra la información de descripción completa, si es Verdadero, la descripción detallada de la variable de configuración se mostrará al mismo tiempo.

Tipo del valor devuelto:

None

Ejemplos

Consulte get_config() para ver un ejemplo de su uso.

Modifique la información de configuración de qteasy.

qteasy.configure(config=None, reset=False, only_built_in_keys=True, **kwargs) None[fuente]

Configure los parámetros de tiempo de ejecución de qteasy QT_CONFIG

Parámetros:
  • config (ConfigDict 对象) – Si necesita configurar o ajustar los parámetros del objeto de configuración, el valor predeterminado es Ninguno, luego configure los parámetros directamente en el objeto QT_CONFIG.

  • reset (bool) – El valor predeterminado es Falso, Verdadero ignora los kwargs entrantes y establece todos los parámetros en sus valores predeterminados.

  • only_built_in_keys (bool) – El valor predeterminado es Falso; si es Verdadero, solo se permiten pasar parámetros internos, Falso permite pasar cualquier parámetro.

  • **kwargs – Todos los parámetros a configurar

Tipo del valor devuelto:

None

Notas

Utilice get_config() o configuración() para ver los parámetros QT_CONFIG actuales

Ejemplos

>>> configure(reset=True)  # 将QT_CONFIG参数设置为默认值
>>> configure(invest_cash_amounts=[10000, 20000, 30000], invest_cash_dates=['2018-01-01', '2018-02-01', '2018-03-01'])
>>> get_config('invest_cash_amounts, invest_cash_dates')
No. Config-Key            Cur Val                       Default val
-------------------------------------------------------------------
1   invest_cash_amounts   [10000, 20000, 30000]         <[100000.0]>
2   invest_cash_dates     ['2018-01-01', '2018-02-01'...<None>
qteasy.set_config(config=None, reset=False, only_built_in_keys=True, **kwargs) None[fuente]

Configure el parámetro de tiempo de ejecución qteasy QT_CONFIG, equivalente a configure()

Parámetros:
  • config (ConfigDict 对象) – Si necesita configurar o ajustar los parámetros del objeto de configuración, el valor predeterminado es Ninguno, luego configure los parámetros directamente en el objeto QT_CONFIG.

  • reset (bool) – El valor predeterminado es Falso, Verdadero ignora los kwargs entrantes y establece todos los parámetros en sus valores predeterminados.

  • only_built_in_keys (bool) – El valor predeterminado es Falso; si es Verdadero, solo se permiten pasar parámetros internos, Falso permite pasar cualquier parámetro.

  • **kwargs – Todos los parámetros a configurar

Tipo del valor devuelto:

None

Ejemplos

Ver también configurar()

Vea, modifique o elimine el contenido de la configuración de inicio de qteasy:

qteasy.start_up_settings() None[fuente]

Imprima el contenido de la configuración de inicio almacenada en el archivo de configuración de inicio qteasy

Tipo del valor devuelto:

None

Ejemplos

>>> import qteasy as qt
>>> qt.start_up_settings()
Start up settings:
--------------------
local_data_source = file
local_data_file_type = csv
local_data_file_path = data/
qteasy.update_start_up_setting(**kwargs) None[fuente]

Actualización de la configuración de arranque almacenada en el archivo de configuración de arranque qteasy

La configuración de inicio puede incluir parámetros de configuración definidos por el sistema, así como parámetros de configuración definidos por el usuario.

Parámetros:

**kwargs – Parámetros de configuración a actualizar

Tipo del valor devuelto:

None

Ejemplos

>>> import qteasy as qt
>>> qt.start_up_settings()
Start up settings:
--------------------
local_data_source = file
local_data_file_type = csv
local_data_file_path = data/
>>> qt.update_start_up_setting(local_data_source='database', local_data_file_type='feather')
Start up settings updated successfully!
>>> qt.start_up_settings()
Start up settings:
--------------------
local_data_source = file
local_data_file_type = feather
local_data_file_path = data/
qteasy.remove_start_up_setting(*args) None[fuente]

Elimine una o más configuraciones de inicio almacenadas en el archivo de configuración de inicio qteasy

Se debe proporcionar el nombre del parámetro de configuración que se va a eliminar y se pueden eliminar varios parámetros de configuración al mismo tiempo.

Parámetros:

*args (str) – Lista de nombres de parámetros de configuración requeridos

Tipo del valor devuelto:

None

Ejemplos

>>> import qteasy as qt
>>> qt.start_up_settings()
Start up settings:
--------------------
local_data_source = file
local_data_file_type = csv
local_data_file_path = data/
>>> qt.remove_start_up_setting('local_data_source')
Start up settings removed:  ('local_data_source',)
>>> qt.start_up_settings()
Start up settings:
--------------------
local_data_file_type = csv
local_data_file_path = data/

Restablezca todas las variables de configuración a sus valores predeterminados: el

qteasy.reset_config(config=None)[fuente]

Restablezca el objeto de configuración configurando todos los parámetros a sus valores predeterminados; si la configuración es Ninguna, restablezca qt.QT_CONFIG

Parámetros:

config (ConfigDict) – Configurar objetos que deben restablecerse

Tipo del valor devuelto:

None

Notas

Equivalente a llamar a configure(config, reset=True)

Leer información de configuración de un archivo.

qteasy.load_config(*, config=None, file_name=None) ConfigDict[fuente]
Lea el parámetro de configuración correspondiente del archivo file_name y escríbalo en config, si config es

Ninguno, luego guarde el parámetro en QT_CONFIG

Parámetros:
  • config (ConfigDict 对象) – Un objeto de configuración, predeterminado Ninguno, si no es Ninguno y es un objeto ConfigDict, escriba los parámetros de configuración leídos en la configuración.

  • file_name (str) – Nombre de archivo, predeterminado Ninguno; si es Ninguno, el nombre del archivo es save_config.cfg

Devuelve:

config – Parámetros de configuración leídos

Tipo del valor devuelto:

ConfigDict

Muestra:
  • FileNotFoundError – Informar de un error si el archivo proporcionado no existe. Si no se proporciona ningún nombre de archivo, se informa un error cuando config/saved_config.cfg no existe

  • Examples:

  • --------

  • >>> load_config()

Escriba información de configuración en el archivo.

qteasy.save_config(*, config=None, file_name=None, overwrite=True, initial_config=False) str[fuente]

Guardar la configuración como un archivo Aún no implementado: si inicial_config es Verdadero, actualice la configuración al archivo de configuración de inicialización qteasy.cfg ()

Parámetros:
  • config (ConfigDict or dict, Default: None) – Un objeto de configuración o un dict que contiene variables de configuración; si no hay ninguno, entonces se guarda qt.QT_CONFIG.

  • file_name (str, Default: None) – Nombre del archivo, si no hay ninguno, el nombre del archivo es «saved_config.cfg».

  • overwrite (bool, Default: True) – Predeterminado Verdadero, sobrescribe los archivos renombrados; si es Falso, se informará un error cuando el archivo guardado ya exista

  • initial_config (bool, Default: False (functionality not implemented)) – Guarde las variables de configuración en el archivo de configuración inicial qteasy.cfg. Si las variables de configuración ya existen en qteasy.cfg, sobrescriba las variables correspondientes. TODO: Implemente la función para escribir variables de configuración en el archivo de configuración inicial qteasy.cfg. Dado que actualmente los objetos se escriben usando pickle como archivo binario, mientras que qteasy.cfg es un archivo de texto, es necesario implementar un nuevo método de escritura.

Devuelve:

file_name – nombre del archivo guardado

Tipo del valor devuelto:

str

Todas las variables de configuración para qteasy

Las siguientes son las variables de configuración de qteasy, puede ver la información de configuración actual mediante la función qteasy.get_config() y también puede modificar la información de configuración mediante la función qteasy.configure().

Nota

Puntos de entrada a los documentos comerciales simulados en vivo después de completar S1.3 (por objetivo de uso):

  • Inicio rápido: live_trading/1-overview.md

  • Hazlo funcionar primero: live_trading/2-configuration-and-run.md

  • Comprender los rechazos y estados de pedidos: live_trading/3-risk-and-order-lifecycle.md

  • Ampliar el corredor: live_trading/4-broker-adapter-and-integration.md

  • XtQuant/MiniQMT 契约 v1(英文):live_trading/4a-xtquant-broker-adapter-contract-v1.md

  • Depuración y autopsia: live_trading/5-artifacts-and-troubleshooting.md

  • Tutorial práctico de dos rutas: tutorials/8-live-trade-risk-and-broker-walkthrough.md

Nota:

  • live_trading se centra en las capacidades del módulo y explicaciones basadas en escenarios;

  • references se centra en una lista de funciones orientadas a API;

  • api se centra en los detalles de la interfaz exportados por autodoc.

Para los mensajes de rechazo de pedidos, mensajes de error y ejemplos de registros visibles para el usuario, la documentación utiliza copia en inglés de manera consistente.

qteasy Configuration Variables

Name

Level

Default Value

Description

mode

0

[1, 2, 3] becomes: [0, 1, 0, 2, 0, 3, 0] after padding.

Modo de ejecución de qteasy.
0: modo de comercio en vivo
1: Modelo de evaluación de backtesting
2: Modelo de optimización de estrategias
3: modelo de pronóstico estadístico

time_zone

4

``local””

El valor predeterminado es «local», lo que significa utilizar la zona horaria local.
Si necesita fijar la zona horaria, establezca cualquier zona horaria legal, por ejemplo:
Asia/Shanghai
Asia/Hong_Kong
US/Eastern
US/Pacific
Europe/London
Europe/Paris
Australia/Sydney
Australia/Melbourne
Pacific/Auckland
Pacific/Chatham
etc.

asset_pool

0

000300.SH

Hay grupos de productos de inversión disponibles y se crean carteras en función de los productos de los grupos.

The set of names of the historical data to be fetched, if htypes is empty, the system will try to create all possible htypes by basing on the name of the historical data and the freq/asset_type parameter. the input can be str or list: - str: “open, high, low, close” - list: [“open”, “high”, “low”, “close”] - list: [“open”, “high”, “low”, “close”] - list: [“open”, “high”, “low”, “close”] “high”, “low”, “close”]

0

Limit the types of assets contained in the acquired data to the following options or a combination of the following options. Legitimate combinations include comma-separated strings or lists of strings, e.g., “E, IDX” and [“E”, “IDX”] are both legitimate inputs.

Tipos de activos de productos de inversión, que incluyen:
IDX: índice
E: acciones
FT : futuros
FD : Fondo

live_trade_account_id

0

``None””

ID de cuenta comercial real para operaciones reales, si se especifica este parámetro, será directamente
Ejecute operaciones en vivo utilizando esta cuenta; si el ID de la cuenta no existe, se informará un error
Si no se proporciona account_id, entonces se debe proporcionar live_trade_account_name
para crear una nueva ID de cuenta

live_trade_account_name

0

``None””

El nombre de la cuenta que se utilizará para el comercio real, si live_trade_account es Ninguno
Se debe crear una nueva ID de cuenta, momento en el cual se debe proporcionar este parámetro y nombre_cuenta establecido en
Valor de este parámetro

live_trade_debug_mode

1

True returns the HistoryPanel object, False returns a dictionary containing the DataFrame object.

Modo de depuración de operaciones en vivo, Verdadero: modo de depuración, Falso: modo normal

live_trade_init_cash

1

1000000.0

Capital inicial para una cuenta comercial real, punto flotante, por ejemplo:
1000000.0 : Capital inicial de 1 millón
1.000.000 : Capital inicial de 1.000.000

live_trade_init_holdings

1

``None””

Posición inicial en una cuenta comercial real, diccionario, por ejemplo:
{“000001.SZ”: 1000, “000002.SZ”: 2000} : Las posiciones iniciales son
000001.SZ: 1000 acciones, 000002.SZ: 2000 acciones

live_trade_broker_type

1

``simulator””

El tipo de agente comercial para una cuenta comercial real se puede configurar para simular que el agente comercial devuelva resultados, ingrese resultados manualmente o se conecte a la interfaz comercial del agente comercial.
El simulador se utiliza de forma predeterminada.

live_trade_broker_params

1

``None””

Parámetros de agentes comerciales para cuentas comerciales reales, diccionarios, por ejemplo:
{“host”: “localhost”, “port”: 8888}: nombre de host y número de puerto del agente de transacciones
Consulte la documentación del agente comercial para conocer la configuración de parámetros específicos.
Si se utiliza el intermediario “simulador” y este parámetro se establece en Ninguno, la configuración
parámetro de prueba retrospectiva

live_price_acquire_channel

2

``Eastmoney””

Una forma de obtener precios en tiempo real al operar en vivo:
eastmoney - Obtenga precios en tiempo real con eastmoney.com
tushare - Obtén precios en tiempo real con tushare (necesitas activar tus propios permisos)
akshare - 通过AKShare获取实时价格(部分表已实现,详见数据通道文档)

live_price_acquire_freq

2

15MIN

Frecuencia de acceso a precios en tiempo real durante las operaciones en vivo:
H - Adquisición de datos cada 1 hora
30MIN: recupera datos cada 30 minutos
15MIN: recupera datos cada 15 minutos
5MIN - adquisición de datos cada 5 minutos
1MIN: recupera datos cada 1 minuto

watched_price_refresh_interval

4

[(1, 2, 3), (4, 5), (6, 7)] merged to read: [(2), (4.5), (6.5)]

Supervise la frecuencia de actualización de precios en tiempo real durante las operaciones en vivo; en segundos, el valor predeterminado es 5 segundos.
Este valor no puede ser inferior a 5 segundos.

trade_batch_size

0

0.01

Tamaño mínimo de lote de suscripción para productos de inversión, punto flotante, por ejemplo:
0,01: Puede comprar productos de inversión en incrementos mínimos tan pequeños como 0,01 unidades
1. : 只能购买整数份额的投资产品
100: Los productos de inversión se pueden adquirir en múltiplos enteros de 100.
n: el número de acciones de productos de inversión que se pueden comprar es un múltiplo entero de n, y n no tiene por qué ser un número entero.

sell_batch_size

0

0.01

El tamaño mínimo del lote de venta o reembolso de un producto de inversión, en números de punto flotante, por ejemplo:
0,01: Puede vender productos de inversión en incrementos mínimos tan pequeños como 0,01 unidades.
1. : 只能购买整数份额的投资产品
100: Los productos de inversión se pueden adquirir en múltiplos enteros de 100.
n: el número de acciones de productos de inversión que se pueden comprar es un múltiplo entero de n, y n no tiene por qué ser un número entero.

cash_decimal_places

2

[1, 2, 3] becomes: [0, 1, 0, 2, 0, 3, 0] after padding.

Dígitos decimales de efectivo, por ejemplo:
0: El efectivo solo puede ser un número entero
2: conservar dos dígitos después del punto decimal

amount_decimal_places

2

[1, 2, 3] becomes: [0, 1, 0, 2, 0, 3, 0] after padding.

Dígitos decimales de la participación de un producto de inversión, por ejemplo:
0: Las acciones sólo pueden ser números enteros
2: conservar dos dígitos después del punto decimal

riskfree_ir

1

``0.0035`””

Tasa de interés libre de riesgo: si se selecciona «Considerar el valor temporal del efectivo», el valor del efectivo aumentará a esta tasa anualmente en el momento de la prueba retrospectiva.

``parallel`””

1

``True””

Si es Verdadero, la optimización de los parámetros de política utilizará CPU de múltiples núcleos para el cálculo paralelo para mejorar la eficiencia.

hist_dnld_parallel

4

``16””

Número de subprocesos habilitados al descargar datos históricos, 0 o 1 para descargas de un solo subproceso, mayor que 1 para descargas de múltiples subprocesos.

hist_dnld_delay

4

0.0

Para evitar una presión excesiva sobre los datos del servidor, la duración del retraso después de descargar una cierta cantidad de datos al descargar datos históricos es en segundos.

hist_dnld_delay_evy

4

0

Para evitar que el servidor se sobrecargue con datos, la descarga de datos históricos se retrasa durante un período de tiempo por cada cierta cantidad de datos descargados.
Este parámetro es la cantidad de datos descargados entre dos retrasos.

hist_dnld_prog_bar

4

True returns the HistoryPanel object, False returns a dictionary containing the DataFrame object.

Si se debe mostrar una barra de progreso al descargar datos históricos

hist_dnld_retry_cnt

4

[(1, 2, 3), (4, 5), (6, 7)] merged to read: [(2), (4.5), (6.5)]

Número de reintentos automáticos para descargas fallidas de datos históricos

hist_dnld_retry_delay

4

``1.0””

Tiempo de retraso en segundos antes del reintento automático en caso de que no se descarguen los datos históricos

hist_dnld_backoff

4

``2.0””

Multiplicador de tiempo de retraso para reintentos automáticos cuando falla la descarga de datos históricos
Por ejemplo, configurar hist_dnld_backoff = 2 falla en cada reintento
El tiempo de retraso será el doble que el anterior.

auto_dnld_hist_tables

4

[]

[PLANIFICADO] Lista de nombres de tablas de datos históricos que se descargan automáticamente durante las operaciones en vivo, por ejemplo:
[«stock_daily», «index_weekly», «stock_monthly»]
Esta característica no está habilitada en la versión actual y la configuración no tiene ningún efecto real.

gpu

4

True returns the HistoryPanel object, False returns a dictionary containing the DataFrame object.

[PLANIFICADO] Si es Verdadero, utilice el cálculo acelerado por GPU durante la optimización de los parámetros de la estrategia.
Esta característica aún no está implementada; establecer este parámetro no cambiará el comportamiento del tiempo de ejecución de la versión actual.

local_data_source

1

file

Determine cómo se almacenan los datos históricos locales:
archivo: los datos históricos se almacenan como un archivo local.
El formato del archivo se especifica en el atributo «local_data_file_type», incluido csv/hdf y otras opciones.
base de datos: los datos históricos se almacenan en una base de datos mysql
Cuando selecciona esta opción, necesita configurar la información de conexión de la base de datos en el archivo de configuración.
db - equivalente a «base de datos».

local_data_file_type

4

``csv””

Determina el formato de almacenamiento del archivo de datos históricos local:
csv: los archivos de datos históricos se almacenan en formato csv, son lentos pero se pueden abrir en Excel
hdf: archivos de datos históricos almacenados en formato hd5, almacenamiento de datos y velocidad de lectura más rápidos
pluma/fth: archivos de datos históricos almacenados en formato pluma, intercambio de datos rápido pero no apto para almacenamiento a largo plazo

local_data_file_path

4

HistoryPanel – if as_data_frame is set to False, a HistoryPanel object is returned

Determinar la ruta de almacenamiento del archivo de datos históricos local

local_db_host

4

``localhost`””

Nombre de host de la base de datos utilizada para almacenar datos históricos, que debe ser una base de datos mysql o MariaDB

local_db_port

4

``3306””

El número de puerto de la base de datos utilizada para almacenar datos históricos, el valor predeterminado es el número de puerto 3306 de la base de datos mysql

local_db_name

4

qt_db

El nombre de la base de datos utilizada para almacenar datos históricos, el valor predeterminado es «qt_db».

local_db_user

4

El nombre de usuario para acceder a la base de datos, que debe tener suficientes privilegios operativos.
Se recomienda configurar el nombre de usuario y contraseña de la base de datos a través del archivo de configuración.

local_db_password

4

Contraseña de acceso a la base de datos
Se recomienda configurar el nombre de usuario y contraseña de la base de datos a través del archivo de configuración.

sys_log_file_path

4

syslog/

Ruta de almacenamiento para registros de operación del sistema y registros de errores
Admite rutas relativas (relativas a QT_ROOT_PATH), rutas absolutas y rutas de directorio de inicio que comienzan con ~;
Los cambios realizados mediante qt.configure() / qt.set_config() entran en vigor inmediatamente (actualización en caliente) sin necesidad de volver a importarlos.
La ruta no debe contener caracteres ilegales (como caracteres de control o en Windows <>"|?*); de lo contrario, se generará un ValueError.

trade_log_file_path

4

tradelog/

Ruta de almacenamiento para registros comerciales detallados y resúmenes comerciales (compartidos mediante pruebas retrospectivas y operaciones en vivo).
Admite rutas relativas (relativas a QT_ROOT_PATH), rutas absolutas y rutas de directorio de inicio que comienzan con ~;
Los cambios realizados mediante qt.configure() / qt.set_config() entran en vigor inmediatamente (actualización en caliente) sin necesidad de volver a importarlos.
La ruta no debe contener caracteres ilegales; de lo contrario, se genera un ValueError.

trade_log_keep_days

4

[1, 2, 3] becomes: [0, 1, 0, 2, 0, 3, 0] after padding.

Días de retención para CSV escritos durante las pruebas retrospectivas, como trade_log_* / trade_summary_* / value_curve_*; El valor predeterminado es 3.
Después de que el proceso cargue el módulo qteasy, realice una limpieza diaria única en el directorio trade_log_file_path actual (no antes de que cada prueba retrospectiva escriba archivos).
Establezca en None or less than or equal to 0 to disable auto-deletion; when needed, you can call qt.rotate_trade_logs() para limpiar manualmente.

trade_log

1

``True””

Ya sea para generar una lista detallada de transacciones, proporcionando una lista detallada de transacciones diarias en forma de pd.DataFrame
Incluye señales comerciales y resultados comerciales en cada paso.

benchmark_asset

1

000300.SH

Tipo de activo utilizado para generar rendimientos de referencia para los resultados de evaluación de resultados de backtesting, el punto de referencia predeterminado es el índice CSI 300
Los índices de referencia se utilizan para generar resultados de evaluación multipropósito como ratios alfa, beta, etc., porque estas métricas, además de examinar los rendimientos de la inversión del
En términos absolutos, también es necesario considerar el desempeño promedio del mercado durante el mismo período, y sólo si los rendimientos de la inversión superan el desempeño promedio del mercado, el
contabilizarse como rendimiento excedente o alfa, que es lo que la estrategia de inversión busca lograr
El sistema infiere automáticamente el tipo de activo de referencia y el tipo de precio en función de benchmark_asset y el cronograma de ejecución.

``report””

1

``True””

Imprime un informe de los resultados de la ejecución cuando es Verdadero
El modo en tiempo real muestra un informe sobre la operación de la estrategia, el modo de prueba retrospectiva muestra un informe sobre los resultados de la prueba retrospectiva y el modo de optimización muestra un informe sobre los resultados de optimización.

``visual””

0

``True””

Utilice gráficos para mostrar los resultados de una ejecución de visualización cuando sea Verdadero
(El modo de prueba retrospectiva muestra informes de prueba retrospectiva y el modo de optimización muestra informes de resultados de optimización)

``buy_sell_points`””

4

``True””

True muestra los puntos de compra y venta en el gráfico de prueba retrospectiva, utilizando flechas rojas y verdes para indicar la posición de los puntos de compra y venta.

show_positions

4

``True””

True muestra posiciones de inversión con una banda de color en los gráficos de backtest

cost_fixed_buy

2

0.0

Costo fijo o comisión fija en la compra de un valor o activo que no varía con el monto de la compra
El valor predeterminado es $10

cost_fixed_sell

2

0.0

Costo fijo o comisión fija por la venta de un valor o activo que no varía con la cantidad vendida
El valor predeterminado es 0

cost_rate_buy

1

``0.0003`””

La tasa de costo o tasa de comisión al comprar un valor o activo, calculada como un porcentaje del monto de la compra.
El valor predeterminado es 3 partes por millón.

cost_rate_sell

1

0.0001

Tasa de costo o tasa de comisión al vender un valor o activo, calculada como porcentaje de la cantidad vendida
El valor predeterminado es 1 entre 10.000.

cost_min_buy

2

``5.0””

El costo o comisión mínimo al que se compra un valor o activo, y la comisión de compra solo puede ser mayor o igual a ese monto mínimo.
El valor predeterminado es $5

cost_min_sell

2

``5.0””

El costo o comisión mínimo al vender un valor o activo, y la comisión de venta solo puede ser mayor o igual a ese monto mínimo

cost_slippage

2

0.0

Slippage, un parámetro preestablecido que simula costos de transacción adicionales debido a retrasos en las operaciones o grandes montos de transacciones.

invest_start

0

``None””

Fecha de inicio del backtesting en modo backtesting
Cuando se deja en blanco (Ninguno), se inferirá automáticamente en tiempo de ejecución como la fecha de un año antes según invest_end (o la fecha actual).
Cuando se establece explícitamente, el formato es «AAAAMMDD».

invest_end

0

``None””

Fecha de finalización del backtesting en modo backtesting
Cuando se deja en blanco (Ninguno), la fecha actual se utilizará automáticamente en tiempo de ejecución.
Cuando se establece explícitamente, el formato es «AAAAMMDD».

invest_cash_amounts

1

``[100000.0]””

Cantidad de dinero invertida, una tupla o lista, la cantidad de dinero invertida cada vez, varios números indican múltiples inversiones

invest_cash_dates

2

``None””

Realice una prueba retrospectiva de la fecha de entrada de efectivo de la operación, una cadena o lista, con varias fechas que indican múltiples entradas de efectivo. El valor predeterminado es Ninguno
Cuando este parámetro es Ninguno, la fecha de entrada de efectivo es la misma que invest_start, y cuando el parámetro no es Ninguno, este parámetro anula el
invest_start
Cuando el tipo de entrada del parámetro es str, el formato es «AAAAMMDD».
Si necesita simular múltiples entradas fijas de efectivo o múltiples entradas diversificadas, puede ingresar un tipo de lista o tipo str
Los dos métodos de entrada siguientes son equivalentes:
«20100104,20100202,20100304» =
[«20100104», «20100202», «20100304»]

``allow_sell_short`””

4

True returns the HistoryPanel object, False returns a dictionary containing the DataFrame object.

Independientemente de si se permiten o no transacciones de venta en corto:
Falso: valor predeterminado, no se permiten ventas en corto, el número máximo de ventas es solo el número de posiciones disponibles actualmente
Verdadero: se permiten las ventas en corto; si la cantidad vendida es mayor que la cantidad mantenida, entonces se mantiene una posición corta

long_position_limit

3

``1.0””

El valor límite del porcentaje de posiciones largas que se permite establecer mediante señales comerciales durante el backtesting, es decir, el porcentaje de posiciones largas que se permite utilizar.
qué porcentaje de los activos totales (incluido el efectivo y las tenencias totales de acciones) se utiliza para mantener posiciones largas.
Valor predeterminado 1,0, es decir, 100%
Si el valor se establece mayor a 1, significa que se permite construir una posición superior al efectivo mantenido, situación que genera efectivo negativo.
Saldo, indicando los débitos y créditos incurridos

short_position_limit

3

``-1.0””

El valor límite del porcentaje de posiciones cortas que se permite establecer mediante señales comerciales durante el backtesting, es decir, el porcentaje de tenencias permitidas de
Límite porcentual máximo de posiciones cortas sobre el total de activos netos corrientes, valor predeterminado -1,0, es decir, el endeudamiento máximo permitido
Patrimonio equivalente al 100% del valor del activo neto total y mantener una posición corta, cuando se posea una participación patrimonial negativa y el
Generar entradas de efectivo positivas

backtest_price_adj

4

``none””

Tratamiento de precios compuestos en backtesting:
El tratamiento de los dividendos en acciones y ex-derechos, normalmente, debe calcularse en el momento de los dividendos en acciones y los dividendos ex-derechos y pagos de dividendos sobre la posición.
Impactos en volumen y efectivo, pero este tratamiento es actualmente complejo y, por el momento, se utilizará un enfoque más simple.
El método, es decir, realizar pruebas retrospectivas directamente utilizando precios compuestos, se maneja actualmente de dos maneras.
- none/n - 默认值,不使用复权价格,但也不处理派息,这只是临时处理,因
Si no se tiene en cuenta el ex dividendo a los efectos del backtesting a largo plazo, se producirá una diferencia significativa entre los resultados del backtesting y los resultados reales.
- back/b - 使用后复权价格回测,可以弥补不考虑分红派股的不足
- adj - 使用前复权价格回测。

PT_signal_timing

3

``lazy””

Cuando el modo de señal de backtest es PT (objetivo de posición), el control verifica el porcentaje de posición real y genera operaciones automáticamente.
El momento de la señal, por defecto normal.
- aggressive: 在整个策略运行时间点上都会产生交易信号,不论此时PT信号是否发
Monitorizamos la diferencia entre las posiciones reales y planificadas en tiempo real, siempre que haya una desviación entre ambas.
La señal se genera cuando estás alejado de él.
- lazy: 在策略运行时间点上,只有当持仓比例发生变化时,才会产生交易
Señales, no monitoreo en tiempo real de las posiciones reales versus las planificadas

PT_buy_threshold

3

0.0

Umbral de diferencia de posición para activar señales de compra cuando el modo de señal de backtest es PT (objetivo de posición)
En este modelo, se activa una señal de compra cuando la posición del producto de inversión mantenido es inferior a la posición objetivo y la diferencia supera un valor umbral.
Por ejemplo, cuando el umbral de venta es 0,05, es decir, 5%, si la posición objetivo es 30%, solo si la posición real es <= 25%, entonces el
Señales comerciales, es decir, cuando la diferencia entre la posición real y la posición objetivo es superior al 5%.

PT_sell_threshold

3

0.0

Umbrales de diferencia de posición para activar señales de venta cuando el modo de señal de backtest es PT (objetivo de posición)
En este modelo, se activa una señal de venta cuando la posición del producto de inversión mantenido es superior a la posición objetivo y la diferencia supera un valor umbral.
Por ejemplo, cuando el umbral de venta es 0,05, es decir, 5 %, si la posición objetivo es 30 %, solo si la posición real es >= 35 %, entonces generará
Señales comerciales, es decir, cuando la diferencia entre la posición real y la posición objetivo es superior al 5%.

price_priority_OHLC

3

``OHLC””

Al realizar una prueba retrospectiva, si hay múltiples tipos de precios de señales comerciales y el tipo de precio comercial es OHLC, el procesamiento de varios
Priorización de diferentes señales de precios.
El tipo de entrada es una cadena de caracteres, O, H, L, C, A significa Abierto, Alto, Bajo, Cerrado, Nav respectivamente.

price_priority_quote

3

``Normal””

Si hay múltiples tipos de precios de señales comerciales en el momento del backtesting, y el tipo de precio comercial es una cotización en tiempo real, el programa de backtesting procesa el
Priorización de diferentes señales de precios.
Las entradas incluyen «normal» e «inversa», respectivamente:
- «normal»: 优先处理更接近成交价的报价,如卖1/买1等
- «reverse»: 优先处理更远离成交价的报价,如卖5/买5等

cash_delivery_period

3

0

El ciclo de entrega para vender una acción por efectivo en el backtesting está representado por un número N, lo que significa que la entrega de efectivo se puede completar el enésimo día después de la fecha de negociación.
El efectivo se agrega a los activos totales tan pronto como se adquiere, pero los fondos en tránsito (fondos que aún no se han entregado) no se pueden utilizar para la siguiente transacción.
Cuando el período de entrega de efectivo es cero, existe la opción de vender el activo primero en la misma ronda para obtener la mayor cantidad de efectivo posible para usar en la ronda.
COMPRAR

stock_delivery_period

3

[1, 2, 3] becomes: [0, 1, 0, 2, 0, 3, 0] after padding.

El ciclo de entrega de acciones después de la compra de las acciones durante la prueba retrospectiva, utilizando un número N para representar el enésimo día después de la fecha de negociación en la que se puede completar la entrega del activo.
Las acciones se agregan a los activos totales inmediatamente después de la adquisición, pero las acciones que aún no se han entregado no se pueden usar para la siguiente transacción.

market_open_time_am

3

09:30:00

Horario de apertura matutino de los mercados comerciales

market_close_time_am

3

``11:30:00””

Hora de cierre matutino del mercado de negociación

market_open_time_pm

3

``13:00:00`””

Horario de apertura de los mercados por la tarde

market_close_time_pm

3

15:00:00

Horario de cierre del mercado por la tarde

strategy_open_close_timing_offset

3

[1, 2, 3] becomes: [0, 1, 0, 2, 0, 3, 0] after padding.

El desplazamiento del tiempo de ejecución de apertura/cierre de la señal de estrategia en minutos, cuando el tiempo de ejecución de la señal de estrategia se está abriendo/cerrando y debe adelantarse/posponerse
Se ejecuta una compensación para evitar no poder comerciar.

opti_start

0

``None””

Fecha de inicio del intervalo de optimización de la estrategia en modo de optimización
Cuando se deja en blanco (Ninguno), se inferirá automáticamente en tiempo de ejecución como la fecha de un año antes de opti_end.

opti_end

0

``None””

Fecha de finalización del intervalo de optimización de la estrategia en modo de optimización
Cuando se deja en blanco (Ninguno), se inferirá automáticamente en tiempo de ejecución en función de la fecha actual.

opti_cash_amounts

1

``[100000.0]””

La cantidad de dinero invertida en el modelo de optimización, una tupla o lista, la cantidad de dinero invertida cada vez, varios números indican múltiples inversiones

opti_cash_dates

2

``None””

La fecha de la entrada de efectivo del intervalo de optimización de la estrategia, una cadena o lista, con varias fechas que indican múltiples entradas de efectivo. El valor predeterminado es Ninguno
Cuando este parámetro es Ninguno, la fecha de entrada de efectivo es la misma que invest_start, y cuando el parámetro no es Ninguno, este parámetro anula el
invest_start
Cuando el tipo de entrada del parámetro es str, el formato es «AAAAMMDD».
Si necesita simular múltiples entradas fijas de efectivo o múltiples entradas diversificadas, puede ingresar un tipo de lista o tipo str
Los dos métodos de entrada siguientes son equivalentes:
«20100104,20100202,20100304» [«20100104», «20100202», «20100304»]

opti_type

3

``single””

Tipo de optimización. Se refiere a la forma en que se utilizan los datos optimizados.
«único»: en cada ronda de pruebas de optimización, se realiza y evalúa una única prueba retrospectiva que cubre todo el intervalo en el intervalo de optimización.
Resultados de la prueba retrospectiva
«múltiple»: en cada ronda de la prueba de optimización, los datos en el intervalo de optimización se dividen en múltiples subintervalos en los que el sub
Los intervalos se prueban por separado y los resultados de todas las pruebas se utilizan para determinar la evaluación de la estrategia durante todo el intervalo.

opti_sub_periods

3

[(1, 2, 3), (4, 5), (6, 7)] merged to read: [(2), (4.5), (6.5)]

Sólo válido para optimización no supervisada. Solo es válido para optimización no supervisada y solo cuando el tipo de optimización es «múltiple». El número de subintervalos en los que se cortará el intervalo de optimización.

opti_sub_prd_length

3

``0.6””

Sólo es válido si el tipo de optimización es «múltiple». Relación entre la longitud de cada subintervalo de optimización y la longitud de todo el intervalo de optimización.
Por ejemplo, cuando la duración del intervalo de optimización es de 10 años, este parámetro de 0,6 significa que la duración de cada subintervalo de optimización es de 6 años.

test_start

0

``None””

Fecha de inicio del período de prueba de la estrategia en modo de optimización.
Cuando se deja en blanco (Ninguno), se inferirá automáticamente en tiempo de ejecución como los seis meses anteriores a test_end.
Cuando se establece explícitamente, el formato es «AAAAMMDD».

test_end

0

``None””

Fecha de finalización del intervalo de prueba de estrategia en modo de optimización
Cuando se deja en blanco (Ninguno), se inferirá automáticamente en tiempo de ejecución en función de la fecha actual.
Cuando se establece explícitamente, el formato es «AAAAMMDD».

test_cash_amounts

1

``[100000.0]””

La estrategia del modo de optimización prueba la cantidad de dinero invertida, una tupla o una lista, cada vez que inviertes dinero.
Al simular efectivo con múltiples entradas de inversión fija, ingrese varios números para indicar múltiples entradas
La cantidad de dígitos ingresados ​​debe ser la misma que la cantidad de fechas en cash_dates

test_cash_dates

2

``None””

La fecha de la entrada de efectivo del intervalo de optimización de la estrategia, una cadena o lista, con varias fechas que indican múltiples entradas de efectivo. El valor predeterminado es Ninguno
Cuando este parámetro es Ninguno, la fecha de entrada de efectivo es la misma que invest_start, y cuando el parámetro no es Ninguno, este parámetro anula el
parámetro invest_start |
Cuando el tipo de entrada del parámetro es str, el formato es «AAAAMMDD».
Si necesita simular múltiples entradas fijas de efectivo o múltiples entradas diversificadas, puede ingresar un tipo de lista o tipo str
Los dos métodos de entrada siguientes son equivalentes:
«20100104,20100202,20100304» [«20100104», «20100202», «20100304»]

test_type

3

``single””

Tipo de prueba. Se refiere a cómo se utilizan los datos de la prueba.
«único»: una única prueba retrospectiva que cubre todo el intervalo de prueba en cada ronda de pruebas de optimización
y evaluar los resultados del backtesting
«múltiple»: en cada ronda de pruebas de optimización, los datos del intervalo de prueba se dividen en varios subintervalos en este
La estrategia se prueba por separado en algunos subintervalos y los resultados de todas las pruebas se utilizan para determinar el desempeño de la estrategia en todo el intervalo.
Resultados de la evaluación
«montecarlo»: una prueba de Monte Carlo que genera una gran cantidad de modos aleatorios basados ​​en la naturaleza estadística de los datos históricos del intervalo de prueba
Los datos de cambio de precio propuestos se utilizan para evaluar el desempeño de la estrategia y finalmente se da la significancia estadística.
Resultados de la evaluación del derecho a la educación

test_indicators

2

years,fv,return,mdd,v,ref,alpha,beta,sharp,info

Métricas de evaluación para probar y evaluar los parámetros de la estrategia optimizada.
Con el formato de una cadena separada por comas, varias métricas de evaluación se generan como un diccionario que contiene uno o más de los siguientes tipos.
«years» - total year
«fv» - final values
«return» - total return rate
«mdd» - max draw down
«ref» - reference data return
«alpha» - alpha rate
«beta» - beta rate
«sharp» - sharp rate
«info» - info rate

indicator_plot_type

2

histo

Tipos de gráficos de visualización para optimización o métricas de evaluación de resultados de pruebas.
0 - tipo de barra de error
1 - tipo de dispersión
2 - tipo histo
3 - tipo violín
4 - tipo de caja

test_sub_periods

3

[1, 2, 3] becomes: [0, 1, 0, 2, 0, 3, 0] after padding.

Sólo es válido si el tipo de prueba es «múltiple». Número de intervalos de prueba para dividir en subintervalos

test_sub_prd_length

3

``0.75`””

Válido sólo si el tipo de prueba es «múltiple». Relación entre la duración de cada subintervalo de prueba y la duración total del intervalo de prueba.
Por ejemplo, cuando la duración del intervalo de prueba es de 4 años, este parámetro 0,75 significa que la duración de cada subintervalo de prueba es de 3 años.

test_cycle_count

3

``100””

Sólo válido si el tipo de prueba es «montecarlo». La cantidad de datos de prueba simulados generados.
Genere 100 conjuntos de datos de precios simulados de forma predeterminada y realice 100 pruebas retrospectivas de estrategias y evalúe sus estadísticas.

optimize_target

1

final_value

El objetivo de optimización de la estrategia. Es decir, la optimización se realiza con el objetivo de encontrar la mejor estrategia para esa métrica.

maximize_target

1

``True””

Encuentre la estrategia con el valor objetivo más grande cuando sea Verdadero y la estrategia con el valor objetivo más bajo cuando sea Falso

opti_method

1

[1, 2, 3] becomes: [0, 1, 0, 2, 0, 3, 0] after padding.

Algoritmo de optimización de estrategia con los siguientes valores opcionales.
0 - Método de cuadrícula, búsqueda de cuadrícula de todo el espacio vectorial a intervalos regulares
1 - Método de Monte Carlo, que busca la mejor estrategia eliminando aleatoriamente ciertos puntos en el espacio vectorial
2 - Método de longitud progresiva incremental, que realiza múltiples rondas de búsqueda en el espacio vectorial y selecciona algunos de los subconjuntos en función de los resultados al final de cada ronda de búsqueda.
espacio, reduciendo el tamaño del paso para realizar más búsquedas
3 - Algoritmos genéticos para encontrar óptimos globales modelando la evolución de poblaciones de organismos en respuesta a tensiones ambientales (aún no completado)
4 - Método ML, algoritmo basado en aprendizaje automático para la búsqueda de estrategias óptimas (aún no completado)

opti_grid_size

3

[1, 2, 3] becomes: [0, 1, 0, 2, 0, 3, 0] after padding.

Útil cuando se busca la estrategia óptima utilizando un método de búsqueda exhaustivo con un paso de búsqueda de

| opti_sample_count

3

``256””

Útil cuando se busca una estrategia óptima utilizando métodos de Monte Carlo, el número de muestras en el espacio vectorial

opti_r_sample_count

3

``16””

Útil cuando se busca la estrategia óptima utilizando el método de longitud progresiva, el número de muestras aleatorias tomadas en cada ronda.

opti_reduce_ratio

3

``0.1””

útil cuando se busca una estrategia óptima utilizando el método de crecimiento progresivo.
Proporción retenida por mérito después de cada ronda de muestreo aleatorio, y también la proporción de reducción del subespacio

opti_max_rounds

3

[(1, 2, 3), (4, 5), (6, 7)] merged to read: [(2), (4.5), (6.5)]

Útil cuando se busca una estrategia óptima utilizando el método de longitud progresiva, el número máximo de rondas para una búsqueda de múltiples rondas, la búsqueda se detiene cuando el número de rondas es mayor que este valor.

opti_min_volume

3

``1000””

Útil cuando se busca la estrategia óptima utilizando el método de longitud progresiva, con un volumen mínimo de espacio, deteniendo la búsqueda cuando el volumen espacial cae por debajo de este valor.

``opti_population`””

3

1000.0

Útil en la búsqueda de estrategias óptimas utilizando algoritmos genéticos, el número de poblaciones.

opti_output_count

3

``30””

Número de parámetros óptimos generados después de la optimización de los parámetros de política