Practical validation guide with a worked BTC experiment · By CoinNudge Research · · Guide updated 2026-10-04 · 22 min read
How to Backtest an AI Crypto Trading Strategy Without False Profits
To backtest an AI crypto trading strategy, define what the AI actually decides, freeze the rules and time-available inputs, replay trades with realistic costs, and judge the equity path against an exposure-matched baseline and later untouched data. A chatbot describing a profitable strategy is not a backtest. Our worked BTC example is supporting evidence: one authored rule replayed on 35,040 completed 15-minute bars produced 819 simulated trades and a 6.72% net account loss. AI did not choose those historical trades; code did. The guide below explains the workflow, the tests that can disqualify an attractive result, and what evidence would justify a forward paper trial.
Test your BTC strategy · Inspect 819-trade evidence · Explore research data
How should you backtest an AI crypto strategy before trusting it?
- State the AI's exact role, freeze the rule, and use only information available at each historical decision. AI-assisted rule interpretation is not the same as replaying model decisions candle by candle.
- Judge net returns together with drawdown, exposure, losing periods and realistic fills. Reserve later untouched data and a prospective paper trial before making a performance claim.
- The worked BTC replay also exits on an opposite EMA cross, which the first protocol paragraph accidentally omitted and now explicitly corrects; every effective exit must be disclosed.
- In this one-year BTC example, 819 trades produced a 6.72% simulated account loss after modeled costs. Only 187 trades had positive net P&L; a high trade count did not create an edge.
- The fully invested BTC buy-and-hold reference fell 24.76% over this window, but the strategy mostly allocated at most $500 at a time. Those return percentages do not establish a fair risk-adjusted victory.
- The historical replay is deterministic. The public AI Live Trade accounts are a separate forward paper experiment with actual model decisions, not two years of past model calls.
How do you backtest an AI crypto trading strategy step by step?
Backtest an AI crypto strategy by freezing its decision contract, checking when each input became available, replaying explicit fills and costs, then reserving later evidence for validation. If a rule cannot be translated into observable inputs and an exact action, clarify it before testing.
Next, build time-ordered features using only information available at each decision candle. Preserve raw event time, the time the data was actually known, missing bars and symbol eligibility. Simulate the next executable opportunity rather than filling at the candle close that generated the signal. Include fees, spread or adverse slippage, unfilled orders, and the possibility that a stop and target are both touched within the same bar.
Finally, compare net equity, drawdown, exposure, losing stretches and trade count with a simple baseline under comparable capital at risk. Lock the rule, code and data hashes; reserve later data and a forward paper window for genuine validation. A backtest can reject a weak idea quickly. It cannot certify a model's future profits.
Before pressing run, create a one-page contract: BTC market/venue, candle interval, entry and invalidation, all exit triggers, sizing, allowed direction, execution timing, transaction costs and success criterion. Read the interpreted rule back against the request. An omitted opposite exit, pyramiding or mixed-timeframe clause is a failed interpretation, not an acceptable silent approximation.
| Question before running | Required answer | Failure if omitted |
|---|---|---|
| What is the AI allowed to decide? | A written input-output contract and version | An authored rule is mislabelled as autonomous AI |
| What could the strategy know then? | Closed candles and point-in-time feature availability | Future information leaks into the signal |
| When and how does it fill? | Next eligible price, order type, costs and no-fill rule | Ideal fills manufacture an edge |
| What does success mean? | Net return, drawdown, exposure and baseline | A low-exposure account is compared unfairly with full BTC ownership |
| What remains untouched? | Later test period and prospective paper trial | Repeated parameter tuning is mistaken for validation |
Verify: Point-in-time backtest data guide · Backtest overfitting research
What can AI do in a crypto backtest, and what must code verify?
AI may interpret a written rule or propose a contextual filter, but deterministic code should calculate, time-align, execute and reconcile the backtest. Those are different claims from a model deciding every historical trade.
Deterministic code should calculate indicators, enforce timestamps, position size and hard risk limits, execute the replay and reconcile the ledger. If a historical test truly calls an AI model at each step, archive the exact model identifier, prompt, input snapshot, response, failures, latency and cost. Do not let the model see later candles, revised labels or the answer you are trying to predict. Re-running an updated model on old data is a retrospective simulation, not a record of what it knew then.
Use the smallest AI role that answers the research question. If a simple code rule performs as well as the AI-filtered variant under identical costs and data, the AI layer has not demonstrated incremental trading value. Include model-call cost and unavailable responses in that comparison.
A model called today may already have learned about famous historical events or price outcomes, even when your prompt hides later candles. Cutting input timestamps reduces direct leakage but does not prove its training lacked future knowledge. Label such a replay retrospective and use a prospective paper period to test a model-in-the-loop claim without pretending historical availability.
| System type | Who makes historical decisions? | Claim it can support |
|---|---|---|
| AI-interpreted rule backtest | Frozen code after human approval | Whether this exact rule survived historical assumptions |
| Historical model-in-the-loop replay | A named model called on time-cut snapshots | Retrospective model behavior, if inputs and outputs are archived |
| Forward paper AI agent | Model decisions recorded after launch | Prospective simulated behavior, not exchange execution |
| Live exchange account | Model plus risk code and real order venue | Actual historical fills when reconciled, not future profit |
Verify: CoinNudge paper model account · NIST AI risk management framework
How do you tell whether AI adds value beyond the same coded strategy?
Compare the same eligible opportunities with and without the AI step. Four useful arms are the original code rule, a code-only environment filter, a model filter, and a model filter with independently approved risk controls. Do not compare a model’s selected winners with every trade from another strategy.
Freeze the candidate ledger, features available at each decision, common start/end dates, costs and capital limits. A rejected opportunity remains a record with its reason and later outcome; otherwise a system that waits almost always can appear selective without earning anything. If a model changes sizing or exits, that is a different intervention and must be identified separately.
This page has a completed authored-rule replay, not completed four-arm AI results. The 819 trades and −6.72% net account result remain the evidence for that original rule only. The comparison below is a proposed validation contract; unrun arms have no score or win rate.
| Arm | What changes | What evidence currently exists here |
|---|---|---|
| Authored code rule | Frozen EMA entry/exit and sizing | Published candles, 819 trades, equity and reproduction |
| Code environment filter | A prespecified numeric filter only | Not run as a paired comparison in this edition |
| Model filter | Accept/wait/reject with archived input and output | Not run on these historical candidates |
| Model plus controls | Same proposals; independent approved vetoes | Not run; separate veto from the model’s choice |
Which decisions, waits and failures belong in an AI backtest ledger?
Retain every eligible decision opportunity, including a model wait, unavailable response and code veto. Record candidate ID, rule/model version, time cutoff, input availability, proposed action, actual action and reason. Link an executed action to its fill and account marks without implying every proposal filled.
Distinguish deliberate wait from timeout and unsupported input. A missed deadline is not a profitable no-trade decision, and a rejected trade is not a completed trade with zero return. Report request count, accepted/blocked/unavailable counts, trade frequency and capital deployment alongside net profit and drawdown.
For a filter, report paired event-minus-baseline results and clustered uncertainty on an untouched period. Opportunities can overlap in time and share a BTC market shock; many rows do not create independent trials. Prospective archived decisions are stronger evidence of actual time-available model behavior than calling today’s model on old dates.
Verify: Write a reproducible AI trading contract · Check point-in-time data and retrospective inputs
How should inference cost and model delay change a trading backtest?
Subtract model and operating charges from the complete account comparison, not only from trades that won. Include inference attempts, paid retries and any agreed hosting or data charge; report currency conversion and whether these are measured invoices or modeled assumptions.
If a proposal arrives after the eligible price, use the later allowed execution price or mark the opportunity missed under the frozen contract. Never fill it at the earlier candle open while charging only a small token bill. Fixed latency, observed latency and a distribution of delays are different experiments.
Show both the trading-only result and the after-operating-cost result over the same duration. The original 819-trade code example includes stated fill fees and slippage but no per-candle language-model calls, so there is no measured inference bill to subtract from that historical result. A future model comparison must add its own ledger rather than retroactively relabel the old study.
What would justify a forward paper trial rather than another optimized backtest?
A forward trial needs a frozen, feasible rule, an untouched evaluation with adequate independent opportunities, visible costs and no unresolved time leakage—not merely a larger simulated ending balance. A smaller loss can reflect smaller exposure rather than a better strategy.
Before viewing the evaluation, specify the minimum independent sample, acceptable drawdown, incremental after-cost improvement and uncertainty criterion. Also require input completeness, failure handling and a reconciled opportunity/order ledger. There is no universal acceptance number for every rule or capital base.
If improvement is concentrated in one market day or disappears with plausible costs, classify the result as exploratory. Keep all tested versions and the failed evaluation. A negative result should stop an unsupported claim, not trigger endless retuning on the same holdout.
Verify: Which kind of AI trading tool is being tested? · Pause and recovery checklist for a trading bot
Did this AI-assisted Bitcoin strategy make money after costs?
No. The fixed example finished with $9,327.83 from $10,000, a −6.72% account return. The 819 trades generated 187 positive and 632 negative net outcomes; modeled commissions totaled $409.37, before considering any model-call costs. The sampled account-equity maximum drawdown was 7.37%. This is a historical simulation of an authored rule, not actual AI agent performance or executable fills.
The first half had 398 trades and −$297.17 aggregate trade P&L; the second half had 421 and −$375.00. That split shows the loss was not isolated to one side of this particular year, but neither half is untouched out-of-sample validation. The same strategy and market regime can generate dependent trades.
BTC fully invested over the same dates returned −24.76% under the model's buy-and-hold allowance. Comparing that with −6.72% for an account that commits at most $500 per entry is not a fair claim that the EMA strategy beat BTC: much of its balance stayed in cash. To judge an edge, compare equal capital at risk, exposure, drawdown and opportunity cost as well as nominal return.
Use the negative result to reject this exact authored rule under the disclosed assumptions, not to reject all AI trading. The primary contract was not a model-versus-human contest or a search for the best EMA pair. The appropriate next output is a failure record and separately versioned hypothesis, not an edited winning curve.
| Frozen measurement | Observed result | How to interpret it |
|---|---|---|
| BTC 15m closed candles | 35,040 / 35,040; 0 missing | 2025-09-25 06:00 to 2026-09-25 06:00 UTC exclusive |
| Simulated completed trades | 819 | 187 net winners; 632 net losers |
| Final account / return | $9,327.83 / −6.72% | Started $10,000; $500 maximum margin per trade; 1× |
| Modeled commissions | $409.37 | Entry and exit fees; adverse slippage is embedded in fill prices |
| Maximum sampled equity drawdown | 7.37% | Mark-to-market samples, not every intrabar extreme |
| Cost ×2 sensitivity | −12.42% | Same trades rules; double fee and adverse-slippage assumptions |
| Fully invested BTC reference | −24.76% | Different capital exposure; not a like-for-like alpha estimate |
Verify: Full published result · Trade-by-trade ledger
Which backtest metrics matter more than an AI bot's win rate?
Net account return is the start, not the verdict. Inspect maximum drawdown, time underwater, exposure, average win versus average loss, profit factor, turnover and sensitivity to doubled costs. Include open-position marks and losing regimes; a high win rate can hide rare losses larger than many small wins. For leveraged strategies, also test margin use and a liquidation-aware downside scenario rather than reading a spot-price candle replay as a perpetual-futures result.
A benchmark must use comparable capital and risk. This BTC example kept most of its $10,000 in cash and used at most $500 margin per entry, so its −6.72% return cannot simply be called better than a fully invested BTC return of −24.76%. Compare exposure-matched BTC, cash-plus-BTC, or a simpler rule at similar risk; publish the exact comparison formula.
No universal Sharpe, win-rate or trade-count threshold proves an edge. If several variants were tried, disclose that search history and require stronger untouched validation. Small samples and overlapping trades make precise-sounding probabilities unreliable.
As an illustrative diagnostic, 90 wins of $1 and 10 losses of $15 yield a 90% win rate but −$60 before any omitted costs. For the actual BTC release, use trade-level net P&L, not that illustration, to derive monetary win/loss totals. Report the metric's denominator and sampling frequency beside it; sampled drawdown is not tick-level drawdown.
| Metric | What it answers | Misleading reading |
|---|---|---|
| Net return after all costs | Did simulated account equity grow? | Ignoring model calls, fees or financing |
| Maximum drawdown and underwater time | How painful was the path? | Reporting only the final balance |
| Exposure and turnover | How much capital and trading did the return require? | Comparing a mostly-cash bot with 100% BTC |
| Average win/loss and profit factor | Can losses outweigh frequent wins? | Promoting win rate alone |
| Cost and regime sensitivity | Does the result survive less friendly assumptions? | Choosing the best fee or market regime after seeing results |
Verify: Worked BTC equity and trades · Crypto trading cost calculator
What happened along the way—not just at the final balance?
The frozen BTC example ended below initial capital, and its sampled equity path also contains the risk while positions were open. The chart is approximately 12-hour marks, not every intrabar low or a real exchange balance.
A useful backtest page should show its path, losing periods and trade ledger alongside its headline. A single profitable ending can conceal a long underwater interval; here the ending itself is negative.
To interpret an equity curve, locate the previous high, measure the trough relative to that high, and ask how long capital remained below it. Then inspect the underlying trades across that interval. The downloadable equity.csv can reconstruct these sampled marks; it cannot recover lower intrabar equity or prove a stop would have filled at its modeled level.
What exact BTC trading rule was tested?
The authored natural-language idea was: buy BTC when EMA9 crosses above EMA21 on a completed 15-minute candle; use at most $500, no leverage, a 2% initial stop, a 4% target and a 48-hour maximum hold. The fixed strategy JSON is downloadable. It deliberately did not ask an AI model to choose each historical entry, invent a new indicator or revise thresholds after seeing results.
The production replay also closes an open long at the next bar's open after an EMA9-below-EMA21 reverse cross. That exit was part of the code during the original run, but omitted from the first prose protocol. We recorded a post-calculation correction rather than quietly hiding it or claiming a perfectly pre-registered experiment. Of 819 exits, 785 were opposite crosses, 26 touched the target and 8 touched the stop in the modelled OHLC path. No time exits occurred in this sample.
Signals use completed candles only and fill at the next bar open, with a 0.05% fee per fill and 0.02% adverse slippage per fill. If stop and target are both touched within one 15-minute candle, the model takes the stop first. This is a conservative convention for unknown intrabar order, not a reconstruction of tick-level execution.
At rule review, distinguish a crossing from merely being above an indicator: EMA9 above EMA21 may last many candles, but a new crossing occurs only when the relation changes between completed bars. Preserve the next-open entry and every effective exit. Changing that interpretation produces a different strategy even if the indicator names remain identical.
| Step | Frozen contract | Common misleading shortcut avoided |
|---|---|---|
| Signal | EMA9 crosses above EMA21 at a completed 15m close | No partially formed candle or future close |
| Entry | Next 15m open; long only; maximum $500 margin, 1× | No same-candle ideal close fill |
| Exit | 2% stop, 4% target, opposite EMA cross or 48h | Opposite-cross exit disclosed in method correction |
| Costs | 0.05% fee + 0.02% adverse slippage per fill | No zero-cost paper profit |
| Risk | One open position and $10,000 starting cash | No assumed 100% deployment |
| AI role | Authored rule specification; production code replay | No claim of historical AI decisions |
Verify: Frozen strategy JSON · Protocol and correction
Which historical crypto data did the experiment actually use?
CoinNudge read retrospectively archived Binance BTCUSDT spot 5-minute K lines and rebuilt each 15-minute bar only when three consecutive source bars existed. The fixed one-year decision window contains 35,040 of 35,040 expected completed 15-minute bars and zero missing bars. An additional 400-bar warmup seeds indicators; it does not count as test-period performance. The input series and source-partition SHA-256 values are published.
Historical event time and the time CoinNudge later obtained that history are different. The old candles can be used to test a fixed rule today; they cannot prove we had an AI model making those choices in the past. The public AI Live Trade accounts began collecting prospective virtual decisions in September 2026 and must be assessed on their own forward record.
This one BTC market is not a multi-coin or multi-exchange sample. No order-book queue, venue outage, actual maker/taker tier, funding, borrow rate, tax or real liquidation path is reconstructed. A real user's fee and trade eligibility can differ.
For your own test, count expected bars from the UTC interval and granularity, subtract warmup from the performance window, and compare observed timestamps for duplicate or missing bars. If coverage is incomplete, report excluded windows and the configured gap handling before judging returns. A long calendar range with few usable intervals is not a complete backtest.
| Data field | This release | Why it matters |
|---|---|---|
| Source | Binance BTCUSDT spot OHLC, archived locally | A spot-price proxy, not executed AI orders |
| Granularity | Three complete 5m bars per 15m bar | Missing components would exclude that aggregate |
| Test window | 2025-09-25 06:00 to 2026-09-25 06:00 UTC | Stable one-year comparison window |
| Completeness | 35,040 observed / 35,040 expected | No synthetic missing candles in the primary window |
| Time semantics | Historical bars imported retrospectively | Not contemporaneous point-in-time AI decisions |
Verify: Binance spot K-line specification · Coverage and source hashes · CoinNudge point-in-time data guide
How much did fees and slippage change this backtest?
The model charged $409.37 in explicit entry/exit commissions across 819 trades. Adverse slippage is already embedded in entry and exit prices, so adding it again to the commission figure would double-count. When both per-fill assumptions are doubled and the same rule is replayed, the account return worsens from −6.72% to −12.42%.
This does not estimate a user's actual Binance tier or prove that doubling costs is the most likely real scenario. It is a sensitivity check showing how a frequent-trading rule depends on execution assumptions. Some small apparent gross edges disappear after the spread, slippage, fees and non-filled orders that a candle-only simulation cannot fully observe.
A lower-frequency rule or a different entry would be a different strategy. We did not select one after seeing the negative result and call it an improvement; any new variant needs a new frozen edition and future verification.
A simple illustrative cost check: a $500 notional round trip at 0.05% per fill incurs about $0.50 in commissions if entry and exit notionals are similar; 0.02% adverse slippage each side adds roughly $0.20 through prices. The actual replay uses each fill's exact value, so do not infer $0.70 × 819 equals its bill. Funding and borrow costs require their own contract and time history; neither is reconstructed by this spot-price example.
| Cost assumption | Net account result | Interpretation |
|---|---|---|
| 0.05% fee + 0.02% adverse slip per fill | −6.72% | Fixed primary replay |
| 0.10% fee + 0.04% adverse slip per fill | −12.42% | Double-cost sensitivity, not a measured venue bill |
What would make an AI strategy backtest more trustworthy?
First, require the interpreted rules to be shown back to the trader before testing. If a prompt says 'hold until stop or target' but the engine also exits on an opposite cross, that difference changes the strategy. This edition itself exposed exactly that documentation error. The correct response is a visible correction and versioned result, not retroactively claiming the prompt always contained it.
Second, inspect a complete transaction ledger, gaps and losing regimes. All 819 trades and the historical candle input are downloadable. An independent standard-library audit reproduced all 819 trades, 5,733 trade-field comparisons, final cash and summed commissions without calling the production replay function. That validates implementation consistency for this frozen example, not live executability or a future return.
Third, reserve genuinely later data for a forward test. The first/second-half split reported here is useful diagnostics, but the author saw this historical result before any new rule could be proposed. A convincing improvement would require a separately frozen revised strategy evaluated prospectively or on a previously untouched period after realistic costs.
For walk-forward testing, freeze rules on an earlier interval, evaluate the next untouched interval, then roll only after preserving that result. If feature/label windows overlap the split, exclude or separate overlapping observations as the design requires. Record every tried variant; selecting the best of many and reporting only one understates search risk. This release does not claim to have performed such a new validation.
| Trust check | Evidence here | Still unproven |
|---|---|---|
| Exact rules | Versioned strategy.json plus disclosed exit correction | No claim of perfect original prose pre-registration |
| Data coverage | 35,040 complete primary bars plus source hashes | No live exchange order-filling history |
| Trades and costs | 819 rows, fees, reason and equity path | Account-specific fees and actual queue priority |
| Independent arithmetic | 5,733 field checks in separate audit | External economic validity or future profitability |
| Future test | Not yet performed for this strategy | Out-of-sample or real-money edge |
Verify: Reproduction program · Artifact hashes
How can you test your own Bitcoin strategy on CoinNudge?
On CoinNudge, register or sign in before submitting a BTC strategy, describe its entry/exit, risk and timeframe, and approve the interpreted rule before the replay starts. The supported single-timeframe families are EMA crossover, RSI reversion, channel breakout, standard MACD and Bollinger 20/2 across 5m, 15m, 1h, 4h and daily candles.
The experiment returns its actual observed window and gaps, strategy JSON, trade list, return, drawdown, cost sensitivity and comparison figures. The historical test is separate from the public AI model accounts. Unsupported coins, custom multi-timeframe logic or vague discretionary requirements should be rejected or clarified, never silently simplified into a rule that was not asked for.
Treat a favorable result as a candidate for further testing, not a green light to trade real money. Compare with a simpler rule and capital-matched benchmark, then monitor a versioned forward paper record. If your strategy changed after seeing the history, disclose that the history is now a training sample.
A correct review screen should show the requested family, timeframe, direction, margin, leverage, stops/targets, hold time and unsupported requirements. If a required clause is unsupported, revise or stop; do not accept a different rule merely to obtain a score. During execution read queued/running/complete/failed status; only a completed run with stated coverage is a result. Up to five experiments run concurrently; extra accepted work queues under account/site intake limits.
What should you do after an AI crypto strategy passes or fails a backtest?
If net performance fails reasonable cost assumptions, document the failure and either stop or formulate a genuinely new hypothesis for a new release. This BTC EMA example failed its fixed test; changing its thresholds now and reporting only the best variant would use the same year both to discover and validate an apparent edge.
If the result looks promising, freeze the strategy and conduct a later forward paper trial with the same model, risk controls and versioned prompt. Compare decisions due versus decisions received, unavailable responses, rejected proposals, order acceptance, actual paper fills, net P&L and drawdown. A paper win still does not establish live executability. Only then consider whether a small, separately controlled real-money test is appropriate for your own circumstances; no backtest creates an obligation to trade.
CoinNudge's own public evidence illustrates both sides: the 819-trade replay is a historical code experiment, while its AI Live Trade page records prospective paper decisions. They must not be combined into one uninterrupted AI performance curve. Read the decision audit if you need to see how often a model actually waited, failed or proposed an order.
A passing result should advance to a new stage, not immediately to live capital: hold the rule fixed, use untouched later data or prospective observations, evaluate costs and operational failures, and define a human pause condition. A failed implementation audit requires correcting the implementation with a new disclosed version before discussing economic performance.
Verify: Why AI bots do not trade · Verify AI bot performance claims
Can I reproduce the 819-trade Bitcoin experiment?
Yes. Download the frozen candle CSV gzip, strategy JSON, research JSON, trades CSV and equity CSV. In the same directory, run the independent standard-library reproduce.py to verify each trade and the final balance. The protocol documents the exact sample, costs, same-bar rule and post-calculation prose correction; manifest.json gives SHA-256 for every immutable artifact other than itself.
All timestamps are UTC epoch seconds in the files and UTC ISO dates in the article. Trades.csv includes modelled entry/exit prices, fees, net P&L and exit reason. Equity.csv contains sampled marks, not full intrabar lows. No missing value is converted into a zero profit.
This public research evidence is free. It is not a promise that a purchased fixed-edition data pack includes this specific study or that AI Live Trade places real exchange orders. The actual paid scope is listed in the single data catalog.
For an integrity-first local replay, keep the downloaded edition together, compare its artifact SHA-256 values with manifest.json, inspect reproduce.py, then run it in a disposable environment using the documented inputs. Expected output is agreement on all 819 trades, fees and final cash. A hash mismatch, missing input or trade difference is a failed reproduction requiring diagnosis, not an alternative profitable result. The files are public study evidence; one-time paid data packs are separately scoped fixed editions in the catalog.
| Public evidence | Direct file | Purpose |
|---|---|---|
| Full result | research.json | Rule, coverage, trades, equity and sensitivity |
| Trade ledger | trades.csv | All 819 modelled exits with net P&L |
| Input candles | candles.csv.gz | Complete 15m OHLC plus indicator warmup |
| Independent audit | reproduce.py | Rebuild and verify every ledger entry |
| Protocol and hashes | protocol.md / manifest.json | Versioned assumptions and integrity |
Verify: Full research JSON · Trade ledger CSV · Candle input archive · Independent reproduction script · Method and correction · Artifact manifest
Take the next step with this evidence.
Choose ongoing Telegram monitoring or inspect structured data in your own research workflow.
Receive qualifying events in Telegram.
Use the ready-made alert checklist, message explanations and daily briefing. Check the supported categories and coins before subscribing; every Research page is not a separate alert category.
Check the alert list · View alert plans
Inspect the data before choosing a pack.
Prepared research packs supply scoped features, separate outcomes where available and quality flags. Buy a fixed edition once and download directly; API use is optional.
Check data pack samples · Explore the full data catalog · Compare data plans
Each purchased pack includes its specified fields and published date range. This page's full dataset is not automatically included. Other data families require coverage, date, field and source-use confirmation before purchase. Telegram Pro is a separate 30-day service; historical packs are one-time purchases.
Frequently asked questions
Can ChatGPT or an AI model backtest a crypto strategy by itself?
A model can help translate a written idea, but the arithmetic should run against time-ordered market data under explicit fill, cost and risk rules. CoinNudge's historical BTC tests use deterministic code after the user reviews the interpreted rule; the model does not choose every past trade.
Did your AI Bitcoin strategy make money in this test?
No. This fixed, authored 15m EMA example lost 6.72% net on a $10,000 simulated account over 35,040 complete candles and 819 trades. It is not a historical AI-agent performance result.
Why did it lose if Bitcoin buy-and-hold fell even more?
The strategy had much lower capital exposure than a fully invested BTC position. Its smaller nominal loss does not prove a superior risk-adjusted or executable edge.
What costs does the test include?
The primary model charges 0.05% per fill in fees and 0.02% adverse slippage per fill. Funding, borrowing, tax, venue outages and actual order-book execution are excluded.
Does the test have two years of 15-minute Bitcoin data?
No. The frozen study uses one year of complete 15m bars. CoinNudge's workbench targets about one year for 5m/15m and two years for 1h/4h/daily; each run reports its actual coverage and gaps.
Were model decisions replayed for every historical candle?
No. The example is a deterministic code replay of an authored rule. The AI Live Trade model accounts are a separate prospective paper experiment that began later.
Can I download the full data and verify it?
Yes. The candle archive, every trade, sampled equity marks, frozen strategy, protocol and independent reproduction script are linked in the article's evidence section.
Was the strategy fully prespecified?
Its parameters, sample and costs were fixed before calculation, but the first prose protocol omitted the production engine's existing opposite-EMA-cross exit. We published a dated correction and do not describe this as a perfectly pre-registered performance test.
Does a negative backtest mean every AI trading strategy loses?
No. It means this exact example lost under these data and assumptions. Other rules need their own frozen, cost-aware and preferably forward tests; this result cannot establish a universal AI trading outcome.
What data should an AI model see during a historical test?
Only the market, account and external information actually available by each decision time. Archive the input snapshot and label later-imported history as retrospective; do not use future candles, revised labels or outcome fields as features.
What is the next step after a profitable AI strategy backtest?
Freeze the exact rule or model version and test it on untouched later data and a prospective paper account under the same risk and cost assumptions. A positive backtest alone is not evidence of live exchange profitability.
Can a historical LLM replay leak information even if future candles are hidden?
Yes. A model called today may have learned about historical outcomes during training. Time-cut prompts reduce direct input leakage but cannot prove historical model ignorance; label the replay retrospective and add a prospective test.
How do I know the natural-language strategy was tested correctly?
Compare the interpreted family, timeframe, entry, all exits, sizing and unsupported clauses with your original request before confirming. If a required condition is omitted or silently substituted, the result does not test your strategy.
Does this report prove the AI filter beats pure code?
No. The completed 819-trade experiment is an authored-rule code replay. The four-arm comparison is an explicit proposed protocol with unrun arms, not a new AI performance result.
Should model timeouts count as good rejected trades?
No. Preserve them as unavailable decisions. Apply the frozen missed-opportunity and later-fill rules; do not award an unavailable model selective-trading credit.
Sources and verification
- CoinNudge frozen method and correctionPre-result parameters and subsequent disclosed prose omission.
- CoinNudge full BTC experiment819 trades, returns, costs, curve and source coverage.
- Binance Spot API K-line fieldsOriginal exchange field definitions; historical input is frozen and separately downloadable.
- CoinNudge AI Live TradeSeparate forward paper accounts and user strategy workbench; no real orders.
- Backtest overfitting researchPrimary research on how repeated strategy selection can inflate historical results.
- NIST AI risk management frameworkOfficial framework for evaluating, documenting and monitoring AI system risks.
Check your BTC strategy against archived candles before interpreting a simulated profit as an edge.
Review the rule, costs and gaps; then watch forward paper decisions separately.
Open BTC strategy test