]>
Piment Noir Git Repositories - freqai-strategies.git/log
Jérôme Benoit [Sun, 2 Mar 2025 12:04:55 +0000 (13:04 +0100)]
refactor(qav3): simplify model identifier fetching
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sun, 2 Mar 2025 09:35:56 +0000 (10:35 +0100)]
fix(qav3): symetric quantile thresholds
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sat, 1 Mar 2025 14:22:21 +0000 (15:22 +0100)]
refactor(reforcexy): refine hyperopt enablement condition
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sat, 1 Mar 2025 11:54:16 +0000 (12:54 +0100)]
refactor(reforcexy): revert incorrect change
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sat, 1 Mar 2025 10:50:59 +0000 (11:50 +0100)]
refactor: move strategy and freqaimodel to configuration file
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 28 Feb 2025 18:36:07 +0000 (19:36 +0100)]
fix(qav3): ensure period hyperopt compute RMSE properly
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 28 Feb 2025 17:54:17 +0000 (18:54 +0100)]
fix(qav3): flag strategy as supporting short
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 28 Feb 2025 17:34:00 +0000 (18:34 +0100)]
perf(qav3): ensure hyperopt choose the labelling period optimally
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 28 Feb 2025 13:49:31 +0000 (14:49 +0100)]
perf(qav3): fine tune long/short IQR signal for the gaussian window
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 28 Feb 2025 13:37:04 +0000 (14:37 +0100)]
perf(qav3): align IQR for long/short signal
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 28 Feb 2025 09:25:35 +0000 (10:25 +0100)]
refactor(qav3): refine typing
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Thu, 27 Feb 2025 22:32:19 +0000 (23:32 +0100)]
refactor(qav3)!: align feature namespace
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Thu, 27 Feb 2025 19:02:51 +0000 (20:02 +0100)]
refactor(qav3): refine configuration template
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Thu, 27 Feb 2025 18:47:19 +0000 (19:47 +0100)]
refactor(qav3): refine configuration template
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Thu, 27 Feb 2025 16:22:33 +0000 (17:22 +0100)]
refactor(reforcexy): code formatting
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
Jérôme Benoit [Thu, 27 Feb 2025 14:58:33 +0000 (15:58 +0100)]
fix(refactorxy): ensure hyperopt params are merged with user defined
ones
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
Jérôme Benoit [Thu, 27 Feb 2025 09:52:58 +0000 (10:52 +0100)]
fix(reforcexy): fix peak pnl computation
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Thu, 27 Feb 2025 09:28:26 +0000 (10:28 +0100)]
perf(reforcexy): fine tune reward on opened positions
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Thu, 27 Feb 2025 08:36:11 +0000 (09:36 +0100)]
fix(qav3): use max_open_trades tunable to size opened positions
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Wed, 26 Feb 2025 19:57:40 +0000 (20:57 +0100)]
refactor(qav3)!: sensible name for prediction thresholds smoothing
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Wed, 26 Feb 2025 19:21:18 +0000 (20:21 +0100)]
refactor(qav3): cleanup confirm_trade_entry()
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Wed, 26 Feb 2025 16:47:10 +0000 (17:47 +0100)]
perf(qav3): improve order_types
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Wed, 26 Feb 2025 14:25:17 +0000 (15:25 +0100)]
perf(reforcexy): asymetric reward for opened trades at loss
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Wed, 26 Feb 2025 12:17:50 +0000 (13:17 +0100)]
perf(reforcexy): improve reward for opened positions
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Wed, 26 Feb 2025 10:35:50 +0000 (11:35 +0100)]
refactor(qav3): fine tune default values
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Wed, 26 Feb 2025 00:09:56 +0000 (01:09 +0100)]
docs(qav3): align log message
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Wed, 26 Feb 2025 00:07:15 +0000 (01:07 +0100)]
feat(qav3): add quantile tunable for predictions smoothing
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Tue, 25 Feb 2025 23:34:23 +0000 (00:34 +0100)]
fix(qav3): ensure real soft min/max are normalized
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Tue, 25 Feb 2025 22:26:13 +0000 (23:26 +0100)]
refactor(qav3): use scipy logsumexp to compute softmin/max
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Tue, 25 Feb 2025 11:31:08 +0000 (12:31 +0100)]
refactor(qav3): use sensible defaults
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Tue, 25 Feb 2025 09:21:45 +0000 (10:21 +0100)]
refactor(qav3): remove dead code
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Mon, 24 Feb 2025 23:48:05 +0000 (00:48 +0100)]
perf(qav3): fine tune labelling window optimisation
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
Jérôme Benoit [Mon, 24 Feb 2025 21:07:22 +0000 (22:07 +0100)]
docs: readd commented code
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
Jérôme Benoit [Mon, 24 Feb 2025 17:45:14 +0000 (18:45 +0100)]
fix(qav3): reset predictions normal distribution fitting
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
Jérôme Benoit [Mon, 24 Feb 2025 11:49:56 +0000 (12:49 +0100)]
refactor: add vscode settings
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Mon, 24 Feb 2025 11:48:48 +0000 (12:48 +0100)]
fix(qav3): ensure optuna settings can't hog CPU ressources
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sun, 23 Feb 2025 22:05:04 +0000 (23:05 +0100)]
refactor(reforcexy): refine configuration template
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sun, 23 Feb 2025 21:28:03 +0000 (22:28 +0100)]
refactor(reforcexy): improve logging messages
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
Jérôme Benoit [Sun, 23 Feb 2025 20:37:16 +0000 (21:37 +0100)]
docs(reforcexy): add code comment
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
Jérôme Benoit [Sun, 23 Feb 2025 18:09:34 +0000 (19:09 +0100)]
fix(reforcexy): fix filename
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sun, 23 Feb 2025 17:15:23 +0000 (18:15 +0100)]
feat(reforcexy): make hyperopt per pair tunable
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sun, 23 Feb 2025 13:07:48 +0000 (14:07 +0100)]
perf(qav3): fine tune extrema smoothing gaussian window
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sun, 23 Feb 2025 12:43:41 +0000 (13:43 +0100)]
refactor(reforcexy): log in tensorboard invalid action
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sat, 22 Feb 2025 12:13:40 +0000 (13:13 +0100)]
refactor: raise error is no pairs are defined
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 21 Feb 2025 23:17:47 +0000 (00:17 +0100)]
refactor(reforcexy): refine configuration template
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
Jérôme Benoit [Fri, 21 Feb 2025 23:08:34 +0000 (00:08 +0100)]
refactor(reforcexy): more typing
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
Jérôme Benoit [Fri, 21 Feb 2025 20:35:19 +0000 (21:35 +0100)]
fix(reforcexy): refine reward method logic
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 21 Feb 2025 17:03:59 +0000 (18:03 +0100)]
refactor!: align file namespace
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 21 Feb 2025 14:26:07 +0000 (15:26 +0100)]
refactor(qav3): cleanup optuna best params persistence handling
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 21 Feb 2025 11:44:37 +0000 (12:44 +0100)]
fix(reforcexy): properly display HPO study best params
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Thu, 20 Feb 2025 21:54:38 +0000 (22:54 +0100)]
feat(qav3): make persistent hyperopt params
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Thu, 20 Feb 2025 18:21:37 +0000 (19:21 +0100)]
refactor(qav3): refine typing
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Thu, 20 Feb 2025 17:52:32 +0000 (18:52 +0100)]
refactor(reforcexy): cleanup uneeded logging
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Thu, 20 Feb 2025 16:59:17 +0000 (17:59 +0100)]
refactor(qav3): move attributes init to constructor
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Thu, 20 Feb 2025 15:16:16 +0000 (16:16 +0100)]
refactor(qav3): factor out optuna storage handling ops
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Thu, 20 Feb 2025 09:20:41 +0000 (10:20 +0100)]
refactor(qav3): readd label period optimization
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Thu, 20 Feb 2025 06:29:47 +0000 (07:29 +0100)]
refactor(qav3): disable label period hyperopt until proper solution is
found
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Thu, 20 Feb 2025 05:24:37 +0000 (06:24 +0100)]
fix(qav3): handle corner case shape alignement
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Wed, 19 Feb 2025 23:21:24 +0000 (00:21 +0100)]
refactor(qav3): variable namespace cleanup
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Wed, 19 Feb 2025 23:12:51 +0000 (00:12 +0100)]
fix(qav3): ensure shape alignement
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Wed, 19 Feb 2025 22:27:42 +0000 (23:27 +0100)]
fix(qav3): pad not evenly shapped chunks
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Wed, 19 Feb 2025 21:51:58 +0000 (22:51 +0100)]
perf(qav3): fine tune the labeling window size computation
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
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>