Skip to content

Research notes

Crypto paper-trading validation: compare decisions first

Nine matches can mean 90% agreement or 75% coverage. A forward-observation ledger separates missing data, state mismatches and simulated fills.

Diverging lime and paper paths illustrate crypto paper trading validation.
Illustration for research notes; examples in this article are educational.

Crypto paper-trading validation checks whether a frozen strategy processes incoming data, reaches the expected decisions and maintains coherent simulated state. Separate signal agreement, operational behavior and simulated performance. A profitable paper balance cannot establish live fill quality, and the presence of a backtest or an AI-generated graph does not establish that the saved workflow supports paper execution.

A useful forward observation starts with a question such as “Did the finalized candle cause the same decision?” That question can be investigated even when the next trade's profitability remains unknown.

Choose what the observation must establish

Historical testing uses recorded data and an execution model. A real-time paper process observes information arriving in sequence while simulating account actions. An exchange testnet uses a separate venue environment. These contexts can exercise different code paths and market conditions, so record which one supplies each piece of evidence.

Freqtrade's primary documentation distinguishes backtesting from its dry-run mode and recommends comparing whether entry and exit signals appear on the same candles when investigating discrepancies. That provides a useful signal-level question. It does not establish identical behavior in another platform's simulator. Freqtrade backtesting and forward testing

Choose separate requirements for data coverage, signal parity, order-state consistency and accounting. Write them before watching the result. A statement that the test “passed” should identify which requirement passed, which did not trigger and which remains outside the environment's capability.

If the research process adapts on a schedule, freeze the adaptation procedure too. Record the walk-forward fitting and evaluation boundaries so a forward observation does not quietly become another retrospective tuning exercise.

Save a version and an input contract

Keep the strategy or saved-workflow version, parameters, instruments, market type, timeframe, starting balances and cost assumptions. Record software and data-source versions where available. A new edit needs a new observation record rather than inheriting the old version's result.

Specify when an input is final and how late it may arrive. Include event, availability and receipt timestamps when the system exposes them. Record the action taken when a candle is incomplete, missing or stale. A dashboard timestamp that changes on refresh does not establish the age of the market input.

The look-ahead bias audit shows why finalized values and decision-time availability need separate records. In a forward observation, retain the actual received inputs so a later archive revision does not overwrite the evidence of what the running strategy saw.

Define initial state as carefully as the signal. An already-open simulated position, cached indicator, warmup window or reset balance can change the next decision. Two runs with identical prices can legitimately diverge if one begins flat and the other begins invested.

A coverage ledger prevents a reassuring denominator

Consider an original hypothetical observation with 12 scheduled candle evaluations. Two do not have comparable finalized inputs because the forward feed is stale. Of the ten comparable evaluations, nine produce the expected decision and one differs because its simulated position state was reset.

ClassificationCountDisposition
Comparable inputs and matching decision9Preserve the matching input and decision records
Comparable inputs but different state-dependent decision1Investigate the reset and reproduce the divergence
No comparable finalized input2Record coverage failure; do not fabricate a decision comparison
Total scheduled evaluations12Keep the full observation denominator

Decision agreement among comparable evaluations is 9 / 10 = 90%. Confirmed matches among all scheduled evaluations are 9 / 12 = 75%. The missing-comparison share is 2 / 12 = 16.67%, rounded. All three descriptions can be correct, but reporting only 90% conceals the data-coverage problem.

These counts are invented and do not define an acceptable threshold. A safety-critical state mismatch may warrant stopping the observation even when most decisions agree. Decide severity from the failed behavior rather than averaging it away.

For each mismatch, keep the expected inputs, received inputs, prior state, intended decision and observed decision. Fix a specific cause, preserve the failing record and begin the next observation under a new version. Deleting bad rows or resetting the account to improve the chart removes evidence.

Check the simulator's fill boundary

A matching signal does not establish a matching fill. Simulators differ in how they treat limits, partial fills, available liquidity, delays and costs. Find the exact documented rules rather than assuming the word “paper” describes one universal engine.

Alpaca's paper documentation lists exclusions including market impact, latency-related slippage and order-queue position, and notes that paper platforms can use different fill and liquidity assumptions. Those are documented limitations of that environment, not findings about KLINEO's implementation. Alpaca paper-trading assumptions

Use a small constructed comparison to see why the distinction matters. Assume a ten-unit long trade with a chosen 0.10% fee on each executed notional. A paper record buys at $100 and sells at $101. Its net P&L is 10 × (101 − 100) − 0.001 × 10 × (100 + 101) = $7.99.

An alternative execution scenario buys the same ten units at $100.20 and sells at $100.80. Its net is 10 × (100.80 − 100.20) − 0.001 × 10 × (100.20 + 100.80) = $3.99. These prices are hypothetical stress inputs, not actual live fills or a slippage forecast. The $4 difference illustrates execution sensitivity while leaving the signal unchanged.

Keep this distinction in the report: “The entry decision matched; execution quality remains modeled.” Combining both into one win percentage loses the information needed to investigate the gap.

Test state transitions in the available simulated environment

Where the simulation supports it, inspect how it records an unfilled order, partial fill, cancellation, rejection, delayed response and restart. Do not induce faults using real-funds activation. A simulator that cannot exercise a scenario should leave that scenario marked untested.

After a restart, reconcile persisted order identifiers, cumulative quantities and open positions before allowing a new simulated action. A request that times out can leave state uncertain; a retry policy should be tested against that uncertainty rather than assuming failure means nothing happened.

The same event may arrive more than once, or arrive after a later event. Compare identifiers and cumulative state, and preserve the raw event order when available. Counting every notification as a new fill can corrupt the simulated account even when its strategy conditions are correct.

For each transition, reconcile opening holdings, fills, fees and ending holdings. Keep simulator-generated state separate from exchange testnet receipts. Passing a local simulation transition cannot establish production venue behavior or account permissions.

Do not promote on a short profitable streak

Choose an observation horizon and coverage requirements before seeing results, based on the actual behaviors you need to inspect. A quiet month can produce no evidence about a rare branch. Extending until the first attractive profit creates another selection choice.

Use the expectancy and win-rate worksheet to define completed-trade counts and costs when summarizing results. Retain open losses, resets and external balance changes. An account reset can be operationally useful, but its new balance is not investment recovery.

Record every configuration change made after observing outcomes. The earlier period then influenced development and should be described accordingly. A later frozen period can provide additional evidence; a renamed earlier period cannot regain independence.

A sensible disposition is to reject an observation whose decisions cannot be reconstructed, investigate unresolved state or data mismatches and retain reproducible matching behavior for further review. Retaining it does not require or recommend risking real funds.

KLINEO's current workflow boundary

KLINEO's workflow review guide distinguishes drafts, backend-validated saved versions, readable historical runs and Live activation. The current new-workflow interface centers on live-funds drafts and an “Activate live” control. That control must not be used as a substitute for an unavailable paper-run action.

Historical paper and backtest records remain inspectable for compatible saved workflows, while the current workflow builder exposes no action that starts those historical modes. A readable paper record therefore does not establish that a new graph can run on paper. Retain an untested workflow as a draft and establish an available testing path before making any execution decision.

Also check the Virtual, exchange testnet and Live distinctions. A workspace mode label does not make every venue and product available in that environment. Before comparing inputs across any supported modes, inspect the data-quality record and the saved version actually used.

Method and limits

This article is AI-assisted synthesis of linked primary simulator documentation and KLINEO's current published workflow guidance. The 12-evaluation ledger and ten-unit execution comparison are original hypothetical examples, independently checked. Product boundaries were checked against the public knowledge source and workflow interface code. No live account, exchange credentials, paper run or historical dataset was used. The proposed checks support evidence review and leave the risks of trading unresolved.

Keep the context with the example.

Prepared with AI assistance by KLINEO Editorial. Each worked example is illustrative, with its sources and assumptions in the article. Read our editorial standards for authorship, verification and corrections.