robcaulk
f1e831a7b8
fix bug in backtest target setting
2023-03-26 13:43:59 +02:00
Robert Caulk
d9c8b322ce
Update freqai_interface.py
2023-03-25 13:37:07 +01:00
Yinon Polak
479aafc331
rename Torch to PyTorch
2023-03-22 17:50:00 +02:00
Robert Caulk
bdf19f1d66
Update freqai_interface.py
2023-03-21 22:44:56 +01:00
robcaulk
1ba01746a0
organize pytorch files
2023-03-21 15:09:54 +01:00
Yinon Polak
83a7d888bc
type hint init in pytorch mlp classes
2023-03-21 15:19:34 +02:00
Yinon Polak
a80afc8f1b
add optional target tensor squeezing to pytorch trainer
2023-03-21 13:20:54 +02:00
Yinon Polak
97339e14cf
round up divisions in calc_n_epochs
2023-03-21 12:29:05 +02:00
Yinon Polak
443263803c
unsqueeze target tensor when 1 dimensional
2023-03-21 11:42:05 +02:00
Yinon Polak
9906e7d646
clean code
2023-03-21 11:23:45 +02:00
Yinon Polak
e8f040bfbd
add class_name attribute to freqai interface
2023-03-20 20:38:43 +02:00
Yinon Polak
a4b617e482
type hints fixes
2023-03-20 20:22:28 +02:00
Yinon Polak
c06cd38951
clean code
2023-03-20 19:55:39 +02:00
Yinon Polak
0a55753faf
move default attributes of pytorch classifier to initializer,
...
to prevent mypy from complaining
2023-03-20 19:40:36 +02:00
Yinon Polak
6b4d9f97c1
clean code
2023-03-20 19:28:30 +02:00
Yinon Polak
500c401b75
improve pytorch classifier documentation
2023-03-20 18:41:04 +02:00
Yinon Polak
9aec1ddb17
sort imports
2023-03-20 18:41:04 +02:00
Yinon Polak
d98890f32e
sort imports
2023-03-20 18:41:04 +02:00
Yinon Polak
f659f8e309
remove unused imports
2023-03-20 18:41:04 +02:00
Yinon Polak
54db239175
add pytorch regressor example
2023-03-20 18:41:04 +02:00
Yinon Polak
601c37f862
refactor classifiers class names
2023-03-20 18:41:04 +02:00
Yinon Polak
501e746c52
improve mlp documentation
2023-03-20 18:41:04 +02:00
Yinon Polak
d04146d1b1
improve mlp documentation
2023-03-20 18:41:04 +02:00
Yinon Polak
ea08931ab3
add mlp documentation
2023-03-20 18:41:04 +02:00
Yinon Polak
ddd1b5c0ff
modify feedforward net, move layer norm to start of thr block
2023-03-20 18:41:04 +02:00
Yinon Polak
fbf7049ac5
sort imports
2023-03-20 18:41:04 +02:00
Yinon Polak
833aaf8e10
create children class to PyTorchClassifier to implement the fit method where we initialize the trainer and model objects
2023-03-20 18:41:04 +02:00
robcaulk
fab505be1b
cheat flake8 for now until we can refactor save into the model class
2023-03-20 18:41:03 +02:00
Richard Jozsa
66c326b789
Add proper handling of multiple environments
2023-03-20 15:54:58 +01:00
Matthias
c92f28bf6f
ruff: Activate UP ruleset
2023-03-19 17:57:56 +01:00
Matthias
477dc50425
Add pair output to "tossed" messages
2023-03-18 16:32:07 +00:00
Matthias
9044052b4e
Fix exceptions when training fails
2023-03-17 18:29:10 +01:00
Richard Jozsa
d03fe1f8ee
add latest experimental version of gymnasium
2023-03-16 00:53:37 +01:00
Yinon Polak
918889a2bd
reduce mlp number of parameters for testing
2023-03-13 20:09:12 +02:00
initrv
f3a1177bad
bring inc back
2023-03-13 17:53:35 +03:00
Yinon Polak
d7ea750823
revert to using model_training_parameters
2023-03-13 00:35:51 +02:00
Yinon Polak
b6096efadd
logging change
2023-03-13 00:35:14 +02:00
Yinon Polak
b927c9dc01
remove train loss calculation from estimate_loss
2023-03-13 00:17:34 +02:00
Yinon Polak
523a58d3d6
simplify statement for pytorch file_type extension
2023-03-13 00:16:44 +02:00
initrv
a10f78e3ef
fix increment in case of 0
2023-03-12 23:29:27 +03:00
Yinon Polak
0012fe36ca
sort imports
2023-03-12 16:16:04 +02:00
Yinon Polak
cb17b36981
simplify file_type check comparisons
2023-03-12 14:50:08 +02:00
Yinon Polak
f9fdf1c31b
generalize mlp model
2023-03-12 14:31:08 +02:00
Yinon Polak
1cf0e7be24
use one iteration on all test and train data for evaluation
2023-03-12 12:48:15 +02:00
initrv
82cb107520
add tensorboard category
2023-03-12 01:32:55 +03:00
Yinon Polak
8a9f2aedbb
improve documentation
2023-03-09 14:55:52 +02:00
Yinon Polak
e88a0d5248
convert single quotes to double quotes
2023-03-09 13:29:11 +02:00
Yinon Polak
2ef11faba7
reformat documentation
2023-03-09 13:25:20 +02:00
Yinon Polak
c9eee2944b
reformat documentation
2023-03-09 13:01:04 +02:00
Yinon Polak
6f962362f2
expand pytorch trainer documentation
2023-03-09 12:45:46 +02:00
Yinon Polak
ba5de0cd00
add documentation
2023-03-09 11:21:10 +02:00
Yinon Polak
3081b9402b
add documentation
2023-03-09 11:14:54 +02:00
robcaulk
d10ee0979a
ensure training_features_list is updated properly
2023-03-08 19:37:11 +01:00
Robert Caulk
85e345fc48
Update BaseReinforcementLearningModel.py
2023-03-08 19:29:39 +01:00
Yinon Polak
1597c3aa89
set class names in IStrategy.set_freqai_targets method, also save class name with model meta data
2023-03-08 18:36:44 +02:00
Yinon Polak
7d26df01b8
fix tensor type hint
2023-03-08 16:17:19 +02:00
Yinon Polak
c8296ccb2d
sort imports
2023-03-08 16:13:35 +02:00
Yinon Polak
8d60327d60
add missing import
2023-03-08 16:12:47 +02:00
Yinon Polak
04564dc134
add missing import
2023-03-08 16:11:51 +02:00
Yinon Polak
6161b858c4
sort imports
2023-03-08 16:10:25 +02:00
Yinon Polak
1921a07b89
sort imports
2023-03-08 16:08:04 +02:00
Yinon Polak
dfbb2e2b35
sort imports
2023-03-08 16:03:36 +02:00
Yinon Polak
1805db2b07
change documentation and small bugfix
2023-03-08 15:38:22 +02:00
Yinon Polak
76fbec0c17
ad multiclass target names encoder to ints
2023-03-08 14:29:38 +02:00
robcaulk
29d337fa02
ensure ohlc is dropped from both train and predict
2023-03-08 11:26:28 +01:00
robcaulk
d9dc831772
allow user to drop ohlc from features in RL
2023-03-07 11:33:54 +01:00
Yinon Polak
4241bff32a
type hints fixes
2023-03-06 20:15:36 +02:00
Yinon Polak
5dd60eda36
type hints fixes
2023-03-06 19:37:08 +02:00
Yinon Polak
8acdd0b47c
type hints fixes
2023-03-06 19:14:54 +02:00
Yinon Polak
125085fbaf
add freqai.model_exists pytorch file type support
2023-03-06 18:10:49 +02:00
Yinon Polak
7eedcb9c14
reformat code
2023-03-06 17:56:07 +02:00
Yinon Polak
e6e747bcd8
reformat code
2023-03-06 17:50:02 +02:00
Yinon Polak
348a08f1c4
add todo - currently assuming class labels are strings ['0.0', '1.0' .. n_classes]. need to resolve it per ClassifierModel
2023-03-06 16:41:47 +02:00
Yinon Polak
b1ac2bf515
use data loader, add evaluation on epoch
2023-03-06 16:16:45 +02:00
Yinon Polak
751b205618
initial commit
2023-03-05 16:59:24 +02:00
Matthias
6e9ff5fdd8
Merge pull request #8202 from freqtrade/remove-populate-any-indicators
...
remove populate_any_indicators
2023-03-03 06:33:25 +01:00
Matthias
756c284ecd
Merge pull request #8225 from freqtrade/ruff2
...
Ruff - add PTH rule and subsequent changes
2023-03-01 20:27:06 +01:00
Matthias
66c2e145cb
Merge pull request #7975 from freqtrade/improve-freqai-gap-handling
...
handle data gaps between FreqAI and DP better
2023-02-26 15:26:46 +01:00
Matthias
d3d7cb1b14
Merge pull request #8216 from freqtrade/close-rl-env
...
Close training and eval environments in ReinforcementLearner_multiproc
2023-02-26 15:20:32 +01:00
Matthias
e88bb4e05c
Revert small change - otherwise the data is never updated.
2023-02-26 15:09:25 +01:00
Matthias
26315b6bc2
add PTH ruff selection
2023-02-25 17:17:05 +01:00
Matthias
521025037d
Merge pull request #8203 from freqtrade/add-bufer-train-data-candles
...
Add buffer_train_data_candles feature
2023-02-24 13:25:18 +01:00
robcaulk
cb80d7c26f
close the multi_proc env before creating new ones in an attempt to avoid increasing processes
2023-02-24 11:19:54 +01:00
robcaulk
b8f011a2ab
give users ability to decide how many models to keep in dry/live
2023-02-22 22:27:56 +01:00
robcaulk
9633081c31
remove remnants of follower, clean data-drawer, improve doc
2023-02-22 22:01:41 +01:00
Alexander Malysh
070a7efd73
* fixed filename in model_exists
2023-02-22 14:52:20 +01:00
robcaulk
986bc63e54
raise OperationalException if latest historical data candle is older than earliest dataprovider candle
2023-02-21 21:23:58 +01:00
robcaulk
2b5c11c7b4
allow users to buffer train data with buffer_train_data_candles parameter
2023-02-21 21:08:34 +01:00
robcaulk
fd4e27d889
remove populate_any_indicators
2023-02-21 14:22:40 +01:00
Matthias
b0ec35d526
Merge pull request #7904 from freqtrade/feat/shuffle_after_split
...
add shuffle_after_split option
2023-02-19 15:03:04 +01:00
robcaulk
be85ef2707
add documentation for shuffle_after_split, add to constants
2023-02-16 18:50:11 +01:00
robcaulk
b6a741b421
merge develop into feat/shuffle_after_split
2023-02-16 18:46:01 +01:00
robcaulk
36d65e00f9
generalize model_exists() for RL and Keras
2023-02-16 18:33:40 +01:00
robcaulk
8873a565ee
expose raw features to the environment for use in calculate_reward
2023-02-10 15:48:18 +01:00
robcaulk
154b6711b3
use function level noqa ignore
2023-02-10 15:26:17 +01:00
robcaulk
4fc0edb8b7
add pair to environment for access inside calculate_reward
2023-02-10 14:45:50 +01:00
robcaulk
e569f6f6df
add explicit metadata argument to example strat, include it with backtesting
2023-02-04 16:53:17 +01:00
robcaulk
5da60b718d
pass metadata dictionary to feature_engineering_* and set_freqai_targets functions. Add doc
2023-02-04 13:47:11 +01:00
robcaulk
ccb4efbe88
remove follow mode in favor of producer consumer
2023-02-02 11:40:23 +01:00
Matthias
8108a48f39
Follow PEP 484 - no implicit optionals
2023-01-21 20:01:56 +01:00
Wagner Costa
2241f24290
moved deprecated warning to start function
2023-01-10 09:10:30 -03:00
robcaulk
93aff9325e
improve deprecation note
2023-01-09 20:15:03 +01:00
robcaulk
a61274ae18
ensure cached corr-pairs works with new framework
2023-01-09 20:04:36 +01:00
Wagner Costa
ed99e7f857
fix corr_pairs startup candle count bug
2023-01-04 14:21:37 -03:00
Wagner Costa
801ab39a24
fix get dataframe data to include startup_candle
2023-01-04 10:36:19 -03:00
robcaulk
3cbe51c3ca
remove duplicated line
2023-01-04 13:58:25 +01:00
robcaulk
dc25668468
handle data gaps between FreqAI and DP better
2023-01-04 11:41:06 +01:00
Wagner Costa
314c0925bf
fix get dataframe data to include startup_candle
2023-01-03 14:02:42 -03:00
Wagner Costa
c8aa7720a2
added again feature check in BT from pred files
2022-12-30 11:16:35 -03:00
Wagner Costa
b39fc6b924
remove add pair to column from docs, fix keyerror bug and adjust hybrid strategy example
2022-12-30 10:42:31 -03:00
robcaulk
b2bab68fba
move price assignment to feature_engineering_standard() to reduce un-requested feature additions in RL. Ensure old method of price assignment still works, add deprecation warning to help users migrate their strategies
2022-12-30 13:02:39 +01:00
Wagner Costa
2e30bdb9b2
freqai bt - fix tests
2022-12-29 16:35:11 -03:00
Wagner Costa
2b89f643b7
adjust backtest to new feature engineering functions
2022-12-28 19:03:41 -03:00
robcaulk
6f7eb71bbb
ensure RL works with new naming scheme
2022-12-28 14:52:33 +01:00
robcaulk
c2936d551b
improve doc, update test strats, change function names
2022-12-28 13:25:40 +01:00
Wagner Costa
8227b4aafe
freqAI Strategy - improve user experience
2022-12-27 11:37:01 -03:00
Emre
c293401b22
Add can_short to freqai base model
2022-12-16 23:19:08 +03:00
Emre
7727f31507
Add 3 Action RL env
2022-12-16 22:18:49 +03:00
Emre
dde363343c
Add can_short param to base env
2022-12-16 22:16:19 +03:00
initrv
36948e2a74
fix base4 env done condition
2022-12-16 14:14:05 +03:00
robcaulk
c9bc91c75b
add shuffle_after_split option
2022-12-16 11:20:37 +01:00
robcaulk
581a5296cc
fix docstrings to reflect new env_info changes
2022-12-15 16:50:08 +01:00
robcaulk
7b4abd5ef5
use a dictionary to make code more readable
2022-12-15 12:25:33 +01:00
Emre
3af2251ce8
Fix add_state_info backtesting bug
2022-12-14 22:03:23 +03:00
Emre
2018da0767
Add env_info dict to base environment
2022-12-14 22:03:05 +03:00
robcaulk
2285ca7d2a
add dp to multiproc
2022-12-14 18:22:20 +01:00
Robert Caulk
e6da646e2f
Merge pull request #7866 from initrv/cleanup-tensorboard-callback
...
Cleanup tensorboard callback
2022-12-13 09:05:46 +01:00
initrv
f9b7d35900
add increment param for tensorboard_log
2022-12-12 14:14:23 +03:00
robcaulk
0f6b98b69a
merge develop into tensorboard cleanup
2022-12-11 15:38:32 +01:00
robcaulk
0fd8e214e4
add documentation for tensorboard_log, change how users interact with tensorboard_log
2022-12-11 15:31:29 +01:00
Matthias
888ba65367
Merge branch 'develop' into fix/multioutput-bug
2022-12-11 15:23:53 +01:00
initrv
cb8fc3c8c7
custom info to tensorboard_metrics
2022-12-11 15:37:45 +03:00
robcaulk
8c7ec07951
ensure predict_proba follows suit. Remove all lib specific params from example config
2022-12-11 12:39:31 +01:00
robcaulk
85f22b5c30
fix bug in MultiOutput* with conv_width = 1
2022-12-11 12:15:19 +01:00
Emre
272c3302e3
Merge remote-tracking branch 'origin/develop' into update-freqai-tf-handling
2022-12-11 13:12:45 +03:00
robcaulk
7b3406914c
flip add_state_info
2022-12-07 19:49:39 +01:00
robcaulk
9b4364ddc3
ensure that add_state_info is deactivated during backtesting
2022-12-07 19:49:14 +01:00
initrv
58604c747e
cleanup tensorboard callback
2022-12-07 14:37:55 +03:00
Robert Caulk
b9f6911a6a
Merge pull request #7843 from smarmau/develop
...
freqai RL agent info during training
2022-12-06 20:06:41 +01:00
Wagner Costa
c81b00fb37
Merge branch 'develop' into freqai_bt_from_predictions_improvement
2022-12-05 18:00:55 -03:00
Emre
bc48099e48
Revert changes
2022-12-05 23:52:48 +03:00
robcaulk
62c69bf2b5
fix custom_info
2022-12-05 20:22:54 +01:00
Emre
730fba956b
Ensure base tf included in include_timeframes
2022-12-05 16:16:17 +03:00
Emre
e734b39929
Make model_training_parameters optional
2022-12-05 14:54:42 +03:00
robcaulk
d8565261e1
ignore initializer type
2022-12-04 14:10:33 +01:00
robcaulk
24766928ba
reorganize/generalize tensorboard callback
2022-12-04 13:54:30 +01:00
smarmau
b2edc58089
fix flake8
2022-12-03 22:31:02 +11:00
smarmau
d6f45a12ae
add multiproc fix flake8
2022-12-03 22:30:04 +11:00
smarmau
469aa0d43f
add state/action info to callbacks
2022-12-03 21:16:46 +11:00
smarmau
075c8c23c8
add state/action info to callbacks
2022-12-03 21:16:04 +11:00
Matthias
4dc591a170
Merge pull request #7834 from freqtrade/fix-data-drawer-model-load
...
Fix sb3_contrib loading issue
2022-12-02 06:29:23 +01:00
Wagner Costa
77dc2c92a7
performance improvevemnts - backtest freqai from saved predictions
2022-12-01 12:53:19 -03:00
robcaulk
2b3e166dc2
fix fees RL
2022-12-01 10:10:28 +01:00
Emre
396e666e9b
Keep old behavior of model loading
2022-12-01 11:03:51 +03:00
Emre
4a9982f86b
Fix sb3_contrib loading issue
2022-12-01 10:08:42 +03:00
Matthias
dac4a35be2
Merge pull request #7828 from freqtrade/fix-state-info-rl
...
bring back market side setting in get_state_info
2022-11-30 19:57:28 +01:00
Wagner Costa
79821ebb33
fix flake8 errors
2022-11-30 08:41:44 -03:00
robcaulk
e7f72d52b8
bring back market side setting in get_state_info
2022-11-30 12:36:26 +01:00
Wagner Costa
17cf3c7e83
bug fixes and removed fillna from fit_live_predictions
2022-11-30 08:28:45 -03:00
robcaulk
4571aedb33
consolidate and clean code
2022-11-30 00:53:35 +01:00
Wagner Costa
8ea58ab352
change BT prediction files to feather format
2022-11-29 10:38:35 -03:00
Wagner Costa
df979ece33
Merge branch 'develop' into backtest_fitlivepredictions
2022-11-29 09:39:15 -03:00
Matthias
c3daddc629
Merge pull request #7809 from richardjozsa/develop
...
Improve the RL learning process
2022-11-29 06:28:36 +01:00
Emre
9cbfa12011
Directly set model_type in base RL model
2022-11-28 16:02:17 +03:00
robcaulk
56518def42
isort
2022-11-27 21:06:01 +01:00
robcaulk
7fd6bc526e
add randomize_starting_position to the rl_config
2022-11-27 21:03:13 +01:00
richardjozsa
64d4a52a56
Improve the RL learning process
...
Improve the RL learning process by selecting random start point for the agent, it can help to block the agent to only learn on the selected period of time, while improving the quality of the model.
2022-11-27 20:43:50 +01:00
Matthias
f4025ee5de
Merge pull request #7289 from freqtrade/feat/freqai-rl-dev
...
Add reinforcement learning module to FreqAI
2022-11-27 17:15:21 +01:00
stm
51d21b413d
Fix 4ac update_total_profit
...
_update_total_profit() must be executed before "self._position = Positions.Neutral" because _update_total_profit() calls get_unrealized_profit(), which returns 0 if position is neutral and total_profit is not updated
2022-11-26 23:35:20 +03:00
robcaulk
dba30393fb
ensure extra_returns_per_train are set properly on first hist_preds build
2022-11-26 18:04:47 +01:00
robcaulk
be890b52fd
remove np import
2022-11-26 13:44:58 +01:00
robcaulk
aaaa5a5f64
add documentation for net_arch, other small changes
2022-11-26 13:44:58 +01:00
Matthias
7ebc8ee169
Fix missing Optional typehint
2022-11-26 13:32:18 +01:00
Matthias
bdfedb5fcb
Improve typehints / reduce warnings from mypy
2022-11-26 13:03:07 +01:00
robcaulk
81fd2e588f
ensure typing, remove unsued code
2022-11-26 12:11:59 +01:00
robcaulk
8dbfd2cacf
improve docstring clarity about how to inherit from ReinforcementLearner, demonstrate inherittance with ReinforcementLearner_multiproc
2022-11-26 11:51:08 +01:00
robcaulk
2e82e6784a
move data_provider cleanup to shutdown()
2022-11-24 19:07:38 +01:00
robcaulk
73c458d47b
use importlib instead of __import___
2022-11-24 19:04:35 +01:00
robcaulk
3a07749fcc
fix docstring
2022-11-24 18:46:54 +01:00
robcaulk
44b042ba51
remove unused function
2022-11-24 17:53:26 +01:00
Matthias
8f1a8c752b
Add freqairl docker build process
2022-11-24 07:00:12 +01:00
Wagner Costa
d09157efb8
update code to use one prediction file / pair
2022-11-22 15:15:42 -03:00
Wagner Costa
c01f25ddc9
update code to freqai_backtest_live_models only from historic predictions
2022-11-22 13:09:09 -03:00
Wagner Costa Santos
fdc82af883
fix tests - update code to backtest with historic_predictions
2022-11-19 22:27:58 -03:00
Wagner Costa Santos
80d070e9ee
update code to use historic_predictions for freqai_backtest_live_models
2022-11-19 14:15:58 -03:00
robcaulk
387c905a86
merge develop into RL
2022-11-17 21:59:07 +01:00
robcaulk
60fcd8dce2
fix skipped mac test, fix RL bug in add_state_info, fix use of __import__, revise doc
2022-11-17 21:50:02 +01:00
robcaulk
91df79ff44
merge dev into backtest-live-predictions
2022-11-17 21:20:47 +01:00
Robert Caulk
cd6f87be17
Merge pull request #7728 from freqtrade/improve_timerange
...
Simplify timerange handling
2022-11-17 19:57:48 +01:00
Wagner Costa Santos
3903b04d3f
save_live_data_backtest - added docs and tests
2022-11-17 15:20:07 -03:00
Wagner Costa Santos
99bff9cbfa
backtesting_from_live_saved_files - code refactoring
2022-11-17 10:30:51 -03:00
Wagner Costa Santos
913749c81b
backtesting_from_live_saved_files - code refactoring
2022-11-17 10:30:16 -03:00
Wagner Costa Santos
b01e4e3dbf
change default value - save_live_data_backtest as false
2022-11-17 10:14:30 -03:00
Wagner Costa Santos
1a19d90e2e
Merge branch 'develop' into backtest_fitlivepredictions
2022-11-17 10:13:11 -03:00
robcaulk
bf4d5b432a
ensure model_type is defined
2022-11-13 18:50:25 +01:00
robcaulk
6394ef4558
fix docstrings
2022-11-13 17:43:52 +01:00
robcaulk
96fafb7f56
remove limit_ram_use
2022-11-13 17:14:47 +01:00
robcaulk
b421521be3
help default ReinforcementLearner users by assigning the model_type automatically
2022-11-13 17:12:17 +01:00
robcaulk
90f168d1ff
remove more user references. cleanup dataprovider
2022-11-13 17:06:06 +01:00
robcaulk
388ca21200
update docs, fix bug in environment
2022-11-13 16:56:31 +01:00