2022.10
版本发布时间: 2022-10-29 15:05:05
freqtrade/freqtrade最新发布版本:2024.10(2024-10-31 15:07:21)
Highlighted changes
-
ProducerPairList
- use pairs from a producer in your consumer. - Breaking change partial exit values will now be assumed to be stake_amount without leverage.
-
Breaking change
custom_stoploss
will be called with the candle's high (and corresponding profit) - to better mirror trailing_stop behavior. - Support for partially filled exit order cancellations (will be handled as partial exits - unless the remaining value would become unsellable).
-
send_msg()
support for websockets and discord. - New subcommand
list-freqaimodels
to visualize available Model classes. - Improved iteration throttling, making sure data is available as soon as a new candle is available.
- FreqAI enhancements
- tensorboard integration for catboost.
- new XGBoost freqAI models in
XGBoostRFRegressor
andXGBoostRFClassifier
.
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
ec7d66349 Version bump 2022.10
9e0b39cdd Properly invert sign
d831d7d31 Rename Freqai hybrid example
fd5f31368 fix indent in initial df send
604f966c8 Enhance documentation with full space override sample
d94c0039e Add missing import to hyperopt docs
3fa50077c Don't use pydantic to type-verify outgoing messages
1ef38f137 Fix XGBoost regressor "used before assignment"
f12d40bd6 Update freqai-running.md
283dab667 Fix pydantic version pin
f70c00dd4 Improve variance around worker timing test
32600a113 fix broadcast
f93b6eec6 Improve timing for worker throttling
5bbd86151 Update binance sample config with better blacklist
6669714a7 Update mal-formatted docstrings
ba82cd9ba bump types-python-dateutil for pre-commit
b9bc91a88 Bump correct pandas version
afe0a29fb Bump pandas from 1.5.0 to 1.5.1
af89c83fa Bump pymdown-extensions from 9.6 to 9.7
06311b6a1 Bump pyjwt from 2.5.0 to 2.6.0
0328cd502 Bump scipy from 1.9.2 to 1.9.3
bde4fbbc5 Bump types-python-dateutil from 2.8.19.1 to 2.8.19.2
e516190b6 Bump mkdocs-material from 8.5.6 to 8.5.7
3480549f4 Bump python-rapidjson from 1.8 to 1.9
54d029da7 Bump ccxt from 2.0.25 to 2.0.58
96f4de442 Bump progressbar2 from 4.0.0 to 4.1.1
c29f96a64 Bump pytest-asyncio from 0.19.0 to 0.20.1
94b65a007 fix message typing in channel manager, minor improvements
49ff51f11 Change storage loc and fix test fail
10090a36d simplify throttle
d0571464d Improve test for worker throttle
c36141594 Simplify "refresh" condition
9cffa3ca2 add comment in channel
3d7a311ca removed sleep calls, better channel sending
2b6d00dde initial channel api change
abcc6dadf use pre-built pyarrow for pi image
47e93dd2b Update documentation
3a9853db1 use high/low for custom stoploss evaluation in backtesting
84a194bca Simplify stoploss logic by removing redundant condition
547fd2881 Price-jump detection should only run once
0ff7a0771 Move price_jump_warn to dataloading
b715d9c52 Improve fee handling
d1591883a add missing datetime conversion in fromJson
212b511bb Remove explicit rateLimit setting for freqAI config
bd424a877 Add Trade from_json method
0aa840792 Move persistence tests to package
f4814a7d5 Improve test resiliance to small roundings
107845afa Keep version number in docker versioning
60cb11a44 Add price jump warning
589944055 fix typos - live predictions candles
073ce1659 remove un-used f-string
295ba2138 Make extra_returns_per_train values available during backtest
7192ed7be Fix bug with dataframe not being 0 indexed
6e95b6667 Modify test ensuring we always have a 0 index
033c5bd44 Make check constant pred labels agnostic
c3d4fb9f1 Simplify backtest calling interface
c7fff1213 Rate-limit EMC startup to avoid overwelming the queue
441032be2 Fix sys.stdout bug for CatboostRegressorMultiTarget
b166c04cb Bring back asyncio.sleep to avoid overwelming the a consumer queue
c8e103e4a Adjust typehints to match return value
c2914feb1 Don't fail contract size repopulation if pair is no longer available
caf907e20 Update date-util precommit types
943f5f21f Improve get_pair_dataframe doc wording
abe4d32ea Update wording in get_analyzed_dataframe docs
6cb14148a Fix random test failure due to catboost bug
6252ae466 Convert position_stacking to attribute of backtest
8534dfb0d Extract backtest 1 candle from main function
0e8cf366f Keep trade state in LocalTrade
5aeea5b14 Bump ccxt from 1.95.30 to 2.0.25
7ec1e3b94 Bump fastapi from 0.85.0 to 0.85.1
600b88624 Bump lightgbm from 3.3.2 to 3.3.3
a9bb7db06 Bump sqlalchemy from 1.4.41 to 1.4.42
2ddfc7bbb Bump mkdocs from 1.4.0 to 1.4.1
8550eb513 Bump numpy from 1.23.3 to 1.23.4
dd3f62ac1 Bump types-python-dateutil from 2.8.19 to 2.8.19.1
e82baf5f6 Use helper-method to modify trades_open
82d75d891 Fix tests that failed due to new strategy.
b7dce8d24 Update stoploss.md
de9f5660f Fix counting available trade slots in backtesting.
b6c096d3b Simplify backtest condition
20fc52177 Fix constant PCA
99dbba6ca avoid reading from disk to instantiate large objects
d81eef0b7 add timestamps to each metric, use rapidjson
05ca725e4 Remove no longer needed local state
c8e6dad9c use exit_reason to determine left open trades
498289728 Fix catboost tests polluting CWD
93ad3810f Add test for list-freqaimodels
4bfe58706 Generalize "path" variables for resolvers
2ef315e8c Add documentation for list-freqaimodels
fda3a2827 add list-freqAI models command
4a8cb3359 Fix broken tests
9d4ba767c Update usages of search_all_objects
1d8d360a1 update _search_all_objects functioning
7f05b4437 Add eval set to CatboostClassifier
f01947105 Don't round prices if no custom prices have been used
7672586de Fix unreliable hyperopt test
c71c0e8da Fix some typos
28be784c2 Fix kucoin live test failure
204578081 Reinstate default of 1000% for roi
f8331e032 Add model libs info
75f1a123e Move "tickers_needed" check to pairlistmanager to cover all pairlists
39c27cfc3 Don't fail if fetchTickers is not availlable
96e6c1b19 Docs: add `ignore_buying_expired_candle_after` and `order pricing` to summary
a6f6a1739 Type fetch_ticker
52e952836 Improve ticker type
35f3f988d Improve price handling in priceFilter
afaca2167 use Type Alias for Ticker result to improve keyerror resiliancy
1e31be562 remove whitespace
dba1b573b remove tensorboard dir from other pred models
88b8f1863 add test for metric tracker
5b5bb8aab catboost tensorboard bugfix
30a45bb59 add XGBoostRF models to freqai test interface
16c0fef72 update timestamp calculation to correct int, remove internal ping interval
eb8c89fe3 move send delay to relay
5ada5eb54 fix error message, update exception import
c9eee2eba revert syntax
724be0afe add tensorboard asset to fai doc
5ffa3cb9b Update docs to mention `freqaimodels` directory
ee0d90d1a Automatically create freqai models directory
002a46c5a Fix typo in docstring
2ad086dd7 add XGBoost random forest predictors to freqai
eaae9c9e0 Update docstring format
60de192d4 Update Classifier docstrings
d3b2b2972 Update pairlist docstring to be less missleading
6be9b81f4 Fix workflow syntax error
d0b163764 Run coveralls only when needed
f120c6698 types-requests - update pre-commit
5218fb1df Bump types-requests from 2.28.11 to 2.28.11.2
13529fabb types-tabulate in pre-commit
3fcba2fb8 Remove hard-pin on python version in ci
c1dfa837b Bump mypy from 0.981 to 0.982
935adc99a Bump types-tabulate from 0.8.11 to 0.9.0.0
9d2f281ca Bump pytest-mock from 3.9.0 to 3.10.0
8bb7b94f8 Bump ccxt from 1.95.2 to 1.95.30
dab2759c2 Bump scipy from 1.9.1 to 1.9.2
40afa079b Bump tabulate from 0.8.10 to 0.9.0
337ea04ba Bump nbconvert from 7.0.0 to 7.2.1
db8cf6c95 disable ping interval in client
71bbffd10 update ws channel send to add data to queue
2c76dd9e3 change wait timeout to 30 seconds to better support reverse proxies
2f64a0862 set channel queue maxsize to 32
3e8d8fd1b refactor broadcasting to a queue per client
a4aa1b972 isolate and standardize location of tensorboard files, add doc, ensure backtesting functionality
76b33359a add an optional metric tracker to collect train timings, inference timings, and cpu load data
a10b2d003 Add freqai timeframe validation (incl. test)
4623c3ec1 Improve test resiliance
4f967fed9 Improve ccxt tests
db1132beb ensure required_candle_call_count is always set
8e3a4eca4 Remove unused type:ignore
4daf0000c Move check and add log warning
9454fb8f7 Fix discord message sending
df5ae6625 Refactor webhook method
1aedf08ba Update tests
ed12cddf3 Update docs with new wording for webhook settings
fb2f2d9a3 Allow webhook message setting directly
e337d4b78 Reset dataframe index after slice
0460f362f typo in handle func name
8fcb80df6 Add support for dp.send_msg() to webhooks
ec7af83c8 add tensorboard to freqai reqs
d42fb1560 Improve generic exception handler
a5bf34587 Improve fiat-convert behavior in case of coingecko outage
fab6b2f10 Align datetime import in fiat_convert
1595e5fd8 small fix in protocol
b92b98af2 fix formatting
3e08c6e54 testing/debugging ws client script
6e179c769 Only store tick refresh time if we cache
a9d5e04a4 Remove constant labels from prediction
86c781798 Add сatboost train_dir for tensorboard
7c702dd10 Add cache eviction
92a1d58df Evict cache if we didn't get new candles for X hours
f475c6c30 Add Specific, time-sensitive test-case for new behavior
638515bce Test advanced caching
678272e2e Improve test formatting
cea017e79 Age out old candles
b7f26e4f9 Update some formatting issues
02e238a94 Combine ohlcv data in exchange class for live mode
edb942f66 Add typing import to sampleStrategy
9b1fb02df Refactor generic data generation to conftest
7dbb78da9 Losely pin pydantic to avoid dependency problems
0d67afe15 allow less precision, ensure regex is catching the right chars
4edb30bfa isort
0e0bda8f1 improve freqai tests
ca913fb29 Add leveraged test-case for order-adjustment
4df533feb Add missing comma
5019300d5 Fix for #7534 in bot
3264d7b89 Fix for #7534 in backtesting
c1d8ade2f Improve supported exchange check by supporting exchange aliases
68db0bc64 move check_exchange to exchange package
a6296be2f Update market_change datatype
eb8eebe49 Reset open_order_id after trade cancel
016e43846 Calculate market-change in hyperopt
bc6729f72 Improve readability of "now_is_time_to_refresh"
7f308c518 Remove last occurance of timerange index
7f475e37d refactor refresh_latest_ohlcv
ca22d857b Improve handling of trades that fail to cancel as they are closed
3585742b4 remove trailing whitespace
265795824 make default type for close_price and date_pred np.nan
c2d0eca9d Remove backticks around FreqAI
6ecd92de4 Allow updating without changing identifier
a78d6a05a Bump mypy from 0.971 to 0.981
3c789bca6 Bump pymdown-extensions from 9.5 to 9.6
4cf4642a6 Parametrize EMC test
f3d4c56b3 Bump pytest-cov from 3.0.0 to 4.0.0
6defa6229 Bump mkdocs-material from 8.5.3 to 8.5.6
373132e13 Bump ccxt from 1.93.98 to 1.95.2
70d6c27e3 Bump pytest-mock from 3.8.2 to 3.9.0
0a7e4d6da Bump mkdocs from 1.3.1 to 1.4.0
f722104f7 Bump catboost from 1.0.6 to 1.1
6f7b75d4b Bump time-machine from 2.8.1 to 2.8.2
b70f18f4c add close price and date to historic_predictions
1727f99b5 Fix missing mock
21440eaec Fix typos and correct/improve descriptions
d0b8c8b1a improve invalid canceled order response handling
e686faf1b Remove faulty test cleanup
9bb061073 Improve tests
308fa4300 Don't use magicmock as trade object
564318415 Improve test resiliance
2c94ed2e5 Decrease message throughput
f4c6b99d6 remove commented lines
cd514cf15 fix inlier metric in backtesting
f2b875483 ensure raw features match when PCA is employed
6702a1b21 Update test to verify webhook won't log-spam on new messagetypes
8f8b5cc28 Disable log spam from analyze_df in webhook/discord
201bbbcee Okx formatting
a96aa568b Add binance futures mode checks
545d65235 Update okx exception wording
fad902693 Update updating docs
cdc01a078 Fix feature list match for pca
47ef99f58 Simplify interface to notify_exit_cancel
819488c90 Improve exit message wording
c946d3059 Add partial cancel message
649879192 Implement partial sell
d462f4029 Simple test improvements
bd664580f Don't unnecessarily reset order_id
cc06c60fd Fix pandas deprecation warnings from freqAI
0d8dfc1a9 Force joblib update via setup.py
f6a0d677d Remove pointless notification assignment
7dd984e25 Simplify cancel_entry
561600e98 Remove false test statements
2d2ff2fff remove unnecessary assignments and comments
34951f59d Update failing tests
be4813118 make shuffle false in constants
38aca8e90 fix failing svm test
b4fb28e4e Update tests for new dataload strategy
00965d8c0 Default to assume stored data only contains complete candles
772abfc6f Add default value for shuffle in docs
683b08432 Set train-test-split shuffle=False as default and remove stratification
255c748ca Update docs for new trade_position behavior
30a5bb08d partial exits should account for leverage
8eda3a45a Test backest detail with leverage
af59572cb prior pairlists should go first
bd106b4b8 Add tests for Producerpairlist
1bb45a265 Fix crash due to insufficient check
30d51b693 Move "pairlist" logging to manager
1c089dcd5 Add docs for Producer/consumer pairlist
527fd3613 num_assets should be optional
4940fa7be Add Producer Pairlist
0c810868d Add Dataprovider to pairlist