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 |
|