wagnercosta
|
6b7644029c
|
Merge branch 'freqtrade:develop' into fixHyperoptFreqai
|
2022-09-07 11:07:51 -03:00 |
|
Wagner Costa Santos
|
8d16dd804d
|
hyperopt - freqai - docs and refactoring
|
2022-09-06 15:42:47 -03:00 |
|
Robert Caulk
|
d7585161b2
|
Merge branch 'develop' into add-inlier-metric
|
2022-09-06 20:40:21 +02:00 |
|
robcaulk
|
97077ba18a
|
add continual learning to catboost and friends
|
2022-09-06 20:30:46 +02:00 |
|
robcaulk
|
d44296783e
|
isort datakitchen
|
2022-09-06 20:10:12 +02:00 |
|
robcaulk
|
e83c9b276d
|
fix whitespace
|
2022-09-06 19:56:52 +02:00 |
|
robcaulk
|
4b28d0495f
|
fix timestamping, move imports, add words to doc
|
2022-09-06 19:46:58 +02:00 |
|
Wagner Costa Santos
|
2c8e5b191b
|
fix hyperopt - freqai
|
2022-09-05 17:43:55 -03:00 |
|
Wagner Costa Santos
|
5b826150df
|
fix hyperopt - freqai
|
2022-09-05 17:43:28 -03:00 |
|
robcaulk
|
78d01810ed
|
reduce code redundancy, ensure live always gets the latest data
|
2022-09-05 00:12:00 +02:00 |
|
Wagner Costa Santos
|
d43ed186fc
|
fix issue with freqai backtesting at slice dataframe
|
2022-09-05 00:12:00 +02:00 |
|
Robert Caulk
|
956ea43e55
|
Merge pull request #7340 from wizrds/sigint-freqai
Support SIGINT in FreqAI
|
2022-09-04 16:43:36 +02:00 |
|
robcaulk
|
ec76214d02
|
backup historical predictions pickle and load the backup in case of corruption
|
2022-09-04 15:56:07 +02:00 |
|
robcaulk
|
69b3fcfd32
|
Merge branch 'develop' into dev-merge-rl
|
2022-09-04 11:23:25 +02:00 |
|
robcaulk
|
27dce20b29
|
fix bug in Base4ActionRLEnv, improve example strats
|
2022-09-04 11:21:54 +02:00 |
|
Robert Caulk
|
8545d74378
|
Merge pull request #7331 from th0rntwig/pca
Normalise PCA space
|
2022-09-03 21:49:54 +02:00 |
|
Timothy Pogue
|
dae3b3d86a
|
support shutting down freqai
|
2022-09-03 13:24:14 -06:00 |
|
robcaulk
|
5cfb4154eb
|
revert all changes in normalize_data()
|
2022-09-03 19:48:30 +02:00 |
|
Robert Caulk
|
63514b0443
|
Merge pull request #7325 from wagnercosta/develop
Improve Freqai backtesting performance
|
2022-09-03 19:28:04 +02:00 |
|
robcaulk
|
c21808ff98
|
remove metadata redundancy, fix pca bug
|
2022-09-03 16:54:30 +02:00 |
|
robcaulk
|
c9be66b5b6
|
increase test coverage for dk, improve function naming, extra cleaning
|
2022-09-03 15:52:29 +02:00 |
|
Matthias
|
80b5f035ab
|
Remove typo in log message
|
2022-09-03 15:01:28 +02:00 |
|
robcaulk
|
599c1c79fb
|
reorganized backtest utilities, test new functionality, improve/update doc
|
2022-09-03 14:00:01 +02:00 |
|
Wagner Costa Santos
|
af5460cebf
|
Add option to keep models only in memory for backtest
|
2022-09-02 22:01:53 -03:00 |
|
th0rntwig
|
11b2bc269e
|
Added missing s
|
2022-09-01 22:37:32 +02:00 |
|
th0rntwig
|
3f8400df10
|
Normalise PCA space
|
2022-09-01 21:51:33 +02:00 |
|
Wagner Costa Santos
|
d6e115178a
|
refactoring freqai backtesting - remove duplicate code
|
2022-09-01 07:09:23 -03:00 |
|
Wagner Costa Santos
|
44d3a9140d
|
Merge branch 'develop' of https://github.com/wagnercosta/freqtrade into develop
|
2022-08-31 15:37:06 -03:00 |
|
Wagner Costa Santos
|
7bed0450d2
|
pr review - refactoring backtesting freqai
|
2022-08-31 15:36:29 -03:00 |
|
wagnercosta
|
3d4497467c
|
Merge branch 'freqtrade:develop' into develop
|
2022-08-31 14:47:06 -03:00 |
|
robcaulk
|
240b529533
|
fix tensorboard path so that users can track all historical models
|
2022-08-31 16:50:39 +02:00 |
|
Richard Jozsa
|
2493e0c8a5
|
Unnecessary lines in Base4, and changes for box space, to fit better for our needs (#7324)
|
2022-08-31 16:37:02 +02:00 |
|
Wagner Costa Santos
|
df51da22ee
|
refactoring freqai backtesting
|
2022-08-31 11:23:48 -03:00 |
|
Matthias
|
57ff6f8ac5
|
Init timerange object properly
|
2022-08-31 10:28:31 +00:00 |
|
Matthias
|
7ba4fda5d7
|
Implement PR feedback
|
2022-08-31 10:26:47 +00:00 |
|
Matthias
|
a88ffd2c9d
|
Merge branch 'develop' into move_datadownload
|
2022-08-31 10:23:45 +00:00 |
|
robcaulk
|
7e8e29e42d
|
use continuous value for inlier_metric
|
2022-08-30 20:41:37 +02:00 |
|
robcaulk
|
7f52908e87
|
ensure the lost points are prepended for FreqUI
|
2022-08-30 18:55:58 +02:00 |
|
robcaulk
|
a58dd0bbf9
|
add noise feature, improve docstrings
|
2022-08-30 18:26:24 +02:00 |
|
robcaulk
|
b11742a4c5
|
integrate inlier metric function
|
2022-08-30 18:26:24 +02:00 |
|
th0rntwig
|
d3cb211283
|
Add inlier metric computation
|
2022-08-30 18:26:24 +02:00 |
|
th0rntwig
|
50e2808667
|
Fix bug in DI (#7321)
|
2022-08-30 12:54:39 +02:00 |
|
robcaulk
|
62c0a174c8
|
allow users to properly reverse train-test data ordering
|
2022-08-29 11:04:58 +02:00 |
|
robcaulk
|
7766350c15
|
refactor environment inheritence tree to accommodate flexible action types/counts. fix bug in train profit handling
|
2022-08-28 19:21:57 +02:00 |
|
robcaulk
|
fcb5d1cb5a
|
remove debugging flag
|
2022-08-28 13:01:39 +02:00 |
|
robcaulk
|
dd628eb525
|
add tests for outlier detection and removal functions
|
2022-08-28 12:56:39 +02:00 |
|
robcaulk
|
1e41c773a0
|
fix outlier protection
|
2022-08-28 12:11:29 +02:00 |
|
th0rntwig
|
71f7d68783
|
Fixed mypy error
|
2022-08-27 12:44:55 +02:00 |
|
elintornquist
|
86c5ac44e4
|
Add outlier percentage check
|
2022-08-26 23:05:07 +02:00 |
|
elintornquist
|
b2d664c63c
|
Change MinPts calculation
|
2022-08-26 18:57:27 +02:00 |
|
robcaulk
|
bb3523f383
|
download data homogeneously across timeframes
|
2022-08-26 18:51:42 +02:00 |
|
robcaulk
|
e7261cf515
|
add freqai utils.py file
|
2022-08-26 15:30:28 +02:00 |
|
robcaulk
|
65b552e310
|
make docs reflect reality, move download_all_data to new utils.py file, automatic startup_candle detection
|
2022-08-26 15:30:01 +02:00 |
|
robcaulk
|
4b7e640f31
|
reduce code duplication, optimize auto data download per tf
|
2022-08-26 13:56:44 +02:00 |
|
robcaulk
|
baa4f8e3d0
|
remove Base3ActionEnv in favor of Base4Action
|
2022-08-26 11:04:25 +02:00 |
|
richardjozsa
|
d31926efdf
|
Added Base4Action
|
2022-08-26 11:04:25 +02:00 |
|
robcaulk
|
3199eb453b
|
reduce code for base use-case, ensure multiproc inherits custom env, add ability to limit ram use.
|
2022-08-25 19:05:51 +02:00 |
|
robcaulk
|
05ccebf9a1
|
automate eval freq in multiproc
|
2022-08-25 12:29:48 +02:00 |
|
robcaulk
|
94cfc8e63f
|
fix multiproc callback, add continual learning to multiproc, fix totalprofit bug in env, set eval_freq automatically, improve default reward
|
2022-08-25 11:46:18 +02:00 |
|
robcaulk
|
d1bee29b1e
|
improve default reward, fix bugs in environment
|
2022-08-24 18:32:40 +02:00 |
|
robcaulk
|
a61821e1c6
|
remove monitor log
|
2022-08-24 16:33:13 +02:00 |
|
robcaulk
|
bd870e2331
|
fix monitor bug, set default values in case user doesnt set params
|
2022-08-24 16:32:14 +02:00 |
|
robcaulk
|
c0cee5df07
|
add continual retraining feature, handly mypy typing reqs, improve docstrings
|
2022-08-24 13:00:55 +02:00 |
|
robcaulk
|
b708134c1a
|
switch multiproc thread count to rl_config definition
|
2022-08-24 13:00:55 +02:00 |
|
robcaulk
|
b26ed7dea4
|
fix generic reward, add time duration to reward
|
2022-08-24 13:00:55 +02:00 |
|
robcaulk
|
280a1dc3f8
|
add live rate, add trade duration
|
2022-08-24 13:00:55 +02:00 |
|
robcaulk
|
f9a49744e6
|
add strategy to the freqai object
|
2022-08-24 13:00:55 +02:00 |
|
richardjozsa
|
a2a4bc05db
|
Fix the state profit calculation logic
|
2022-08-24 13:00:55 +02:00 |
|
robcaulk
|
29f0e01c4a
|
expose environment reward parameters to the user config
|
2022-08-24 13:00:55 +02:00 |
|
robcaulk
|
d88a0dbf82
|
add sb3_contrib models to the available agents. include sb3_contrib in requirements.
|
2022-08-24 13:00:55 +02:00 |
|
robcaulk
|
8b3a8234ac
|
fix env bug, allow example strat to short
|
2022-08-24 13:00:55 +02:00 |
|
mrzdev
|
8cd4daad0a
|
Feat/freqai rl dev (#7)
* access trades through get_trades_proxy method to allow backtesting
|
2022-08-24 13:00:55 +02:00 |
|
robcaulk
|
3eb897c2f8
|
reuse callback, allow user to acces all stable_baselines3 agents via config
|
2022-08-24 13:00:55 +02:00 |
|
robcaulk
|
4b9499e321
|
improve nomenclature and fix short exit bug
|
2022-08-24 13:00:55 +02:00 |
|
sonnhfit
|
4baa36bdcf
|
fix persist a single training environment for PPO
|
2022-08-24 13:00:55 +02:00 |
|
robcaulk
|
f95602f6bd
|
persist a single training environment.
|
2022-08-24 13:00:55 +02:00 |
|
robcaulk
|
5d4e5e69fe
|
reinforce training with state info, reinforce prediction with state info, restructure config to accommodate all parameters from any user imported model type. Set 5Act to default env on TDQN. Clean example config.
|
2022-08-24 13:00:55 +02:00 |
|
sonnhfit
|
7962a1439b
|
remove keep low profit
|
2022-08-24 13:00:55 +02:00 |
|
sonnhfit
|
81b5aa66e8
|
make env keep current position when low profit
|
2022-08-24 13:00:55 +02:00 |
|
sonnhfit
|
45218faeb0
|
fix coding convention
|
2022-08-24 13:00:55 +02:00 |
|
robcaulk
|
b90da46b1b
|
improve price df handling to enable backtesting
|
2022-08-24 13:00:55 +02:00 |
|
MukavaValkku
|
2080ff86ed
|
5ac base fixes in logic
|
2022-08-24 13:00:55 +02:00 |
|
robcaulk
|
16cec7dfbd
|
fix save/reload functionality for stablebaselines
|
2022-08-24 13:00:55 +02:00 |
|
sonnhfit
|
0475b7cb18
|
remove unuse code and fix coding conventions
|
2022-08-24 13:00:55 +02:00 |
|
MukavaValkku
|
d60a166fbf
|
multiproc TDQN with xtra callbacks
|
2022-08-24 13:00:55 +02:00 |
|
robcaulk
|
dd382dd370
|
add monitor to eval env so that multiproc can save best_model
|
2022-08-24 13:00:55 +02:00 |
|
robcaulk
|
69d542d3e2
|
match config and strats to upstream freqai
|
2022-08-24 13:00:55 +02:00 |
|
robcaulk
|
e5df39e891
|
ensuring best_model is placed in ram and saved to disk and loaded from disk
|
2022-08-24 13:00:55 +02:00 |
|
robcaulk
|
bf7ceba958
|
set cpu threads in config
|
2022-08-24 13:00:55 +02:00 |
|
MukavaValkku
|
57c488a6f1
|
learning_rate + multicpu changes
|
2022-08-24 13:00:55 +02:00 |
|
robcaulk
|
acf3484e88
|
add multiprocessing variant of ReinforcementLearningPPO
|
2022-08-24 13:00:55 +02:00 |
|
MukavaValkku
|
cf0731095f
|
type fix
|
2022-08-24 13:00:55 +02:00 |
|
MukavaValkku
|
1c81ec6016
|
3ac and 5ac example strategies
|
2022-08-24 13:00:55 +02:00 |
|
MukavaValkku
|
13cd18dc9a
|
PPO policy change + verbose=1
|
2022-08-24 13:00:55 +02:00 |
|
robcaulk
|
926023935f
|
make base 3ac and base 5ac environments. TDQN defaults to 3AC.
|
2022-08-24 13:00:55 +02:00 |
|
MukavaValkku
|
096533bcb9
|
3ac to 5ac
|
2022-08-24 13:00:55 +02:00 |
|
MukavaValkku
|
718c9d0440
|
action fix
|
2022-08-24 13:00:55 +02:00 |
|
robcaulk
|
9c78e6c26f
|
base PPO model only customizes reward for 3AC
|
2022-08-24 13:00:55 +02:00 |
|
robcaulk
|
6048f60f13
|
get TDQN working with 5 action environment
|
2022-08-24 13:00:55 +02:00 |
|
robcaulk
|
d4db5c3281
|
ensure TDQN class is properly named
|
2022-08-24 13:00:55 +02:00 |
|
robcaulk
|
91683e1dca
|
restructure RL so that user can customize environment
|
2022-08-24 13:00:55 +02:00 |
|
sonnhfit
|
ecd1f55abc
|
add rl module
|
2022-08-24 13:00:55 +02:00 |
|
MukavaValkku
|
9b895500b3
|
initial commit - new dev branch
|
2022-08-24 13:00:55 +02:00 |
|
MukavaValkku
|
cd3fe44424
|
callback function and TDQN model added
|
2022-08-24 13:00:55 +02:00 |
|
MukavaValkku
|
01232e9a1f
|
callback function and TDQN model added
|
2022-08-24 13:00:55 +02:00 |
|
MukavaValkku
|
8eeaab2746
|
add reward function
|
2022-08-24 13:00:55 +02:00 |
|
MukavaValkku
|
ec813434f5
|
ReinforcementLearningModel
|
2022-08-24 13:00:55 +02:00 |
|
MukavaValkku
|
2f4d73eb06
|
Revert "ReinforcementLearningModel"
This reverts commit 4d8dfe1ff1daa47276eda77118ddf39c13512a85.
|
2022-08-24 13:00:55 +02:00 |
|
MukavaValkku
|
c1e7db3130
|
ReinforcementLearningModel
|
2022-08-24 13:00:55 +02:00 |
|
robcaulk
|
05ed1b544f
|
Working base for reinforcement learning model
|
2022-08-24 13:00:40 +02:00 |
|
th0rntwig
|
5ce1c69803
|
Improve DBSCAN epsilon identification (#7269)
* Improve DBSCAN epsilon identification
|
2022-08-22 19:57:20 +02:00 |
|
robcaulk
|
ac42c0153d
|
deprecate indicator_max_period_candles, automatically compute startup candles for FreqAI backtesting.
|
2022-08-22 18:19:07 +02:00 |
|
robcaulk
|
96d8882f1e
|
Plug mem leak, add training timer
|
2022-08-22 13:30:30 +02:00 |
|
longyu
|
cfa5b3f12c
|
add new line
|
2022-08-19 12:39:08 +02:00 |
|
longyu
|
277245c69d
|
remove line
|
2022-08-19 12:39:00 +02:00 |
|
longyu
|
f70b0bab80
|
remove line
|
2022-08-17 23:49:20 +02:00 |
|
robcaulk
|
5155afb4e7
|
clean up code remnants
|
2022-08-17 15:22:48 +02:00 |
|
robcaulk
|
0c34104e45
|
extract download-data from freqai to prepare for future async changes
|
2022-08-17 15:18:44 +02:00 |
|
longyu
|
9c38c27eed
|
ignore sample itself distance for avg_mean_dist computation
|
2022-08-17 15:09:57 +02:00 |
|
longyu
|
72c34291e3
|
newline
|
2022-08-17 15:09:10 +02:00 |
|
robcaulk
|
4c0fda400f
|
fix input shape warning for LGBMClassifier, add sample_weights/eval_weights
|
2022-08-16 11:41:53 +02:00 |
|
Matthias
|
c7e1719215
|
Fix interface import sorting
|
2022-08-15 06:53:02 +02:00 |
|
robcaulk
|
006b11e5d5
|
fix leftover bug in indicator population
|
2022-08-14 21:42:55 +02:00 |
|
robcaulk
|
8961b8d560
|
merge in inference timer and historic predictions handling improvements.
|
2022-08-14 20:31:15 +02:00 |
|
robcaulk
|
ad846cdb76
|
fix lock bug, update docstring
|
2022-08-14 20:24:29 +02:00 |
|
Matthias
|
464d99808f
|
Update doc table formatting
|
2022-08-14 18:22:01 +02:00 |
|
Matthias
|
a29402ddde
|
Rename and move analysis_lock to data_kitchen
|
2022-08-14 17:23:14 +02:00 |
|
Matthias
|
3a9ec76c91
|
Move "freqai.lock" to backend to simplify user interface
|
2022-08-14 17:19:50 +02:00 |
|
Robert Caulk
|
c9c128f781
|
finalize logo, improve doc, improve algo overview, fix base tensorflowmodel for mypy
|
2022-08-14 02:49:01 +02:00 |
|
robcaulk
|
58de20af0f
|
make BaseClassifierModel. Add predict_proba to lightgbm
|
2022-08-13 20:07:31 +02:00 |
|
robcaulk
|
31be707cc8
|
clean up code, add docstrings
|
2022-08-13 19:40:24 +02:00 |
|
robcaulk
|
3e38c1b0bd
|
take dynamic sized tail off historic_predictions as return dataframe to strategy.
|
2022-08-13 19:40:24 +02:00 |
|
robcaulk
|
7d448fd4ac
|
allow fit_live_predictions access to current pair
|
2022-08-13 19:40:24 +02:00 |
|
robcaulk
|
1f192be43b
|
avoid denormalizing labels twice
|
2022-08-13 19:40:24 +02:00 |
|
robcaulk
|
b1b76a2dbe
|
debug classifier with predict proba
|
2022-08-13 19:40:24 +02:00 |
|
robcaulk
|
23cc21ce59
|
add predict_proba to base classifier, improve historic predictions handling
|
2022-08-13 19:40:24 +02:00 |
|
robcaulk
|
fb4b73ce89
|
ensure dates are saved
|
2022-08-12 12:03:44 +02:00 |
|
robcaulk
|
2cae3c42e6
|
remove trade database analyzer, clean up a bit
|
2022-08-10 17:43:06 +02:00 |
|
robcaulk
|
5a16d5a512
|
Deactivate database analyzer if user does not use sqlite
|
2022-08-09 16:36:22 +02:00 |
|
robcaulk
|
e7de812948
|
Allow user to user pair_dict for persistent storage of custom data
|
2022-08-09 16:03:10 +02:00 |
|
robcaulk
|
aef086b02e
|
Improved dict typing, timeframe parser, collect dates associated with training data points
|
2022-08-09 15:30:25 +02:00 |
|
Matthias
|
77b3b8a134
|
Use main exchange instead of creating a separate instance.
|
2022-08-08 18:34:11 +00:00 |
|
robcaulk
|
ea64f43e52
|
bring back auto DF resizing for okx
|
2022-08-08 01:13:13 +02:00 |
|
robcaulk
|
eb8bde37c1
|
Add lightgbm classifier, add classifier check test, fix classifier bug.
|
2022-08-06 17:51:21 +02:00 |
|
Matthias
|
47a30047eb
|
Fix typo
|
2022-08-06 15:03:10 +02:00 |
|
Matthias
|
b16f57cb0d
|
Minor stylistic fixes
|
2022-08-06 14:55:46 +02:00 |
|
Robert Caulk
|
c172ce1011
|
improve flexibility of user defined prediction dataframe
|
2022-08-06 13:51:19 +02:00 |
|
Robert Caulk
|
07763d0d4f
|
add classifier, improve model naming scheme
|
2022-08-06 08:33:55 +02:00 |
|
Robert Caulk
|
ce8fbbf743
|
ensure loading historical df matches frequi indices
|
2022-08-06 07:25:59 +02:00 |
|
robcaulk
|
60d782e5c5
|
remove unnecessary function
|
2022-08-05 21:31:32 +02:00 |
|
robcaulk
|
a42a060ab5
|
fix DB once and for all. Make DBSCAN more efficient and robust.
|
2022-08-05 21:29:03 +02:00 |
|
Robert Caulk
|
a3799c4d5d
|
start frequi with historical data if available
|
2022-08-05 18:27:47 +02:00 |
|
robcaulk
|
29b7b014e5
|
fix bug in DB path initialization
|
2022-08-05 18:19:26 +02:00 |
|
robcaulk
|
db1d367941
|
fix bug associated to fit_live_predictions_candles
|
2022-08-05 13:46:20 +02:00 |
|
robcaulk
|
05ec5c5e54
|
generalize database url path for any db type
|
2022-08-05 12:19:29 +02:00 |
|
Robert Caulk
|
51a6b4289f
|
improve DBSCAN performance for subsequent trainings
|
2022-08-04 17:41:58 +02:00 |
|
Robert Caulk
|
fe1b8515a8
|
fix bug in DBSCAN, update doc
|
2022-08-04 17:00:59 +02:00 |
|
robcaulk
|
29225e4baf
|
add DBSCAN outlier detection feature, add supporting documentation
|
2022-08-04 12:15:16 +02:00 |
|
robcaulk
|
eae82d0222
|
fix bug with database url during backtesting. comment out example trade db analysis.
|
2022-08-03 16:17:57 +02:00 |
|
robcaulk
|
95d3009a95
|
give user ability to analyze live trade dataframe inside custom prediction model. Add documentation to explain new functionality
|
2022-08-02 20:14:02 +02:00 |
|
robcaulk
|
946d4c7cfc
|
fix trailing whitespace for flake8
|
2022-07-31 18:39:46 +02:00 |
|
robcaulk
|
4e68626bcb
|
ensure convolutional window is prepended for frequi consistency
|
2022-07-31 17:51:19 +02:00 |
|
robcaulk
|
d830105605
|
*BREAKING CHANGE* remove unnecessary arguments from populate_any_indicators(), accommodate tests
|
2022-07-31 17:05:29 +02:00 |
|
robcaulk
|
dd8288c090
|
expose full parameter set for SVM outlier detection. Set default shuffle to false to improve reproducibility
|
2022-07-30 13:40:05 +02:00 |
|
robcaulk
|
f22b140782
|
fix backtesting bug, undo move of label stat calc, fix example strat exit logic
|
2022-07-29 17:27:35 +02:00 |
|
robcaulk
|
59624181bd
|
isort BaseRegressionModel imports
|
2022-07-29 08:23:44 +02:00 |
|
robcaulk
|
c84d54b35e
|
Fix typing issue, avoid using .get() when unnecessary, convert to fstrings
|
2022-07-29 08:12:50 +02:00 |
|
Matthias
|
efbd83c56d
|
Small type and typo fixes in freqai_interface
|
2022-07-28 07:24:30 +02:00 |
|
Matthias
|
a2a0d35a24
|
Update missing typehints
|
2022-07-28 07:07:40 +02:00 |
|
Matthias
|
f31106dc61
|
Minor comment fixes
|
2022-07-27 07:27:24 +02:00 |
|
Matthias
|
bc760b7eb2
|
Simplify small segment in datadrawer
|
2022-07-26 19:41:49 +02:00 |
|
robcaulk
|
324e54c015
|
fix possible memory leak associated with Catboost Pool object
|
2022-07-26 17:29:29 +02:00 |
|
robcaulk
|
3f149c4067
|
fix return type in BaseTensorFlowModel
|
2022-07-26 16:01:54 +02:00 |
|
robcaulk
|
ad25a4cb56
|
reduce number of pair_dict lookups, remove coin_first
|
2022-07-26 15:58:40 +02:00 |
|
robcaulk
|
fb4e8430cd
|
isort auto import sorting
|
2022-07-26 10:51:39 +02:00 |
|
robcaulk
|
e213d0ad55
|
isolate data_drawer functions from data_kitchen, accommodate tests, add new test
|
2022-07-26 10:24:14 +02:00 |
|
robcaulk
|
56b17e6f3c
|
allow user to pass test_size = 0 and avoid using eval sets in prediction models
|
2022-07-25 19:40:13 +02:00 |
|
Robert Caulk
|
897f18a8c8
|
ensure proper integer type casting for timestamps. Add check test for backtesting subdaily time periods
|
2022-07-25 15:07:09 +02:00 |
|
Robert Caulk
|
7b105532d1
|
fix mypy error and add test for principal component analysis
|
2022-07-25 11:46:59 +02:00 |
|
Robert Caulk
|
c9d46a5237
|
finish bringing follow_mode up to date
|
2022-07-25 09:24:40 +02:00 |
|
Robert Caulk
|
ab587747fb
|
first fix for follower path bug
|
2022-07-24 23:32:24 +02:00 |
|
Matthias
|
520ee3f7a1
|
Convert freqAI into packages
|
2022-07-24 17:07:45 +02:00 |
|
Matthias
|
1885deb632
|
More docstring changes
|
2022-07-24 16:54:39 +02:00 |
|
Matthias
|
70b7a254af
|
Update some areas to use default docstring formatting
|
2022-07-24 16:51:48 +02:00 |
|
Matthias
|
61c41fd919
|
Merge branch 'develop' into feat/freqai
|
2022-07-24 16:18:58 +02:00 |
|
Robert Caulk
|
88e10f7306
|
add exception for not passing timerange. Remove hard coded arguments for CatboostPredictionModels. Update docs
|
2022-07-24 09:01:23 +02:00 |
|
Robert Caulk
|
fff39eff9e
|
fix multitarget bug
|
2022-07-24 08:42:50 +02:00 |
|
robcaulk
|
f3d46613ee
|
move prediction denormalization into datakitchen. remove duplicate associated code. avoid normalization/denormalization for string dtypes.
|
2022-07-23 17:14:33 +02:00 |
|
Matthias
|
8fa6e8b4ba
|
Remove freqAI model bridge in favor of self.freqai
|
2022-07-23 17:08:05 +02:00 |
|
robcaulk
|
c91e23dc50
|
let user avoid normalizing labels
|
2022-07-23 16:14:13 +02:00 |
|
robcaulk
|
50d630a155
|
remove unnecessary comments from data_drawer.py
|
2022-07-23 13:35:44 +02:00 |
|
robcaulk
|
a1cff377ec
|
add record of contribution to data_kitchen.py
|
2022-07-23 13:32:04 +02:00 |
|
robcaulk
|
c2d6a0e891
|
add record of contribution to doc and source
|
2022-07-23 13:04:06 +02:00 |
|
robcaulk
|
5559e605b8
|
small PR conversation resolutions
|
2022-07-22 17:46:14 +02:00 |
|
robcaulk
|
40f00196eb
|
use cloudpickle in place of pickle. define Paths once in data_drawer.
|
2022-07-22 17:37:51 +02:00 |
|
robcaulk
|
98c8a447b2
|
add LightGBMPredictionMultiModel
|
2022-07-22 12:40:51 +02:00 |
|
robcaulk
|
afcb0bec00
|
clean up obsolete comments, move remove_features_from_df to datakitchen
|
2022-07-22 12:29:20 +02:00 |
|
robcaulk
|
3205788bce
|
extend doc to include descriptions of the return values from FreqAI to the strategy
|
2022-07-21 22:11:46 +02:00 |
|
robcaulk
|
8033e0bf23
|
add counter to backtesting log so users know how many more pairs and how many more models will need to be trained
|
2022-07-21 13:22:12 +02:00 |
|
robcaulk
|
183dec866a
|
remove ability to backtest open ended timeranges (safer)
|
2022-07-21 13:02:52 +02:00 |
|
robcaulk
|
e694ea1cfd
|
make sure backtesting gets the populated indicators with slimmed down user strat
|
2022-07-21 12:48:09 +02:00 |
|
robcaulk
|
ca4dd58642
|
remove superceded function from datakitchen
|
2022-07-21 12:40:54 +02:00 |
|
robcaulk
|
8f86b0deaa
|
*breaking change* simplify user strat by consolidating feature loops into backend
|
2022-07-21 12:24:22 +02:00 |
|
robcaulk
|
e7337728bf
|
add separator in folder name just incase an asset ends in an integer
|
2022-07-21 11:25:28 +02:00 |
|
robcaulk
|
921a7ef216
|
add requirements-freqai.txt to builds
|
2022-07-20 15:51:25 +02:00 |
|
robcaulk
|
d43c146676
|
add more tests for datakitchen functionalities, add regression tests for freqai_interface train/backtest
|
2022-07-20 12:56:46 +02:00 |
|
lolong
|
9c051958a6
|
Feat/freqai (#7105)
Vectorize weight setting, log training dates
Co-authored-by: robcaulk <rob.caulk@gmail.com>
|
2022-07-19 17:49:18 +02:00 |
|
robcaulk
|
714d9534b6
|
start adding tests
|
2022-07-19 16:16:44 +02:00 |
|
lolong
|
ed0f8b1189
|
Improve FreqAI documentation (#7072)
Improve doc + some other small fixes
Co-authored-by: robcaulk <rob.caulk@gmail.com>
|
2022-07-18 11:57:52 +02:00 |
|
Robert Caulk
|
921f3899f0
|
revert pickle reading for historic predictions
|
2022-07-17 16:06:36 +02:00 |
|
Robert Caulk
|
41eeb99177
|
load pickle file for writing
|
2022-07-17 10:05:21 +02:00 |
|
Robert Caulk
|
9d184586f1
|
fix bug in historic prediction saving
|
2022-07-16 21:16:59 +02:00 |
|
Wagner Costa Santos
|
ca2029a46b
|
fix issue when bot restarts with same identifier, does not load prediction history
|
2022-07-14 18:55:24 -03:00 |
|
robcaulk
|
4141d165ff
|
add BaseTensorFlowModel class
|
2022-07-12 19:10:09 +02:00 |
|
robcaulk
|
ef409dd345
|
Add ground work for TensorFlow models, add protections from common mistakes
|
2022-07-12 18:09:17 +02:00 |
|
Robert Caulk
|
fea63fba12
|
Fix saving/loading historic predictions
|
2022-07-12 10:12:50 +02:00 |
|
Robert Caulk
|
8ce6b18318
|
start collecting indefinite history of predictions. Allow user to generate statistics on these predictions. Direct FreqAI to save these to disk and reload them if available.
|
2022-07-11 22:01:48 +02:00 |
|
Matthias
|
3fc92b1b21
|
Create BaseRegression model - designed to reduce code duplication across currently available models.
|
2022-07-11 11:33:59 +02:00 |
|
Robert Caulk
|
607455919e
|
Change config parameter names to improve clarity and consistency throughout the code (!!breaking change, please check discord support channel for migration instructions or review templates/FreqaiExampleStrategy.py config_examples/config_freqai_futures.example.json file changes!!)
|
2022-07-10 12:35:44 +02:00 |
|
Matthias
|
819cc9c0e4
|
Fully align LightGBM with Catboost
|
2022-07-10 11:06:18 +02:00 |
|
Matthias
|
58b18770e3
|
Fix LightGBM missing argument in predict method
|
2022-07-10 11:05:35 +02:00 |
|
Matthias
|
2e1061af64
|
Fix faulty LightGBM model
|
2022-07-09 08:21:42 +00:00 |
|
robcaulk
|
d9acdc9767
|
remove excess, increase no model warning clarity
|
2022-07-06 18:20:21 +02:00 |
|
robcaulk
|
4cac67fd66
|
Catch infrequent issue associated with grabbing first candle
|
2022-07-05 12:43:33 +02:00 |
|
robcaulk
|
bd3a6ba2fe
|
update backtesting to handle new output framework
|
2022-07-03 17:34:44 +02:00 |
|
robcaulk
|
8ac8d53c32
|
All LGBMRegressor model parameters are now set in config
|
2022-07-03 16:30:01 +02:00 |
|
robcaulk
|
4ff0ef7359
|
fix bug returning multiple targets for training
|
2022-07-03 12:15:59 +02:00 |
|
robcaulk
|
ffb39a5029
|
black formatting on freqai files
|
2022-07-03 10:59:38 +02:00 |
|
robcaulk
|
106131ff0f
|
Rehaul organization of return values
|
2022-07-02 18:09:38 +02:00 |
|
robcaulk
|
93e1410ed9
|
first step toward cleaning output and enabling multimodel training per pair
|
2022-07-01 14:00:30 +02:00 |
|
robcaulk
|
6c7d02cb18
|
expose nu in the SVM outlier detection via svm_nu in config
|
2022-06-28 15:12:25 +02:00 |
|
robcaulk
|
7dfbd432d1
|
fix config saving bug, assign priorities to pairs in scanning, sleep the scanning loop to reduce CPU usage
|
2022-06-27 11:35:33 +02:00 |
|
robcaulk
|
68bafa9517
|
archive config to the model folder, filter out features before returning dataframe to strategy (to alleviate frequi issues)`
|
2022-06-26 23:03:48 +02:00 |
|
robcaulk
|
051b99791d
|
reduce unnecessary verbosity, fix error on first training sweep, add LightGBMPredictionModel
|
2022-06-26 19:04:23 +02:00 |
|
Robert Caulk
|
852706cd6b
|
Fix default behavior for expiration_hours
|
2022-06-21 08:12:51 +02:00 |
|
robcaulk
|
b35c64b6c0
|
fix bug in backtest, typo in example strat
|
2022-06-19 16:41:09 +02:00 |
|
robcaulk
|
3599d18ff6
|
fix bug in follow_mode, thanks @blood4rc
|
2022-06-18 12:05:28 +02:00 |
|
robcaulk
|
6da7a98857
|
add docstrings to new functions, remove superceded code
|
2022-06-17 16:16:23 +02:00 |
|
robcaulk
|
f631ae911b
|
add model expiration feature, fix bug in DI return values
|
2022-06-17 14:55:40 +02:00 |
|
robcaulk
|
0b0688a91e
|
ensure scanning purges models
|
2022-06-16 16:12:38 +02:00 |
|
robcaulk
|
c5de0c49e4
|
first functional scanning commit
|
2022-06-16 00:24:18 +02:00 |
|
robcaulk
|
4d472a0ea1
|
merging datarehaul into scanning branch
|
2022-06-16 00:22:49 +02:00 |
|
Matthias
|
c981ad4608
|
Fix missing space
|
2022-06-12 08:31:02 +02:00 |
|
robcaulk
|
eb47c74096
|
merge datarehaul into main freqai branch
|
2022-06-10 20:26:19 +02:00 |
|
robcaulk
|
d9b79d94e4
|
increase candle update flexibility to allow long sequential trainings that may last more than one candle
|
2022-06-07 20:57:10 +02:00 |
|
robcaulk
|
66800c7a45
|
ensure newest candles are always appended
|
2022-06-07 20:24:23 +02:00 |
|
robcaulk
|
15d049cffe
|
detect if upper tf candles are new or not, append if so. Correct the epoch for candle update check
|
2022-06-07 19:49:20 +02:00 |
|
robcaulk
|
cab8f517b4
|
add lock to datadrawer
|
2022-06-07 01:07:30 +02:00 |
|
robcaulk
|
4b26b6aaec
|
add lock to any historic data access
|
2022-06-07 00:54:18 +02:00 |
|
Robert Caulk
|
2451ed8c88
|
Quick bug fix
|
2022-06-06 15:11:54 -06:00 |
|
robcaulk
|
d6b8801f41
|
fix follower bug
|
2022-06-05 04:40:58 +02:00 |
|
robcaulk
|
e8c0dcf9f3
|
add debug message to timerange
|
2022-06-03 17:14:07 +02:00 |
|
robcaulk
|
f2762e3b4b
|
fix bug in return_values()
|
2022-06-03 16:58:51 +02:00 |
|
robcaulk
|
16b4a5b71f
|
rehaul of backend data management - increasing performance by holding history in memory, reducing load on the ratelimit by only pinging exchange once per candle. Improve code readability.
|
2022-06-03 15:19:46 +02:00 |
|
robcaulk
|
15a971346d
|
catch infinity values when filtering
|
2022-06-02 17:13:20 +02:00 |
|
robcaulk
|
ace951bf7e
|
another queue bug fix for fresh starts
|
2022-06-02 13:28:06 +02:00 |
|
robcaulk
|
833d25bda0
|
Save data after queue reorg
|
2022-06-01 08:05:38 +02:00 |
|
robcaulk
|
0b0dd8dd80
|
Force high priority pair to be trained before anything else.
|
2022-06-01 07:55:05 +02:00 |
|
robcaulk
|
7523ed825e
|
automatically detect maximum required data based on user fed indicators (to avoid NaNs in dataset for rolling indicators), add new config parameter for backtesting to let users increase their startup_candles to accommodate high timeframe indicators, add docs to explain all. Add new feature for automatic indicator duplication according to user defined intervals (exhibited in example strat and configs now).
|
2022-05-31 18:42:27 +02:00 |
|
robcaulk
|
9b3b08a2bb
|
let follower purge old model files
|
2022-05-31 15:37:38 +02:00 |
|
robcaulk
|
bac4ced382
|
Ensure follower predictions are persistent and uniquely stored
|
2022-05-31 14:35:04 +02:00 |
|
robcaulk
|
70adf55643
|
Automatically detect and change follower data_path to accommodate remote systems
|
2022-05-31 12:35:09 +02:00 |
|
robcaulk
|
0306f5ca13
|
Add autopurge feature so that FreqAI cleans up after itself when it no longer needs old models on disk
|
2022-05-31 11:58:21 +02:00 |
|
robcaulk
|
45f4f0f603
|
ensure follower sends back null arrays in case leader hasnt created a model file yet
|
2022-05-31 01:48:48 +02:00 |
|
robcaulk
|
29d2f59f12
|
fix PCA bug
|
2022-05-31 00:40:45 +02:00 |
|
robcaulk
|
606f18e5c1
|
Add follow_mode feature so that secondary bots can be launched with the same identifier and load models trained by the leader
|
2022-05-30 21:35:48 +02:00 |
|
robcaulk
|
5b4c649d43
|
detect variable sized dataframes coming from strat, adjust our stored/returned data accordingly
|
2022-05-30 13:55:46 +02:00 |
|
robcaulk
|
e229902381
|
fix bug in previous commit
|
2022-05-30 12:48:22 +02:00 |
|
robcaulk
|
a20651efd8
|
Increase performance by only predicting on most recent candle instead of full strat provided dataframe. Collect predictions and store them so that we can feed true predictions back to strategy (so that frequi isnt updating historic predictions based on newly trained models).
|
2022-05-30 11:37:05 +02:00 |
|
robcaulk
|
2f1a2c1cd7
|
allow users to store data in custom formats, update spot config to reflect better target horizon to training period ratio
|
2022-05-30 02:12:31 +02:00 |
|
robcaulk
|
d59eac3321
|
revert a79032b
|
2022-05-29 21:33:38 +02:00 |
|
robcaulk
|
a79032bf75
|
fixing bug in training queue
|
2022-05-29 20:19:32 +02:00 |
|
robcaulk
|
3f72263278
|
allow pairs deeper in the queue to get trained if the higher priority pairs dont need training
|
2022-05-29 20:02:43 +02:00 |
|
robcaulk
|
cc6cae47ec
|
allow pairs deeper in the queue to get trained if the higher priority pairs dont need training
|
2022-05-29 19:49:43 +02:00 |
|
robcaulk
|
4eb4753e20
|
allow subdaily retraining for backtesting
|
2022-05-29 17:44:35 +02:00 |
|
robcaulk
|
ce365eb9e3
|
improve example strat so that it has dynamic buy and sell logic according to original prediction
|
2022-05-29 14:45:46 +02:00 |
|
robcaulk
|
4eb29c8810
|
Dont reset pair priority if it doesnt successfully train
|
2022-05-28 18:34:26 +02:00 |
|
robcaulk
|
83dd453723
|
catch errors occuring on background thread, and make sure to keep the ball rolling. Improve pair retraining queue.
|
2022-05-28 18:26:19 +02:00 |
|
robcaulk
|
e54614fa2f
|
remove remnants of single threaded version, ensure pair queue priority is checked before retraining
|
2022-05-28 14:55:07 +02:00 |
|
robcaulk
|
2a4d1e2d64
|
fix bug in setting new timerange for retraining
|
2022-05-28 12:23:26 +02:00 |
|
robcaulk
|
7870a86e9a
|
fix live retraining bug
|
2022-05-28 11:38:57 +02:00 |
|
robcaulk
|
0bf915054d
|
handle key check correctly
|
2022-05-28 11:22:32 +02:00 |
|
robcaulk
|
c5a16e91fb
|
throw user error if user tries to load models but feeds the wrong features (while using PCA)
|
2022-05-28 11:11:41 +02:00 |
|
robcaulk
|
b8f9c3557b
|
dirty dirty, dont look here (hacking a flag to avoid reloading leverage_tiers in dry/live)
|
2022-05-27 13:56:34 +02:00 |
|
robcaulk
|
891fb87712
|
give load_cached_data_for_updating the right flags to avoid redownloading data in dry/live
|
2022-05-27 13:38:22 +02:00 |
|
robcaulk
|
65fdebab75
|
let load_pairs_histories load futures candles in live
|
2022-05-27 13:01:33 +02:00 |
|
robcaulk
|
c080571b7a
|
help futures go dry/live with auto download feature
|
2022-05-27 12:23:32 +02:00 |
|
robcaulk
|
8a501831d6
|
fix the error logic on previous commit
|
2022-05-27 01:15:55 +02:00 |
|
robcaulk
|
23c30dbc10
|
add error for user trying to backtest with backtest_period<1
|
2022-05-27 00:43:52 +02:00 |
|
robcaulk
|
6193205012
|
fix bug for target_mean/std array merging in backtesting
|
2022-05-26 21:07:50 +02:00 |
|
robcaulk
|
b79d4e8876
|
Allow user to go live and start from pretrained models (after a completed backtest) by simply reusing the identifier config parameter while dry/live.
|
2022-05-25 14:40:32 +02:00 |
|
robcaulk
|
7486d9d9e2
|
proper validation of freqai config parameters
|
2022-05-25 12:37:25 +02:00 |
|
robcaulk
|
7ff3258607
|
remove assertions, log error if user has not assigned freqai in config, fix stratify bug
|
2022-05-25 11:43:45 +02:00 |
|
robcaulk
|
35bed842cb
|
cleanup, add clarity to comments and docstrings
|
2022-05-25 11:31:03 +02:00 |
|
robcaulk
|
58b5abbaa6
|
improve multithreaded training queue system
|
2022-05-24 15:28:38 +02:00 |
|
robcaulk
|
31ae2b3060
|
alleviate FutureWarning in sklearn about ensuring svm model features are passed with identical order
|
2022-05-24 14:46:16 +02:00 |
|
robcaulk
|
255d35976e
|
add priority metadata to pairs to avoid a sync of train time + train period
|
2022-05-24 12:58:53 +02:00 |
|
robcaulk
|
059c285425
|
paying closer attention to managing live retraining on separate thread without affecting prediction of other coins on master thread
|
2022-05-24 12:01:01 +02:00 |
|
robcaulk
|
b0d2d13eb1
|
improve data persistence/mapping for live/dry. This accommodates quick reloads after crash and handles multi-pair cleanly
|
2022-05-23 21:05:05 +02:00 |
|
robcaulk
|
e1c068ca66
|
add config asserts, use .get method with default values for optional functionality, move data_cleaning_* to freqai_interface (away from user custom pred model) since it is controlled by config params.
|
2022-05-23 12:07:09 +02:00 |
|
robcaulk
|
ee3cdd0ffe
|
more cleanup
|
2022-05-23 09:55:58 +02:00 |
|
robcaulk
|
3587bd82e1
|
cleanup superceded code
|
2022-05-23 00:10:36 +02:00 |
|
robcaulk
|
af0cc21af9
|
Enable hourly/minute retraining in live/dry. Suppress catboost folder output. Update config + constants + docs to reflect updates.
|
2022-05-23 00:06:26 +02:00 |
|
robcaulk
|
42d95af829
|
Aggregated commit. Adding support vector machine for outlier detection, improve user interface to dry/live, better standardization, fix various other bugs
|
2022-05-22 17:51:49 +02:00 |
|
robcaulk
|
c5ecf94177
|
move live retraining to separate thread.
|
2022-05-19 21:15:58 +02:00 |
|
robcaulk
|
1fae6c9ef7
|
keep model accessible in memory to avoid loading objects from disk during live/dry
|
2022-05-19 19:27:38 +02:00 |
|
robcaulk
|
89eacf2f47
|
Retrain model if FreqAI found a pretrained model but user strategy is not passing the expected features (user has changed the features in the strategy but has passed a the same config[freqai][identifier]). Logger warning output to user.
|
2022-05-19 17:15:50 +02:00 |
|
Matthias
|
c81b960791
|
Fix some typos
|
2022-05-17 19:58:36 +02:00 |
|
robcaulk
|
db66b82f6f
|
accept open-ended timeranges from user
|
2022-05-17 19:50:06 +02:00 |
|
robcaulk
|
d1d451c27e
|
auto populate features based on a prepended % in the strategy (remove feature assignment from config). Update doc/constants/example strategy to reflect change
|
2022-05-17 18:15:03 +02:00 |
|
robcaulk
|
8664e8f9a3
|
create a prediction_models folder where basic prediction models can live (similar to optimize/hyperopt-loss. Update resolver/docs/and gitignore to accommodate change
|
2022-05-17 17:13:38 +02:00 |
|
robcaulk
|
80dcd88abf
|
allow user to run config from anywhere on their system
|
2022-05-15 17:42:15 +02:00 |
|
robcaulk
|
a8022c104a
|
give beta testers more information in the doc
|
2022-05-15 17:42:15 +02:00 |
|
robcaulk
|
9b3e5faebe
|
create more flexible whitelist, avoid duplicating whitelist features into corr_pairlist, update docs
|
2022-05-15 17:42:15 +02:00 |
|
robcaulk
|
22bd5556ed
|
add self-retraining functionality for live/dry
|
2022-05-15 17:42:15 +02:00 |
|
robcaulk
|
178c2014b0
|
appease mypy
|
2022-05-15 17:42:15 +02:00 |
|
robcaulk
|
f653ace24b
|
another attempt at fixing datalength bug
|
2022-05-15 17:42:15 +02:00 |
|
robcaulk
|
b08c0888bb
|
add USERPATH_FREQAIMODELS, remove return values from @abstract methods
|
2022-05-15 17:42:15 +02:00 |
|
robcaulk
|
b03c7b514d
|
optional style for interfacing freqai with backtesting
|
2022-05-15 17:42:15 +02:00 |
|
robcaulk
|
3020218096
|
fix bug on backtest timerange
|
2022-05-15 17:41:34 +02:00 |
|
robcaulk
|
00ff0c9b91
|
ensure user defined timerange truncates final backtest so that we arent mismatching data lengths upon return to strategy. Rename DataHandler class to FreqaiDataKitchen
|
2022-05-15 17:41:34 +02:00 |
|
robcaulk
|
def71a0afe
|
auto build full_timerange and self manage training_timerange
|
2022-05-15 17:41:34 +02:00 |
|
robcaulk
|
764f9449b4
|
fix logger, debug some flake8 appeasements
|
2022-05-15 17:41:34 +02:00 |
|
robcaulk
|
29c2d1d189
|
use logger in favor of print
|
2022-05-15 17:38:58 +02:00 |
|
robcaulk
|
99f7e44c30
|
flake8 passing, use pathlib in lieu of os.path to accommodate windows/mac OS
|
2022-05-15 17:38:58 +02:00 |
|
robcaulk
|
630d201546
|
remove trained_stake
|
2022-05-15 17:38:58 +02:00 |
|
robcaulk
|
b40f8f88ac
|
cleaning and bug fixing
|
2022-05-15 17:38:58 +02:00 |
|
robcaulk
|
fc837c4daa
|
add freqao backend machinery, user interface, documentation
|
2022-05-15 17:38:58 +02:00 |
|