1. Gestión de datos históricos financieros de Qteasy

qteasy es un completo conjunto de herramientas de comercio cuantitativo, y la adquisición y el uso de datos financieros es una de las funciones principales proporcionadas por qteasy.

1.1. Descripción general

Actualmente, existen muchos canales en línea diferentes para obtener datos financieros, lo que permite a los operadores cuantitativos descargar datos financieros. Sin embargo, descargar datos directamente desde Internet tiene varios inconvenientes:

  • Formatos de datos inconsistentes: para los mismos datos, como los datos del volumen de operaciones, algunos canales proporcionan los datos en «lotes», mientras que otros proporcionan los datos en «acciones».

  • La cantidad de datos que se pueden extraer es limitada: especialmente los datos obtenidos mediante web scraping, los datos de velas japonesas de alta frecuencia a menudo solo contienen datos de los últimos días y los datos de períodos anteriores no están disponibles.

  • La extracción de datos es inestable: la velocidad y la tasa de éxito de la extracción de datos no se pueden garantizar y se ven muy afectadas por la conectividad de la red.

  • Los costos de descarga son altos: los canales de datos pagos a menudo brindan datos más completos, pero generalmente tienen límites de tráfico, mientras que los canales gratuitos ofrecen datos incompletos, lo que también aumenta los costos.

  • La extracción de información no es fácil: después de obtener los datos sin procesar, es necesario transformarlos aún más en la información requerida, un proceso que es laborioso y poco intuitivo.

qteasy fue diseñado para abordar los puntos débiles mencionados anteriormente.

El módulo de gestión de datos financieros de qteasy proporciona tres funciones principales, todas diseñadas con el objetivo de…

  • Recuperación de datos: Recupera diversos datos financieros de múltiples proveedores de datos en línea para atender a diferentes hábitos de los usuarios.

    La API de recuperación de datos proporcionada por qteasy presenta potentes capacidades de descarga paralela multiproceso, descarga de fragmentos de datos, control de tráfico de descarga y reintento de retardo de error para adaptarse a varios límites de tráfico anormales de diferentes proveedores de datos. Al mismo tiempo, la API de recuperación de datos puede ejecutar fácil y automáticamente tareas de descarga de datos por lotes de forma regular, por lo que no tiene que preocuparse por perder datos de alta frecuencia.

  • Limpieza y almacenamiento de datos: Estandarice y defina el almacenamiento de datos local, limpiando y organizando los datos extraídos de la red antes de guardarlos en una base de datos local.

    qteasy define una clase DataSource dedicada para almacenar datos financieros históricos y predefine una gran cantidad de tablas de almacenamiento de datos históricos financieros estandarizadas. Independientemente de la fuente de datos, los datos finales almacenados siempre se limpian y almacenan en un formato uniforme en el DataSource, evitando discrepancias causadas por datos de diferentes períodos y fuentes, y garantizando un almacenamiento de datos de alta calidad. También proporciona múltiples motores de almacenamiento para satisfacer los hábitos de uso de diferentes usuarios.

  • Extracción y uso de información: Al distinguir entre «datos» e «información», el sistema proporciona una interfaz para extraer información verdaderamente significativa de las tablas de datos, lo que permite el uso directo en estrategias comerciales o análisis de datos.

    Sabemos que «datos» no es lo mismo que «información». El simple hecho de almacenar una tabla de datos localmente no significa que la información que contiene se pueda utilizar inmediatamente. qteasy define específicamente la «información» utilizable en una tabla de datos como objetos DataType de forma estandarizada, simplificando el proceso de acceso a datos y la definición de estrategias. La API unificada hace que la obtención de información sea más directa y fácil de usar.

En general, la estructura del módulo de adquisición de datos en qteasy se puede representar mediante el siguiente diagrama:

QTEASY Módulo de gestión de datos: Estructura del módulo de adquisición de datos

Como se muestra en el diagrama, la funcionalidad de datos de qteasy se divide en tres capas. La primera capa incluye varias interfaces de descarga de datos para obtener datos de proveedores de datos en línea; este proceso se llama DataFetching. La segunda capa es una de las funcionalidades principales de qteasy, que define una base de datos local para almacenar una gran cantidad de tablas de datos y admite múltiples motores de datos. El núcleo de esta capa es la clase DataSource. La tercera capa es la capa de aplicación de datos, que extrae información significativa de las tablas de datos y la define como objetos DataType. El proceso de extracción de datos se llama Information Extraction. Este objeto DataType se usa ampliamente internamente dentro de qteasy. La creación de estrategias comerciales, la realización de análisis de datos, la visualización y todo el trabajo posterior se basan en el objeto DataType.

Debido a la importancia de los datos financieros en el comercio cuantitativo, a partir del próximo capítulo, presentaremos todos los módulos funcionales de las capacidades de datos de Qteasy en detalle en el siguiente orden (el orden de lectura sigue la numeración del nombre del archivo: 2 → 2.5 → 2.6 → 3 → … → 10):

  • 2. DataType Objetos y todos los tipos de datos: la diferencia entre información y datos, objetos DataType y una lista de todos los tipos de datos integrados.

  • 2.5. HistoryPanel (Panel de datos históricos): un contenedor tridimensional con múltiples objetivos, múltiples métricas y alineación temporal; su integración con get_history_data y sectores de uso común.

  • 2.6. HistoryPanel VisualizaciónHistoryPanel.plot() Gráficos estáticos e interactivos, diseño y dependencias opcionales

  • 3. Fuente de datos local — DataSource Objeto y operaciones básicas

  • 4.~9. Tablas de datos integradas: estructura y uso de cada tabla de datos

  • 10. Extracción de datos y canales: extracción y llenado de datos de diferentes canales