2022.9.1
版本发布时间: 2022-10-02 13:15:49
freqtrade/freqtrade最新发布版本:2024.9(2024-09-30 17:26:39)
2022.9.1
- Fix memory-leak in cases with many pairs.
- Fix verbose logging.
- Fix FreqAI bug with PCA enabled.
Highlighted changes
-
merge_informative_pair
now has an optional parameter insuffix
- allowing for more control in column naming. - Producer/consumer mode - Create a cluster of freqtrade bots.
- New, fast dataformats with
feather
andparquet
. - FreqAI
- New available Models XGBoost models (
XGBoostRegressor
,XGBoostClassifier
,XGBoostRegressorMultiTarget
) - FreqAI can now start training new models from the final state of the most recently trained model (continual learning).
- FreqAI now supports hyperopt.
-
informative_pair()
implementation no longer necessary. - Builtin feature performance plots.
- Innovative
inlier_metric
- quantify how different a prediction data point is from the most recent historic data points. - Improved freqAI Documentation structure.
- New available Models XGBoost models (
How to update
As always, you can update your bot using one of the following commands:
docker-compose
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
851d1e9da Version bump 2022.9.1
59cfde376 Fix pandas deprecation warnings from freqAI
c53ff94b8 Force joblib update via setup.py
03256fc77 Merge pull request #7508 from aemr3/fix-pca-errors
19b3669d9 Decrease message throughput
6841bdaa8 Update test to verify webhook won't log-spam on new messagetypes
8e101a9f1 Disable log spam from analyze_df in webhook/discord
d0456b698 Version bump 2022.9
80d0e66b4 Update log level in test
388a572cb Version bump develop version
ac229b7a4 Reduce message consumer verbosity
4e920e9c5 Reduce verbosity of sending-message
fb3d40833 Respect max_open_trades when forceentering
e9abe3cb6 Ease end of line rules
7e124618d Move "success" notification to last pipeline step
7c84edbc2 Avoid online call when asking for `/status`.
a06372c7b Improve jupyter container install
42cecb83f Disable base64 loading via API
e668bf713 Test case to disable base64 strategies via API
6c491ee02 Update missed changes to plot_feature_importance
895b15abb Fix rpi CI
24c1d8498 Fix lineending
9d462af04 Temporary workaround for PI image
8c2e473ee Fix test warning
43e847ff2 Update to pandas 1.5.0 syntax, avoiding warnings
bc007ce03 Update binance leverage tiers
ba8c71469 Require kwargs on ohlcv_load
eb36105de Fix some random typos
9f32e02bb Update missing testcase
4faa6a0bd :bug: updated test case from StaticPairlist to StaticPairList
32930a269 Bump pandas from 1.4.4 to 1.5.0
8e0811d9d Call cleanup explicitly
ed2c960a9 Update types-requests for pre-commit
a1a62681b add fixes for random test failures
041258a54 Fix arm test failure
8ef3a41a0 Bump ccxt from 1.93.66 to 1.93.98
c4784c669 :pencil2: fixed typo from StaticPairlist to StaticPairList
5faaa25fa Bump aiohttp from 3.8.1 to 3.8.3
95a2d43e1 Bump types-requests from 2.28.10 to 2.28.11
a38f47e1a Bump mkdocs-material from 8.5.2 to 8.5.3
e54ed5b10 fix runtime error: dict changed size during iteration
f5535e780 change wording, switch FreqAI word format
48e89e68b fix typos
e53f0ce89 Update wheels to build with crypto fix
adb5b98a3 Fix pre-commit lineending
677c5719b improve inlier-metric figure
02dba5304 Revise FreqAI multipage docs structure
873d2a506 no model save backtest, plot features backtest, ensure inlier plays nice, doc
873eb5f2c Improve EMC config validations
1bd742f7e Properly setup pre-commit job
e63f9e1c1 Use pre-commit in Ci to check for all things
8d77ba118 Fix line endings
50dfde704 Remove unnecessary typing import
53c8e0923 Improve typing in message_consumer
166ae8e3a Remove missleading comment
98ba57ffa Better test for contract calculation change
4efe2e9bc use FtPrecise to convert to contracts and back
00b192b4d Add test to verify #7449
2cc00a1a2 Allow use of --strategy-list with freqai, with warning (#7455)
e429aa16f Add note about enter_tag handling
6643d90e6 simplify freqAI start_backtesting
af974443c add test
6b5d71049 add sleep
4c7cef570 typo in exception
b8e1d29a1 catch connectionclosederror
255ff000a typo in configuration.md
2fffe7c5d Fix missing comma
7c093388e Add pyarrow dependency
4576d291a Update data command outputs
7e1e388b9 Add feather/parquet docs
48352b8a3 Update hdf5 handler to reset index on load
0bbb6faeb Add generic datahandler test
a4eaff4da Add training elapsed time
5fb56b09f Test Feather/parquet datahandler init
983a16d93 Rudimentary "not implemented" test
044891f54 Add conditional formats depending on mode
dc2b93228 Add ParquetDataHandler
3c0d2c446 Add Feather datahandler (no trade mode yet)
7b4af8542 Remove double-init in test
f62f2bb1c Improve datahandler tests
2a5bc58df Split datahandler and history tests
b7c60e810 improve class diagram
06a5cfa40 Update "branding" to producer/follower mode
1626eb7f9 Update dataprovider function name to `get_producer_df`
e6c5c22ea Update websocket/follower docs
71e6c54ea Normalise distances before Weibull fit (#7432)
b1dbc3a65 remove function remove_training_from_backtesting and ensure BT period is correct with startup_candle_count
6a6ae809f fix jwt auth
77ed71323 add catch for invalid message error
128b117af support list of tokens in ws_token
0811bca8b revise docs, update dp method docstring
91dc5e7aa Be sure to provide an amount in entry notifications
08e183fb5 Add note about okx trading mode
366c6c24d Add docs for External Signals API
923182680 Explicitly define notification defaults
f7b8c5a76 Reorder telegram noise sample
02f2096fc Reverse and fix rangestability conditions
8f41f943b Fix 0.0 amount message wording
ff3643168 Adjust tests for new messageType handling
3b0874eb3 Update exit message handling to gracefully handle kucoins "empty" responses
0c01b23cb Capture exceptions in send_msg calls
0bd6ad55a Always show freqtrade version
8a91c8e22 Sort and dedup pairs before data conversion
6c18fa084 Update proxy docs
3274bb075 Remove msgpack for now
b5fd11f91 protect against unforeseen issues in scanning thread
32d46e8a6 Improve fixture naming
703bcc099 Fix list-pair regex to also support 1INCH/USDT
eb9ac9cbd add --exchange to convert-trade-data
42c75b4a7 combine log messages
9b66297cc Fix append
995396c77 Add useful log info
ad652817e Ensure train ordering after restart
ea58c29de Add plot_feature_importance to schema definition
4a0a0c307 Use json_load to load leverage tiers
d93093100 Bring back sleep - it'll ensure we give up control over the thread.
b5f51b5ec Bump fastapi from 0.83.0 to 0.85.0
15c9b6bf4 Bump mkdocs-material from 8.4.3 to 8.5.2
cbdb0ce3e Bump pyjwt from 2.4.0 to 2.5.0
f51271794 Bump ccxt from 1.93.35 to 1.93.66
4cdc89706 Bump joblib from 1.1.0 to 1.2.0
8116ca847 move trades_get_pairs to parent class
a06eee300 move ohlcv_get_pairs to parent class
584b2381d Fix Imports
470d5d840 ensure full new pairlist is in the queue
eaa43337d improve train queue system, ensure crash resilience in train queue.
edbe9137d Add Common pitfalls
95457d23c escape freqai-specific characters from file naming
994c1c5ea use Config typing in more places
667853c50 Use Alias to type config objects
188f75d8e set model in models dict
9f2358815 strategy template - remove pointless noqa's
7a73adb95 Improve default strategy template
faf84295a Separate strategy subtemplates for better overview
ab78fb373 Improve freqAI strategy formatting and readability
463493626 additional support for --data-dir
fa3d4b58a Revert unnecessary formatting
1ef875901 maintian user privacy by keeping plotly offline
68f7a3150 ensure continued operation despite not being able to plot
2c23effbf allow plot to plot multitargets, add test
1c92734f3 simplify plot_feature_importance call
c210d6614 Reorganise multipage doc
92a32ab31 Add documentation for stop-market on binance futures
063511826 Update stoploss on exchange logic
9f266cbcb Allow safe_price for market stop orders
ca6dec3d4 Binance spot also allows market orders
8639c1f23 Reduce complexity in binance stoploss handling
38b28fc4d Update duplicated test
4182a7891 Allow leverage tier cache to be 4 weeks old.
6682ae35b Update cached binance_leverage_tiers
10ec681b3 Clean up no longer needed informative sample code
d62cef01b Add test for __informative_pairs_freqai
0aada271c Move informative_pairs for freqAI to backend
4422ac7f4 constrain port in config, catch value error
86aa875bc plot features as html instead of png
b707a6da3 Add ability to plot feature importance
e5368f5a1 backtesting confirm_trade_entry should pass correct amount, not stake-amount
b0b575ead change json serialize to split orient
1ad25095c change test server from localhost to 127.0.0.1
7d1645ac2 fix tests and warning message
8e75852ff fix constants, update config example, add emc config validation
6126925db message size limit in mb, default to 8mb
711849abd Use Wheels for win builds
91bc3d116 Update docs aroudn use_exit_signal
49800e4cc pin ci python to 3.10.6 for now
aed19ff6c fix The future belongs to a different loop error
37dd22c89 Fixed a bug that prevents clearing old models
06350a13c support specifying message size in emc config
d75d5a7da debug ping error message
7a98775f0 Version bump apiVersion
46a425d1b fix OOM on emc test
7b6e465d5 Remove gate live test skip
877d24bcd Fix external dependency of test
d2abc9417 Simplify ws imports
79c70bd52 use WebSocketState from fastapi
aeaca7894 change port in send_msg test
07aa206f7 real fix for reconnecting
6d0dfd4dc continue trying connect on ping error
75ce9067d fix dp test
bf2e5dee7 add running false on shutdown, fix dp typing
12a3e90f7 fix tests
0697041f1 remove copy statement where not needed
c19a5fbe0 copy data being transferred, remove debug messages in emc
b6434040d Remove plain json serializer implementation
867d59b93 Improve type specifitivity
0052e5891 emc: Fix potential startup timing issue
a477b3c24 remove log line, fix tests to not connect to actual ip
10852555e change verbosity of testing log
457075b82 one more line
d6205e6cf test logging lines
f45824acf Bump precommit types/requests
7ee92db7a Bump aiofiles from 0.8.0 to 22.1.0
00db473f1 Bump cryptography from 37.0.4 to 38.0.1
4ac804f79 Bump numpy from 1.23.2 to 1.23.3
09cdce864 Bump ta-lib from 0.4.24 to 0.4.25
715a71465 Fix auth bug when no token is set
c149c47af Bump ccxt from 1.93.3 to 1.93.35
6968fc333 Bump jsonschema from 4.15.0 to 4.16.0
a4b7e0a71 Bump fastapi from 0.82.0 to 0.83.0
1ef334411 Bump types-requests from 2.28.9 to 2.28.10
6bfe99606 Bump mkdocs-material from 8.4.2 to 8.4.3
6777d43ae Bump sqlalchemy from 1.4.40 to 1.4.41
5483cf21f remove default secret_ws_token, set timeout min to 0
982c0315f Rename variable
816c1f760 add test for per epoch hyperopt
72d197a99 Run first epoch in non-parallel mode
ede282392 add a developers guide
68a900a9b reorganize freqai docs for easier reading, add detailed file structure description
78cd46ecd hyperopt Remove unnecessary arguments
32e13d65c Refactor hyperopt to extract evaluate_result
a48923c0e Extract widget colorization to separate function
9c8c7a03a Improve typehint
ccc70a21f Update pairs_file cli argument description
4476b5a7f add user_data arg to test-pairlist
d598f4334 add search share button to website
0a8b7686d reworked emc tests
ed4ba8801 more emc tests
9a1a4dfb5 more ws endpoint tests
0bc18ea33 call websocket close in channel close
2afd5c202 update message parsing, tests
5a0cfee27 allow user to multithread jobs (advanced users only)
c5d031733 remove old param in test fixture
a7baccdb7 update log messages in emc, more tests
866a56495 update emc start/shutdown, initial emc tests
b3fc1cfde Parametrize classifier tests
88892ba66 Parametrize regressor tests
f97f1dc5c Test CatboostRegressorMultiTarget, simplify test setup via parametrization
d8cdd9214 wrap background cleanup in finally, add tests
311ae8bf1 freqai backtesting - add startup_candle_count at function description
60eb02bb6 Add XGBoostClassifier
10b6aebc5 enable continual learning and evaluation sets on multioutput models.
daf352e6a Test online candle fetching in futures, too
79985fda0 fix backtesting freqai startup candles bug
4250174de Fix ws exception when no token is provided
b344f78d0 Improve logic for token validation
170bec043 Fix failing XGBoost tests
2f6a61521 add more tests
05581db4e ensure columns are only dropped in training
939fb7acb Fix enum imports
97be3318f Use Datetime_format from constants
37fcbeba5 Update backtesting output wording to Entries
826eb8525 update confige example
c13bec26d add freqaimodel to hyperopt command
6cbc03a96 support jwt token in place of ws token
a826c0eb8 ensure signatures match, reduce verbosity
acb410a0d Remove verbosity params
df6e43d2c Add XGBoostRegressorMultiTarget class
1b6410d7d Add XGBoostRegressor for freqAI, fix mypy errors
09679cc79 fix dependency
d38cc0613 Fix freqai backtesting time range issue
ad9659769 wording
445ab1bee update docs
426f8f37e change var names
e256ebd72 Add ws_token to auto-generated config
92d71ebdb Bump python from 3.10.6-slim-bullseye to 3.10.7-slim-bullseye
46cd0ce99 fix sentence in docs
1466d2d26 initial message ws docs
75cf8dbfe missed await
c5d918075 isort
bc7295579 improve docs, make example strat hyperoptable
c9d4f666c minor apiserver test change
2b9c8550b moved ws_schemas, first ws tests
b9e7af1ce fix ws token auth
fac662645 update default timeouts
b3b0c918d cleanup old code
379b1cbc9 remove unnecessary returns
df3c12614 fix mypy error
9b752475d re-add fix to freqtradebot test
4fac12544 fix apiserver cleanup issues in tests
83770d20f fix existing freqtradebot tests
08726a264 Update FAQ to point out multiple parallel positions per trade
5e42defaf Update telegram docs to disable partial exit notifications
9ef0ffe27 Update tests for funding-Fee exceptions
791f61c08 Add test case for funding fee update failure
39b6cadd1 Test keyerror case for funding_Fee calculation
4e15611b0 Don't crash in case of funding fee fetch error
045c3f0f3 Reduce diff by avoiding unnecessary changes
f3417a869 Revert condition sequence to simplify conditions
a50923f79 add producers attribute to dataprovider
f4f2884a6 Fix freqai backtesting time range issue
1ef1fc269 docstring and tests
5934495dd add websocket request/message schemas
bf3ee5116 validate freqai hyperopt with freqai enabled param
f8e7ed5d7 Reduce shutdown verbosity of exchange
a9fd12b81 Allow more dynamic timeframes by disabling "choice"
e51d35277 ensure pca is handling same DF as inlier
4c9ac6b7c add kwargs, reduce duplicated code
5d338e697 change window to timeperiod in hybrid
48cadbf93 remove duplicate line, change window to timeperiod
ea7bdac9e ensure inlier metric can be combined with other cleaning methods
322f00e3e Fix empty entry message if order doesn't fill immediately
cdc72bf8c Correct indexing
047ded1ba Check for constant columns
2c9b76595 add suffix parameter
972b69910 hyperopt - freqai - change validation to config_validation
3454a52b9 Explicitly test amount_to_contract_precision
4d69df08d trunc to amount precision before checking valid partial exits
83d9f3aeb Add test showing #7365
95a33ab2e Add amount_to_contract helper in the exchange
5aba5de20 fix link - hyperopt spaces
8d16dd804 hyperopt - freqai - docs and refactoring
b1c026744 mypy fixes
97077ba18 add continual learning to catboost and friends
dc4a4bdf0 Wrap cleanup in try/finally handler
3535aa772 add last_analyzed to emitted dataframe
d44296783 isort datakitchen
90ec336c7 Update+correct descriptions and figure (#7323)
e83c9b276 fix whitespace
f2f811a2f Fix telegram bug with open partial exit orders
4b28d0495 fix timestamping, move imports, add words to doc
8597b52e3 Slightly update docs to link to full sample
38f14349e move bytes decoding to serializer
d526dfb17 Revert some more changes in rpc_manager
4dec19de9 Add comment to explain why we use the non-trimmed DF
a0d774fdc change default initial candle limit to 1500
b949ea301 fix failed apiserver tests
2c8e5b191 fix hyperopt - freqai
5b826150d fix hyperopt - freqai
1ea703d52 remove download-data command
8f261d8ed change from bytes to text in websocket, remove old logs
9fb3517ad Fix non-resolvable freqai test
689b19324 improve clarity on data download requirements
36e5c18fa Don't raise exception when a message is not implemented in telegram
4628bfa58 Bump jsonschema from 4.14.0 to 4.15.0
949f618d4 Bump python-telegram-bot from 13.13 to 13.14
9f5642fd9 fix hyperopt df preprocessing
48dc1f2d8 Bump pycoingecko from 2.2.0 to 3.0.0
f5500350f Bump pandas from 1.4.3 to 1.4.4
6f6afca02 Bump fastapi from 0.81.0 to 0.82.0
90fbb7947 Bump prompt-toolkit from 3.0.30 to 3.0.31
3d0385684 Bump ccxt from 1.92.84 to 1.93.3
af7e4d7bf Bump pytest from 7.1.2 to 7.1.3
7cc8ac0a3 Bump psutil from 5.9.1 to 5.9.2
a035a69a6 Bump arrow from 1.2.2 to 1.2.3
c8a9ac900 fix broken CI
78d01810e reduce code redundancy, ensure live always gets the latest data
d43ed186f fix issue with freqai backtesting at slice dataframe
8a08f8ff8 revert rpc manager
07f806a31 minor improvements, fixes, old config+constant removal
160186885 dataprovider fix, updated config example
ec76214d0 backup historical predictions pickle and load the backup in case of corruption
3b5e5fc57 fix method name in dummy class
dae3b3d86 support shutting down freqai
16573b19e Fix migration syntax error
5cfb4154e revert all changes in normalize_data()
c21808ff9 remove metadata redundancy, fix pca bug
fa8d5b983 add documentation for noise_standard_deviation`
c9be66b5b increase test coverage for dk, improve function naming, extra cleaning
ed4cc18cd Migration to check order funding fee
b95b3d839 Update test to actually test funding fee appliance
0f483ee31 Use "since last order" approach for live as well.
0c6a02687 Don't calculate funding fees if we're not going to use them.
df50b1928 Fix funding fee calculation for backtesting
80b5f035a Remove typo in log message
599c1c79f reorganized backtest utilities, test new functionality, improve/update doc
be192fae9 Test should use proper Order objects
966de1961 Improve test resiliance by properly setting Order object
af5460ceb Add option to keep models only in memory for backtest
05cbcf834 minor logging changes
cf917ad2f initial candle request limit, better error reporting, split up _handle_producer_connection
b26126cb5 Don't use ticker['symbol'] but use "pair" instead
a948e5138 Update futures docs to define pair namings
5b0b802f3 hybrid json ws serializer
eb4cd6ba8 split initial data into separate requests
dccde88c8 fix dataframe serializing
b53791fef Futures volumepairlist to account for contract size
00f35f487 remove old constant, add initial_data requesting, minor changes
11b2bc269 Added missing s
3f8400df1 Normalise PCA space
11fbfd340 Remove unnecessary assignment
61d5fc0e0 Make the recommendation for Binance/Kucoin blacklisting more accurate.
d6e115178 refactoring freqai backtesting - remove duplicate code
f3c73189d Remove pointless default on wallet_balance argument
ba2eb7cf0 Fix BNB fee bug when selling
57e907872 update example config
7bed0450d pr review - refactoring backtesting freqai
c72a2c26c remove external pairlist
6e8abf867 add producer name to required fields in config
865b34cd6 add producer names
510cf4f30 remove data waiting, remove explicit analyzing of external df
df51da22e refactoring freqai backtesting
57ff6f8ac Init timerange object properly
13ccd940d Remove startup_candle_count from freqai sample config to avoid confusion
7ba4fda5d Implement PR feedback
4aec2db14 Remove isClose from tests in favor of pytest.approx
115a90177 minor fix for conditional in handle func
ddc45ce2e message handling fix, data waiting fix
346e73dd7 client implementation, minor fixes
10e0d5386 Simplify 2 more tests
c9aa09ec8 Simplify base fee handling
7e8e29e42 use continuous value for inlier_metric
0b8482360 add documentation for inlier metric
418bd26a8 minor fixes, rework consumer request, update requirements.txt
7f52908e8 ensure the lost points are prepended for FreqUI
a58dd0bbf add noise feature, improve docstrings
b11742a4c integrate inlier metric function
d3cb21128 Add inlier metric computation
50e280866 Fix bug in DI (#7321)
47f7c384f consumer subscriptions, fix serializer bug
71846ecbf Partially revert prior commit, use correct exchange class
7952e0df2 initial rework separating server and client impl
eee2071e3 Fix non-testing liquidation test
efc3b39fb Improve config overwriting wording
62c0a174c allow users to properly reverse train-test data ordering
27a9f98d5 Simplify liquidation price structure, improve test cov
226fa5d93 Simplify liquidation price calling structure
56cd80926 Bump fastapi from 0.79.1 to 0.81.0
40c00d2d8 Version bump dev version to 2022.9
d7189847a Bump ccxt from 1.92.52 to 1.92.84
d734f7612 Bump orjson from 3.7.12 to 3.8.0
3a7441a27 Bump uvicorn from 0.18.2 to 0.18.3
49dd1c1d4 Bump scipy from 1.9.0 to 1.9.1
e9f46f476 Bump nbconvert from 6.5.3 to 7.0.0
0af4bd294 Bump urllib3 from 1.26.11 to 1.26.12
e9e872ca2 Bump mkdocs-material from 8.4.1 to 8.4.2
8c4e68b8e updated example configs
ff3a4995c remove unnecessary code
005594c29 simplify hybrid template
c61b986c3 FTX - support time_in_force (and PO ordertype)
104a73025 Uppercase TimeInForce (align with ccxt)
05ca67388 Catch status code errors
fcceb744c Add janus to requirements.txt
2b5f06787 Refactoring, minor improvements, data provider improvements
a998d6d77 fix tests
bb3523f38 download data homogeneously across timeframes
e7261cf51 add freqai utils.py file
65b552e31 make docs reflect reality, move download_all_data to new utils.py file, automatic startup_candle detection
4b7e640f3 reduce code duplication, optimize auto data download per tf
3e786a9b8 added example configs
d474111a6 Renamed to external signals, controller class refactored
592373f09 Remove pairlist waiting, add .db files to .gitignore
ac42c0153 deprecate indicator_max_period_candles, automatically compute startup candles for FreqAI backtesting.
4fa01548f Remove old var from strategy interface
6f5478cc0 DataFrame transmission, strategy follower logic
6189aa817 Fix HybridExample formatting
64b083443 add credit in docstring
90c03178b provide user directions, clean up strategy, remove unnecessary code.
739b68f8f ExternalPairList plugin
b44bd0171 Example Classifier strat
6834db11f minor improvements and pairlist data transmission
9f6bba40a initial concept for replicate, basic leader and follower logic
88dd9920e sort imports for isort
5155afb4e clean up code remnants
0c34104e4 extract download-data from freqai to prepare for future async changes