Sobre el proyecto
Esta es una infraestructura de simulación y research cuantitativo orientada a las reglas de trading de las acciones A de China. El proyecto no se conecta a brokers ni maneja fondos reales; el repositorio público contiene únicamente código fuente, configuraciones de contenedores y documentación anonimizada.
La idea central es integrar las reglas de las acciones A directamente en la ruta de emparejamiento y validación de órdenes, en lugar de realizar correcciones aproximadas tras el backtesting. El T+1 de acciones, los lotes de 100 acciones, los límites de subida/bajada, las suspensiones, las comisiones, el impuesto de timbre y el deslizamiento se validan antes de colocar la orden. Los datos de mercado operan bajo un modelo 'fail-closed': los precios obsoletos, faltantes o con cobertura insuficiente no se convierten silenciosamente en 'precios en tiempo real'; si no hay evidencia suficiente, se rechaza la ejecución simulada.
En cuanto a los datos, se emplea la captura de múltiples fuentes con verificación independiente. Los precios en tiempo real incluyen marcas de tiempo y origen claros, y las instantáneas del mercado cuentan con un control de cobertura; ante fallos en la fuente de datos, se prioriza la degradación de la riqueza de la señal o el bloqueo de la ruta correspondiente.
El control de riesgos se implementa mediante una máquina de estados por capas. Cada operación de compra o venta pasa primero por una capa de riesgo independiente que genera resultados estructurados como 'approved', 'rejected', 'deferred_capacity' o 'downside_warning'. Soporta stop-loss duro, stop-loss móvil, take-profit escalonado, rotación de calidad, compresión de capacidad y guardia de concentración. La protección contra caídas utiliza una máquina de estados que reduce posiciones gradualmente hasta el cierre total, utilizando etiquetas estables y libros de auditoría para los motivos de riesgo.
La gestión de fondos se basa en un pool compartido con atribución presupuestaria por estrategia, incluyendo límites de asientos, presupuesto por acción, protección de equidad y límites estrictos de capital. La reserva de fondos y el débito formal están separados, utilizando 'savepoints' de SQLite para evitar duplicados durante escaneos concurrentes.
La programación soporta seis tipos de slots: 'auction', 'open', 'risk', 'intraday', 'close' y 'weekly-review'. El programador intradía de 3 minutos viene activado por defecto, aunque puede desactivarse si existe un programador externo. Se utilizan arrendamientos de tiempo de ejecución (leases), 'heartbeats' y 'fencing tokens' para prevenir órdenes duplicadas, escritores zombis y sobrescrituras concurrentes.
En el nivel de estrategia, se mantienen cinco definiciones integradas en el registro de estrategias, el replay histórico y la visualización de auditoría: tq_breakout (ruptura fuerte), trend_pullback (retroceso de tendencia), sector_rotation (rotación de sectores), reported_profit_breakout (ruptura de calidad) y main_force_top10 (fondos principales). Comparten la infraestructura de emparejamiento, pool de fondos, riesgo y auditoría, pero poseen sus propios carriles de candidatos, asientos de posición y reglas de salida. El proyecto explícitamente no realiza enrutamiento real, apalancamiento, ventas en corto ni T+0 para acciones ordinarias.
Las señales, candidatos, decisiones de riesgo, órdenes, ejecuciones, posiciones, NAV y resultados de escaneo por ronda generan evidencia rastreable. Los módulos de investigación como 'adaptive_*', 'news_learning', 'neural_shadow' y 'dual_ai_tuner' guardan observaciones en sombra independientes sin saltarse la ruta de emparejamiento formal. Las capacidades de LLM son opcionales; el simulador base no depende de LLM.
Para el despliegue, se requiere Python 3.11+. Se proporcionan 'start.ps1/start.bat' para Windows y 'start.sh' para Linux/macOS, permitiendo elegir entre modo Docker o local, especificar puertos, abrir el navegador o activar el programador interno. Docker Compose provee imágenes de aplicación y volúmenes nombrados, mapeando por defecto el puerto 8600. Se advierte que el mapeo de Compose escucha en todas las interfaces de red, sugiriendo cambiar a 127.0.0.1 para uso personal, ya que la aplicación carece de autenticación interna completa.
Para usuarios que no deseen conectar datos reales, configurar 'ASTOCK_DEMO=1' inyecta datos sintéticos en el primer inicio, sin necesidad de red ni API keys. Esto incluye 10 activos sintéticos y un libro de narrativa completo que cubre escenarios como compra normal, rechazo de venta T+1 el mismo día, rechazo por cotización obsoleta, venta por stop-loss duro y compra a precio límite superior. Esta inyección es idempotente y el contenido estructurado se compara byte a byte en el CI como 'golden replay' para evitar derivas narrativas.
El repositorio incluye el motor principal de emparejamiento/riesgo/auditoría, el modelo de lectura del tablero, captura de datos, motor de decisiones, definiciones de estrategia, API HTTP con FastAPI/Web y pruebas de regresión offline. El CI ejecuta regresiones en Python 3.11/3.12, chequeos estáticos con Ruff, consistencia de archivos de bloqueo, pip-audit y pruebas de humo en Docker. El proyecto utiliza la licencia MIT y el README incluye un descargo de responsabilidad, enfatizando que la simulación, el backtesting y los resultados históricos no garantizan rendimientos futuros ni constituyen asesoría de inversión.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.