]>
Piment Noir Git Repositories - freqai-strategies.git/log
Jérôme Benoit [Wed, 19 Feb 2025 20:17:19 +0000 (21:17 +0100)]
refactor(reforcexy): strategy code cleanups
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Wed, 19 Feb 2025 16:35:05 +0000 (17:35 +0100)]
fix(qav3): initialize optuna objective default return to proper type
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Wed, 19 Feb 2025 15:02:26 +0000 (16:02 +0100)]
fix(qav3): properly handle sqlite storage
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
Jérôme Benoit [Wed, 19 Feb 2025 13:41:00 +0000 (14:41 +0100)]
fix(qav3): fix optuna storage building
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
Jérôme Benoit [Wed, 19 Feb 2025 09:56:13 +0000 (10:56 +0100)]
fix(qav3): enqueue previously saved optuna best params
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Wed, 19 Feb 2025 00:46:45 +0000 (01:46 +0100)]
fix(reforcexy): uniformize rewarding behavior
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Tue, 18 Feb 2025 22:17:50 +0000 (23:17 +0100)]
fix(reforcexy): ensure the same reward is applied with force_actions
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Tue, 18 Feb 2025 21:03:37 +0000 (22:03 +0100)]
feat(reforcexy): penalize holding non profitable position
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Tue, 18 Feb 2025 19:00:48 +0000 (20:00 +0100)]
refactor(reforcexy): use model file name if possible
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
Jérôme Benoit [Tue, 18 Feb 2025 16:42:08 +0000 (17:42 +0100)]
refactor(reforcexy): cleanups
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
Jérôme Benoit [Tue, 18 Feb 2025 16:06:49 +0000 (17:06 +0100)]
refactor(reforcexy): refine configuration template
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
Jérôme Benoit [Tue, 18 Feb 2025 15:50:35 +0000 (16:50 +0100)]
fix(reforcexy): proper compute fit time
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
Jérôme Benoit [Mon, 17 Feb 2025 20:13:29 +0000 (21:13 +0100)]
refactor(reforcexy): display optuna optimization runtime
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
Jérôme Benoit [Mon, 17 Feb 2025 13:52:49 +0000 (14:52 +0100)]
refactor(qav3): trivial cleanup
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Mon, 17 Feb 2025 13:33:23 +0000 (14:33 +0100)]
refactor(reforcexy): refine typing
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Mon, 17 Feb 2025 11:55:37 +0000 (12:55 +0100)]
refactor(qav3): cleanup config template
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Mon, 17 Feb 2025 11:47:42 +0000 (12:47 +0100)]
refactor(reforcexy): cleanup variable namespace
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Mon, 17 Feb 2025 11:39:54 +0000 (12:39 +0100)]
feat(qav3): display and save stepped optuna best trials
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sun, 16 Feb 2025 17:56:59 +0000 (18:56 +0100)]
fix(reforcexy): refine hyperopt condition
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sun, 16 Feb 2025 17:45:10 +0000 (18:45 +0100)]
refactor(reforcexy): do hyperopt on a per pair basis, take 2
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sun, 16 Feb 2025 12:04:31 +0000 (13:04 +0100)]
refactor(reforcexy): use normalized temporal features
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sun, 16 Feb 2025 11:25:26 +0000 (12:25 +0100)]
fix(qav3): brown paper bag bug in optuna_study_has_best_params()
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sun, 16 Feb 2025 11:11:20 +0000 (12:11 +0100)]
refactor(qav3): add a runtime fallback for optuna warm start
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sun, 16 Feb 2025 08:39:13 +0000 (09:39 +0100)]
fix(qav3): ensure optuna storage path is sanitized
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sat, 15 Feb 2025 23:15:03 +0000 (00:15 +0100)]
refactor(reforcexy): split optuna storage per pair
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sat, 15 Feb 2025 22:47:39 +0000 (23:47 +0100)]
fix(qav3): uniformize optuna storage namespace
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sat, 15 Feb 2025 22:37:42 +0000 (23:37 +0100)]
feat(reforcexy): initial ReforceXY commit
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sat, 15 Feb 2025 21:01:40 +0000 (22:01 +0100)]
fix(qav3): refine optuna loaded study validation test
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sat, 15 Feb 2025 20:54:32 +0000 (21:54 +0100)]
fix(qav3): handle more optuna loaded study corner cases
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sat, 15 Feb 2025 20:33:59 +0000 (21:33 +0100)]
fix(qav3): properly test for previous study best_params property
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sat, 15 Feb 2025 20:11:41 +0000 (21:11 +0100)]
perf(qav3): optuna warm start
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sat, 15 Feb 2025 14:49:19 +0000 (15:49 +0100)]
refactor(qav3): log time spent at optuna optimization
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sat, 15 Feb 2025 14:07:01 +0000 (15:07 +0100)]
refactor(qav3): default optuna storage to file
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sat, 15 Feb 2025 13:37:20 +0000 (14:37 +0100)]
fix(qav3): return only optimized params at HPO
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sat, 15 Feb 2025 13:29:18 +0000 (14:29 +0100)]
perf(qav3): fine tune HPO
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sat, 15 Feb 2025 12:13:38 +0000 (13:13 +0100)]
feat(qav3): readd HPO optimization step
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 14 Feb 2025 22:20:14 +0000 (23:20 +0100)]
fix(qav3): fix study deletion error handling
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 14 Feb 2025 21:30:31 +0000 (22:30 +0100)]
refactor(qav3): log more information at optuna failure
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 14 Feb 2025 20:11:31 +0000 (21:11 +0100)]
fix(qav3): ensure previous optuna params are reused in case of failure
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 14 Feb 2025 18:52:21 +0000 (19:52 +0100)]
refactor(qav3): control the optuna installed in docker image
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 14 Feb 2025 18:23:38 +0000 (19:23 +0100)]
fix(qav3): ensure optuna is doing live optimization
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 14 Feb 2025 10:10:51 +0000 (11:10 +0100)]
refactor(qav3): factor out optuna optimisation code
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
Jérôme Benoit [Thu, 13 Feb 2025 15:26:22 +0000 (16:26 +0100)]
fix(qav3): gracefully handle optuna optimize failure
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
Jérôme Benoit [Wed, 12 Feb 2025 22:23:38 +0000 (23:23 +0100)]
refactor(qav3): rename storage optuna tunable
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Wed, 12 Feb 2025 20:47:46 +0000 (21:47 +0100)]
refactor(qav3): refine subplot name
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
Jérôme Benoit [Wed, 12 Feb 2025 17:10:38 +0000 (18:10 +0100)]
refactor(qav3): add candle body to features
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
Jérôme Benoit [Wed, 12 Feb 2025 14:44:15 +0000 (15:44 +0100)]
refactor(qav3): refine graph colors
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Wed, 12 Feb 2025 14:36:32 +0000 (15:36 +0100)]
refactor(qav3): refine graph colors
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Wed, 12 Feb 2025 11:03:43 +0000 (12:03 +0100)]
refactor(qav3): reuse tunable for stop loss guard
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Wed, 12 Feb 2025 09:08:50 +0000 (10:08 +0100)]
refactor!: add predictions smoothing tunable
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Tue, 11 Feb 2025 23:36:06 +0000 (00:36 +0100)]
fix(qav3): ensure extrema prediction fit into the live predictions period
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Tue, 11 Feb 2025 23:18:37 +0000 (00:18 +0100)]
refactor(qav3): remove uneeded condition
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Tue, 11 Feb 2025 21:38:10 +0000 (22:38 +0100)]
fix(qav3): keep optuna HPO values on a per pair basis
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Tue, 11 Feb 2025 18:45:06 +0000 (19:45 +0100)]
refactor(qav3): plot min_max bar
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Tue, 11 Feb 2025 18:35:12 +0000 (19:35 +0100)]
refactor(qav3): use bar to identify min_max
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Tue, 11 Feb 2025 18:29:20 +0000 (19:29 +0100)]
fix(qac3): ensure minima are identified
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Tue, 11 Feb 2025 16:35:06 +0000 (17:35 +0100)]
refactor(qav3): typing
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Tue, 11 Feb 2025 13:51:20 +0000 (14:51 +0100)]
refactor(qav3): factor out optuna storage building code
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Tue, 11 Feb 2025 13:27:06 +0000 (14:27 +0100)]
refactor(qav3): cleanup predictions sorting code
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Tue, 11 Feb 2025 10:10:16 +0000 (11:10 +0100)]
perf: evaluate log-sum-exp extrame smoothing by default
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Tue, 11 Feb 2025 01:06:36 +0000 (02:06 +0100)]
refactor(qav3): refine prediction min/max API
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Mon, 10 Feb 2025 22:49:04 +0000 (23:49 +0100)]
fix(qav3): revert min/max prediction smoothing
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
))#
Jérôme Benoit [Mon, 10 Feb 2025 21:56:56 +0000 (22:56 +0100)]
fix(qav3): filter prediction dataframe
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Mon, 10 Feb 2025 21:01:56 +0000 (22:01 +0100)]
refactor(qav3): code cleanups
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Mon, 10 Feb 2025 20:21:40 +0000 (21:21 +0100)]
refactor(qav3): fit label mean and std
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Mon, 10 Feb 2025 19:48:27 +0000 (20:48 +0100)]
fix(qav3): fix log‑sum‑exp computation
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Mon, 10 Feb 2025 19:42:10 +0000 (20:42 +0100)]
fix(qav3): revert median() usage on a rolling gaussian windows
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Mon, 10 Feb 2025 19:26:58 +0000 (20:26 +0100)]
perf(qav3): experiment with log-sum-exp prediction smoothing
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Mon, 10 Feb 2025 14:38:45 +0000 (15:38 +0100)]
feat(qav3): allow to configure optuna storage type
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Mon, 10 Feb 2025 14:18:17 +0000 (15:18 +0100)]
fix(qav3): fix optuna storage backend
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Mon, 10 Feb 2025 14:11:54 +0000 (15:11 +0100)]
refactor(qav3): ensure optuna storage backend is stored in the model
path
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Mon, 10 Feb 2025 13:54:12 +0000 (14:54 +0100)]
fix(qav3): fix path handling to journal storage
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Mon, 10 Feb 2025 13:34:04 +0000 (14:34 +0100)]
fix(qav3): switch to file backend optuna storage
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Mon, 10 Feb 2025 12:45:26 +0000 (13:45 +0100)]
fix(qav3): ensure different study name per crypto pair
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Mon, 10 Feb 2025 12:02:31 +0000 (13:02 +0100)]
perf(qav3): optimize optuna memory usage
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Mon, 10 Feb 2025 10:30:24 +0000 (11:30 +0100)]
refactor(qav3): cleanup code comments
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Mon, 10 Feb 2025 10:04:54 +0000 (11:04 +0100)]
refactor(qav3): argrelextrema -> find_peaks
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 7 Feb 2025 11:04:38 +0000 (12:04 +0100)]
refactor(qav3): remove uneeded boudaries check in objective function
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 7 Feb 2025 10:56:34 +0000 (11:56 +0100)]
perf(qav3): refine configuration template train_period_days
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 7 Feb 2025 10:30:32 +0000 (11:30 +0100)]
perf(qav3): fine tune optuna search space
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Thu, 6 Feb 2025 19:39:07 +0000 (20:39 +0100)]
refactor(qav3): refine log messages
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Thu, 6 Feb 2025 19:30:38 +0000 (20:30 +0100)]
refactor(qav3): improve log messages
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Thu, 6 Feb 2025 17:12:26 +0000 (18:12 +0100)]
perf(qav3): fine tune label_period_candles HPO
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
Jérôme Benoit [Thu, 6 Feb 2025 13:35:42 +0000 (14:35 +0100)]
perf: refine extrema computation rolling window
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Thu, 6 Feb 2025 12:40:55 +0000 (13:40 +0100)]
refactor(qav3): refine optuna enablement condition
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Thu, 6 Feb 2025 12:21:40 +0000 (13:21 +0100)]
refactor(qav3): add optuna config section in freqai config
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Thu, 6 Feb 2025 11:28:37 +0000 (12:28 +0100)]
fix(qav3): ensure optuna label_period_candles is used when computed
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Thu, 6 Feb 2025 11:15:37 +0000 (12:15 +0100)]
fix(qav3): avoid train and test set disperancy
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Thu, 6 Feb 2025 02:08:22 +0000 (03:08 +0100)]
perf(qav3): properly size optuna search space
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Thu, 6 Feb 2025 01:19:05 +0000 (02:19 +0100)]
fix(qav3): properly size `label_period_candles`
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Wed, 5 Feb 2025 22:46:57 +0000 (23:46 +0100)]
fix(qav3): fix type definition in lgbm regressor
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Wed, 5 Feb 2025 21:29:58 +0000 (22:29 +0100)]
fix(qav3): reset df index after concat
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Wed, 5 Feb 2025 21:17:55 +0000 (22:17 +0100)]
refactor(qav3): add typing
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Wed, 5 Feb 2025 21:05:44 +0000 (22:05 +0100)]
feat: add HPO suppport to `label_period_candles`
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Wed, 5 Feb 2025 15:13:27 +0000 (16:13 +0100)]
perf(qav3): refine trailing stop loss configuration
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
Jérôme Benoit [Wed, 5 Feb 2025 14:02:58 +0000 (15:02 +0100)]
fix(qav3): fix trailing stop loss configuration
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Wed, 5 Feb 2025 13:56:14 +0000 (14:56 +0100)]
fix(qav3): fix trailing stop loss configuration
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Wed, 5 Feb 2025 13:42:56 +0000 (14:42 +0100)]
perf(qav3): active trailing stop loss at 1% profit
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Tue, 4 Feb 2025 17:58:04 +0000 (18:58 +0100)]
fix: properly init hyper band pruner
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Tue, 4 Feb 2025 17:44:37 +0000 (18:44 +0100)]
perf(qav3): use hyperband pruner
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>