mmr.qdna.fr: sovereign models that arbitrate, and say so
A live project: an analysis chain where language models running locally deliver a verdict, under guardrails that refuse to publish what they cannot justify. Published by QDNA.
What this site is not. It makes no buy, sell or hold recommendation. The signal measures how far the analyses converge, not an opinion on an investment. The author states this on every page, and an automatic check refuses to publish any page that would contain a recommendation.
The chain in figures
| Published pages | 572 stocks in French and 572 in English (1,144 summary pages), plus the index and the public methodology |
|---|---|
| Tracked universe | 4,036 financial assets catalogued, 3,689 market signals and 1,038 historical verdicts stored in local database |
| Rules | 195 documented rules (112 core rules and 83 expert rules across eight families), of which 62 carry a deterministic code criterion |
| Models | glm-5.3 and minimax-m3, alternating, running on QDNA's own infrastructure via vLLM and LiteLLM |
| Arbitration | three draws of the same prompt, majority vote on the signal (2/3 or 3/3); with no majority the verdict is marked unstable rather than forced |
| Cadence | re-scoring every six hours, with alerts on score drops or threshold crossings |
| Hermetic surfaces | public static surface without investment advice (AMF/MAR compliant) and private dashboard encrypted via Cloudflare tunnel with HMAC tokens |
What the chain does, in order
Enrichment gathers market and fundamental data, regulatory filings, sanctions and governance items. One design rule outranks all the others: a missing value triggers no rule at all. The system would rather say nothing than fill a gap.
The deterministic score then sums the weights of every rule whose criterion holds. It is reproducible and checkable line by line, which makes it the yardstick against which the arbiter is measured. Three qualitative agents follow, one on fundamentals, one on price, one on risk, each returning a verdict with a confidence level and dated facts.
Arbitration closes the chain. The same prompt is drawn three times across the two models in turn, and the published signal is the one holding the majority. The previous verdict is shown to the arbiter, and a change of signal without a new dated fact is refused. That guardrail is what stops an agent chain from drifting run after run.
Three checks before publication
The majority verdict is rewritten into a public version by a local model, then put through three automatic checks: no figure absent from the source verdict, no reference to the author's portfolio, no buy, sell or hold recommendation. A page failing any of the three is not published.
This deserves emphasis, because it is rare. Most generative chains check the form and let the substance through. Here the check bears on what the text asserts, and it blocks publication rather than flagging after the fact.
Why this project
The financial subject is not the point of the demonstration: it is its proving ground. An agent chain that gets a figure wrong, changes its mind for no reason or invents a missing value is caught immediately in this field, where elsewhere it would pass unnoticed.
What the platform shows is what QDNA recommends to its clients: open models served on infrastructure you control, an agent orchestrator splitting the work across specialised roles, and guardrails that refuse to publish rather than assert without evidence. Both models used here, GLM 5.3 and MiniMax M3, have their own page on this site, together with their hardware sizing.
See the platform
- The index of 572 analysed stocks, with their signal and last arbitration date
- The public methodology, detailing the rules, weights, thresholds and what the system refuses to do
- Dashboard access, restricted