AimotoApplication de recherche locale

Aimoto réunit préparation des données, prévisions quotidiennes, backtests et comparaison des résultats dans une interface locale dédiée à la recherche.

Montage de présentation d’Aimoto : aperçu historique des prévisions Bitcoin dans un ordinateur portable.

Vue d’ensemble

Expérimenter sur le Bitcoin et tester les modèles sur des données historiques.

Le problèmeÉvaluer des approches de prévision sur le Bitcoin implique de préparer des séries temporelles, répéter des expériences et comparer des résultats sans mélanger entraînement et évaluation.

La solutionUne application locale relie des données de marché, des modèles configurables, un moteur de backtest et des vues de comparaison pour suivre le cycle complet d'une expérience.

Workflow utilisateur

Jeux de données et variables

Importer ou actualiser les séries quotidiennes et sélectionner les variables utilisées dans les expériences. Catalogue de variables, fournisseurs de données et informations de fraîcheur.

1 / 4: Préparer les séries. Étape précédente / Étape suivante

Architecture technique

L'interface dialogue avec une API locale qui pilote les calculs et persiste métadonnées et artefacts d'expérimentation.

Interface web

Next.js / TypeScript

Configurer, suivre et comparer les expériences
HTTP / SSE

API locale

FastAPI / Python

Valider les demandes et exposer les résultats
File de jobs

Moteur de calcul

Python

Exécuter les runs et les backtests
Résultats et états

Stockage local

SQLite / Parquet

Conserver les états, métriques et artefacts
  • Interface web: Next.js / TypeScript. Configurer, suivre et comparer les expériences HTTP / SSE.
  • API locale: FastAPI / Python. Valider les demandes et exposer les résultats File de jobs.
  • Moteur de calcul: Python. Exécuter les runs et les backtests Résultats et états.
  • Stockage local: SQLite / Parquet. Conserver les états, métriques et artefacts

Défis techniques

01

Évaluer sans fuite temporelle

Contrainte

Un backtest de séries temporelles peut être biaisé si des observations futures contaminent l'entraînement.

La solution

Découpage walk-forward par dates et gestion explicite des décalages de disponibilité des variables.

02

Suivre des traitements longs

Contrainte

L'entraînement et les calculs peuvent durer au-delà d'une requête HTTP et connaître des interruptions.

La solution

File de jobs, worker séparé, états et progression, avec suivi côté interface par SSE et repli par polling.

03

Préserver des artefacts cohérents

Contrainte

Une interruption pendant l'écriture peut laisser des fichiers de résultats incomplets.

La solution

Écritures JSON temporaires validées puis remplacées atomiquement, avec fsync et reprises sur erreurs I/O ciblées.

Stack technique principale

Next.jsReactTypeScriptPythonTailwind CSSRecharts

Résultats et enseignements

Expérimentations guidées

Parcours de configuration de runs et matrice de combinaisons de variables et de modèles.

Backtests et comparaisons

Moteurs de prévision et de backtest, historique des runs, classement et visualisation des résultats.

Suivi des exécutions

File d'attente, étapes de calcul et remontée des états jusqu'à l'interface.