Sistema autónomo de investigación de mercado que usa Kronos-base para pronosticar activos, construir una cartera simulada, rebalancear automáticamente y registrar cada decisión.
Arquitectura, ejecución e historial de la estrategia
Autotrader
Autotrader es un experimento autónomo de paper trading. El sistema recopila datos de mercado, ejecuta Kronos-base, compara pronósticos, aplica límites fijos de riesgo, simula compras y ventas y persiste el resultado mediante GitHub Actions sin exigir decisiones manuales en cada ejecución.
Datos OHLCVKronos-baseCartera + riesgoGitHub Actions
20activos monitorizados
5posiciones máximas
18%límite por posición
10%efectivo mínimo
Mapa del sistema
Del mercado al historial de la cartera
El modelo no envía órdenes directamente. Produce pronósticos; una capa separada convierte esas señales en asignaciones bajo límites explícitos y registra la simulación.
Arquitectura de extremo a extremo
Mercado
20 activos líquidosAcciones y ETFs de EE. UU.
OHLCV diarioHistorial reciente por activo
ValidaciónLos datos ausentes no se convierten en órdenes
→
Kronos-basePronóstico probabilístico de 5 sesiones
RankingRetorno esperado por activo
Constructor de carteraSelecciona señales elegibles
Gestión de riesgoLímites de posición y efectivo
Paper executorCompras, ventas y slippage simulados
El workflow solo persiste un nuevo estado después de que dependencias, pruebas, datos e inferencia finalizan correctamente.
Ejecución agendada
PrepararCheckout, Python y caché del modelo.
FijarCarga la revisión validada de Kronos.
ProbarLas pruebas de cartera y persistencia deben pasar.
RecopilarDescarga el historial diario de 20 activos.
PronosticarKronos-base estima las próximas cinco sesiones.
OrdenarLos retornos esperados se ordenan.
RebalancearAplica límites y simula las órdenes.
PersistirEstado e informe se guardan en main.
Motor y estrategia
Pronóstico y decisión permanecen separados
Kronos se encarga del pronóstico de precio. Autotrader convierte ese pronóstico en una cartera sin permitir que el modelo ignore los límites definidos en código.
Responsabilidades del sistema
Un modelo más grande no recibe mayor autoridad: las reglas de riesgo siguen fuera de Kronos y permanecen deterministas.
Selección
Cómo las señales se convierten en cartera
La estrategia inicial prioriza simplicidad y auditabilidad: solo entran señales sobre el umbral, se seleccionan las mejores y ningún activo puede dominar la cartera.
Máx. 18% / ativo→Efectivo ≥ 10%→Sin margen→Rebalanceo con umbral
El resultado es una cartera simulada verificable. Elegir un modelo no elimina el riesgo de pronóstico, régimen de mercado o datos.
Actualización gobernada
Upstream no entra directamente en la estrategia
El proyecto sigue el Kronos original, pero no hace pull ciego hacia la versión activa. Una revisión candidata debe superar las pruebas antes de fijarse.
Actualización segura de Kronos
01DetectarNueva revisión upstream
02DescargarCódigo y pesos candidatos
03RegressionPruebas oficiales de Kronos
04AutotraderPruebas de cartera y riesgo
05CompatibilidadInferencia end-to-end
06¿Falló?Mantiene la versión anterior
07PasóActualiza refs fijados
08Siguiente ejecuciónLa nueva versión entra en uso
El código upstream se prueba en un job sin permiso de escritura; la persistencia queda en una etapa separada.
Observabilidad
El historial deja de ser solo un JSON
Los archivos siguen siendo la fuente de datos, pero la interfaz pública convierte el historial en una lectura visual continua.
Autotrader Dashboard
Paper PortfolioKronos-base
$9,991NAV
5posiciones
20activos analisados
AtivoSinalPeso
NFLX+25.25%18%
HD+12.31%18%
WMT+4.37%18%
Execution log● paper
Últimas decisiones
↗ BUY NFLX · 18%
↗ BUY HD · 18%
↗ BUY WMT · 18%
Las próximas ejecuciones actualizan el historial automáticamente.
Datos públicos e reproduzíveis
Persistencia
Estado pequeño, ejecución descartable
El runner de GitHub puede desaparecer después de cada job. El estado necesario para continuar la simulación permanece en el repositorio, mientras modelo y dependencias pueden recuperarse de nuevo.
Qué permanece y qué es efímero
GitHub Actions
Runner temporalCPU, Python e PyTorch
Kronos-baseDescargado/cacheado
Market dataRecopilado en cada ejecución
InferênciaDescartada después del job
⇄
Repositorio
state.jsonCartera e historial
latest.jsonÚltimo análisis
Refs fixadosVersiones validadas
DashboardVisualización pública
El dinero real no forma parte de esta fase. Toda ejecución mostrada en el dashboard es paper trading.
Confianza y seguridad
Controles alrededor de cada ejecución
Automatización no significa ausencia de límites. El sistema está diseñado para fallar sin inventar precios, sin guardar estado parcial y sin permitir que código upstream tenga permiso de escritura.
Datos incompletosLos activos sin historial suficiente se ignoran en lugar de generar una posición artificial.
Precio anteriorUna cotización temporalmente ausente usa la última marca conocida para no poner una posición a cero por error.
SlippageLas compras y ventas simulan un coste de ejecución en lugar de asumir fills perfectos.
Separación de permisosLa inferencia corre read-only; solo el job de persistencia recibe contents: write.
ConcurrenciaLas ejecuciones simultáneas se bloquean para no competir por el mismo estado de cartera.
Paper tradingNinguna credencial de broker ni orden con dinero real está activa en esta versión.
Un experimento continuo, no un resultado elegido a mano
La propuesta es dejar que el sistema acumule decisiones y rendimiento con el tiempo. Aciertos, errores, drawdowns y cambios de posición permanecen visibles en el mismo historial.