Commit Graph

863 Commits

Author SHA1 Message Date
Yinon Polak
bc9454e0f9 add device to data convertor class doc 2023-04-03 16:36:38 +03:00
Yinon Polak
36a0a14a23 clean code 2023-04-03 16:26:42 +03:00
Yinon Polak
c137666230 fix imports 2023-04-03 16:03:15 +03:00
Yinon Polak
bd3b70293f add pytorch data convertor 2023-04-03 15:19:10 +03:00
initrv
cfc0410388 use rl_config get instead of freqai_info 2023-04-02 04:08:07 +03:00
initrv
cab82e8e60 Add sb3 learn progress bar 2023-04-02 02:59:02 +03:00
robcaulk
92f34f262e make trade_type value more explicit, add profit to trade_history dict 2023-04-01 10:05:58 +02:00
Yinon Polak
077a947972 clean code 2023-03-28 15:18:10 +03:00
Yinon Polak
dfbebdea9b improve comment on class_names in freqai interface 2023-03-28 14:44:44 +03:00
Yinon Polak
b795a70102 fix config example in pytorch mlp documentation 2023-03-28 14:44:43 +03:00
Yinon Polak
026b6a39a9 bugfix skip test split when empty 2023-03-28 14:40:23 +03:00
Richard Jozsa
7cbc0ce80a
Merge branch 'freqtrade:develop' into develop 2023-03-28 01:23:24 +02:00
robcaulk
3cabcabcbd ensure labels are properly defined in backtesting 2023-03-27 15:23:01 +02:00
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