Qianxiang Investment: construcción de una plataforma de investigación de inversión cuantitativa en la nube basada en JuiceFS

fondo

Fundada en 2018, Qianxiang Investment Metabit Trading es una empresa de inversión cuantitativa basada en tecnología con inteligencia artificial como núcleo. Los miembros principales se graduaron de Stanford, CMU, Qingbei y otras universidades. En la actualidad, la escala de gestión ha superado los 3 mil millones de RMB.

Metabit otorga gran importancia a la construcción de la plataforma básica y cuenta con un sólido equipo de infraestructura de investigación. El equipo trató de derribar las barreras de I+D en una sola máquina y utilizó la computación en la nube para una I+D de cadena de herramientas más eficiente y segura.

01 Qué está haciendo la investigación cuantitativa

Como institución de inversión cuantitativa que se ha establecido por un corto tiempo, nos veremos afectados por los siguientes dos factores al seleccionar la plataforma de almacenamiento básica: la empresa se estableció por un período de tiempo relativamente corto y no tiene mucha técnica Al elegir , estoy más inclinado a utilizar una pila de tecnología más moderna; al mismo tiempo, las características del escenario de aprendizaje automático utilizado en la inversión cuantitativa también afectarán la elección de la tecnología.

La figura anterior es un diagrama esquemático simplificado del modelo de investigación estratégica más estrechamente relacionado con el aprendizaje automático en nuestro escenario de investigación. Primero, la extracción de características debe realizarse en los datos originales antes del entrenamiento del modelo. La relación señal-ruido de los datos financieros es particularmente baja.Si los datos originales se utilizan directamente para el entrenamiento, el ruido del modelo resultante será muy grande. Además de los datos de mercado, los datos sin procesar, es decir, datos como los precios de las acciones y los volúmenes de negociación en el mercado que ve con frecuencia, también incluyen algunos datos que no son de volumen ni de precios, como informes de investigación, informes financieros, noticias, redes sociales. , etc. Después de transformar los datos, los investigadores extraerán características a través de una serie de transformaciones y luego entrenarán el modelo de IA.

El entrenamiento de modelos producirá modelos y señales. Las señales son juicios sobre las tendencias futuras de los precios; la fuerza de las señales significa la fuerza de la orientación estratégica. Los investigadores cuantitativos optimizarán la cartera de inversiones en función de esta información para formar posiciones comerciales en tiempo real. En este proceso, la información de la dimensión horizontal (stock) será considerada para el control de riesgos, por ejemplo, las acciones de una determinada industria no deben mantener posiciones excesivas. Después de formar la estrategia de posición, el investigador cuantitativo simulará el pedido y luego obtendrá la información de pérdidas y ganancias en tiempo real correspondiente a la posición, para comprender el rendimiento de las ganancias de esta estrategia. Lo anterior es un proceso completo de análisis cuantitativo. investigación.

Características del negocio de la investigación cuantitativa

Las necesidades de investigación generan un gran número de tareas inesperadas: alta flexibilidad

En el proceso de investigación estratégica, los investigadores cuantitativos generarán ideas estratégicas y verificarán sus ideas a través de experimentos. Con la aparición de las nuevas ideas de los investigadores, las plataformas informáticas generarán una gran cantidad de tareas en ráfaga, por lo que tenemos requisitos elevados para la escalabilidad elástica informática.

Diversificación de las tareas de investigación: flexibilidad

Como se puede ver en el ejemplo anterior, todo el proceso cubre muchas tareas informáticas diferentes, como:

  • Extracción de características, cálculo de datos de series temporales;
  • Entrenamiento de modelos, el clásico escenario de entrenamiento de modelos de aprendizaje automático;
  • Optimización de cartera, tareas que involucran problemas de optimización;
  • Prueba retrospectiva de la estrategia, lea los datos del mercado y luego simule y haga coincidir el rendimiento de la estrategia para obtener el rendimiento correspondiente de la posición.

Los tipos de tareas en todo el proceso son muy diversos, y los requisitos para la informática también son muy diferentes.

El contenido de la investigación necesita protección: modularidad, aislamiento

El contenido de investigación de inversión del investigador es la propiedad intelectual (PI) importante de la empresa. Para proteger estos derechos de propiedad intelectual, la plataforma de investigación de la compañía abstrae cada enlace de investigación de estrategia en un módulo que contiene métodos de evaluación y entrada y salida estándar. Por ejemplo, investigación sobre modelos, valores propios estándar de entrada y modelos y señales predichas de salida. Al aislar los módulos, la plataforma de investigación puede proteger eficazmente la seguridad de la propiedad intelectual. Al construir una plataforma de almacenamiento, es necesario diseñar de acuerdo con el requisito de modularización.

Características de los datos de investigación cuantitativa

La entrada de una gran cantidad de tareas proviene de los mismos datos , como el backtest mencionado anteriormente. Los investigadores cuantitativos necesitan hacer muchos backtesting sobre estrategias históricas. Las mismas posiciones se prueban con diferentes parámetros para observar su desempeño; o extracción de características. , A menudo hay alguna combinación de funciones básicas y funciones nuevas, donde una gran cantidad de datos proviene de la misma fuente de datos.

Tome las acciones A como ejemplo: la cotización histórica de la línea K minuto a minuto del mercado de acciones A durante diez años, 5000/2 acciones 240 minutos, 250 días, 10 años, 8 bytes * 20 columnas = 240GB, el volumen total de datos durante 10 años es de aproximadamente 240G.

Si utiliza datos más detallados, la cantidad de datos será mayor. En términos generales, los datos originales no superarán los 100 TB. En la era de los grandes datos, esta no es una cantidad particularmente grande de datos, pero cuando una gran cantidad de tareas informáticas acceden a estos datos al mismo tiempo, este escenario tiene algunos requisitos para el almacenamiento de datos .

Además, el proceso de investigación de inversión cuantitativa va acompañado de una gran cantidad de tareas inesperadas. El equipo de investigación espera almacenar los resultados de estas tareas, por lo que se generará una gran cantidad de datos de archivo, pero la frecuencia de acceso a estos datos es muy bajo.

Características de las tareas de computación de investigación cuantitativa

En base a las características anteriores, es difícil satisfacer nuestras necesidades informáticas con el método tradicional de la sala de ordenadores, por lo que trasladar la informática a la plataforma de computación en la nube es una opción técnica relativamente adecuada para nosotros.

En primer lugar, hay muchas tareas repentinas y una gran flexibilidad . La imagen de arriba muestra los datos de instancias en ejecución recientes de uno de nuestros clústeres. Se puede ver que en varios períodos de tiempo, toda la instancia del clúster está completamente cargada, pero al mismo tiempo, la escala de todo el clúster informático también se escalará a 0. Las tareas informáticas de las instituciones cuantitativas están estrechamente relacionadas con el progreso de investigación y desarrollo de los investigadores, y la brecha entre picos y valles será muy grande, lo que también es una característica de las tareas de investigación fuera de línea.

En segundo lugar, "explosión tecnológica", es difícil predecir con precisión cuándo se generará la demanda de poder de cómputo . "Explosión tecnológica" es el concepto de la novela de ciencia ficción "El problema de los tres cuerpos". Correspondiente a nosotros, nuestro modelo de investigación y los requisitos de potencia informática experimentarán pasos agigantados. Es difícil para nosotros predecir con precisión los cambios en los requisitos de potencia informática. A principios de 2020, nuestro uso de investigación real y el uso estimado eran muy pequeños, pero cuando el equipo de investigación propuso algunas ideas de métodos de investigación nuevos, repentinamente habría una demanda muy grande de poder de cómputo en un momento determinado . Y la planificación de la capacidad es un aspecto muy importante a la hora de planificar la construcción de salas de ordenadores tradicionales.

En tercer lugar, la ecología moderna de la IA casi se lleva a cabo en la plataforma nativa de la nube . Hemos realizado muchos intentos técnicos innovadores, incluidos los MLOps muy populares, conectando toda la tubería en serie y luego haciendo la tubería de capacitación de aprendizaje automático; ahora muchas tareas de capacitación distribuidas son compatibles con la nube nativa. también hace que sea una opción natural para nosotros poner toda la tarea informática en la nube.

02 Cuantificar los requisitos de almacenamiento de la plataforma

De acuerdo con los requisitos comerciales y de computación anteriores, es relativamente fácil deducir nuestros requisitos para la plataforma de almacenamiento.

  1. La informática y el almacenamiento están desequilibrados . Como se mencionó anteriormente, habrá una gran explosión de tareas informáticas, y la cantidad de cómputo alcanzará fácilmente un nivel muy alto. Sin embargo, el crecimiento de los datos calientes no es tan rápido, lo que significa que debemos separar el almacenamiento y el cálculo.

  2. Proporcione acceso de alto rendimiento para datos calientes, como datos de mercado . Cientos de tareas acceden a los datos al mismo tiempo, lo que requiere un rendimiento muy alto.

  3. Proporciona almacenamiento de bajo costo para datos fríos . La investigación cuantitativa requiere una gran cantidad de datos de archivo, y se debe proporcionar un almacenamiento de estos datos a un costo relativamente bajo.

  4. La diversidad de tipos/requisitos de archivo es compatibilidad con POSIX . Tenemos muchas tareas informáticas diferentes, y estas tareas informáticas tienen requisitos muy diversos para los tipos de archivos, como CSV, Parquet, etc. Algunos escenarios de investigación también requieren un desarrollo personalizado más flexible, lo que significa que en la selección No es posible limitar estrictamente el método de almacenamiento de archivos en ese momento, por lo que la compatibilidad de POSIX es una consideración clave para la selección de la plataforma de almacenamiento.

  5. Protección IP : intercambio de datos y aislamiento de datos. Nuestros requisitos de protección de la PI no solo exigen dicho aislamiento en términos de tareas informáticas, sino que también deben respaldar tales capacidades de aislamiento en términos de datos; al mismo tiempo, para datos relativamente públicos, como los datos de mercado, también debemos apoyar a los investigadores en un manera conveniente de obtenerlo.

  6. Ecología de IA , programando varias tareas en la plataforma en la nube. Este también es un requisito de uso relativamente básico, por lo que el almacenamiento también debe proporcionar un buen soporte para Kubernetes.

  7. Modularidad significa almacenamiento/transmisión de resultados intermedios . El escenario de tareas de computación modular conduce a la necesidad de almacenamiento y transmisión de resultados intermedios. Para dar un ejemplo simple, se generará una cantidad relativamente grande de datos de características durante el proceso de cálculo de características, y estos datos se utilizarán inmediatamente en los nodos que se van a entrenar. Necesitamos un medio de almacenamiento intermedio para el almacenamiento en caché.

03 Selección de solución de almacenamiento

esquema no compatible con POSIX

Inicialmente, probamos muchas soluciones de almacenamiento de objetos, es decir, soluciones que no son POSIX. El almacenamiento de objetos tiene una gran capacidad de expansión y el costo es muy bajo, pero el problema del almacenamiento de objetos también es obvio. El mayor problema es que no hay compatibilidad con POSIX . El uso del almacenamiento de objetos es bastante diferente al del sistema de archivos.Si el almacenamiento de objetos se usa directamente como una interfaz para los investigadores, será muy difícil para ellos usarlo y la conveniencia también será muy limitada.

Además, el almacenamiento de objetos de muchos proveedores de la nube tiene un límite de solicitudes. Por ejemplo, Alibaba Cloud limitará el ancho de banda de OSS de toda la cuenta. Por lo general, esto es aceptable para los escenarios comerciales ordinarios, pero las tareas repentinas generarán instantáneamente requisitos de ancho de banda muy grandes, y es difícil admitir tales escenarios solo mediante el uso de almacenamiento de objetos.

Otra solución es HDFS No hemos hecho muchas pruebas en HDFS. En primer lugar, la pila de tecnología que usamos no depende demasiado de Hadoop; al mismo tiempo, HDFS no tiene un soporte destacado para los productos de capacitación de IA y HDFS no tiene una compatibilidad completa con POSIX, lo que tendrá algunas restricciones en nuestro uso. escenarios

Solución de compatibilidad con POSIX en la nube

Las características comerciales mencionadas anteriormente determinan que tenemos una fuerte demanda de compatibilidad POSIX y la plataforma tecnológica se basa en la nube pública, por lo tanto, determinamos el alcance de la selección de almacenamiento como: Compatibilidad POSIX en la nube .

Los proveedores de la nube proporcionarán algunas soluciones, como NAS de Alibaba Cloud, AWS EFS, etc.; el otro tipo es la solución CPFS de Alibaba Cloud y la solución FSx de AWS. El rendimiento de estos dos tipos de sistemas de archivos está fuertemente ligado a la capacidad. Cuanto mayor sea la capacidad, mayor será el rendimiento, lo que está directamente relacionado con las propiedades de almacenamiento del NAS. Esta solución no es muy amigable cuando se enfrenta a una pequeña cantidad de datos calientes y requiere una optimización adicional para lograr un mejor rendimiento . Además, CPFS o el NAS ultrarrápido en Alibaba Cloud son amigables con la lectura de baja latencia, pero la desventaja es que el costo es relativamente alto.

Hicimos una comparación con los precios que se muestran en sus respectivos sitios web oficiales. El costo de varios productos NAS de alto rendimiento es de aproximadamente 1500-2000 yuanes/TB/mes, y el costo total de JuiceFS será mucho menor, porque el almacenamiento subyacente de JuiceFS es el almacenamiento de objetos. El costo de JuiceFS se divide en varias partes: el costo de almacenamiento del almacenamiento de objetos, el costo del servicio en la nube de JuiceFS y el costo de la caché SSD. En conjunto, el costo total de JuiceFS es mucho más bajo que el costo de NAS y otras soluciones .

En términos de rendimiento, se realizaron algunas pruebas en la etapa inicial.Cuando la cantidad de nodos es relativamente pequeña, use directamente CPFS para comparar con JuiceF, y el rendimiento de lectura no tendrá una gran diferencia. Sin embargo, cuando aumenta la cantidad de nodos, debido a que los sistemas de archivos NAS tienen limitaciones de ancho de banda, el tiempo de lectura general se prolongará y JuiceFS se puede admitir muy fácilmente sin demasiada sobrecarga, siempre que se implemente el clúster de caché. a continuación se muestra un clúster con un ancho de banda total de alrededor de 300 Gb implementado .

Además del costo y el rendimiento, JuiceFS puede admitir mejor las funciones mencionadas anteriormente POSIX completo, control de permisos, QoS y Kubernetes al seleccionar la tecnología;

Vale la pena mencionar la capacidad de clúster de caché de JuiceFS, que permite una aceleración de caché flexible. Al principio, usábamos nodos de cómputo como cachés locales, lo cual es una práctica muy común. Después de separar el almacenamiento y la computación, se espera que se puedan localizar algunos datos en los nodos de computación.JuiceFS tiene un soporte relativamente completo para esta función, y las restricciones de ocupación de espacio y porcentaje están bien hechas. Implementamos un clúster de caché independiente para servir algunos datos calientes, siempre que el caché se caliente antes de su uso. En el proceso de uso, encontramos que la utilización de recursos de diferentes clústeres de computación varía mucho. Hay algunas máquinas con gran ancho de banda en el clúster, la mayoría de las cuales se usan para computación de un solo nodo, lo que significa que la red de las máquinas. Básicamente, los recursos no se utilizan y todavía hay algunos discos inactivos, por lo que los nodos de caché se implementan en estas máquinas para hacer uso del ancho de banda de red inactivo. Al final, logramos un clúster de caché con un ancho de banda muy grande en el mismo clúster.

Actualmente, JuiceFS se utiliza en los siguientes escenarios de producción:

  • Sistema de archivo de datos de tareas informáticas, que se aplica a la entrada de datos calientes;
  • registro/salida de artefactos;
  • Transferencia de datos de canalización: una vez que se generan las características de datos, deben transferirse a la capacitación del modelo. Durante el proceso de capacitación, también habrá requisitos de transferencia de datos. Fluid y JuiceFS se utilizan como clústeres de caché intermedios.

En el futuro, continuaremos explorando tecnologías nativas de la nube y de inteligencia artificial para lograr un desarrollo de cadenas de herramientas y una construcción de plataformas de tecnología básica más eficientes y seguras.

Si es de ayuda, preste atención a nuestro proyecto Juicedata/JuiceFS . (0ᴗ0✿)

{{o.nombre}}
{{m.nombre}}

Supongo que te gusta

Origin my.oschina.net/u/5389802/blog/5586776
Recomendado
Clasificación