Historia editorial

Esta página registra cambios visibles para el usuario para cada versión de qteasy. Puede consultar la versión correspondiente antes de actualizar; para la versión principal 2.0, consulte la [Guía de migración 2.0] (qteasy_2_migration_guide.md).

2.6.0 (2026-06-01)

  • 数据通道(AKShare)
    历史数据下载现支持 channel='akshare'(需安装 akshare 并联网)。在无 Tushare Pro token 或希望换源时,可拉取股票/指数/基金日线与多档分钟线、周月线、交易日历、股票/指数/基金列表、复权因子,以及停复牌、资金流向、分红、新股与上市公司简介等表(当前内置 25 张表;各通道支持范围见 数据通道 文档)。实时行情仍可通过 AKShare 通道获取自选报价与日内 K 线(与既有实时接口一致)。

  • 四通道统一
    refill_data_source、实盘自动补数及配置项 live_trade_data_refill_channel / live_price_acquire_channel 均支持 tushareakshareeastmoney(别名 emoney)、sina;未指定 channel 时 refill 仍默认 tushare。各通道可下载的表范围不同,某表在当前通道无映射或拉取失败时会跳过该表并继续其余表。

  • 基础信息表更新
    使用 refill_data_source(..., merge_type='update') 更新股票/指数/基金等基础信息表时:若下载源(如 AKShare)只带代码、简称等索引字段,而行业、地域、上市日期等为空,不再用空值冲掉本地已有内容,便于先用 Tushare 补全基本面,再用其他通道拉行情时顺带刷新代码列表。通过 AKShare 更新股票列表时,缺失的上市/退市日期在数据库中记为 NULL,避免在 MySQL 等库中因空日期写入失败。

  • 数据下载与按行业选股
    修复从 Tushare 下载期货合约基本信息时,个别合约「交易时间说明」过长导致 MySQL 无法入库的问题;新建库已放宽相关说明字段容量,已有 MySQL 库可在备份后执行发行包中的列类型升级脚本(docs/scripts/migrate_schema_text_p0_p1.sql)。修复基础表中行业等字段被清空后,filter_stocks / filter_stock_codes 按行业筛选时可能报错的问题。未传 start_date / end_date 却指定 tables='basics'(含 IPO 新股表)时,现会默认从该表最早可用日下载至当天并分块执行,不再因未填日期而中断;该方式任务较多、耗时较长,不需要 IPO 数据时可只填具体表名或收窄日期范围。

  • 文档与示例
    数据通道 教程补充四通道能力对照、AKShare 使用说明、基础表更新时空值不覆盖规则与未传日期的默认行为;入门教程「获取数据」改为多通道表述。新增示例 examples/akshare_refill_minimal.py(短区间 stock_daily 下载)。配置帮助中 AKShare 不再标注为未实现。

2.5.2 (2026-05-24)

  • Trader Shell CLI 可用性
    orders 列表现显示本地订单 ID(id)与券商委托号(broker_id,若有),便于对照 cancel ORDER_ID 撤单或排障。history 仅展示确有成交的记录,未成交或已取消且无成交量的订单不再混入列表。task -l 默认列出排队中的任务(queued),task -l -s alltasks 以与 schedule 一致的表格展示任务 ID、名称、状态与参数;仍可用 task TASK_ID 查看详情、task TASK_ID -c 取消排队任务。brokergatereconcileliveconfig 改为分段键值可读输出(风格接近 overview / config),布尔项以颜色区分;程序化集成请直接调用 Trader API。rotatelogs 执行前预览待删文件并提示确认,非交互环境须加 --yes / -y;别名 rotatelogrotate-logs 仍可用。从命令模式回到 dashboard 时,-r 回放的系统日志条数与设定一致(按逻辑日志条目计数);非 DEBUG 模式下不再因先截物理行再过滤 DEBUG 而明显变少。

  • 券商成交回报(Broker)
    券商 transaction() 回报现支持 4 元组或 5 元组:第 5 项为可选真实柜台委托号。内置模拟券商仍使用 4 元组,与 2.5.1 兼容。修复分段成交时误将本笔成交量当作订单总量校验的问题;5 元组委托号可写入成交结果,供实盘对账与撤单映射。

  • 实盘配置(XtQuant 协作)
    live_trade_broker_typeqt.configure(...) 现允许取值 xtquant(须安装并注册扩展包后方可实际接入;未注册时可能回落为模拟券商)。

  • 文档
    新增英文契约 XtQuant / MiniQMT Broker Adapter Contract v1,说明受理、轮询成交与 5 元组语义及禁止对 QMT 双重下单。

2.5.1 (2026-05-18)

  • Trader Panel de Shell Se solucionó el problema de que los registros del sistema se mostraran en pares y repetidamente en el archivo y en la pantalla durante el inicio. Los datos de la lista de seguimiento y cuenta regresiva para tareas como acquire_live_price ahora se actualizan como una sola línea en la terminal, lo que elimina el problema de que queden varias líneas o la actualización de la pantalla.

  • Registro del sistema (DEBUG) Cuando se actualizan y escriben datos de mercado en tiempo real, el registro del sistema de nivel DEBUG solo genera las primeras 3 filas y un resumen del número total de filas de la tabla de datos, en lugar de escribir todo el contenido de la tabla. Esto facilita la visualización y reduce el tamaño del registro. Las indicaciones visibles para el usuario permanecen sin cambios en el modo sin DEPURACIÓN.

  • Reproducción del registro histórico del panel Al ingresar al panel, se muestran o filtran varias líneas de registros del sistema (como detalles de señales de políticas) como mensaje completo, y las líneas de continuación ya no se muestran por error como líneas de registro independientes en la pantalla.

  • Cierre de pedidos (post_close) y pedidos creados Esta actualización soluciona un problema por el cual la tarea de cierre hacía mal uso de la lógica de cancelación para pedidos que aún estaban en el estado created, lo que provocaba que post_close fallara. Después del cierre del mercado, estas órdenes no enviadas se marcarán como rejected (se considerarán no procesadas); Los pedidos enviados con submitted / partial-filled aún se cancelarán de acuerdo con las reglas originales y se marcarán como canceled.

Version 2.5.0 (May 17, 2026)

  • Comercio en vivo Trader Estabilidad El tiempo de ejecución principal del comercio en vivo ha experimentado una actualización arquitectónica, lo que lo hace más adecuado para operaciones desatendidas a largo plazo: las rutas de inicio, apagado y salida están unificadas; la línea de comando y la interfaz gráfica ya no tienen hilos de fondo separados; salir presionando Ctrl+C se desacopla del bucle principal, lo que hace que el apagado sea más predecible. Las tareas se pueden poner en cola y cancelar; los fallos se pueden reintentar y rastrear en el registro del sistema; las operaciones se confirman o revierten por completo en el lado de la base de datos, evitando inconsistencias causadas por escrituras parciales; El procesamiento duplicado del mismo informe de corretaje no dará lugar a modificaciones de cuenta duplicadas. Antes de la apertura del mercado, se puede ejecutar una verificación de inicio (live_trade_startup_gate_mode) según la configuración; no aprobar impedirá la colocación automática de órdenes por parte de la estrategia; en el modo dividido de preparación de estrategias, se utiliza una instantánea de un momento dado antes de la ejecución de la estrategia; Si falta la instantánea o es demasiado antigua, se omitirá la estrategia actual y se proporcionará en el registro una razón comprensible para la omisión, en lugar de una falla silenciosa.

  • Aceptación de corretaje, conciliación y diagnóstico de recuperación Después de una contraaceptación exitosa, las órdenes locales se pueden asociar con el número de orden de la correduría para facilitar la conciliación y la resolución de problemas. La cuenta de demostración admite el rechazo de pedidos aleatorios configurable (se establece un cierto porcentaje de forma predeterminada para facilitar la verificación de las rutas de rechazo; los ejemplos y las pruebas se pueden establecer en 0 para garantizar resultados consistentes). Los resúmenes de los puntos de control de conciliación (efectivo, tenencias, recuentos de órdenes pendientes, etc.) se mostrarán en el registro después de la apertura y el cierre del mercado para una fácil recuperación. En el modo DEBUG, se pueden realizar diagnósticos de solo lectura de órdenes pendientes (resúmenes de diferencias locales y de contador) a través de run --task diagnose_pending_orders o en el Shell, excluyendo la modificación o compensación automática de órdenes. Las tareas periódicas de conciliación automática y la reparación automática de diferencias son todavía desarrollos futuros.

  • Trader Shell: Panel y comandos de operación y mantenimiento Sin salir del indicador Trader, puede ver la ruta de salida comercial en vivo, el resumen de configuración en vivo válido, la cola de tareas y las tareas no en cola, ejecutar manualmente verificaciones de inicio, imprimir la instantánea de conciliación JSON, rotar los registros de control de riesgos/transacciones vencidas y ver el estado de la conexión del corredor, etc.; run --task admite la ejecución de tareas de apertura/cierre/diagnóstico según las instrucciones de ayuda; sync / pull-state están reservados para futuras integraciones de QMT y se indicarán claramente por ahora. Al iniciar, el valor predeterminado es el panel, que actualiza la cuenta regresiva para la siguiente tarea, la lista de monitoreo y los mensajes del sistema en una sola línea; presione Ctrl+C para abrir el menú: 1 Modo de comando, 2 Panel de control, 3 Salir; No es necesario presionar Enter en las teclas numéricas; después de 5 segundos sin ingresar, se reanuda automáticamente el modo anterior. Presionar Ctrl+C nuevamente durante el período de espera del menú es lo mismo que seleccionar 3 y saldrá normalmente. Se solucionaron problemas como registros duplicados al regresar al tablero desde el modo de comando, líneas de estado residuales y registros de depuración que aún se muestran cuando la depuración está deshabilitada; Cuando ocurre un error inesperado en el bucle principal, puede optar por regresar al tablero para continuar observando o salir y apagar.

  • Mantenimiento de registros y productos Al rotar el registro de transacciones en trade_log_keep_days, las entradas caducadas de *.risk.log también se limpian. Los registros de tiempo de ejecución estructurados en los registros del sistema facilitan la reconstrucción de la ejecución de tareas, los motivos de omisión y los puntos de control de conciliación, eliminando la necesidad de reconstruir el contexto a partir de indicaciones fragmentadas en inglés durante la resolución de problemas.

  • Documentación comercial simulada/en vivo Amplía la serie live_trading: configuración y operación, acceso de corretaje, instantáneas y control de acceso de inicio, artefactos y solución de problemas, lista de verificación de prueba de humo manual y agrega una matriz de capacidades CLI (implementada versus reservada); complementa el modo tablero/comando y las instrucciones del menú Ctrl+C (§7.1); distingue entre rechazos de control de riesgo local y rechazos de contraaceptación, facilitando la prueba de humo y la localización del problema según la lista de verificación.

2.4.5 (2026-05-13)

  • Parámetro RuleIterator Al leer con get_pars / get_data y escribir con update_par_values en realize(), multi_pars permanece sincronizado con los parámetros regulares, y el parámetro y el parámetro unificado se pueden actualizar usando la misma API.

  • Ejemplos y documentación examples/live_grid.py y examples/live_grid_multi.py utilizan consistentemente la sintaxis get_pars / update_par_values. La documentación de la clase base de estrategia establece claramente que los parámetros para las subclases deben ser diccionarios (con códigos como claves), las tuplas representan un conjunto de parámetros compartidos en todo el grupo y la clave general es default (no others).

  • Trader Lista de estrategias CLI En el modo de lista breve, las estrategias con multi_pars le solicitarán que ejecute strategies -d para ver los parámetros de análisis completos.

2.4.4 (2026-05-08)

  • Datos de mercado de Eastmoney y tareas intradiarias Problemas solucionados en la versión 2.4.3: las solicitudes de datos de mercado HTTPS de Eastmoney fallaron en algunos entornos, el formato de la cola de tareas de actualización intradiaria era incorrecto, lo que provocó que el bucle principal fallara y el análisis de fechas de la línea K en tiempo real fue anormal. Se restableció la programación normal de los precios de la lista de vigilancia y el inicio intradiario.

  • Script de ejemplo Se corrigió la configuración y el uso en el ejemplo live_grid_multi para evitar interferencias de recarga innecesarias durante la ejecución.

2.4.3 (2026-05-06)

  • Interfaz de terminal de operaciones en vivo Se solucionó un problema por el cual la página Sistema/Información no se actualizaba o fallaba al actualizar el resumen de existencias y entorno.

  • Sugerencias sobre parámetros para subíndices Cuando el diccionario de parámetros para un subíndice se escribe por error como una tupla de un solo elemento (un error tipográfico común que involucra una coma al final), el mensaje de error es más claro y más fácil de corregir.

  • Ejemplos de operaciones en vivo Se corrigieron varios problemas de uso en los ejemplos oficiales de operaciones en vivo.

2.4.2 (2026-04-19)

  • Reproducción asincrónica y sincronización de posición Al simular la reproducción asincrónica por parte de una empresa de corretaje, el script puede esperar de manera confiable a que se procesen las órdenes en cola y las transacciones en tránsito, evitando demoras de posición y órdenes duplicadas causadas por juzgar la finalización únicamente en función de si la cola está vacía.

  • Actualización de la fuente de datos en tiempo real Los gráficos de velas japonesas en tiempo real por minutos/horas ahora se escriben en las tablas de datos correspondientes por tipo de activo, en lugar de escribirse de manera uniforme en la tabla de acciones. Los datos en vivo de fondos/índices/futuros, etc. ahora se muestran correctamente en las tablas.

  • Enlace de datos de estrategia a nivel de minutos Se solucionó una serie de problemas por los cuales las estrategias en vivo a nivel de minutos podían no obtener suficientes datos intradía, lo que resultaba en una generación de señales intradiarias más estable.

2.4.1 (2026-04-18)

  • Lanzamiento intradiario de Trader Se solucionó un problema por el cual las tareas de apertura/cierre vencidas podían reproducirse en orden inverso y la máquina de estado se quedaba atascada en modo de suspensión al iniciar Trader durante el horario comercial; Las tareas atrasadas ahora están en cola en orden cronológico, y el lanzamiento durante el comercio intradiario se pondrá al día correctamente con el estado actual del mercado y continuará ejecutando tareas de estrategia y datos de mercado.

Version 2.4.0 (2026-04-14)

  • La infraestructura comercial simulada/en vivo (S1.3) proporciona una base en vivo configurable y comprobable: LiveTradeConfig valida las configuraciones de tiempo de ejecución; un RiskManager conectable intercepta órdenes inseguras antes de enviarlas y proporciona los motivos; y un esqueleto de adaptación de corretaje (conexión/colocación de pedidos/cancelación/sondeo para ejecución) prepara para la futura integración con QMT y otras plataformas. La lista de artefactos (registros/puntos de interrupción/registros de control de riesgos) y la visualización del ciclo de vida de los pedidos CLI/TUI son más claras.

  • Documentación Se ha agregado una nueva serie de documentación independiente de live_trading (descripción general, configuración y operación, control de riesgos y órdenes, adaptación de corretaje, resolución de problemas); los tutoriales incluyen ejemplos de simulación de ruta dual para acciones y ETF y especificaciones de diseño S1.3; Los enlaces cruzados entre la página de inicio y la API facilitan la búsqueda de orientación en vivo.

2.3.1 (2026-04-11)

  • Retención de registros comerciales La configuración predeterminada trade_log_keep_days se ha cambiado a 3 (originalmente 0): cada vez que un nuevo proceso de Python importa qteasy, los archivos CSV caducados en trade_log_file_path se limpiarán; configurarlo en None o 0 o menos deshabilitará la eliminación automática. La documentación ahora está alineada con el comportamiento de «limpiar al inicio, no antes de cada prueba retrospectiva».

  • Consistencia entre Live Trading y Backtesting La generación de órdenes de trading en vivo ahora incluye comisión; el manejo del deslizamiento está alineado con las optimizaciones de backtesting; Los tipos de activos FD (ETF/Exchange Traded Fund) ya no se rechazan en el punto de entrada del modo en vivo; Las señales positivas VS son consistentes con las pruebas retrospectivas en el modo en vivo, y las órdenes pequeñas por debajo de la unidad de negociación mínima ya no se descartan silenciosamente.

  • La API de finalización de datos solo realiza inferencia de tipos cuando el nombre del tipo de datos se pasa explícitamente; pasar solo el nombre de la tabla y asset_types (como el reabastecimiento previo a la comercialización) ya no generará un error.

Version 2.3.0 (2026-04-08)

  • Documentos y tutoriales La estructura del tutorial se ha reorganizado para una ruta de aprendizaje más clara; el uso de HistoryPanel y métodos a nivel de paquete se ha extendido desde la investigación y exploración hasta los flujos de trabajo de backtesting; Se han actualizado los ejemplos, lo que hace que las rutas comunes de un extremo a otro sean más fáciles de seguir.

  • HistoryPanel El resaltado se puede controlar mediante una máscara booleana bidimensional alineada con el objetivo y la fecha. La misma condición lógica se puede enfatizar consistentemente en vistas con múltiples objetivos, sin necesidad de cableado manual secuencia por secuencia.

2.2.9 (2026-03-31)

  • HistoryPanel Operadores de investigación Las nuevas funciones incluyen rendimientos acumulados cum_return(), normalización normalize() (con soporte de máscara), cartera portfolio() (peso igual/ponderado/agrupado y punto de referencia opcional), indicador de gráfico de velas kline.*(inplace=), ajuste preestablecido con un clic research_preset() y paginación. plot(), DSL a nivel de columna assign(), series transversales/temporales rank() y zscore(method='cs'|'ts'), y align_to() / resample() explícito para evitar una desalineación silenciosa. Consulte HistoryPanel API y el tutorial 2.5-historypanel-data-analysis para obtener más detalles.

  • Operator Semántica Los operadores aritméticos devuelven un nuevo panel en lugar de modificar los datos originales; copy(deep=True) tiene por defecto una copia profunda, deep=False comparte los datos subyacentes.

2.2.8 (2026-03-30)

  • HistoryPanel Investigación e indexación (destructiva) Los índices entre corchetes devuelven subpaneles etiquetados; admite subpanel / to_numpy, asignación de columnas, máscaras where(), atributos htype de solo lectura (como panel.close), comparaciones con matrices booleanas para where encadenado y selección de línea de tiempo loc. La documentación y los tutoriales explican las diferencias con los pandas y sus límites de uso.

2.2.7 (2026-03-26)

  • Resaltado de gráfico interactivo (P06) hp.plot(..., highlight=...) está disponible en los gráficos interactivos de líneas/velas de Plotly; cuando se superponen etiquetas dobles, el marcador resaltado cambia con la etiqueta principal actual.

2.2.6 (2026-03-25)

  • Estilo de gráfico interactivo de doble etiqueta La secuencia principal/secundaria se distingue por el ancho de línea, excepto por la transparencia; el estilo de FigureWidget y HTML permanece sincronizado cuando se cambia la etiqueta principal.

2.2.5 (2026-03-23)

  • Cruz de gráfico interactivo En los gráficos interactivos de Plotly, al hacer clic en cualquier vela se mostrará una cruz sólida (en el centro de la barra) en el gráfico principal; el indicador se sincroniza con la panorámica/zoom y se oculta automáticamente cuando la barra se desplaza fuera de la ventana gráfica.

2.2.4 (2026-03-22)

  • Gráfico de velas OHLC restaurado (Q01) Se solucionó el problema por el cual plot() no podía reconocer los nombres de las columnas restauradas como open|b, lo que provocaba errores en el gráfico de velas; cuando existen columnas sin procesar y restauradas, el gráfico de velas prioriza el nombre sin procesar OHLC, de acuerdo con la convención de columnas de precios existente.

  • Gráfico interactivo del eje X Los gráficos HTML integrados conservan la abrazadera del eje X del Q03 y el ancho mínimo de barra visible; Los gráficos multilínea de FigureWidget escuchan el eje X principal y escriben sincrónicamente en cada xaxis*, y las traducciones que van más allá del límite ya no dejan espacios en blanco en la mitad de la pantalla.

2.2.3 (2026-03-22)

  • Consistencia de gráficos estáticos/interactivos (P1) El encabezado de resumen OHLC solo se muestra cuando hay un panel de velas: los gráficos estáticos tienen una última barra fija, los gráficos interactivos son similares de forma predeterminada y se actualizan cuando se hace clic en la barra (etiquetas en inglés); Matplotlib y Plotly comparten un tema lógico común y la leyenda está insertada en la parte superior izquierda para ahorrar espacio horizontal.

  • Cuando plotly_backend_app está configurado en interactive=True, puede especificar auto (el valor predeterminado, pruebe primero con FigureWidget y luego con HTML), FigureWidget o html.

2.2.2 (2026-03-20)

  • DataSource Compatibilidad Ya no falla cuando un archivo opcional (como tables/pyarrow); garantiza la disponibilidad del directorio de datos al volver a csv; hdf5 se utiliza como alias para hdf; Las advertencias de reversión son más fáciles de diagnosticar.

2.2.1 (2026-03-19)

  • Prueba retrospectiva del precio NaN Se solucionó el problema de análisis de señales contaminantes y resultados de transacciones cuando el precio era NaN (debido a suspensión, etc.); Los niveles de precios de NaN ya no generan transacciones o tarifas falsas.

Version 2.2.0 (2026-03-17)

  • Visualización de datos El nuevo canal de gráficos puede generar automáticamente gráficos combinados, como gráficos de velas japonesas, gráficos de volumen, gráficos MACD y gráficos de líneas a partir de datos históricos. Se pueden comparar múltiples indicadores y objetivos en la misma pantalla sin código adicional.

  • Gráficos interactivos de velas japonesas Notebook admite hacer zoom, desplazarse y desplazarse para ver OHLCV y los indicadores, lo que hace que explorar el comportamiento de los precios sea más intuitivo.

  • Actualización de qt.candle: La capa subyacente integra una nueva canalización de visualización, manteniendo al mismo tiempo la compatibilidad de API; Renko ya no es compatible y los widgets interactivos antiguos se consideran heredados.

  • Registros y archivos de transacciones Los registros del sistema/transacciones y las rutas CSV de la curva del valor neto de los activos son más predecibles y los archivos antiguos se limpian automáticamente según la configuración para ahorrar espacio en el disco.

  • Precisión de las pruebas retrospectivas y cuadrícula de tiempo PT/PS/VS y la ejecución de la cuadrícula de tiempo intradiario reflejan más fielmente el ritmo del comercio real, lo que hace que los ajustes de la cartera y la programación intradiaria sean más fáciles de entender.

2.1.4 (2026-03-10)

  • Evaluación de backtesting Se corrigió la tabla oper_count en el informe de backtesting; La evaluación retrospectiva a gran escala ya no activa advertencias de rendimiento de Pandas y el resultado sigue siendo consistente con el original.

  • Tipos de datos y recuperación de datos históricos Se han corregido varias definiciones de tipos integradas; get_history_data ahora proporciona un análisis más sólido de combinaciones de (dtype, freq, asset_type), fusionando de forma segura varias definiciones con el mismo nombre y evitando errores como datos vacíos o columnas duplicadas.

2.1.3 (2026-03-09)

  • Nombres de archivos generados Los nombres de archivos para registros de transacciones, registros del sistema, exportaciones de datos, etc., cumplen con los requisitos de Windows/Linux/macOS, lo que hace que las rutas multiplataforma sean más convenientes.

  • Curva de valor liquidativo Cuando trade_log=True, la curva de valor liquidativo completa se guarda como value_curve_{name}_{datetime}.csv, en el mismo directorio que trade_log / trade_summary, y se rota en trade_log_keep_days.

  • Resultados e informes de las pruebas retrospectivas Los resultados de las pruebas retrospectivas incluyen información de precios complementaria, lo que hace que la presentación del informe sea más clara y el análisis de los resultados más fácil.

2.1.2 (2026-03-08)

  • Precio de transacción de prueba retrospectiva: Las cadenas del grupo de activos separadas por comas se manejan correctamente; la columna del precio de la transacción está alineada con todo el grupo y las pruebas retrospectivas aún se pueden ejecutar incluso cuando se ajustan por divisiones de acciones o cuando a algunos activos les faltan datos.

  • Recuperación de datos históricos Los nombres de tipos no válidos arrojan un ValueError y enumeran elementos no coincidentes (pista qt.define()); el parámetro obsoleto htypes solo anula htype_names cuando se pasa explícitamente.

  • Título del gráfico de resultados de backtesting El título del gráfico incluye el nombre Operator y la hora del backtesting, para facilitar la correspondencia con los archivos trade_log / trade_summary.

  • Mensaje de error Se corrigió un error ortográfico en el mensaje de la columna que faltaba DataType.

2.1.1 (2026-03-07)

  • Tarifas del informe de backtesting Se solucionó el problema por el cual la «Tarifa de operación total» en el informe de evaluación diaria siempre era 0: total_fee ahora es consistente con la suma de las tarifas para cada operación en trade_log.

  • Rotación del registro de transacciones Se agregó una nueva configuración trade_log_keep_days para eliminar automáticamente los archivos trade_log_*.csv y trade_summary_*.csv caducados según la cantidad de días que se conservan, lo que evita que el directorio de registro crezca indefinidamente.

Version 2.1.0 (2026-03-06)

  • La estrategia Process Data API permite el acceso a efectivo, tenencias y transacciones en tiempo de ejecución dentro de realize() a través de métodos como get_data('proc.own_cash') y get_data('proc.trade_records'), sin requerir declaración en data_types. Las pruebas retrospectivas son consistentes con la inyección en vivo, estrictamente sin anticipación.

  • Ruta de backtesting dinámico El código fuente de la estrategia realiza automáticamente un backtesting paso a paso cuando se utiliza proc.*; de lo contrario, todavía utiliza señales por lotes + backtesting vectorizado, sin necesidad de declaración manual.

  • Datos del proceso de negociación en vivo La estrategia de datos dinámicos también se puede utilizar en Trader con get_data('proc.xxx'), de acuerdo con la API de backtesting.

  • Se eliminaron los tipos de op_ heredados* op_cashes y otros tipos de datos op_*. Utilice la API de datos de procedimiento en su lugar. Consulte la Guía de migración 2.0 para obtener más detalles.

  • Alias ​​de frecuencia de Pandas Compatible con alias de frecuencia anteriores y posteriores a Pandas 2.2 (por ejemplo, M/ME, H/h), lo que reduce las advertencias de discrepancia de frecuencia entre versiones.

2.0.1 (2026-03-05)

  • Documento Complementa la descripción general de la arquitectura y el diseño.

  • Frecuencia de evaluación del Backtesting La tabla de evaluación y la curva de capital se calculan diariamente, independientemente de la frecuencia operativa de la estrategia.

  • Limpieza de configuración Elimine price_priority_OHLC y price_priority_quote, que ya no son significativos.

  • Prueba retrospectiva del precio de la transacción y programación Se corrigió la falla al obtener el precio de la transacción en algunos escenarios; el calendario de ejecución predeterminado para las pruebas retrospectivas por horas/minutos ya no incluye el tiempo de apertura; el método de ajuste del precio de transacción y el precio de evaluación ahora está unificado.

  • PT / PS / VS Semántica PT reutiliza el reposicionamiento de efectivo sincrónico tanto como sea posible bajo la liquidación de efectivo T+0; PS/VS mantiene la semántica de orden básica y abandona el orden si los recursos son insuficientes.

Version 2.0.0 (2026-02-27)

  • La versión principal 2.0 presenta una actualización importante de la arquitectura y la API, lo que proporciona capacidades más flexibles de múltiples estrategias, múltiples frecuencias, múltiples ventanas y optimización. **Lea la Guía de migración 2.0 antes de actualizar.

  • Operator/Estrategia/Grupo introduce Parameter y Group: los parámetros se pueden configurar por separado para cada objetivo; cada uno de los grupos de estrategias se puede configurar con su propia frecuencia de ejecución, sincronización y mezcla de señales; el cronograma de ejecución es más granular; el seguimiento se puede escribir en el registro comercial; y los algoritmos de optimización y las métricas de evaluación son más ricos.

  • DataType admite tipos de activos ANY; StgData simplifica la declaración de datos de estrategia.

  • Eliminación de elementos de configuración maximize_cash_usage, benchmark_asset_type y benchmark_dtype se han eliminado. La lógica se infiere del flujo de ejecución y benchmark_asset. Consulte la guía para obtener detalles sobre la migración.

Version 1.4.11 (February 14, 2026)

  • Avisos de obsolescencia de 2.0 Se emitirán advertencias futuras para las API que se eliminarán o cambiarán en 2.0, lo que facilitará la migración temprana: get_history_data(htypes=...)htype_names y sufijos (por ejemplo, close:b); ⟦CÓDIGO3⟧ / ⟦CÓDIGO4⟧ → ⟦CÓDIGO5⟧; ⟦CÓDIGO6⟧ → ⟦CÓDIGO7⟧; corredor randomsimulator; Trader ⟦CÓDIGO10⟧ → ⟦CÓDIGO11⟧; y cambios a Operator.op_type, op_data_freq, get_share_idx(), etc.

1.4.10 (2025-12-19)

  • Optimización del rendimiento Se solucionó el problema del bajo rendimiento del Algoritmo 2 cuando se ejecuta en múltiples procesos en algunos sistemas.

Version 1.4.9 (2025-03-11)

  • Trader Registros y transacciones Se corrigieron registros duplicados en modo en vivo; escrituras conflictivas de dos transacciones con el mismo activo subyacente casi simultáneamente; ocasionalmente datos de mercado de marca de tiempo incorrectos que causan NaN en la estrategia; ventana de datos insuficiente el lunes por la mañana; La recarga semanal ahora se completa automáticamente todos los viernes por la noche.

1.4.8 (2025-03-01)

  • Trader Recarga CLI El nuevo comando refill y el comando run --task refill permiten completar manualmente las tablas de fuentes de datos dentro del shell.

  • Recarga automática Se solucionó un problema por el cual la finalización automática de la fuente de datos fallaba en el modo en vivo.

1.4.7 (2025-02-26)

  • Configuración de recarga en vivo Se agregaron live_trade_daily_refill_tables, live_trade_weekly_refill_tables y live_trade_monthly_refill_tables, que pueden especificar las tablas que se completarán por día/semana/mes en modo en vivo.

  • Estabilidad Se corrigieron problemas como la sobrescritura de la configuración en el modo de transacción, DataSource.all_basic_tables que devolvía valores incorrectos y CLI schedule que no podía imprimir la tarea actual.

1.4.6 (2025-02-19)

  • refill_data_source Las tablas que no estén disponibles en el canal actual se omitirán y se emitirá una advertencia; esto soluciona el problema de las descargas duplicadas que escriben datos duplicados.

1.4.5 (2025-02-18)

  • Almacenamiento de velas en vivo Se corrigió un error de escritura ocasional en velas en modo en vivo.

  • Cotizaciones de fondos El canal Eastmoney admite API de precios de línea K por minuto y por día para fondos.

1.4.4 (2025-02-12)

  • Corretaje simulado y Trader: Se solucionaron problemas con la recuperación de precios en tiempo real en algunos escenarios; alineación mejorada entre el índice de datos históricos y el horario de apertura; y formato mejorado y estabilidad de la plataforma comercial Eastmoney.

1.4.3 (2025-02-11)

  • Canales de datos de mercado en vivo Se solucionó un problema por el cual Trader ocasionalmente recuperaba precios en vivo del canal equivocado y no los escribía en la fuente de datos.

  • refill_data_source Se agregó un parámetro opcional para controlar si se descarga la tabla de dependencias.

1.4.2 (2025-02-07)

  • Dependencias dbutil y pymysql ahora son dependencias obligatorias; Se han solucionado las advertencias sobre dependencias opcionales faltantes.

1.4.1 (2025-02-06)

  • Calidad de los datos Se solucionaron problemas como errores ocasionales al recuperar precios ajustados, errores en DataType kwargs con parámetros y la falta de tiempo de negociación válido para índices de velas japonesas en tiempo real.

  • refill_data_source channel y data_source son opcionales y requieren validación adicional.

Version 1.4.0 (2025-02-05)

  • DataType Sistema La nueva clase DataType simplifica la recuperación de datos locales; los nombres pueden usar el parámetro | (por ejemplo, close|b seguido del precio de cierre ajustado).

  • Canales de datos El nuevo módulo data_channel admite múltiples fuentes en línea; Más tablas de datos predefinidas y API de precios en tiempo real.

  • Obsoleto El antiguo parámetro adj y la sintaxis wt_000300.SH siguen siendo compatibles, pero se recomienda utilizar la nueva sintaxis dtype. Consulte la documentación para obtener más detalles.

Version 1.3.12 (2024-12-18)

  • Trader Registros TUI/CLI La visualización de la cantidad de ENTREGA DE RESULTADOS se trunca a 2-3 decimales; se agrega una marca de tiempo al panel de registro del sistema; El panel de información del sistema TUI muestra información del entorno.

Version 1.3.11 (2024-11-03)

  • Configuración de inicio Se solucionó un problema por el cual las cadenas numéricas puras no se analizaban correctamente en el archivo de configuración de inicio.

Version 1.3.10 (2024-09-03)

  • Dependencias y fuentes Se actualizó la base de datos para desaprobar la sintaxis y los requisitos de versión de pandas; Se agregó configuración de fuentes chinas para gráficos de velas basadas en el sistema operativo (ZH_font_name_MAC/WIN/LINUX).

  • API de configuración de inicio Se agregaron get_start_up_settings() y start_up_config; Se corrigió la información de ayuda de Live Trader.

Version 1.3.9 (2024-09-01)

  • Configuración de inicio update_start_up_setting() realiza comprobaciones de validez en las claves de configuración de Qt; start_up_settings() mejoras en el valor de salida y retorno; conserva el encabezado de descripción al escribir en un archivo.

Version 1.3.8 (2024-09-01)

  • Archivos de configuración de inicio Se agregaron funciones de configuración de inicio de lectura/escritura start_up_settings(), update_start_up_setting() y remove_start_up_setting().

  • Realización de pedidos de TUI Se corrigió el manejo de errores al ingresar pedidos de compra y venta de TUI.

Version 1.3.7 (2024-08-31)

  • TUI Trading admite compras, ventas y cancelación de órdenes manuales mediante atajos de teclado; Se ha agregado una nueva tabla de registro de operaciones.

Version 1.3.6 (2024-08-25)

  • Órdenes CLI orders filtra correctamente los objetivos; ⟦CÓDIGO1⟧ entra en vigor.

  • Resumen de CLI Se agregó summary para mostrar las operaciones de transacciones durante un período de tiempo específico en un formato legible.

Version 1.3.5 (2024-08-22)

  • Trader Persistencia del estado Guarda el estado ejecutado más recientemente al salir y se puede restaurar al volver a ingresar.

  • delete_account() Elimina el registro de transacciones, los registros y los archivos de puntos de interrupción al eliminar una cuenta.

1.3.4 (2024-08-17)

  • Corretaje de demostración agrega una función de reintento y cancelación cuando no hay un precio real, lo que reduce la tasa de fallas de pedidos.

  • Ejemplo de cuadrícula Se solucionó el problema de escribir el precio NaN en los parámetros de la estrategia en el ejemplo.

1.3.3 (2024-08-16)

  • Compre a precio cero Se solucionó un problema por el cual Live se podía comprar a precio cero cuando no tenía precio.

  • Pandas 2.2 compatibilidad con alias de frecuencia, evitando FutureWarning.

1.3.2 (2024-08-13)

  • Fuente K-line de Windows Se corrigió el nombre de la fuente china para los gráficos de velas japonesas en Windows.

1.3.1 (2024-08-13)

  • Depuración CLI Se ha agregado un nuevo comando debug para cambiar el modo de depuración.

  • Precio personalizado Visualización de precios de monitoreo CLI mejorada y falla de visualización fija; Los nombres de fuentes de Windows se han corregido nuevamente.

Version 1.3.0 (2024-08-09)

  • Ejecución de ejemplo La opción -r le permite especificar una cuenta al borrar órdenes, en lugar de borrar todas las cuentas.

  • Liquidación y registros Los registros de liquidación de efectivo para las ventas ahora son más claros; Se han solucionado errores en los registros de efectivo/posición del registro comercial, liquidaciones de compras anormales, extracción de datos vacíos y varios problemas de límites con CLI CHANGE.

1.2.15 (2024-07-28)

  • Estrategias integradas Se agregaron estrategias y documentación integradas para ATR y OBV.

1.2.14 (2024-07-12)

  • Estrategias integradas Actualice AD ​​y ADOSC, corrija la implementación y complemente la cadena de documentación.

1.2.13 (2024-06-19)

  • Consulta de estrategia incorporada: built_ins() siempre devuelve un ID → tipo dict, con coincidencia aproximada para ID incorrectos; built_in_list() / built_in_strategies() proporcionan alineación de comportamiento; un nuevo built_in_doc() devuelve una cadena de documentación de estrategia.

1.2.12 (2024-06-12)

  • Venta en efectivo T+0 Los ingresos en efectivo de la venta de acciones se pueden acreditar inmediatamente al efectivo disponible.

  • Cancelación de pedidos e información de la mesa Los pedidos no completados ahora se cancelan correctamente al final del día; Se ha solucionado el problema de no poder recuperar la información de la tabla en Windows.

1.2.11 (2024-06-09)

  • Fuente de datos El tipo de fuente de datos predeterminado al que recurrir cuando falla una conexión MySQL.

  • Selección personalizada de TUI Se corrigió un error en la administración de la lista de observación.

1.2.10 (2024-06-07)

  • Selección personalizada de TUI Ctrl+A para agregar, Ctrl+R para eliminar de la selección personalizada; Agregar/Salir del cuadro de diálogo de confirmación; Ajustes menores en la interfaz.

1.2.9 (2024-06-03)

  • Introducción en vivo Ayuda y documentación de inicialización en vivo complementarias.

1.2.8 (2024-06-02)

  • Selección de UI La línea de comando -u debe especificar explícitamente tui o cli.

  • Configuración de cuenta Cambie el nombre de live_trade_account a live_trade_account_name para obtener información de ayuda más completa.

  • qt.candle aún puede generar gráficos de velas japonesas incluso sin TA-Lib instalado.

1.2.7 (2024-05-30)

  • Recarga de datos Soluciona un problema por el cual la recarga falla cuando falta el calendario de transacciones.

1.2.6 (2024-05-07)

  • Tablas del sistema Se solucionó un problema por el cual la identificación del último registro de la tabla del sistema no se podía leer en algunos escenarios.

1.2.5 (2024-05-06)

  • HistoryPanel soluciona un problema de importación recursiva.

1.2.4 (2024-05-05)

  • Estrategias integradas Se corrigieron errores en estrategias como MACDEXT, WILLR, AROONOSC y SLPHT.

1.2.3 (2024-04-30)

  • Visualización de versión Se corrigió el error al mostrar __version__ (que anteriormente mostraba 1.2.1).

  • Progreso de la descarga Se ha corregido la información de la barra de progreso para la recarga de tushare.

1.2.2 (2024-04-29)

  • Rendimiento Se solucionó un problema ocasional extremadamente lento cuando TA-Lib no estaba instalado; Se corrigió la falla de la política RuleIterator.

  • Cuentas reales qt.live_trade_accounts() se puede utilizar para ver todas las cuentas reales.

1.2.1 (2024-04-25)

  • Embalaje Se solucionó el problema por el cual los archivos de estilo no se incluían en el paquete en la versión 1.2.0.

  • La API de cuentas reales ahora incluye live_trade_accounts(), que devuelve detalles para cada cuenta.

  • CLI Se corrigió el formato de información comercial; Configuraciones mejoradas relacionadas con el vivo.

Version 1.2.0 (2024-04-25)

  • Trader TUI agrega una nueva interfaz de usuario de terminal, que ofrece la posibilidad de elegir entre Trader Shell (live_trade_ui_type); incluye temas claros/oscuros integrados; muestra cuentas, posiciones, pedidos y registros; y permite Ctrl+P / Ctrl+R pausar y reanudar.

1.1.11 (2024-04-20)

  • refill_data_source admite descargas por lotes con tamaño e intervalo de lote ajustables.

  • Mensajes de error de configuración Los mensajes de error ahora son más fáciles de usar al configurar claves con valores no válidos.

1.1.10 (2024-04-19)

  • tushare Retry Se solucionó un problema por el cual las configuraciones de reintento automático de tushare no funcionaban.

Version 1.1.9 (2024-04-09)

  • Datos Minutos Se corrigieron errores ocasionales en la extracción de datos minutos locales; compatibilidad mejorada.

1.1.8 (2024-04-05)

  • Python 3.9–3.12 Soporte extendido; compatible con pandas 2.2.1, numpy 1.26.4 y numba 0.59.1; se corrigieron fallas de optimización de estrategias en 3.10+; Se mejoraron varios mensajes de error.

1.1.7 (2024-04-03)

  • Versión de Python Admite oficialmente Python 3.9 a 3.12 para su instalación y funcionamiento.

1.1.4 (2024-03-30)

  • Conflictos de dependencia Se ajustaron las restricciones de la versión numba/numpy; advertencias de carga inicial ligeramente mejoradas; se corrigieron problemas de compatibilidad con pandas > 2.0; Advertencias de rendimiento optimizadas para el algoritmo 2 bajo ciertas combinaciones numpy/numba.

1.1.3 (2024-03-25)

  • Resultados de la prueba retrospectiva La prueba retrospectiva arrojó un diccionario con las claves agregadas trade_log, trade_records y full_histories para facilitar el acceso.

1.1.2 (2024-03-18)

  • El panel CLI dashboard --rewind le permite ver los registros guardados.

  • Los resultados del envío de compra/venta de CLI se imprimen con mayor claridad.

1.1.1 (2024-03-16)

  • Registros del sistema en vivo Diferentes instancias en vivo escriben en diferentes archivos de registro del sistema; también admite la lectura de información de archivos de registro en vivo/del sistema.

Version 1.1.0 (2024-03-08)

  • Trader Análisis de parámetros de Shell Compatibilidad total con comandos para el estilo --parameter / -p y -h / --help; Mensajes de error e instrucciones de uso mejorados. watch ahora admite -r para eliminar y -c para borrar; buy / sell usa -p para el precio y -s para la dirección; info / overview agrega --system; orders agrega filtrado de estado/hora/lado/tipo; config admite -s para configuración y -l para jerarquía; strategies admite --set-par; run admite --args para pasar parámetros de tareas.

1.0.27 (2024-03-05)

  • Lecturas de bases de datos Elimine la ruta de lectura de SQL de pandas para evitar la advertencia de usuario de SQLAlchemy requerida por las versiones superiores de pandas.

1.0.26 (2024-02-29)

  • Registros en vivo Los registros de transacciones en vivo se escriben en el archivo de registro del sistema y se distinguen por el número de cuenta.

1.0.25 (2024-02-28)

  • Archivo trade_log en vivo Guarda el archivo de registro comercial en trade_log_file_path en modo en vivo; incluye varias correcciones de errores en vivo e impresión de mensajes de error.

Version 1.0.24 (February 18, 2024)

  • Devoluciones de corredores Se solucionó un problema desde la versión 1.0.18 donde la fusión incompleta de corredores causaba fallas en las órdenes activas.

1.0.23 (2024-02-15)

  • filter_stocks/candela Se solucionó un problema por el cual un error de conversión de tipo causaba que fallaran el filtrado y los gráficos de velas.

1.0.22 (2024-02-14)

  • get_config / vela Se corrigió un error de análisis de fecha en la lista; texto de la barra de progreso truncado al ancho de la pantalla; get_stock_info() ahora se puede ejecutar sin todas las tablas subyacentes.

1.0.21 (2024-02-11)

  • Estabilidad Se han solucionado varios errores.

1.0.20 (2024-02-08)

  • Indicadores sin TA-Lib Se corrigió la implementación de EMA, MACD, TRIX y DEMA sin ta-lib. Los resultados son ligeramente diferentes a los de la versión ta-lib, pero aún son utilizables.

Version 1.0.19 (2024-02-07)

  • Sin TA-Lib RSI, MA y BBANDS ya no dependen de ta-lib, y los gráficos de velas se pueden dibujar sin ta-lib; Reducir el umbral de dependencia para principiantes.

1.0.18 (2024-02-05)

  • Trader Mensajes de Shell La visualización de finalización del pedido incluye cambios en la cantidad de acciones y efectivo; INFO/OVERVIEW ya no imprime información del sistema de forma predeterminada; Se requiere actualización de la versión de NumPy.

1.0.17 (2024-01-29)

  • Ejecución CLI le permite ejecutar estrategias en el hilo principal para facilitar la depuración.

  • Cotizaciones de precios en vivo Se solucionó un problema por el cual fallaba la recuperación de precios en vivo cuando la frecuencia de operación era inferior a 1 hora.

1.0.16 (2024-01-27)

  • No aviso de error en la realización del pedido Este mensaje aparecerá cuando no pueda realizar un pedido en el modo en vivo debido a falta de efectivo/posición.

  • Transacciones y costos Se solucionaron problemas como errores en la cantidad/efectivo disponible debido al procesamiento de transacciones duplicadas, errores de cálculo de costos y errores de costos para múltiples objetivos en el comando de historial; Se solucionaron problemas como la entrada inesperada de datos en días no comerciales (#85).

Version 1.0.15 (2023-12-29)

  • Índice y ETF en vivo Admite el seguimiento de precios en vivo del índice/ETF; Los objetivos comerciales en vivo admiten tanto ETF como índices.

Version 1.0.14 (2023-12-22)

  • Dependencias Eliminar SQLAlchemy opcional; aumente el número máximo de reintentos antes de detener la ejecución en el corredor.

Version 1.0.13 (2023-12-21)

  • Trader Shell Modo de comando: utilice las teclas de flecha arriba y abajo para navegar por el historial; Agregue buy/sell colocación de pedido manual; El precio en vivo se recupera a través de un hilo en segundo plano.

  • Simulator Broker Devuelve operaciones simuladas al precio real; soluciona problemas de bloqueo de pedidos.

1.0.12 (2023-12-07)

  • Precio visual y en vivo Mejoras en la interfaz de usuario; El hilo de fondo del precio en vivo evita el retraso del bucle principal; El precio en vivo se puede mostrar incluso en zonas horarias no locales; El intervalo de actualización de monitoreo es configurable.

1.0.11 (2023-12-03)

  • Estilos de parámetros de Shell Admite los nuevos estilos --parameter / -p (los estilos antiguos quedarán obsoletos).

  • Configuración en vivo permite configurar los parámetros del broker y la zona horaria; ta-lib ahora es opcional, pero algunas estrategias integradas todavía están disponibles incluso sin ta-lib.

1.0.10 (2023-11-25)

  • Datos de referencia Se corrigió el error «ninguna referencia» que era un problema heredado de la versión 1.0.9.

  • El valor predeterminado de backtest_price_adj debe cambiarse a none.

Version 1.0.9 (2023-11-24)

  • Datos de referencia Se corrigió la lógica de generación de referencia y estrategia de inyección.

  • Documentación Mejoras en la documentación.

Version 1.0.8 (2023-11-22)

  • Trader Shell ahora se basa en rich para colorear los mensajes; documentación publicada en Read the Docs; ⟦CÓDIGO1⟧ agregado.

Version 1.0.7 (2023-11-11)

  • Estrategia agrega use_latest_data_cycle para controlar si se utiliza el precio más reciente para generar señales.

  • Shell watch Se agregó watch para monitoreo de precios en tiempo real; Shell muestra los nombres de las acciones; Canal de precios de Eastmoney Live.

Version 1.0.6 (2023-10-19)

  • Configuración de Shell Agrega el comando config.

  • FUND admite FUND como tipo de inversión.

Version 1.0.0 (2023-09-19)

  • Primera versión de PyPI qteasy es la primera versión oficial que se puede instalar y utilizar en PyPI.