Skip to content
Aitsam Ahad

Trading

A model that refuses to write text, and what that buys a trading desk

Jev is TypeSafe's flagship model, and the first thing worth knowing about it is what it refuses to do: it is not trained to generate text. That is on their own limitations page, as a property of the model rather than a missing feature.

The model that refuses to write text — refuses

This video explains what a decision model computes and where it fails, using simulated data. It is educational material, not financial advice, nothing in it is a recommendation to trade, and no strategy shown here is claimed to be profitable. I am not a licensed financial adviser.

There is a model called Jev, from a company called TypeSafe, and the first thing worth knowing about it is what it refuses to do.

Jev-1.13 is not trained to generate text.

It does not write text. That is not a missing feature they are working on. It is listed on their own limitations page as a property of the model.

Ask it a question and you get back a structured answer your code can use directly. A choice, a score, or a probability. Nothing to parse, nothing to coax into JSON.

The anomaly

two different products, often confused
two different products, often confused

Why it matters

Before we get anywhere near an architecture, the number that belongs at the top of every video that mentions trading and an AI in the same breath.

European regulators require brokers to publish the share of their own retail accounts that lose money. Those figures sit between seventy four and eighty nine percent.

No strategy here is claimed to be profitable. This is an architecture, not an edge.

So nothing in this video is a claim that any of it makes money. What follows is a way of arranging components. Whether the components are any good is a separate question, and it is the one that actually decides the outcome.

The usual failure is not a bad prediction. It is a confident sentence nobody could check.

Because the standard way people bolt a language model onto a trading system fails in a specific, boring way. You ask for an opinion, you get fluent prose, and there is no number in it you can threshold on.

retail outcomes, from regulators rather than marketing
retail outcomes, from regulators rather than marketing

The mental model

Jev exposes three question types, and that is the whole surface. Choice, Score, and Noul.

Choice is for when the answer is one of a known set with no order between them. You hand it a map of options with a description of each, and it returns the selected option plus a probability distribution across all of them.

Score is for a spectrum where you can describe what each point means. You pass an ordered list of levels, and the answer can land between two of them.

Noul is a clean yes or no where the probability itself is the signal. Near one is a strong yes, near zero a strong no, and near a half means the model does not know.

That is what a call looks like. A question, some criteria written in plain English, and a typed answer coming back.

confidence is computed from the shape of the distribution, not from the answer.

And alongside the probabilities there is a second number, and it is the one this whole video turns on.

Probability tells you which option. Confidence tells you how peaked that distribution is - all of the mass on one option gives you one point zero, and the more evenly it spreads, the lower it goes.

The documentation is explicit that these answer different questions, and that where you draw your thresholds depends on the stakes. Different actions in the same system should be gated at different levels depending on what it costs to be wrong.

two numbers that answer different questions
two numbers that answer different questions

The mechanism

Now the part you actually came for. What does this buy a trading platform.

The naive version is one agent that reads the market state and emits a probability. That is not an architecture, it is an opinion with a decimal point in front of it.

The documented pattern is to fan out. You break the judgement into independent dimensions, ask each one separately and in parallel, and combine them with weights that live in your code rather than in the model.

So instead of asking one agent whether to buy, you ask five narrow questions.

A regime agent returning a Choice across trend, range and breakout. A structure agent returning a Noul on whether structure has broken upward. A liquidity agent, a volatility agent, and one that simply asks whether a scheduled event sits inside your holding period.

Five narrow questions, each one the kind of thing a System One model is built for, and not one of them is asked to predict a price.

Then you combine them. Each dimension normalised, each weighted, and the weights sit in source control where you can read them, change them, and blame them.

Notice the news agent carries a negative weight. An event inside your horizon should pull the score down, not up.

The gate is a separate condition. A high score with low confidence does not trade.

And then the line that matters. There are two conditions, not one. The composite score has to clear its threshold, and the confidence has to clear a separate one.

A high score with low confidence is not a weak signal. It is a signal you were not entitled to read.

That is the difference between this and a scoring system with an AI in it. The model is allowed to say it does not know, and the architecture is obliged to listen.

So here is a simulated session where all five agreed. Structure broken upward, regime reading trend, no event in the window.

The order goes in with the stop below the origin of the move and the target at two times the risk, and the outcome is walked forward candle by candle rather than asserted.

Target hit, two R. And that single result tells you almost nothing, which is exactly the point I want to make next.

Because here is the same network on a series with no trend underneath it.

The structure agent still fires - price does cross levels in chop, that is what chop is. But the regime agent's distribution spreads across trend and range and breakout almost evenly, and a spread distribution is a low confidence number.

Confidence 0.41, below the 0.75 threshold. No order placed. No chart to show you.

The gate holds. No order is placed. And notice there is no trade drawn on this chart at all, because the most valuable thing this architecture produced here was nothing.

The trades you can see are the cheap half of the story. The ones the gate refused are the expensive half.

Every trading channel shows you the setups that fired. Almost none of them can show you the ones a system declined, because most systems have no mechanism for declining.

five agents, five typed questions, five answers your code can read a setup the consensus agreed on (illustrative series, not market data) the same five agents, a series with no trend (illustrative series, not market data)

Back to the anomaly

So what did the fan-out actually buy, beyond looking sophisticated on a diagram.

When the wide version is wrong, you have one number and no idea which part of the reasoning failed. When the narrow version is wrong, you can see that the regime agent read trend at zero point eight while the series was clearly ranging, and you have something specific to fix.

There is a second property that matters more for automation than it first appears. In their own consistency cookbook they ran fifteen repeats per question and measured how much the returned probability moved.

Their mean per-question standard deviation came out at zero point zero one zero two, below every language model condition in the same test - and the notable part is that those language models were running at temperature zero and still moved between runs.

A gate at 0.75 is meaningless if the same input returns 0.71 and 0.79 on alternate calls.

If you are thresholding on a number, the number has to mean the same thing twice. A gate at zero point seven five is theatre if the same input returns zero point seven one and zero point seven nine on alternate calls.

the same information, two arrangements
the same information, two arrangements

Where else this applies

Now the part that decides whether you should build any of this, and it comes from the model's own limitations page rather than from me.

Jev is not a calculator. It says so. It will do better on semantic questions than mathematical ones, and it does not count reliably.

It reads dates as text rather than as ordered quantities, which means asking it whether one timestamp falls inside a window is unreliable.

Every one of those is a thing a trading system does constantly.

Read that list again with a trading platform in mind, because every single item on it is something a trading system does all day long.

So the division of labour is not a style preference, it is dictated by the failure modes. Every number gets computed in your code. The model is asked only for semantic judgement.

And two more from that page that should worry anyone pointing this at a live market. Accuracy falls as the state grows with content unrelated to the decision - so feeding it your entire order book is actively harmful.

And content written to adversarially steer the model can move the answer. Financial news is a channel other people can write into.

what goes where
what goes where

Sources

  • Jev is TypeSafe's flagship System One model; returns typed structured answers rather than generated text
  • Three question primitives - Choice (option + probabilities + confidence), Score (position on described levels), Noul (yes/no as a probability)
  • Confidence is computed from the shape of the probability distribution, 0 to 1; all mass on one option gives 1.0; thresholds depend on the stakes
  • Composite scoring: break a judgement into independent dimensions, score separately, combine with weights you control in code
  • Mean per-question probability standard deviation of 0.0102 across 15 repeats per condition, below every LLM condition tested including at temperature 0
  • Jev 1.13 limitations: not a calculator, does not count reliably, reads dates as text not ordered quantities, accuracy falls as irrelevant state grows, adversarial content can move the answer, not trained to generate text
  • 74-89% of retail CFD accounts lose money; average loss per client EUR 1,600-29,000
  • Typed Models
  • Calibrated Probability
  • Trading Systems

Written by

Aitsam Ahad

Senior Full-Stack Engineer with 6+ years architecting scalable web applications in Node.js, TypeScript, Express and NestJS on the backend and React/Next.js on the front. Currently Principal Software Engineer at TEO International, Islamabad.

Explore my experience