]>
Piment Noir Git Repositories - freqai-strategies.git/log
Jérôme Benoit [Tue, 30 Sep 2025 14:37:57 +0000 (16:37 +0200)]
refactor(qav3): cleanup namespace
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Tue, 30 Sep 2025 12:28:48 +0000 (14:28 +0200)]
fix(qav3): revert minimal_roi @property change
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Tue, 30 Sep 2025 10:55:09 +0000 (12:55 +0200)]
fix(qav3): avoid config access to uninitialized properties
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Tue, 30 Sep 2025 10:46:13 +0000 (12:46 +0200)]
perf(qav3): tune fit_live_predictions_candles
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Tue, 30 Sep 2025 09:40:06 +0000 (11:40 +0200)]
refactor(qav3): factor out callable unique hash building
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Tue, 30 Sep 2025 08:41:33 +0000 (10:41 +0200)]
perf(qav3): tune reversal confirmation
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Mon, 29 Sep 2025 19:19:40 +0000 (21:19 +0200)]
fix(reforcexy): ensure env parent class close() is called
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Mon, 29 Sep 2025 17:46:05 +0000 (19:46 +0200)]
refactor(reforcexy): cleanup spot support
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Mon, 29 Sep 2025 16:56:11 +0000 (18:56 +0200)]
fix(reforcexy): ensure model expiracy triggers open trades close
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Mon, 29 Sep 2025 16:08:01 +0000 (18:08 +0200)]
refactor(qav3): kmeans/kmedoids code cleanups
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Mon, 29 Sep 2025 15:39:02 +0000 (17:39 +0200)]
refactor(qav3): cleanup kmedoids integration
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sun, 28 Sep 2025 23:27:36 +0000 (01:27 +0200)]
chore(reforcexy): configuration template alignment
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sun, 28 Sep 2025 22:01:04 +0000 (00:01 +0200)]
perf(qav3): slighly improve time complexity at pivots labeling
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sun, 28 Sep 2025 21:06:41 +0000 (23:06 +0200)]
perf(qav3): improve _get_n_clusters heuristic
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sun, 28 Sep 2025 20:42:39 +0000 (22:42 +0200)]
chore(qav3): bump version
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sun, 28 Sep 2025 20:41:33 +0000 (22:41 +0200)]
fix(qav3): callback throttling per pair and callback once per candle
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sun, 28 Sep 2025 18:49:01 +0000 (20:49 +0200)]
refactor(qav3): cleanup MO _get_n_clusters
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sun, 28 Sep 2025 18:31:38 +0000 (20:31 +0200)]
perf(qav3): improve MO optimization support
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sun, 28 Sep 2025 14:33:47 +0000 (16:33 +0200)]
chore(reforcexy): refine configuration template
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sun, 28 Sep 2025 14:00:21 +0000 (16:00 +0200)]
perf(reforcexy): optimize prediction code path
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sat, 27 Sep 2025 19:34:26 +0000 (21:34 +0200)]
refactor(reforcexy): refine log messages
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sat, 27 Sep 2025 19:15:32 +0000 (21:15 +0200)]
refactor(reforcexy): improve logging
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sat, 27 Sep 2025 18:56:45 +0000 (20:56 +0200)]
perf(reforcexy): make evaluation lighter
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sat, 27 Sep 2025 15:33:46 +0000 (17:33 +0200)]
fix: typo in docker-upgrade.sh
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sat, 27 Sep 2025 15:29:28 +0000 (17:29 +0200)]
fix(reforcexy): ensure padding frame is init with zeros
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 26 Sep 2025 23:26:56 +0000 (01:26 +0200)]
refactor(reforcexy): remove unneeded intermediate variable
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 26 Sep 2025 23:23:48 +0000 (01:23 +0200)]
refactor(reforcexy): remove blank line
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 26 Sep 2025 23:15:39 +0000 (01:15 +0200)]
refactor(reforcexy): add more reward tunables
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 26 Sep 2025 19:50:06 +0000 (21:50 +0200)]
refactor(reforcexy): remove unneeded type casting
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 26 Sep 2025 19:31:38 +0000 (21:31 +0200)]
perf(reforcexy): ensure total timesteps is aligned to model rollout with
PPO
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
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>