Download Latest Version 2025.12 source code.tar.gz (45.0 MB)
Email in envelope

Get an email when there's a new version of Freqtrade

Home / 2025.12
Name Modified Size InfoDownloads / Week
Parent folder
2025.12 source code.tar.gz 2025-12-30 45.0 MB
2025.12 source code.zip 2025-12-30 45.3 MB
README.md 2025-12-30 16.1 kB
Totals: 3 Items   90.3 MB 1

Highlighted changes

  • Refactored funding_fee handling (⚠️this will require manual interaction!)
    • Prevent filling up missing funding fee data after merging.
    • Adjust funding rate timeframes to a default of 1h (it's not guaranteed to be hourly, that’s the lowest possible).
    • Switch mark candles to 1h for futures exchanges.
    • Support dynamic funding fees in both dry and live modes.
    • Implement partial auto-fix for funding rate timeframes used in strategies directly.
    • Add --candle-types argument to download-data to allow for more targeted downloads.
    • Documentation of the required changes can be found here
  • Improved dry-run stoploss order behavior.
  • Improved backtest timeout behavior.
  • FreqAI: Droped builtin Catboost models. Read the deprecation notice if you still want to use these models.
  • Support exiting with custom price via freqUI / API.
  • freqUI:
    • Improved Amount step size by using trade precision.
    • Fixed/Improved market change chart in freqUI webserver mode (when backtesting).
    • Specify exit price when manually exiting (use the Forceexit partial button and leave the amount untouched to exit fully).
    • Display multiple pairs on one screen (mainly useful in the chart pane).

Sponsor

You can sponsor the work on freqtrade via the following links:

New Contributors

How to update

As always, you can update your bot using one of the following commands:

docker-compose

:::bash
docker-compose pull
docker-compose up -d

Installation via setup script

# Deactivate venv and run 
./setup.sh --update

Plain native installation

git pull
pip install -U -r requirements.txt
Expand full changelog 9a37d7bfb chore: bump version to 2025.12 5c02ce934 test: remove outdated TODO 260512d67 chore: remove outdated todo, replaced with comment 8b1b16cb0 test: cleanup unnecessary test fixture cacd52db1 chore: remove unnecessary todo 4e809947c chore: improve create_command_partials runtime by not calling subprocess several times 89c4aa23f docs: update docs with new --eps helpstring 1bd043a91 chore: improve cli docstring to clarify "--eps" c5fa5c5c6 chore: be more specific in dependabot schedule d80dbc164 chore: update pre-commit hooks 91ee8652e chore(deps): bump cachetools from 6.2.3 to 6.2.4 75dfc9522 chore(deps-dev): bump pre-commit from 4.5.0 to 4.5.1 05fe35ce5 chore(deps): bump fastapi from 0.124.4 to 0.125.0 95e36013d chore(deps): bump ccxt from 4.5.28 to 4.5.29 c5c96d961 chore(deps): bump docker/setup-buildx-action from 3.11.1 to 3.12.0 ad9a7279b chore(deps-dev): bump time-machine from 3.1.0 to 3.2.0 896250fe8 chore: add debugging output to debug psgallery error 2013a2edd chore: add recognition to the original tests author 11eb0c080 fix: re-add latest tag for docker hub - which aligns to the :devleop tag 78709a9d7 test: properly wrap line f55a90d98 chore: add pip-audit as dependency and test 4b3ff02d4 chore: Add pip-audit action 7b33242aa fixed tests according to failed tests on github 931cd2e7b chore: bump Dockerfile to latest python release b6899264a chore: update classifiers to 3.14 ca47882fa chore(deps): bump scikit-learn from 1.7.2 to 1.8.0 802d42cc0 chore: update pre-commit hooks f546146d4 changed the wording in if required_candle_call_count > 5: as per matthias suggestion. d2c4bd1b5 docs: update formatting of link 5e5495e05 docs: Add deprecation notice for Catboost models 51f3f0d65 test: Remove catboost tests 0019867da didn't make a space in the end ... you can book that under typo ... 335e632bb adjusted the error message of "more than 5 queries needed for exchange" to be more verbose to the user. Now they don't have to guess what the limit actually is to then work towards, helping to better understand the error message. fc113f7bb chore(deps-dev): bump mypy from 1.19.0 to 1.19.1 006d2305a chore: update samples and comments to use lightgbm / xgboost 5c9f140c5 feat: remove catboost models and dependency c6f3b0081 chore: combine updates on actions from the `actions/* ` org 1780d2db2 chore: bump scipy-stubs in pre-commit-config 78d602f7b chore(deps-dev): bump scipy-stubs in the scipy group a3c19d10f chore: bump sqlalchemy in pre-commit-config c54b94b5a chore(deps): bump pymdown-extensions from 10.18 to 10.19.1 5ed590d86 chore(deps): bump ccxt from 4.5.27 to 4.5.28 3f5ed399b chore(deps): bump astral-sh/setup-uv from 7.1.4 to 7.1.6 a9a686c64 chore(deps-dev): bump ruff from 0.14.8 to 0.14.9 978ca8f85 chore(deps): bump codecov/codecov-action from 5.5.1 to 5.5.2 ea30f906f chore(deps): bump urllib3 from 2.6.0 to 2.6.2 811112f0c chore(deps): bump actions/upload-artifact from 5 to 6 5ebffb27a chore(deps): bump actions/download-artifact from 6 to 7 0cb676a67 chore(deps): bump fastapi from 0.124.0 to 0.124.4 6a6dce323 chore(deps): bump peter-evans/create-pull-request from 7.0.9 to 8.0.0 0d62fab36 chore(deps): bump sqlalchemy from 2.0.44 to 2.0.45 a1b4a4dbf chore(deps): bump cachetools from 6.2.2 to 6.2.3 092da6aee chore(ci): Try to cleanup docker build host 13c63c0bf fix: exception when backtesting in webserver mode aa38a36b5 docs: add override_exchange_check to documentation 21d723b35 chore(ci): visualize disk sizes for docker build 6905b8059 chore: update pre-commit hooks 1143aba67 test: simplify test call 278bd0e97 chore: improve variable naming d5b296c75 test: fix gate stoploss test c63fba2e5 chore: rename flag to better match what it does c8d74baaa refactor: unify fetch_stoploss_order 8859b9009 chore(deps): bump filelock from 3.20.0 to 3.20.1 d4aee7e43 test: add autospec=True to just changed tests f0908a104 test: adapt test to new call logic cf6bf1b7b refactor: reduce code duplication for cancel_stop_orders 84e9251fc test: use object patching instead of direct assignment 5800002d4 feat: add stoploss_fetch_requires_stop_param property 6a98c19da fix: improve binance stoploss "triggered" behavior 025707d9a chore: bump joblib to 1.5.3 98da54ae8 chore: update pre-commit hooks fa5210aa4 fix: function signature mismatch 289e53ed5 fix: allow set-leverage failures on followup orders c0d40a03a chore(deps): bump python-rapidjson from 1.22 to 1.23 7dc0d5d14 chore(deps-dev): bump ruff from 0.14.7 to 0.14.8 c20f51141 chore(deps): bump pymdown-extensions from 10.17.2 to 10.18 484b3ff2f chore(deps): bump orjson from 3.11.4 to 3.11.5 5d25adfc4 chore(deps): bump stable-baselines3 from 2.7.0 to 2.7.1 1099fd252 chore(deps): bump actions/checkout from 6.0.0 to 6.0.1 293989f01 chore(deps): bump fastapi from 0.123.0 to 0.124.0 57d1e2427 chore(deps-dev): bump pytest from 9.0.1 to 9.0.2 in the pytest group a16d2a1ef chore: fix typo 13c86452e refactor: only assign order_type once fe1873105 test: slightly improve custom_exit_rate test e26529b69 feat: Don't run custom_exit_price callback when exiting with price bac6219cc feat: add price to force-exit 0ed3bdc74 test: add test for force exit API logic 2e3d27630 docs: Add strategy docs to migrate funding fees bd5630a10 test: simplify test mock b40621951 test: add candle_types test 31d3a1983 feat: support candle_type parameter via API download 83b372a32 docs: add "Funding fee adjustment" to deprecated docs 51e0b204b docs: improve download data docs 6d2c30abc chore: bump ccxt to 4.5.27 93bde7dc4 fix: support binance algo orders 97e2e0a40 chore: remove hard-pin of pycares 12206f028 chore: comment wording improvements 4c7944ac7 chore: update comment wording d4ced7b41 docs: improve doc wording 451eef5c9 test: further test simplifications 878bd7cbc chore: pin pycares for now 6d017c9a6 chore: update pre-commit hooks 4c3d9b8c7 test: simplify some stoploss test setups 23a426085 chore: simplify okx cancel stoploss method d15d08a2d test: Improve refresh_backtest test 6aeab16ce test: improve candle type verification test 46538d9a5 fix: verify prog actually exists before using it f0f48395c chore: update download-data help text b3a1442a6 feat: allow varying help texts for different subcommands bbafb1dab fix: deduplicate list before downloading 645a9159e chore: hyperliquid doesn't have mark candles 2d3ff2f8c test: mark-test should use the candle's defined mark price attribute 732610e20 chore: update pre-commit hooks 309985503 test: fix funding_rate_history online test 072ed705f test: fix funding_fee online tests 3689b5230 docs: add Section about very loose stoploss on exchange 01fbf3140 chore: don't suggest binance.us supports futures 00f687f3f test: test futures data with online exchanges 96849fcaf refactor: provide a non-failing check_candle_support method 80d5b6e24 test: minor refactor in online tests f33fd98c8 test: Add test for candle type verification c7636734d feat: validate supported candle types when downloading data 994e61fe4 feat: add (commented) validation for fetch_*_ohlcv methods 359eba462 feat: add candle_types argument to download-data 38e48c0c5 test: update refresh ohlcv data test e4fc5df1c chore(deps): bump ccxt from 4.5.24 to 4.5.25 cde886b88 chore: use str for safe usage of candle_type 9f4e16745 chore: force keyword usage on refresh_backtest_ohlcv f5e6504e2 test: add test for funding rate exchange fix 0ec1066b3 test: add test for funding_rate fix 62d4da3b9 test: add test for get_funding_rate_timeframe ebb362d9f chore: bump scipy-stubs in pre-commit config f23fad420 chore(deps-dev): bump ruff from 0.14.6 to 0.14.7 cb55ef5c5 chore(deps-dev): bump mypy from 1.18.2 to 1.19.0 6540fbb8e chore(deps): bump fastapi from 0.122.0 to 0.123.0 412392aea chore(deps-dev): bump scipy-stubs in the scipy group e6030b7f5 chore: minor adjustments for clarity c1c968666 chore: some minor cleanups f8d6363d1 test: update further tests acc69e0d2 test: fix a couple more tests 5110d0bdd test: update a couple of tests for new behavior 597cc0592 test: update funding_rate_migration test 01b0a8fa4 fix: 1h should be the default for funding/mark candles cf6b7a847 fix: bitget's minimal funding fee interval is 1h 489708082 fix: bybit's minimal funding fee interval to 1h 3ca8e0fb5 feat: auto-adjust funding rate timeframe in dataprovider 40f4ff04c feat: auto-fix invalid funding rate timeframe in informative decorator 3bd911982 feat: add get_funding_rate_timeframe to dataprovider 730383ab1 feat: auto-download correct funding rate timeframe b70f10dca chore: simplify warning formatting 17009ac59 chore: allow non-matching funding timeframe - as timeframe doesn't actually matter any longer. 07fbf2b46 feat: support dynamic funding fees in dry/live mode 3f0be5e41 fix: floor timestamp to seconds 2845568f6 feat: limit funding_fee renaming to rename from low to high. 1ae5310d2 chore(deps): bump urllib3 from 2.5.0 to 2.6.0 417a0817a Fix IndexError in fetch_positions for Hyperliquid when no pair specified 41a82eff2 fix: don't fill up funding fee data Data d41acc77f fix: floor funding-rate to seconds to account for slight time offset 271fc6b58 feat: don't fill up missing funding-fees after merge 262f4ffa4 test: update bt tests for new timeout behavior 338c1c542 fix: compare timeout with <= instead of < 8ca25b175 Update README.md 68e54248f fix: calculate meaningful price change properly weighting each pair e792bafe2 test: update test to ensure rel_mean is reasonable fe95581ac test: update rel_mean test to use USDT Pairs 7f831f8a9 test: update tests for new test pairs 3fb7382cc test: update test data to include USDT pairs a63ea6adb test: switch to BTC/USDC in tests for now 06a8f3d09 chore: bump ccxt to 4.5.24 e76b9bb64 chore: update pre-commit hooks 606dbe5db Revert "test(okx): add unit test for stop_price_type_value_mapping" 81e4e0d30 test(okx): add unit test for stop_price_type_value_mapping a3e97527d fix(okx): correct PriceType.MARK and PriceType.INDEX mapping 713746189 feat: improved download-data logging 10e7d279f test: improve funding rate combine test 971cb94ce feat: limit returned columns for merged mark/funding calc to used columns 19526f1df test: update tests to align to improved formatting 9c73c8671 feat: improve format_date with fallback value 0f5427f4a feat: round_value should support None a013793b2 feat: improved trade repr format (used for logs) faf552837 test: add test for stoploss cancel skips 4b2d09925 fix: ensure stoploss on exchange is canceled once the trade closes. 4e6ea1d2b feat: don't cancel stoploss early if it's not necessary d7eb49d5d chore: align usage of actions/checkout version pin 659509e08 chore: update pre-commit hooks 2b729c252 test: improve integration test to have proper return value 38151423b chore(deps): bump actions/checkout from 5.0.1 to 6.0.0 2f990b773 chore: increase dependabot cooldown to 7 days dbde8332f chore(deps): bump fastapi from 0.121.3 to 0.122.0 dc88ea0ed chore(deps-dev): bump pre-commit from 4.4.0 to 4.5.0 45b1dabe0 chore: bump scipy-stubs in pre-commit config 39233ff24 chore(deps): bump astral-sh/setup-uv from 7.1.2 to 7.1.4 895042341 chore(deps): bump actions/checkout from 5.0.0 to 6.0.0 760a2b9ff chore(deps): bump zizmorcore/zizmor-action from 0.2.0 to 0.3.0 a13f488b8 chore(deps): bump peter-evans/create-pull-request from 7.0.8 to 7.0.9 09b158270 chore(deps): bump ccxt from 4.5.20 to 4.5.22 61ab49a12 chore(deps): bump pymdown-extensions from 10.17.1 to 10.17.2 1a95b04d7 chore(deps): bump xgboost from 3.1.1 to 3.1.2 691a6b0a7 chore(deps-dev): bump ruff from 0.14.5 to 0.14.6 1d0a90225 chore(deps-dev): bump time-machine from 3.0.0 to 3.1.0 1de9f5a2f chore(deps): bump pydantic from 2.12.4 to 2.12.5 7a5342cc9 chore(deps-dev): bump scipy-stubs in the scipy group 52c73eabe docs: add missing space in docs 3453bdf60 chore: bump version to 2025.12-dev ac2723c3a test: add explicit test for dry stoploss order filling 1536c09df test: improved test naming fade66afd fix: ensure we always have a price when checking stops f63484d0b feat: add dry-limit check for stoploss orders 3543e96ec refactor: extract dry-market order slippage from function c83ea0db4 chore: fix default behavior for crossed mode ad256367b feat: dry-is-crossed should support stoploss 73b427370 test: add tests for dry crossed stoploss ca7234e33 test: fix dry-stop tests cd7b26717 feat: record dry-run stop_price price separately 0340d36af chore(ci): run ci against python 3.14 ad7816d51 chore: skip catboost tests on 3.14 for now 73127c817 chore: limit catboost to python < 3.14
Source: README.md, updated 2025-12-30