Arnaud Barbier

Framework de recherche Python pour créer, modéliser et améliorer vos stratégies

Transformez une idée ou une intuition en résultat testé, de la façon la plus simple et fiable.

  • Supporte toute idée de stratégie d'allocation ou de gestion possible
  • Permet de reproduire vos stratégies existantes pour les étudier et les améliorer
  • Toute votre attention est dédiée à votre stratégie, pas à ce qui la teste

Obtenez la réponse en 1 minute

  1. 01Décrire l'idée

    Une stratégie, une pondération ou un fonds à tester dans une allocation.

  2. 02Lancer le test

    Trésorerie, frais, devises et conditions d'exécution entrent dans le calcul.

  3. 03Lire le verdict

    Performance et drawdown, puis des tests statistiques : le résultat tient-il, ou relève-t-il du hasard ?

Sortie du mode Allocation : évolution de la Net Asset Value, réserves de trésorerie, rebalancements et drawdown
Sortie du mode Allocation : évolution de la Net Asset Value, réserves de trésorerie, rebalancements et drawdown.

Exemple d'utilisation

(moins d'une minute de vidéo)

01 / 04

Préparer l'étude

Le backtest se fait dans un notebook préconfigurable, vous pouvez donc adapter la configuration avec une API simple, ici la periode d'Out of Sample (OOS).

02 / 04

Brancher la logique

Puisque tout est déjà branché grâce à la premiere étape, il ne reste plus qu'à insérer votre stratégie dans le cadre prévu.

03 / 04

Lire les paramètres

Dans votre Notebook, chaque paramètre est documenté, facile d'accès et d'import au moment où l'étude se configure.

04 / 04

Lancer et consulter

Via le panneau de navigation du notebook, à gauche, un clic lance le backtest et affiche les premiers résultats.

Étape 1 sur 4

Le backtest se fait dans un notebook préconfigurable, vous pouvez donc adapter la configuration avec une API simple, ici la periode d'Out of Sample (OOS).

Démonstration en direct sur demande →

Un noyau compilé, quatre modes

Quatre modes sur un noyau Numba compilé, en cours d'unification sur une base d'exécution commune.

KERNEL NUMBA COMPILÉ lecture des barres, exécution de votre order book Algorithmique une règle a-t-elle un edge ? Allocation une pondération bat-elle 1/N ? Investissement qu'a vécu un compte réel ? couche de sizing PYTHON · SANS COMPILATION Research que suit un signal ?

Algorithmique

Le mode algorithmique permet de tester et d'évaluer des stratégies systématiques, avec leur propre logique de signal, de sizing et de gestion du risque.

porteur : trades clos

Allocation

Le mode allocation applique cette architecture à la construction et au suivi de portefeuilles multi-actifs, avec des règles de pondération et de rebalancement configurables.

porteur : Net Asset Value (NAV) nette de l'emprunt

Research

Facilite la recherche et la création de tout type d'indicateur, avec leur visualisation façon plateforme de trading. À terme, permet de projeter des graphiques en tout genre liés à l'évolution des prix, dans l'esprit d'outils comme Quantower.

porteur : signal, relié au mode Algo

Investissement, en développement

Le mode investissement prolonge cette logique en traitant chaque stratégie algorithmique comme une ligne de portefeuille à part entière. Chaque stratégie conserve sa propre gestion du risque et son accès à la trésorerie. Les positions sont investies au comptant, sans le levier du mode Algorithmique.

porteur : rendement pondéré par le temps

Repères techniques

Un noyau compilé en Numba tient la comptabilité du portefeuille à chaque barre : paliers de trésorerie, tranches d'emprunt indexées sur un taux de marché réel, plusieurs devises, frais provisionnés sur une horloge et payés sur une autre.

Trois modes d'exécution reposent sur ce noyau : signaux algorithmiques, allocation de portefeuille et suivi d'un compte réel. La comptabilité de portefeuille appartient aux deux derniers.

Refonte en cours : un moteur d'exécution commun

Chaque mode repose aujourd'hui sur sa propre version du noyau, adaptée à ses besoins. La refonte en cours les remplace par une base unique, inspirée de Nautilus Trader : un carnet d'ordres, un compte et une seule passe d'exécution par barre, pour tous les modes. L'allocation devient le mode portefeuille unique : elle reprend le suivi d'un compte réel et accueille des stratégies algorithmiques comme lignes, en spot, CFD ou futures.

Elle permet de :

  • exécuter un ordre de la même façon dans tous les modes, avec le même prix, les mêmes coûts et le même journal ;
  • placer une stratégie dans un portefeuille sans la réécrire, et comparer ses résultats seule ou en portefeuille ;
  • faire lire à une stratégie l'état des autres lignes du portefeuille, par exemple pour une couverture ;
  • obtenir un noyau nettement plus rapide ;
  • coder ses propres règles en Numba, au même niveau que le noyau, avec un contrôle bas niveau et un état conservé d'une barre à l'autre, pour que toute stratégie puisse être réalisée.

Les démonstrations de cette page tournent sur les noyaux actuels.

Contrairement à Nautilus Trader ou QuantConnect, ce moteur est conçu pour la recherche : itérations rapides et validation statistique ; pas pour l'exécution en direct.

Déclarer un portefeuille
40 lignes
réserves, emprunt, frais, devises
Coût d'une réfutation
3 lignes
trois appels, trois verdicts
Identité comptable
4,44 e−16
résidu maximal, neuf ans de barres journalières
Hors échantillon
jamais ouvert
30 % de l'historique scellé
Huit entrées
Graphique du mode Research : signaux long et short et EMA 50

Mode Research

7 min · 6 octobre 2026

Développer un indicateur et mesurer ce qui suit ses signaux, comparés à des entrées au hasard et à la version précédente. Le résultat s'affiche sur un graphique relié au notebook, jusqu'au freeze et au hors échantillon.

Le lien avec Algo : le même graphique et le même registre de validation.
Explorer le mode Research →
Backtest du mode Algo : régimes, entrées et sorties

Mode Algo

7 min · 6 octobre 2026

Transformer un signal en stratégie : choix des entrées, gestion des positions à quatre niveaux, frais d'exécution et sizing. Chaque trade reste inspectable, du prix visé au prix exécuté.

Le lien avec Research : le backtest affiché dans le graphique du mode Research.
Explorer le mode Algo →
Courbes de la stratégie et des deux baselines

Validation · Optimisation max DDR duration

6 min · 26 août 2026
Tests montrés : validation_baseline, validation_null_sizing, validation_null_leverage.
Lire la note →
Courbes de la stratégie et des deux baselines

Validation · Optimisation Sharpe

7 min · 4 septembre 2026
Tests montrés : validation_baseline, validation_purchasing_power, validation_oos_retention, validation_null_leverage, validation_cross_asset, validation_mc, validation_edge_concentration, validation_dsr, trial_counter_status et freeze_configuration.
Lire la note →
Bloc AllocationSpec

Mode allocation

5 min · 26 août 2026

Le code réel que l'utilisateur écrit et la sortie réelle que le moteur renvoie. Quarante lignes déclarent les réserves, l'emprunt indexé, les frais à deux horloges et quatre devises. Le bilan boucle à l'unité près.

Voir le mode allocation →
NAV nette et courbes reconstituées avant coûts

Attribution des coûts et de la performance

5 min · 1er septembre 2026

Spread, commissions, taxes, slippage, carry, frais de gestion et financement : comment sont-ils calculés et appliqués pour un backtest réaliste et robuste en mode spot ?

Suivre les coûts →
Schéma du mode replay

Replay, resume, watcher

7 min · 26 août 2026

Comment un kernel compilé prend des décisions qui dépendent de son propre passé. Trois régimes, trois schémas, et ce que chacun coûte.

Lire la note technique →
Scanner njit

Le dépôt

MIT

Le moteur algorithmique, publié : de quoi définir un signal, le faire tourner sous un modèle d'exécution réaliste, et inspecter les trades produits.

Ouvrir sur GitHub →
Travaux à venir

Détecter la dégradation d'une stratégie avant les pertes

Une stratégie peut progressivement perdre l'edge qui justifiait son déploiement. Le prochain axe de développement cherchera à détecter, voire anticiper, cette dégradation avant qu'elle ne se traduise par des pertes significatives, afin de réduire ou retirer l'exposition suffisamment tôt.

Déclencher une mesure d'urgence au bon seuil

Un passage forcé à plat peut éviter un événement qui détruirait la stratégie, mais aussi coûter davantage que la protection apportée. Le travail cherchera à déterminer quand déclencher cette mesure et à partir de quel seuil son coût dépasse son bénéfice.

Le reverse stress déterministe déjà en ligne constitue le point de départ : il mesure ce que la protection coûte lorsqu'elle se déclenche.

Aucune stratégie gagnante n'est présentée ici. La stratégie testée est une construction de manuel, retenue parce qu'elle est connue et reproductible. L'objet de ces pages est l'instrument qui la juge.

A Python research framework to create, model and improve your strategies

Turn an idea or a hunch into a tested result, as simply and reliably as possible.

  • Supports any allocation or management strategy you have in mind
  • Lets you recreate existing strategies to study and improve them
  • Your focus stays on your strategy, not on what tests it

Get the answer in 1 minute

  1. 01Describe the idea

    A strategy, weighting or fund to test in an allocation.

  2. 02Run the test

    Cash, costs, currencies and execution conditions enter the calculation.

  3. 03Read the verdict

    Performance and drawdown, then statistical tests: does the result hold up, or could it be chance?

Allocation mode output: Net Asset Value evolution, cash reserves, rebalancing and drawdown
Allocation mode output: Net Asset Value evolution, cash reserves, rebalancing and drawdown.

Example of use

(less than one minute of video)

01 / 04

Prepare the study

The backtest runs in a configurable notebook, so you can change its settings through a simple API. Here, we set the out-of-sample (OOS) period.

02 / 04

Connect the logic

Everything is already connected. Add your strategy to the prepared framework.

03 / 04

Read the parameters

Each parameter is documented, easy to access and import while the study is configured.

04 / 04

Run and review

One click in the notebook's left navigation panel launches the backtest and displays the first results.

Step 1 of 4

The backtest runs in a configurable notebook, so you can change its settings through a simple API. Here, we set the out-of-sample (OOS) period.

Live demonstration on request →

One core, four modes

Four modes on a compiled Numba core, being unified on one common execution base.

NUMBA KERNEL reads bars, executes your order book Algorithmic does a rule have an edge? Allocation does a weighting beat 1/N? Investment what did a real account live? sizing layer PYTHON · NO COMPILATION Research what follows a signal?

Algorithmic

Algorithmic mode tests and evaluates systematic strategies, each with its own signal logic, sizing and risk management.

carrier: closed trades

Allocation

Allocation mode applies this architecture to building and monitoring multi-asset portfolios, with configurable weighting and rebalancing rules.

carrier: Net Asset Value (NAV), net of borrowing

Research

Enables research and creation of all kinds of indicators, with trading-platform-style visualisation. Over time, it will project charts of price evolution in the spirit of tools such as Quantower.

carrier: signal, linked to Algo mode

Investment, in development

Investment mode extends this architecture by treating each algorithmic strategy as a portfolio line of its own. Each strategy keeps its own risk management and access to cash. Positions are held in cash assets, without Algorithmic mode's leverage.

carrier: time-weighted return

Technical markers

A Numba-compiled core keeps the portfolio's books on every bar: cash tiers, borrow tranches indexed on a real market rate, several currencies, and fees accrued on one clock and paid on another.

Three execution modes run on that core: algorithmic signals, portfolio allocation, and tracking a real account. Portfolio accounting belongs to the last two.

Rebuild in progress: one common execution engine

Each mode currently runs on its own version of the core, tailored to its needs. The rebuild in progress replaces them with a single base, modelled on Nautilus Trader: one order book, one account and a single execution pass per bar, for every mode. Allocation becomes the single portfolio mode: it takes over real-account tracking and accepts algorithmic strategies as lines, in spot, CFDs or futures.

It lets you:

  • execute an order the same way in every mode, with the same price, the same costs and the same journal;
  • put a strategy into a portfolio without rewriting it, and compare its results alone and in the portfolio;
  • let a strategy read the state of the portfolio's other lines, for example to hedge it;
  • trace every position back to the order that opened it and the strategy that holds it;
  • compile only what a simulation uses, to keep the speed on hundreds of thousands of orders.

The demonstrations on this page run on the current cores.

Unlike Nautilus Trader or QuantConnect, this engine is designed for research: fast iteration and statistical validation; not for live execution.

Declaring a portfolio
40 lines
reserves, borrowing, fees, currencies
Cost of a refutation
3 lines
three calls, three verdicts
Accounting identity
4.44 e−16
worst residual, nine years of daily bars
Out of sample
never opened
30 % of the history sealed
Eight ways in
Research mode chart: long and short signals and EMA 50

Research mode

7 min · 6 October 2026

Develop an indicator and measure what follows its signals, compared with random entries and with the previous version. The result appears on a chart linked to the notebook, all the way to the freeze and out-of-sample test.

The Algo connection: the same chart and the same validation registry.
Explore Research mode →
Algo mode backtest: regimes, entries and exits

Algo mode

7 min · 6 October 2026

Turn a signal into a strategy: entry selection, four levels of position management, execution costs and sizing. Every trade stays inspectable, from target price to executed price.

The Research connection: the backtest shown in Research mode's chart.
Explore Algo mode →
Courbes de la stratégie et des deux baselines

Validation · max drawdown duration optimisation

6 min · 26 August 2026
Tests shown: validation_baseline, validation_null_sizing, validation_null_leverage.
Read the note →
Strategy and both baselines

Validation · Sharpe optimisation

7 min · 4 September 2026
Tests shown: validation_baseline, validation_purchasing_power, validation_oos_retention, validation_null_leverage, validation_cross_asset, validation_mc, validation_edge_concentration, validation_dsr, trial_counter_status and freeze_configuration.
Read the note →
Bloc AllocationSpec

Allocation mode

5 min · 26 August 2026

The real code that is written and the real output it returns. Forty lines declare the reserves, the indexed borrowing, fees on two clocks and four currencies. The balance sheet closes to the last unit.

View allocation mode →
Net NAV and reconstructed pre-cost curves

Cost and performance attribution

5 min · FR · 1 September 2026

Spread, commissions, taxes, slippage, carry, portfolio fees and financing: how are they calculated and applied to a realistic and robust backtest in spot mode? French only for now.

Follow the costs →
Replay mode diagram

Replay, resume, watcher

7 min · FR · 26 August 2026

How a compiled kernel makes decisions that depend on its own past. Three regimes, three diagrams, and what each one costs. French only for now.

Read the technical note →
Scanner njit

The repository

MIT

The algorithmic engine, published: enough to define a signal, run it under a realistic execution model, and inspect the resulting trades.

Open on GitHub →
Work ahead

Detect strategy deterioration before losses

A strategy can gradually lose the edge that justified its deployment. The next line of development will seek to detect, or even anticipate, that deterioration before it translates into significant losses, so exposure can be reduced or withdrawn early enough.

Trigger an emergency measure at the right threshold

A forced move to flat can avoid an event that would destroy the strategy, but it can also cost more than the protection it provides. The work will seek to determine when to trigger that measure and at what threshold its cost exceeds its benefit.

The deterministic reverse stress already online provides the starting point: it measures what the protection costs when it is triggered.

No winning strategy is presented here. The strategy under test is a textbook construction, chosen because it is well known and reproducible. What these pages are about is the instrument that judges it.