]>
Piment Noir Git Repositories - freqai-strategies.git/log
Jérôme Benoit [Mon, 6 Oct 2025 12:55:28 +0000 (14:55 +0200)]
feat(reward): allow exit_piecewise_grace >1 and extend no-attenuation region; docs+tests updated
Jérôme Benoit [Mon, 6 Oct 2025 12:49:51 +0000 (14:49 +0200)]
docs(reward): update README for centralized piecewise helper, parameter adjustment reason, test count
Jérôme Benoit [Mon, 6 Oct 2025 12:37:55 +0000 (14:37 +0200)]
test(reward): add parameter validation, legacy step, piecewise slope=0, non-negative exit factor tests
Jérôme Benoit [Mon, 6 Oct 2025 12:27:49 +0000 (14:27 +0200)]
refactor(reward): centralize piecewise divisor, improve idle fallback, record param adjustment reasons
Jérôme Benoit [Sun, 5 Oct 2025 20:19:09 +0000 (22:19 +0200)]
refactor(reforxy): add default schedule
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sun, 5 Oct 2025 18:35:16 +0000 (20:35 +0200)]
perf(reforcexy): move pnl aware rewarding logic to trade exit actions
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sun, 5 Oct 2025 15:26:08 +0000 (17:26 +0200)]
perf(qav3): tune reversal confirmation logic
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sun, 5 Oct 2025 12:28:16 +0000 (14:28 +0200)]
refactor(reforcexy): cleanup tests
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sun, 5 Oct 2025 11:34:49 +0000 (13:34 +0200)]
chore: refine github copilot instructions
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sat, 4 Oct 2025 22:37:35 +0000 (00:37 +0200)]
docs(reforcexy): refine reward space analysis README
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sat, 4 Oct 2025 22:24:46 +0000 (00:24 +0200)]
refactor(reforcexy): improve synthetic data generation and validation
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sat, 4 Oct 2025 17:48:02 +0000 (19:48 +0200)]
refactor(reforcexy): trivial code cleanup
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sat, 4 Oct 2025 12:50:07 +0000 (14:50 +0200)]
docs(reforcexy): refine reward space analysis doc
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sat, 4 Oct 2025 12:44:56 +0000 (14:44 +0200)]
refactor(reforcexy): cleanup reward space analysis code
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sat, 4 Oct 2025 11:23:37 +0000 (13:23 +0200)]
refactor(reforcexy): cleanup reward space analysis code
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sat, 4 Oct 2025 11:12:31 +0000 (13:12 +0200)]
docs(reforcexy): refine reward space analysis documentation
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sat, 4 Oct 2025 11:02:55 +0000 (13:02 +0200)]
feat(reforcexy): add initial reward space analysis framework
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sat, 4 Oct 2025 09:03:54 +0000 (11:03 +0200)]
perf(qav3): tune reversal confirmation
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Sat, 4 Oct 2025 08:57:59 +0000 (10:57 +0200)]
chore: refine github copilot instructions
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 3 Oct 2025 21:55:08 +0000 (23:55 +0200)]
chore: refine github copilot instructions
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 3 Oct 2025 20:09:58 +0000 (22:09 +0200)]
chore: refine github copilot instructions
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 3 Oct 2025 20:04:35 +0000 (22:04 +0200)]
chore: refine github copilot instructions
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 3 Oct 2025 17:47:03 +0000 (19:47 +0200)]
chore: refine github copilot instructions
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 3 Oct 2025 15:46:59 +0000 (17:46 +0200)]
chore: refine github copilot instructions
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 3 Oct 2025 15:21:36 +0000 (17:21 +0200)]
chore: add github copilot instructions
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Fri, 3 Oct 2025 10:34:05 +0000 (12:34 +0200)]
refactor(reforcexy): cleanup optuna study best trial test
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Thu, 2 Oct 2025 17:24:55 +0000 (19:24 +0200)]
refactor(reforcexy): align namespace for window conv width
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Thu, 2 Oct 2025 16:27:14 +0000 (18:27 +0200)]
refactor(reforcexy): remove blank line
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Thu, 2 Oct 2025 12:44:53 +0000 (14:44 +0200)]
refactor(reforcexy): add warning about add_state_info tunable
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Thu, 2 Oct 2025 11:27:35 +0000 (13:27 +0200)]
fix(reforcexy): ensure virtual position in sync in live state
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Thu, 2 Oct 2025 09:44:22 +0000 (11:44 +0200)]
refactor(reforcexy): cleanup frame stacking condition
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Thu, 2 Oct 2025 09:05:28 +0000 (11:05 +0200)]
refactor(reforcexy): cleanup prediction code path
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Wed, 1 Oct 2025 20:45:18 +0000 (22:45 +0200)]
refactor(reforcexy): cleanup plotting and prediction code
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Wed, 1 Oct 2025 16:25:51 +0000 (18:25 +0200)]
fix(qav3): handle nan properly in smma() computation
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Wed, 1 Oct 2025 13:17:11 +0000 (15:17 +0200)]
perf(qav3): use vectorized ops in more places
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Wed, 1 Oct 2025 11:15:20 +0000 (13:15 +0200)]
refactor(qav3): cleanup and robustify MO trial selection
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Wed, 1 Oct 2025 10:24:54 +0000 (12:24 +0200)]
perf(qav3): use vectorised ops at medoid computation
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Jérôme Benoit [Tue, 30 Sep 2025 19:41:17 +0000 (21:41 +0200)]
feat(reforcexy): integrate warm start and continuous HPO
And align tensorboard path with model training path namespace
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
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>