mrkeyoor.com_
Sun 18 Oct 20:05 UTC
Automationevaluationupdated 14 Oct 2026

freqtrade review

Freqtrade is a Python bot for running your own cryptocurrency trading strategies on supported exchanges. It combines historical simulations, simulated live trading and order management, so you can develop and observe a strategy without writing all the exchange plumbing yourself.

+209stars / 7d
Verdict

Our Freqtrade run installed 270 packages in 94 seconds and passed its build, but the suite failed its pip-audit check and the lab recorded 1 known vulnerability. I'd use it to develop and observe a Python crypto strategy, with time set aside for exchange configuration and dependency review. Get the advisory details and check any exchange-specific accounting reports that affect your strategy before relying on it for live operation.

We ran it

Lab card: what happened when we ran freqtradeScreenshot of freqtrade (www.freqtrade.io)
Install✓ · 94s270 packages · 6824 MB
Build✓ · 1s
Tests✗ · 377s4691 passed · 1 failed · 20 skipped of 4692 (pytest)
Known vulns1(pip-audit)
Repo777 files~147,564 lines of source · 64 MB · 10 CI workflows · Dockerfile · tests dir

Answers from our run

Does freqtrade build from source?

Dependencies installed in 94 seconds (270 packages), and the build succeeded in 1 seconds. We cloned commit a9a9176 into a clean Debian container with 3 CPUs and no project-specific setup.

Do freqtrade's tests pass?

No. The project's own test command finished in 377 seconds and reported 4691 passed, 1 failed, 20 skipped (pytest).

Does freqtrade have known vulnerabilities in its dependencies?

pip-audit flagged 1 known advisory in the dependency tree at the time of our run.

Who should not use freqtrade?

Anyone expecting an included profit-making strategy: the Docker guide labels SampleStrategy a demo, and the README recommends coding and Python knowledge.

What are the alternatives to freqtrade?

Hummingbot, Backtrader. Our Freqtrade run installed 270 packages in 94 seconds and passed its build, but the suite failed its pip-audit check and the lab recorded 1 known vulnerability.

Setup3/5Install and build passed; 6,824 MB footprint and audit check failed
Docs5/5Explicit strategy, simulation, exchange and remote UI caveats
Community5/5October 14 push with recent merged fixes and active reports
Maturity4/54,691 tests passed; audit failure and accounting report need review

Discussed on

  1. hnFreqtrade: Free, open source crypto trading bot3 points

Who it’s for

Python developers who already have trading rules to implement and want backtesting plus dry-run in the same tool.
Operators prepared to manage exchange configuration, persistent trade records and a bot that needs an accurate clock.
Researchers who want parameter optimization or FreqAI models and can inspect the resulting strategy rather than trust its historical returns.

Who it’s NOT for

Anyone expecting an included profit-making strategy: the Docker guide labels SampleStrategy a demo, and the README recommends coding and Python knowledge.
Teams choosing an arbitrary CCXT exchange and assuming support: the README explicitly says other exchanges are not guaranteed to work.
Hyperliquid futures users who need verified accounting for partial exits followed by exchange stops: open issue #13671 reports overstated recorded fills and profit in that workflow.
Operators who want to follow the default develop branch without reviewing changes: the README warns it can contain breaking changes and directs stable users to the stable branch.

Setup reality

Our sandbox installed commit a9a9176 in 94 seconds, adding 270 packages and occupying 6,824 MB. The build passed in 1 second. The test step failed after 377 seconds: 4,691 passed, 1 failed and 20 skipped. Pip-audit recorded 1 known vulnerability; the failed test was the pip-audit check, and the supplied log doesn't identify the package or advisory.

You need your own Python strategy, exchange and pair configuration, plus historical data for backtesting. Dry-run usually needs no exchange keys. Live trading requires exchange API credentials, sometimes including a password. Telegram control is optional, and SQLite stores trade records.

The README requires Python 3.12 or newer and lists TA-Lib for native setups; Docker is the recommended quick start. The clock must stay synchronized. The Docker guide advises an SSH tunnel or VPN for remote UI access because the UI lacks built-in HTTPS. Our 6,824 MB footprint describes the sandbox environment, not the official image.

You have to supply the trading strategy

Leave SampleStrategy in your Freqtrade configuration and you'll be running a demonstration strategy. The Docker guide says so explicitly. Freqtrade handles the machinery around a Python strategy: fetching market data, placing orders, recording trades in SQLite and exposing controls through a web interface or Telegram. That division of work is useful if you can write the trading rules yourself. It gives a Python developer a route from historical simulation to observing the same idea against a live market. Docker quick start.

The 777 files and roughly 147,564 source lines in our checkout reflect how much machinery you're adopting. The README lists backtesting, parameter optimization and FreqAI's adaptive prediction models, alongside exchange support. You can select or exclude trading pairs and inspect trade performance without building that plumbing. I'd choose Freqtrade for a strategy I intend to maintain in Python. Someone hoping the included example supplies a reliable income has misunderstood what the project provides. Project README.

What happened when we ran it

Our sandbox installed Freqtrade commit a9a9176 in 94 seconds, adding 270 packages and occupying 6,824 MB. The build succeeded in 1 second. We ran it on October 9, 2026, with 3 CPUs and 8 GB of RAM, using the Python 3.12 Bookworm uv image in an unprivileged container without secrets. Installation and build both worked on that path. Those results establish a working developer setup, without measuring order execution or a strategy's returns.

The test step failed with exit 1 after 377 seconds. Pytest reported 4,691 passed, 1 failed and 20 skipped, with 363 deselected. The failed case was tests/test_pip_audit.py::test_pip_audit_no_vulnerabilities. Its exception shows the Python subprocess running pip-audit returned an error. Separately, the lab's pip-audit result recorded 1 known vulnerability. This is a failed dependency audit check within an otherwise largely passing test run.

The log tail doesn't identify the affected package, advisory or severity. It also contains LightGBM warnings that eval_set is deprecated in favor of eval_X and eval_y; those warnings are separate from the named failure. Pytest's own summary records 354.48 seconds, while the lab timed the test step at 377 seconds. Keep those measurements separate. The evidence supports neither a diagnosis of a trading defect nor a claim that the dependency environment passed its audit.

The installed environment used 6,824 MB

A 64 MB checkout became a 6,824 MB installed environment in the sandbox. Budget space for that measured setup before adding historical market data. The footprint belongs to our installed environment; it isn't a measurement of the official Docker image or the minimum trading runtime. Our scan also found 10 CI workflow files, a Dockerfile, a compose file and a tests directory. The project has visible delivery infrastructure, but its presence doesn't cancel the failed audit.

Docker is the route I'd try first for running a bot. The guide walks through creating user_data, generating configuration and copying your own strategy into the strategy directory. You still have to review pricing and pair selection. Dry-run usually needs no exchange credentials; live orders require exchange API keys and sometimes an additional password. Telegram is optional. These configuration decisions remain after the successful 1-second build. Configuration guide.

Backtesting assumes fills without slippage

Freqtrade's backtester assumes an order fills at its requested price when that price falls inside the candle's range. That excludes slippage, the difference between the expected execution price and the actual one. The documentation also spells out its ordering assumptions when exits and stops compete inside a candle. That's helpful honesty. It makes a historical report useful for examining strategy rules, while leaving a separate job of checking behavior against live market data. Backtesting assumptions.

The 4,691 passing tests in our run don't establish whether your strategy uses information it couldn't have known when placing an order. Freqtrade provides lookahead-analysis to examine that mistake: the backtest initially has the full historical dataframe, so careless calculations can read future candles. The command checks the signals it actually triggers, leaving untriggered signals unverified. Run it on your strategy before treating an attractive report as evidence of an advantage. Lookahead analysis.

Hyperliquid has an open partial-exit accounting report

Issue #13671, opened October 13, reports that a Hyperliquid futures stop can be booked at the original order size after a partial exit reduced the position. The reporter says the wallet balance is correct while the recorded close amount and profit are overstated. This is a user report, separate from our sandbox result. If your workflow uses those stops and partial exits, reconcile Freqtrade's records against exchange fills before depending on its profit display. Hyperliquid accounting report.

Release 2026.9, published September 29, includes fixes for funding-fee reprocessing and cross-margin wallets, plus configuration redaction and FreqAI path handling. Those are consequential maintenance items for software connected to an exchange account. They don't identify or resolve the 1 known vulnerability in our October 9 environment. Review the relevant changes when choosing a release, and get the missing advisory details before deciding whether that audit finding blocks your deployment. Release notes.

October activity supports adopting a maintained codebase

The repository's last push was October 14, 2026. GitHub returned 55,388 stars and 29 open issues and PRs together, while recent merged work addressed cancelled websocket tasks and futures-volume handling. The push date and recent fixes show current maintenance. Repository activity. For market-making or cross-exchange arbitrage, I'd compare Hummingbot. For a research script centered on historical data and broker simulation, I'd compare Backtrader. Before giving this installed Freqtrade environment exchange credentials, get the missing advisory details and reconcile the fills your strategy depends on.

Alternatives

ProjectWhat it isPick it when
HummingbotA crypto trading framework with market-making and cross-exchange strategies.pick this instead when market-making or cross-exchange arbitrage is the workflow you want to build.
BacktraderA Python framework for historical strategy research and broker simulation.pick this instead when custom data feeds and broker simulation matter more than a ready crypto bot with web and Telegram controls.

Sources

  1. Freqtrade repository and README
  2. Docker quick start
  3. Configuration and dry-run credentials
  4. Backtesting assumptions
  5. Lookahead analysis and its limits
  6. Hyperliquid partial-exit accounting report #13671
  7. Release 2026.9
  8. Hummingbot repository

More automation reviews

wenzi-xiaohongshu-workflow · open-dot · Obtainium · microduck · artemis · supersidian · the whole board →