]>
Piment Noir Git Repositories - freqai-strategies.git/log
Jérôme Benoit [Fri, 26 Sep 2025 18:29:59 +0000 (20:29 +0200)]
fix(reforcexy): spot support at model training
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 26 Sep 2025 11:55:38 +0000 (13:55 +0200)]
refactor(reforcexy): keep nested directory structure at hypertopt
Failure at finding a model is unrelated
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 26 Sep 2025 11:33:31 +0000 (13:33 +0200)]
fix(reforce): try to make hyperopt outputs not resusable by FT
And hopefully still cleaned up
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Thu, 25 Sep 2025 19:49:48 +0000 (21:49 +0200)]
refactor(reforcexy): refine typing
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Thu, 25 Sep 2025 19:40:04 +0000 (21:40 +0200)]
refactor(reforcexy): refine typing
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Thu, 25 Sep 2025 15:31:30 +0000 (17:31 +0200)]
perf(qav3): refine signal filter
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Thu, 25 Sep 2025 09:32:39 +0000 (11:32 +0200)]
refactor(qav3): ensure safe hyperband pruner configuration
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Wed, 24 Sep 2025 22:09:18 +0000 (00:09 +0200)]
fix(reforcexy): train frequency handling
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Wed, 24 Sep 2025 21:06:56 +0000 (23:06 +0200)]
refactor(reforcexy): refine typing
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Wed, 24 Sep 2025 21:05:18 +0000 (23:05 +0200)]
refactor(reforcexy): cleanup train frequency handling
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Wed, 24 Sep 2025 20:06:32 +0000 (22:06 +0200)]
fix(reforcexy): ensure penalty at holding trade with pnl target reached
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Wed, 24 Sep 2025 17:40:10 +0000 (19:40 +0200)]
refactor(reforcexy): ensure trade efficiency logic is applied at holding
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Wed, 24 Sep 2025 16:11:48 +0000 (18:11 +0200)]
fix(reforcexy): gradient steps computation
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Wed, 24 Sep 2025 15:16:54 +0000 (17:16 +0200)]
chore(qav3): bump versions
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Wed, 24 Sep 2025 15:12:23 +0000 (17:12 +0200)]
perf(reforcexy): revamp rewarding logic, take 2
the initial revamp was catastrophic
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Tue, 23 Sep 2025 21:45:58 +0000 (23:45 +0200)]
refactor(qav3): code formatting
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Tue, 23 Sep 2025 21:44:18 +0000 (23:44 +0200)]
fix(qav3): fix sklearn extra installation
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Tue, 23 Sep 2025 21:28:41 +0000 (23:28 +0200)]
feat(qav3): add kmedoids metric to MO trial selection
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Tue, 23 Sep 2025 20:50:43 +0000 (22:50 +0200)]
refactor(qav3): factor out pairwise distance sums computation
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Tue, 23 Sep 2025 18:40:01 +0000 (20:40 +0200)]
refactor(reforcexy): remove unneeded helper
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Tue, 23 Sep 2025 13:52:16 +0000 (15:52 +0200)]
perf(reforcexy): inital revamp of rewarding logic
* more continous reward space for gradient friendlyness
* HH and LL based reward when position if open
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Mon, 22 Sep 2025 11:44:46 +0000 (13:44 +0200)]
refactor(reforcexy): rename build_train_freq -> _build_train_freq
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Mon, 22 Sep 2025 11:35:12 +0000 (13:35 +0200)]
refactor(reforcexy): factor out DQN train_freq handling
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sun, 21 Sep 2025 22:48:47 +0000 (00:48 +0200)]
refactor(reforcexy): refine variables and methods namespace
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sun, 21 Sep 2025 22:31:36 +0000 (00:31 +0200)]
refactor(reforcexy): cleanup training schedule handling code
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sun, 21 Sep 2025 20:38:34 +0000 (22:38 +0200)]
refactor(qav3): refine weighted_close() signature
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sun, 21 Sep 2025 20:24:51 +0000 (22:24 +0200)]
chore: refine configuration
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sun, 21 Sep 2025 20:11:32 +0000 (22:11 +0200)]
refactor(reforcexy): ensure envs are created with consistent data
snapshots
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sun, 21 Sep 2025 17:03:48 +0000 (19:03 +0200)]
fix(reforcexy): evaluation frequency computation
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sun, 21 Sep 2025 14:41:06 +0000 (16:41 +0200)]
refactor(reforcexy): code formatting
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sun, 21 Sep 2025 14:40:31 +0000 (16:40 +0200)]
refactor(reforcexy): refine log message
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sun, 21 Sep 2025 14:37:54 +0000 (16:37 +0200)]
refactor(reforcexy): factor out safe logger helper
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sun, 21 Sep 2025 12:31:54 +0000 (14:31 +0200)]
fix: ensure different hyperopt seed per trial
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sun, 21 Sep 2025 10:09:35 +0000 (12:09 +0200)]
fix: ensure std on samples apply Bessel correction
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sat, 20 Sep 2025 20:07:27 +0000 (22:07 +0200)]
refactor(reforcexy): ensure HPO trial start is always logged
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sat, 20 Sep 2025 19:39:13 +0000 (21:39 +0200)]
fix(reforcexy): fix arguments order at get_callbacks()
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sat, 20 Sep 2025 19:24:08 +0000 (21:24 +0200)]
perf(reforcexy): isolate and seed HPO envs
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sat, 20 Sep 2025 16:35:34 +0000 (18:35 +0200)]
perf(reforcexy): make MyRLEnv a non nested class
also fix another serious logic issue at optuna integration coming from
the orginal implementation.
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 19 Sep 2025 20:07:45 +0000 (22:07 +0200)]
fix(reforcexy): ensure thread safety everywhere
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 19 Sep 2025 19:59:34 +0000 (21:59 +0200)]
fix(reforcexy): ensure thread safety with multiprocessing
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 19 Sep 2025 19:53:58 +0000 (21:53 +0200)]
refactor(reforcexy): refine configuration template
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 19 Sep 2025 19:18:44 +0000 (21:18 +0200)]
refactor(reforcexy): ensure position arg is normalized
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 19 Sep 2025 18:55:31 +0000 (20:55 +0200)]
fix(reforcexy): fix access to _total_timesteps property
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 19 Sep 2025 18:41:02 +0000 (20:41 +0200)]
refactor(reforcexy): add learning progress tracking to tensorboard
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 19 Sep 2025 17:44:05 +0000 (19:44 +0200)]
refactor(reforcexy): factor out action validation and masking logic
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 19 Sep 2025 16:36:03 +0000 (18:36 +0200)]
perf(qav3): less strict reversal confirmation
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 19 Sep 2025 16:03:49 +0000 (18:03 +0200)]
refactor(reforcexy): remove dead code
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 19 Sep 2025 14:55:53 +0000 (16:55 +0200)]
perf(qav3): fine tune labeling optuna optimization
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 19 Sep 2025 14:37:11 +0000 (16:37 +0200)]
refactor(reforcexy): refine log message
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 19 Sep 2025 13:54:27 +0000 (15:54 +0200)]
refactor(reforcexy): sensible variable name
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 19 Sep 2025 13:48:00 +0000 (15:48 +0200)]
fix(reforcexy): proper action masking implementation
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 19 Sep 2025 00:04:38 +0000 (02:04 +0200)]
refactor(reforcexy): rename variable
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Thu, 18 Sep 2025 23:48:29 +0000 (01:48 +0200)]
fix(reforcexy): fix get_most_recent_max_pnl() semantic
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Thu, 18 Sep 2025 21:09:23 +0000 (23:09 +0200)]
perf(reforcexy): refine optuna trial pruning condition
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Thu, 18 Sep 2025 20:09:48 +0000 (22:09 +0200)]
feat(reforcexy): subprocvec support
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Thu, 18 Sep 2025 13:27:23 +0000 (15:27 +0200)]
fix(reforcexy): properly separate hyperopt data from training data
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Thu, 18 Sep 2025 10:39:52 +0000 (12:39 +0200)]
fix(reforcexy): double evaluation during hyperopt
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Thu, 18 Sep 2025 10:02:46 +0000 (12:02 +0200)]
refactor(qav3): properly integrate knn in MO trial selection
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Wed, 17 Sep 2025 18:38:11 +0000 (20:38 +0200)]
refactor(reforcexy): cleanup frame stacking implementation
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Wed, 17 Sep 2025 14:34:49 +0000 (16:34 +0200)]
refactor(reforcexy): align variable name
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Wed, 17 Sep 2025 13:55:23 +0000 (15:55 +0200)]
fix(qav3): default value for pivot labeling
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Wed, 17 Sep 2025 13:48:00 +0000 (15:48 +0200)]
refactor(reforcexy): filter properly float conversion errors
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Wed, 17 Sep 2025 13:38:15 +0000 (15:38 +0200)]
fix: assorted bug fixes
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Tue, 16 Sep 2025 23:23:49 +0000 (01:23 +0200)]
refactor(qav3): blank line removal
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Tue, 16 Sep 2025 23:20:12 +0000 (01:20 +0200)]
feat(qav3): improve MO trial selection for kmeans
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Tue, 16 Sep 2025 20:48:26 +0000 (22:48 +0200)]
perf(qav3): tune pivot labeling optimization thresholds
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Tue, 16 Sep 2025 19:28:24 +0000 (21:28 +0200)]
perf(reforcexy): readd minor optimization
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Tue, 16 Sep 2025 19:02:07 +0000 (21:02 +0200)]
fix(reforcexy): idle duration computation
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Tue, 16 Sep 2025 15:02:45 +0000 (17:02 +0200)]
perf(reforcexy): idle duration aware reward
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Tue, 16 Sep 2025 09:56:52 +0000 (11:56 +0200)]
perf(qav3): fine tune pivot labeling HPO
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Tue, 16 Sep 2025 00:12:27 +0000 (02:12 +0200)]
refactor(reforcexy): cleanup logging
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Mon, 15 Sep 2025 21:56:19 +0000 (23:56 +0200)]
perf(qav3): reduce pivot labeling hyperopt search space
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Mon, 15 Sep 2025 19:03:17 +0000 (21:03 +0200)]
fix(qav3): handle xgboost sklearn API properly
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Mon, 15 Sep 2025 18:41:11 +0000 (20:41 +0200)]
refactor: improve a bit training reproducibility
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Mon, 15 Sep 2025 16:11:41 +0000 (18:11 +0200)]
refactor(reforcexy): make n_stack discovery independant of the # of env
wrappers
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Mon, 15 Sep 2025 13:15:26 +0000 (15:15 +0200)]
refactor(reforcexy): track only changed info properties after trade
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Mon, 15 Sep 2025 12:28:04 +0000 (14:28 +0200)]
fix(reforcexy): envs handling at HPO
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Mon, 15 Sep 2025 00:53:21 +0000 (02:53 +0200)]
refactor(reforcexy): remove uneeded check at frame stacking
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Mon, 15 Sep 2025 00:43:44 +0000 (02:43 +0200)]
refactor(refactor): shape at first properly observations window
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Mon, 15 Sep 2025 00:15:24 +0000 (02:15 +0200)]
fix(reforcexy): fix stacked observations shape
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Mon, 15 Sep 2025 00:09:01 +0000 (02:09 +0200)]
fix(reforcexy): proper frame stacking implementation
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sun, 14 Sep 2025 21:48:03 +0000 (23:48 +0200)]
perf(reforcexy): default optuna params for PPO to AdamW optimizer
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sun, 14 Sep 2025 11:09:58 +0000 (13:09 +0200)]
perf(qav3): fine tune pivot labeling optimization
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sat, 13 Sep 2025 23:04:09 +0000 (01:04 +0200)]
perf(qav3): recent pnl declining only condition a final stage trade exit
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sat, 13 Sep 2025 18:28:36 +0000 (20:28 +0200)]
refactor: code cleanups
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sat, 13 Sep 2025 17:50:40 +0000 (19:50 +0200)]
perf(qav3): sensible metric default for MO optimization
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sat, 13 Sep 2025 16:47:03 +0000 (18:47 +0200)]
perf(qav3): use volatility at final stage trade exit conditions
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sat, 13 Sep 2025 12:35:15 +0000 (14:35 +0200)]
refactor(reforcexy): refine log message
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sat, 13 Sep 2025 12:18:50 +0000 (14:18 +0200)]
perf(reforcexy): refine reward calculation
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sat, 13 Sep 2025 00:18:06 +0000 (02:18 +0200)]
perf(reforcexy): fine tune reward calculation
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 12 Sep 2025 20:42:56 +0000 (22:42 +0200)]
perf(qav3): fine tune pivot labeling optimization
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 12 Sep 2025 20:34:42 +0000 (22:34 +0200)]
perf(qav3): tune trade entry/exit confirmation
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 12 Sep 2025 17:26:41 +0000 (19:26 +0200)]
refactor(reforcexy): remove uneeded copy
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 12 Sep 2025 17:06:22 +0000 (19:06 +0200)]
perf(qav3): tune last trade exit condition
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 12 Sep 2025 15:37:31 +0000 (17:37 +0200)]
chore: refine code settings
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 12 Sep 2025 15:28:11 +0000 (17:28 +0200)]
docs(reforcexy): refine docstring
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 12 Sep 2025 13:12:26 +0000 (15:12 +0200)]
perf(reforcexy): enable per pair hyperopt in template
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 12 Sep 2025 12:42:38 +0000 (14:42 +0200)]
perf(qav3): fine tune pivot labeling optimization
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Thu, 11 Sep 2025 21:59:18 +0000 (23:59 +0200)]
perf(qav3): fine tune pivot labeling optimization
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Thu, 11 Sep 2025 10:38:08 +0000 (12:38 +0200)]
perf(qav3): fine tune pivot labeling optimization
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>