Open source · Apache-2.0 · par CodeGate Software
Une conformité Shariah que vous pouvez auditer, pas seulement croire sur parole
keel est un moteur open-source pour le trading de crypto au comptant (spot). Avant qu'un ordre parte, il traverse des garde-fous qu'aucun code ne peut désactiver et un filtre d'actifs qui refuse tout ce qui n'est pas attesté. Tout ce qu'il applique est écrit — règle par règle, sources à l'appui — pour que vous puissiez le vérifier vous-même.
Le résultat honnête, annoncé d'emblée
Aucune famille de règles livrée ne dégage un résultat net positif aux frais de preneur (taker) réellement payés sur Coinbase (~1,2 % par sens). Chaque règle de signal que keel livre a désormais été mesurée à ses réglages livrés sur 24 actifs, rejouée sur la v0.16.0 et tarifée au coût plausible du carnet propre à chaque actif : 0 configuration sur 240 n'a franchi le seuil. Pas une seule, aux frais que ce compte paie réellement.
Les frais ne sont pas tout le coût, et nous sous-estimions le reste. keel calcule l'écart de cotation de chaque actif à partir de sa propre liquidité — et lorsque nous l'avons enfin mesuré sur l'ensemble de l'univers, pas un seul des 24 actifs ne se négocie aux 5 points de base que supposaient nos chiffres antérieurs. L'éventail va de 1,1 à 36,8 fois ce plancher, avec une médiane proche de dix fois. Facturé honnêtement, le résultat médian de la matrice recule de 0,09 et la seule configuration qui paraissait positive disparaît. L'erreur de notre propre modèle de coûts était plus grande que la meilleure amélioration réelle qu'aucune de nos modifications de règle ait produite.
Cette correction atteint une affirmation que portait cette page ; nous la retirons donc ici, plutôt que de la corriger en silence. Nous disions que les règles se situent au point mort dans le quota mensuel sans frais — 14,9 % de trades gagnants pour un seuil d'équilibre de 14,88 %. Ce 14,88 % était calculé aux 5 points de base auxquels rien ne se négocie. Recalculé à l'écart que les actifs sont réellement censés payer — une médiane valant dix fois ce plancher — le point mort dans le quota s'établit à 20,5 %, face au même taux de 14,9 %. Soit environ cinq points et demi sous l'eau, à l'intérieur de la fenêtre que nous appelions le point mort. Le quota reste le terme le plus lourd du résultat — environ 14 points de seuil d'équilibre, davantage que toute modification que nous ayons apportée à une règle. Mais c'est la frontière entre nettement perdant et clairement perdant, non entre perdant et rentable.
Ce projet a pour objet la machinerie d'application, et la mesure honnête de ce qui la traverse — pas une promesse de gain. Chaque résultat est comparé à une référence simple, l'achat périodique (DCA), et les règles de référence ne la battent pas une fois les frais déduits. Nous préférons que vous l'appreniez dès la page d'accueil plutôt que de le découvrir par vous-même. Nous nous employons à améliorer les résultats des algorithmes et des stratégies, et nous rendrons compte de nos progrès.
Lire le compte rendu de l'expérience Comment l'exécution est tarifée Lire l'annonce
-
Un filtrage qui bloque par défaut
Les faits de marché se calculent ; les classifications Shariah, elles, sont attestées par un humain — avec une source et un nom — jamais déduites des cours. Un actif sans attestation est rejeté, pas admis par défaut.
Vérifier dans le dépôt : compliance/screen.py
-
Vingt-et-un garde-fous qu'aucun ordre ne contourne
Plafonds de dépense, disjoncteurs de perte maximale (drawdown), limites d'exposition, interdiction de la martingale, contrôles de fraîcheur des données, un coupe-circuit qui se ferme en cas de défaillance — auxquels s'ajoutent ceux qui découlent du fiqh : l'attestation d'abonnement à la plateforme, le contrôle de prise de possession (qabd), au motif qu'un actif impossible à retirer n'a peut-être jamais été valablement possédé, et le refus de vendre un actif que la plateforme déclare absent du compte, car vendre ce qu'on ne possède pas est bay' ma la yamlik.
Vérifier dans le dépôt : execution/guards.py
-
Des verrous qui ne flattent personne
Une règle passe par trois états : candidate, papier, réel. Pour être promue, elle doit franchir des seuils de performance et un contrôle de surapprentissage — la probabilité que le backtest soit surajusté, calculée par validation croisée combinatoirement symétrique (PBO/CSCV) — car une règle qui brille sur un seul jeu de paramètres, à l'intérieur de l'échantillon, est précisément ce dont le second verrou est là pour se méfier.
Vérifier dans le dépôt : agent.py — RULE_REGISTRY
-
Une pile de preuves capable de dire non
Chaque essai de backtest est ajouté à un registre d'essais chaîné par hachage — keel trials verify parcourt la chaîne et signale toute rupture. Autour de lui, des modules de recherche qui répondent aux questions honnêtes : significativité de la famille de règles testée contre le point mort aux frais réellement payés, probabilité de surapprentissage du backtest (PBO/CSCV), ratio de Sharpe dégonflé et longueur minimale de backtest, Monte Carlo et rééchantillonnage par bougies, validation walk-forward à origine glissante. Tous en mode rapport uniquement, sous une seule règle — le rail Strathern : un score peut informer et peut verrouiller, mais ne peut jamais servir de clé de classement.
Vérifier dans le dépôt : keel/research/
-
Un serveur MCP en lecture seule pour votre assistant
Pointez votre propre assistant sur votre propre keel : keel mcp sert huit outils en lecture seule via stdio — constats du doctor, inventaire des capacités, profils, ordres, journal des vetos, rapport de purification, registre des essais, corpus de recherche. Il ne peut ni passer, ni arrêter, ni attester, ni promouvoir, ni armer quoi que ce soit : la surface d'écriture n'existe pas, et PRAGMA query_only = ON impose la lecture seule au niveau du moteur. Pas de chatbot hébergé, pas de compte — le serveur est un processus local sur votre machine.
Vérifier dans le dépôt : keel/mcp/tools.py
Les limites du moteur, dans ses propres mots
keel n'est pas un moteur de fatwas : c'est un moteur qui applique une règle que vous lui fournissez.
keel ne déduit jamais une classification Shariah des données de marché. C'est vous qui l'enregistrez — avec une source et un nom — et keel l'applique de façon déterministe. La règle réside dans votre attestation, pas dans le code : deux opérateurs qui suivent des écoles différentes obtiennent, du même code, des réponses différentes. C'est voulu.
La base fiqh de keel n'a fait l'objet d'aucun examen par des savants. Elle est la lecture sourcée d'un seul opérateur, publiée sous forme de document précisément pour être auditée et contestée — et chaque opérateur répond de ses propres attestations.
Examen par des savants : aucun à ce jour — une question ouverte, par conception
La base fiqh dit clairement ce que couvrirait un examen par des savants, et ce qu'il signifierait ou non. Tant que personne n'a fait ce chemin, le statut reste : non examinée.
Et maintenant ?
-
Installation
Essayez keel en cinq minutes, en lecture seule et côté papier. Aucun mouvement de fonds.
-
La conformité, en termes simples
Ce que keel applique, ce qu'il refuse de trancher, et où commence votre responsabilité.
-
Communauté
Les questions, les idées et les débats de classification ont lieu dans les Discussions GitHub.
Traduit d'après la révision anglaise 2026-09-16.1.