Skip to main content
Skip to content
Agentic Finance

Can You Reproduce an Open-Source Trading Bot Before Giving It Money?

Freqtrade and Hummingbot document useful paper-trading routes, but release identity, strategy support and simulation assumptions determine what a successful run actually proves.

Layered green glass software components beside a brass magnifying glass, illustrating an open-source trading bot release audit.
Reading options: audio, text size & sections

Decentralised News · Research & market intelligence

By Heath Muchena · Research cutoff: 14 November 2026

An open repository makes a bot inspectable. It does not tell you which executable produced a result, whether the same strategy can run in paper mode, or what rebuilding it costs. A documentary comparison of Freqtrade and Hummingbot shows where those questions become practical.

What matters

  • Freqtrade 2026.10 and Hummingbot 2.17.0 provide identifiable release references; a moving latest tag is a different kind of reference.
  • Hummingbot documents a paper connector for its simple market-making script while explicitly excluding paper connectors from its V2 controller framework.
  • A reproducible simulation can expose configuration mistakes. It cannot establish live fill quality or future profitability.

Scope of this investigation

This investigation compares 8 primary-source documents. It separates documented rules and features from DN calculations and hypothetical scenarios. Full source dates, definitions and limitations appear below.

Test the assumptions · Inspect the sources · Read the evidence table

The signal

The useful first decision is whether a particular release and strategy can support a bounded, repeatable experiment. Our review found documented routes for that decision in both projects, alongside important restrictions. We did not install either bot, verify a downloaded image, connect an account or measure returns.

DN Alpha Thesis

The strongest case for open-source trading software is the ability to examine and preserve the conditions behind an experiment. That advantage disappears when the repository, executable, configuration and data are allowed to drift independently. A successful screenshot then becomes difficult to explain, even before anyone asks whether its apparent profit would survive real execution.

Freqtrade and Hummingbot illustrate different parts of the problem. One exposes a detailed simulation model and a bias-detection tool; the other makes a consequential distinction between script-based paper trading and live-connected controllers. Those are useful disclosures. They support a narrower, more defensible conclusion than a best-bot ranking: evaluate the exact route you intend to run, then budget the work required to repeat it.

The release is part of the experiment

Freqtrade’s 2026.10 release is dated 30 October 2026 and identifies commit 4cf0351. Its notes include the removal of Python 3.11 support and a change in how strategy parameters are accessed. Hummingbot’s 2.17.0 notes are dated 22 September 2026 and distinguish the versioned Client and Gateway releases from other repositories that follow continuous deployment. These are observed release disclosures, not compatibility tests performed by DN. [1] [2]

The analytical consequence is straightforward. “The same bot” can mean the same project name while describing materially different software. If a tutorial assumes an older language runtime, parameter interface or companion service, a fresh installation may not reproduce its behaviour. A later failure does not by itself prove that the strategy deteriorated; an earlier apparent success does not identify what was actually run.

A useful experiment record therefore names the repository owner, release or commit, container reference, processor platform, strategy file and configuration. Record the data interval separately from the date of the run. These identifiers answer different questions. The release identifies source history; the configuration identifies intended behaviour; the data interval identifies what the strategy was permitted to observe.

This is also why release age is not a league table. A newer release may fix a material defect, while a pinned older release may be necessary to reproduce a claim. The appropriate sequence is to reconstruct the claim under its original conditions, identify the relevant changes, and then test the supported current version as a separate experiment.

A tag, a digest and a signature answer different questions

Docker documents that an image can be pulled by digest to fix its identity. It also warns that doing so prevents automatic uptake of newer images, including security updates, until the digest is changed. Freqtrade’s quickstart uses an official image and a Compose workflow; its update process pulls a new image. A convenient update command is therefore also a change to the experimental environment. [3] [4]

For a practical release record, keep the human-readable version and the resolved image digest together. The version makes the record understandable; the digest makes the selected image precise. A strategy file, downloaded model and dependency set may still need their own identities. Pinning one container does not freeze everything it reads or downloads.

GitHub’s attestation documentation adds a separate distinction: provenance can connect an artifact to source and build instructions, but it does not guarantee that the artifact is secure. Verification must actually be performed for the provenance claim to be useful. This review did not verify attestations for either project, and it does not infer that a displayed verified commit badge authenticates every distributed container. [5]

Treat missing evidence accurately. “We did not establish an artifact’s provenance” is a defensible finding. “The artifact is malicious” would require different evidence. Likewise, a reproducible build can reproduce a dangerous capability or a flawed trading rule perfectly. Identity, permission and strategy quality belong in separate columns of the decision.

Paper trading is a strategy-specific boundary

Freqtrade describes dry-run as simulated trading that does not submit orders to the exchange. Its configuration guide permits empty exchange credentials and explains simulated wallet and fill behaviour. This gives the reader a documented way to investigate strategy operation without assuming that a live trading connection is required. [6]

Hummingbot’s current Client quickstart describes a simple_pmm script using a paper connector against live market data without API keys. The same page states that its V2 controller framework does not currently support paper connectors and requires a live exchange connection. The distinction is consequential: a paper-capable project is not a promise that every controller supports that mode. [7]

Before following any setup sequence, map the proposed strategy to its actual execution path. Is it a script, controller, exchange connector or DEX service? Which component signs or submits orders? Where is simulated status declared, and what evidence confirms it at runtime? A generic paper-trading label cannot answer those questions for a different component.

The strongest countercase to excessive caution is that a carefully scoped paper run can be genuinely useful. It can reveal missing market data, incompatible symbols, unintended order sizes and restart behaviour without being asked to prove a market edge. Its success criterion should be operational and observable. If the intended controller has no documented paper path, choose another supported experiment or stop at documentary review rather than silently changing the meaning of paper trading.

A clean backtest still leaves execution unresolved

Freqtrade documents a lookahead-analysis command that investigates whether strategy calculations use information from future candles. It also lists limits: untriggered signals have not been checked, and some strategy structures or limit-order behaviour can produce misleading flags. Passing the command is therefore evidence about the tested conditions, not a universal certificate that a strategy is unbiased. [8]

There are three separate questions to preserve. Could the strategy have known its inputs at the time? Does the implementation produce the intended decisions? Could those decisions have been executed at the assumed prices and quantities? A historical test may inform the first two while leaving much of the third unresolved.

The documentary record illustrates that separation. Freqtrade’s dry-run uses explicit assumptions for market and limit-order fills; simulated orders are not sent to the venue. A real order must interact with other orders and available liquidity. A profitable simulated result can therefore be a reason to investigate execution, but it is not evidence that the simulator’s fill would have been yours. [6]

Keep a failed experiment. If a clean rebuild cannot load the strategy, a paper session cannot obtain the required data, or a bias check changes the result, that is a useful output. Deleting unsuccessful runs while retaining the attractive chart turns a troubleshooting exercise into selective evidence. A versioned record of failures makes the next decision cheaper and more honest.

Budget the experiment before debating the return

The calculator treats experimentation as a small project with explicit costs. Its inputs are setup hours, the number of repeat runs, hours per repeat, an hourly value of labour, daily infrastructure and data cost, the experiment’s duration, and a reference capital amount. All defaults are hypothetical and are unrelated to either project’s measured resource requirements.

With eight setup hours, three one-hour reruns and labour valued at £25 an hour, the time allowance is eleven hours and £275. Thirty days at £1 a day adds £30 of cash expense. The total economic cost is £305. Against a hypothetical £2,000 capital allocation, recovering that one-off cost would require 15.25% before trading losses, taxes or any unmodelled live expenses. This is a cost hurdle over the experiment’s stated horizon, not an annual return target or expected profit.

If you value the learning time independently and enter zero for labour cost, the same cash outlay is £30, or 1.5% of that capital. Both answers can be useful, but they answer different questions. One measures cash affordability; the other includes an opportunity-cost estimate. Neither should be disguised as a fee charged by the software.

The model deliberately excludes speculative benefits such as future saved hours or avoided losses. Those may matter, but assigning them a number without evidence would make the experiment appear cheaper by construction. Change the labour valuation and expected reruns openly. A modest experiment may be worthwhile for education even when it cannot plausibly pay for itself through a small trading account.

What a useful handover should contain

A reproducibility handover should let another person distinguish four states: documented but not attempted; attempted but incomplete; completed in simulation; and completed against a live venue. These are status descriptions, not a numerical safety score. Each should link to the relevant configuration, version and evidence.

For a completed simulation, retain the start and end times, supported market symbols, initial virtual balance, strategy identity, non-secret configuration and exported logs. Note interruptions and restarts. If a run is compared with another, state exactly what changed. Otherwise an improved chart can be attributed to a strategy change when the actual difference was the dataset, fees or starting balance.

Do not publish secrets as evidence. A reproducible configuration can record which permissions were intended without containing credentials. Separate the research artifact from anything that grants trading authority. A command that starts successfully proves much less than a log showing that the intended connector and simulation mode were active throughout the observation window.

Updates need a repeatable decision too. Record why a new release is being adopted, what compatibility notes are relevant and which previous checks need rerunning. Permanent pinning and automatic updating solve different problems. A controlled update keeps the historical experiment identifiable while giving the current environment a path to receive maintenance.

The decision this comparison supports

This review supports choosing a bounded experiment, not choosing a profitable bot. Freqtrade offers a documented dry-run and bias-analysis route; Hummingbot documents both a simple paper strategy and a live-only controller boundary. Those distinctions let a reader narrow the task before installing anything. [6] [7] [8]

If your question is whether you can understand and reproduce one strategy’s operation, start with the smallest documented path that answers it. If your question requires a controller or connector outside that path, name the additional evidence needed. If your question is whether the strategy will outperform, a successful installation is merely a prerequisite to much more demanding analysis.

The independent conclusion is that openness is most useful when it improves the quality of the record. A repository, release, configuration and honest failure log can make an experiment explainable. They cannot convert uncertain execution into guaranteed income. Spend the first budget on establishing what the software is doing and whether you can repeat it; only then decide whether any market-performance question remains worth testing.

The evidence, side by side

Documented observations and DN calculations; retain the stated periods, scope and definitions.
Project or standardDocumented observationDecision implication
Freqtrade 2026.10Released 30 October 2026; Python 3.11 support removed. [1]Older setup instructions may not describe the current runtime.
Hummingbot 2.17.0Released 22 September 2026; Client and Gateway have named version references. [2]Record each component rather than only the project name.
Freqtrade dry-runOrders and wallet are simulated. [6]Useful operational experiment; no demonstrated live fill.
Hummingbot ClientSimple script has a paper route; V2 controllers do not support paper connectors in the reviewed guide. [7]Paper capability must be checked for the exact strategy path.
Docker and GitHubDigest identifies an image; provenance does not guarantee security. [4] [5]Keep identity, provenance and safety claims separate.

Reproducible Experiment Budget

Illustrative budget only. No software was installed or traded in this review.

Total labour allowance (hours)—
Infrastructure and data cash cost (currency)—
Total economic cost (currency)—
One-off cost as share of reference capital—

The interactive calculator starts when this page loads. The worked examples remain available in the article.

All inputs finite; costs, hours and days non-negative. Reruns must be an integer from 0 to 1000; reference capital strictly positive.

The cost hurdle is not expected trading performance or a required investment recommendation. A low cost does not establish secure software or valid results.

How the calculation works

hours: setup_hours + reruns × rerun_hours

cash_cost: days × daily_cost

total_cost: hours × hourly_value + cash_cost

cost_hurdle: total_cost / reference_capital

Scenarios to watch

Illustrative full economic budget

Eleven hours valued at £25 plus £30 infrastructure/data expense equals £305, or 15.25% of £2,000 reference capital.

Illustrative cash-only view

Valuing labour at zero leaves £30 cash expense and a 1.5% cost hurdle. This does not imply that time is free or that trading will recover the cost.

Method and limitations

Reviewed eight primary documents from Freqtrade, Hummingbot, Docker and GitHub on 14 November 2026. The project comparison covers two named open-source projects, not the whole bot market.

Release dates are taken from release pages. Undated documentation is recorded as accessed on the research cutoff; current pages may change independently of a named release.

The analysis compares documented identity, simulation and validation boundaries. No installation, artifact verification, exchange connection, paper run or return backtest was performed. Budget outputs are transparent synthetic arithmetic.

This is a documentary release and workflow audit, not a source-code security audit. We did not establish that any specific distributed image has a verified artifact attestation.

Documentation may describe capabilities newer than a pinned release. Confirm the matching version before using a procedure. Product availability and connector behaviour can change.

Paper results do not establish queue position, live fills, exchange reliability or future returns. The budget omits live execution and tax costs.

Primary sources and evidence register

Source dates and reporting periods differ. Several documents from one issuer are one source family, not independent confirmations. The evidence download contains the observations used in this article.

[1] Release 2026.10 · freqtrade/freqtrade30 October 2026 · Release 2026.10

Open the original document

  • Release identifies commit 4cf0351.
  • Python 3.11 support removed; strategy parameter access changed.

Interpretation limit: Official documentation; documentary review only. No independent operational test was performed.

[2] Hummingbot v2.17.0 Release Notes22 September 2026 · Version 2.17.0

Open the original document

  • Client and Gateway have versioned release references.
  • Other named repositories follow continuous deployment.

Interpretation limit: Official documentation; documentary review only. No independent operational test was performed.

[3] Quickstart with Docker — FreqtradePublication date not established; see reporting period · Undated documentation; accessed 14 November 2026

Open the original document

  • Official Docker/Compose workflow.
  • Update procedure pulls a new image; sample strategy is a demonstration.

Interpretation limit: Official documentation; documentary review only. No independent operational test was performed.

[4] docker image pull — Docker DocsPublication date not established; see reporting period · Undated documentation; accessed 14 November 2026

Open the original document

  • Digest can pin image identity.
  • Pinned images do not automatically acquire later updates.

Interpretation limit: Official documentation; documentary review only. No independent operational test was performed.

[5] Artifact attestations — GitHub DocsPublication date not established; see reporting period · Undated documentation; accessed 14 November 2026

Open the original document

  • Attestations link artifacts to build provenance.
  • Verification is necessary; provenance is not a security guarantee.

Interpretation limit: Official documentation; documentary review only. No independent operational test was performed.

[6] Configuration — FreqtradePublication date not established; see reporting period · Undated documentation; accessed 14 November 2026

Open the original document

  • Dry-run simulates wallet and orders rather than placing exchange orders.
  • Documents fill assumptions and optional/empty credentials for simulation.

Interpretation limit: Official documentation; documentary review only. No independent operational test was performed.

[7] Hummingbot Client QuickstartPublication date not established; see reporting period · Undated documentation; accessed 14 November 2026

Open the original document

  • Simple paper strategy uses live market data without API keys.
  • Reviewed guide excludes paper connectors from V2 controllers.

Interpretation limit: Official documentation; documentary review only. No independent operational test was performed.

[8] Lookahead analysis — FreqtradePublication date not established; see reporting period · Undated documentation; accessed 14 November 2026

Open the original document

  • Tool checks lookahead bias under tested conditions.
  • Untriggered signals and some order/strategy behaviours limit interpretation.

Interpretation limit: Official documentation; documentary review only. No independent operational test was performed.

Frequently asked questions

Does an open-source licence mean a trading bot is safe?

No. Source availability lets you inspect a program and its terms. It does not establish that a downloaded artifact matches the source, that its permissions are appropriate, or that its strategy is profitable.

Can I assume every Hummingbot strategy supports paper trading?

No. The reviewed Client guide documents a paper connector for a simple script but says V2 controllers require a live exchange connection. Check the exact strategy path. [7]

Does passing a lookahead check prove an edge?

No. It addresses a specific implementation problem under tested conditions. Untriggered signals and execution assumptions remain outside what that result establishes. [8]

Why include my time in the calculator?

It makes the cash-only and economic-cost decisions visible. Enter zero if you deliberately exclude labour, but do not confuse that choice with a measured absence of work.

Get the most talked about stories directly in your inbox

Join the Decentralised News briefing for independent crypto, DeFi and AI analysis. No spam, unsubscribe anytime.