<- DualQuant The company example ->

A Strategy, End to End

One real submission, from the sentence a trader typed to the verdict that came back. It was rejected. This page walks through why, what the report actually contains, and what in it you can act on.

Mode 1 · every figure read off the linked reports

1. From a sentence to a frozen plan

Four steps, and the order is the point. Nothing reads a price until step three is signed.

Step one: you describe it in your own words

This is a real submission, exactly as typed:

I trade SPY. I only buy when the market is above its 200-day average — I don't want to catch falling knives. Then I wait for a pullback and buy when RSI drops under 35. I'm out if it falls 5% from where I bought, or after 20 days, whichever comes first.

Step two: we restate it as rules, and you confirm them

A language model reads the words once, at this step and nowhere else. What comes back is not prose, it is a condition tree — a closed grammar, not code we run:

entry: every one of these must hold
  close is above the 200-period EMA
  RSI(14) is below 35

exit: any one of these ends the trade
  stop loss at 5%
  held for 20 bars

fill: decide on this bar's close, fill at the next bar's open

If anything in your description is ambiguous, you are asked rather than guessed at. Anything we cannot express is named, so the verdict never pretends to be about a strategy you did not describe. You can also skip the English entirely and send the tree yourself over the API.

Step three: the plan is frozen

The confirmed plan is fingerprinted before a single bar is read. That is the whole basis of the thing: a result you can change the rules of afterwards is not evidence of anything. Any later edit starts a new run, and both runs stay in a tamper-evident log, so the count of how many times you have looked at this data is a fact rather than a memory.

Step four: the checks run, in order, stopping at the first failure

Five rungs. Is the data what it claims to be; could every trade have actually happened; did the edge hold across the history; did it beat a passive mix of the same asset and cash carrying the same worst loss. One rung — reproducing an external run — is not built, and every verdict says so rather than quietly leaving it out.

2. What is in the report

Seven parts. Open the report for the strategy above and read along.

  1. The verdict, and one sentence. Four are possible and only one is a pass. This one says REJECTED — it made money, but not enough to justify the risk it took.
  2. Which checks passed and which failed, by name. Passed: Data, Executable, Consistent. Failed: Value. A failure is never reported as a weak pass and a check that could not run is never left out.
  3. Why — the failure in plain words, with the two numbers it rests on.
  4. The numbers, with the comparison said out loud underneath them rather than left to be assembled: holding just 36% of the asset with the other 64% in cash would have suffered the same 12.6% worst drop and returned +6.94% a year, against this strategy's +4.85%.
  5. What the numbers show — what is weak about the strategy, which is a different question from why the verdict went the way it did. Each one is an observation with its arithmetic attached, and each stops there.
  6. What we can check next — further work on the plan exactly as it stands. Never a change to your rules; see the guarantees.
  7. What it ran on, and what is not claimed. The rules, the dataset fingerprint, the fill convention, the venue and session, the span — and a plain statement that none of this is a prediction.

Every term the report uses is defined in the report, in its own words, and only when it is used. Including the two that are easiest to misread: what a round trip covers, and what below a previous high is measured to.

3. Two strategies, two different problems

Both were rejected. They were rejected for different reasons, which is the more useful thing to see.

A 20/50 average crossA pullback in an uptrend
the rulesone condition in, one outtwo conditions in, either of two out
trades460507
return a year+7.63%+4.85%
the same-risk blend returned+9.51%+6.94%
edge per trade, against one round trip3.3x the cost1.5x the cost
what the cost comes to28% of the return50% of the return
longest stretch below a previous high2.1 years4.3 years
win rate46.1%57.6%
payoff1.560.9
the reportopen itopen it

The cross is the best-known trading rule in the world. It made money and still lost to a passive blend at its own level of risk, and 16% of its entire profit came from a single trade.

The pullback looks like the better strategy on the one number most people check: it wins 57.6% of the time against the cross's 46.1%. It is the worse one. Its average win is smaller than its average loss — a payoff of 0.9 — so winning more often is the only thing keeping it positive. Trading costs would take half of what is left, and it spent 99% of ten and a half years below a previous high and was still below one when the history ran out.

Neither report tells its submitter to stop. Both of them make stopping the obvious reading, which is a different thing and the only honest version of it.

4. How to read a rejection

  1. Start at the failed check, not at the return. A return computed on data that failed rung 01 is not a result at all, and the report puts the failure in its first two lines for that reason.
  2. Then read what the numbers show. That section is the part you can act on. Profit concentrated in one trade, exits that never decided anything, an edge thinner than the cost of making it, years spent below a previous high — each is a property of your strategy, stated with the arithmetic, and each is left to you to draw a conclusion from.
  3. Treat the cost line as an assumption, because it is one. The rate is printed so you can replace it with what your broker actually charges. The figures above it are gross: trading costs depend on your venue and your size, not on the strategy, so they are stated beside the return rather than mixed into it.
  4. Check the attempt count. It travels with the report. The more variations you have tested against the same data, the higher the bar any one of them has to clear, and buying more attempts does not lower it — because the searching happened.
  5. Do not read a pass as a forecast. Verification says a historical record is real and could have been executed. That is all it can say, and the report says so in its last line.

5. What this mode will not do

The two reports linked above are real output, not mock-ups, regenerated from the code in this repository. Every figure on this page is checked against them by the test suite, so a regenerated report that moves a number breaks the build rather than this page.

<- Back to DualQuant · The company example · The agent API contract

DualQuant is an independent strategy verification and quantitative research service. It does not provide investment advice, brokerage execution, or asset management. Verification audits historical execution and consistency and does not guarantee future performance.