]> Piment Noir Git Repositories - freqai-strategies.git/log
freqai-strategies.git
5 weeks agochore: fix renovate configuration
Jérôme Benoit [Fri, 14 Nov 2025 20:14:01 +0000 (21:14 +0100)] 
chore: fix renovate configuration

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
5 weeks agochore: refine renovate configuration
Jérôme Benoit [Fri, 14 Nov 2025 20:01:53 +0000 (21:01 +0100)] 
chore: refine renovate configuration

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
5 weeks agochore: add renovate configuration
Jérôme Benoit [Fri, 14 Nov 2025 19:56:07 +0000 (20:56 +0100)] 
chore: add renovate configuration

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
5 weeks agoperf(qav3): add caching for trade entry/exit confirmation
Jérôme Benoit [Fri, 14 Nov 2025 19:11:35 +0000 (20:11 +0100)] 
perf(qav3): add caching for trade entry/exit confirmation

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
5 weeks agodocs(reforcexy): comment cleanup
Jérôme Benoit [Fri, 14 Nov 2025 17:00:21 +0000 (18:00 +0100)] 
docs(reforcexy): comment cleanup

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
5 weeks agodocs(reforcexy): refine README
Jérôme Benoit [Fri, 14 Nov 2025 16:46:56 +0000 (17:46 +0100)] 
docs(reforcexy): refine README

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
5 weeks agorefactor(docs): simplify excessive documentation in reward_space_analysis
Jérôme Benoit [Fri, 14 Nov 2025 16:46:05 +0000 (17:46 +0100)] 
refactor(docs): simplify excessive documentation in reward_space_analysis

- Reduce _perform_feature_analysis docstring from 76 to 22 lines
- Simplify load_real_episodes docstring by removing implementation details
- Remove narrative comments that violate repository standards
- Eliminate historical references ("centralized for tests")
- Replace speculative language ("could be explored")
- Follow repository documentation conventions: concise, factual, operational

6 weeks agotest(reforcexy): cleanup constants
Jérôme Benoit [Fri, 14 Nov 2025 00:47:13 +0000 (01:47 +0100)] 
test(reforcexy): cleanup constants

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
6 weeks agorefactor(reforcexy): cleanup
Jérôme Benoit [Thu, 13 Nov 2025 23:45:45 +0000 (00:45 +0100)] 
refactor(reforcexy): cleanup

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
6 weeks agodocs(reforcexy): update tests documentation
Jérôme Benoit [Thu, 13 Nov 2025 21:22:21 +0000 (22:22 +0100)] 
docs(reforcexy): update tests documentation

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
6 weeks agodocs: fix markdown formatting
Jérôme Benoit [Thu, 13 Nov 2025 21:00:46 +0000 (22:00 +0100)] 
docs: fix markdown formatting

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
6 weeks agorefactor(reforcexy): split RSA tests in several files (#8)
Jérôme Benoit [Thu, 13 Nov 2025 20:13:51 +0000 (21:13 +0100)] 
refactor(reforcexy): split RSA tests in several files (#8)

* refactor(reforcexy): split RSA tests in several files

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* refactor(reforcexy): format tests code

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* refactor(reforcexy): cleanup tests

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* docs(test): migrate detailed test docs to tests/README; add TEST_COVERAGE_MAP; restore explicit ownership for invariant 116 and drift correction paths

* docs(tests): add missing robustness-decomposition-integrity-101 invariant row and smoke reference annotations

* style(tests): condense narrative comments per repo documentation standards

* refactor(tests): remove TEST_COVERAGE_MAP and inline invariant ownership; add additive-aware single active component helper

* docs: sync documentation

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* docs(tests): add invariant 118 and explicit ownership comments for 113a/113b; update coverage mapping lines

* style(tests): neutralize historical comments per guidelines

* docs(reward-space): neutralize historical phrasing; add quick start and clarified parameter taxonomy

* refactor: code formatting

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* docs: fix markdown syntax

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* Apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* refactor(reforcexy): adress review comments

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* refactor(reforcexy): remove dead imports

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* chore: update openspec configuration

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* chore: refine configuration templates

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* chore: refine configuration template

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* tests: cleanup

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
---------

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
6 weeks agochore: format configuration template
Jérôme Benoit [Tue, 11 Nov 2025 22:29:08 +0000 (23:29 +0100)] 
chore: format configuration template

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
6 weeks agodocs: fix markdown syntax
Jérôme Benoit [Tue, 11 Nov 2025 22:21:03 +0000 (23:21 +0100)] 
docs: fix markdown syntax

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
6 weeks agochore: format README
Jérôme Benoit [Tue, 11 Nov 2025 22:00:04 +0000 (23:00 +0100)] 
chore: format README

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
6 weeks agoperf(qav3): continuous optuna HPO by default
Jérôme Benoit [Mon, 10 Nov 2025 18:14:32 +0000 (19:14 +0100)] 
perf(qav3): continuous optuna HPO by default

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
6 weeks agofix(qav3): propagate only valid optuna value to strategy graphs
Jérôme Benoit [Sun, 9 Nov 2025 19:31:03 +0000 (20:31 +0100)] 
fix(qav3): propagate only valid optuna value to strategy graphs

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
6 weeks agoperf(qav3): fine tune reversal confirmation defaults
Jérôme Benoit [Sun, 9 Nov 2025 15:11:53 +0000 (16:11 +0100)] 
perf(qav3): fine tune reversal confirmation defaults

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
6 weeks agofix(qav3): fix exit stage number computation
Jérôme Benoit [Sat, 8 Nov 2025 22:34:54 +0000 (23:34 +0100)] 
fix(qav3): fix exit stage number computation

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
6 weeks agorefactor(qav3): cleanup optuna code
Jérôme Benoit [Sat, 8 Nov 2025 21:21:55 +0000 (22:21 +0100)] 
refactor(qav3): cleanup optuna code

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
6 weeks agofix(qav3): ensure min_stake is respected at position partial exit
Jérôme Benoit [Sat, 8 Nov 2025 19:59:14 +0000 (20:59 +0100)] 
fix(qav3): ensure min_stake is respected at position partial exit

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
6 weeks agochore(qav3): refine default stoploss value
Jérôme Benoit [Sat, 8 Nov 2025 11:17:41 +0000 (12:17 +0100)] 
chore(qav3): refine default stoploss value

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
6 weeks agofix(qav3): make position adjustement works with futures
Jérôme Benoit [Fri, 7 Nov 2025 20:04:57 +0000 (21:04 +0100)] 
fix(qav3): make position adjustement works with futures

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
6 weeks agofix(qav3): clamp partial exit trade amout to min/max stake amount
Jérôme Benoit [Fri, 7 Nov 2025 12:32:07 +0000 (13:32 +0100)] 
fix(qav3): clamp partial exit trade amout to min/max stake amount

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
7 weeks agofeat: add tunable for leverage
Jérôme Benoit [Wed, 5 Nov 2025 15:28:23 +0000 (16:28 +0100)] 
feat: add tunable for leverage

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
7 weeks agochore: refine configuration template
Jérôme Benoit [Sat, 1 Nov 2025 17:59:36 +0000 (18:59 +0100)] 
chore: refine configuration template

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
7 weeks agofix(qav3): do not enforce freqtrade order_types defaults
Jérôme Benoit [Sat, 1 Nov 2025 14:34:15 +0000 (15:34 +0100)] 
fix(qav3): do not enforce freqtrade order_types defaults

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
7 weeks agochore(qav3): refine labeling NATR max candles horizon
Jérôme Benoit [Fri, 31 Oct 2025 17:36:17 +0000 (18:36 +0100)] 
chore(qav3): refine labeling NATR max candles horizon

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
7 weeks agorefactor(qav3): cleanup tunables default building
Jérôme Benoit [Fri, 31 Oct 2025 16:29:02 +0000 (17:29 +0100)] 
refactor(qav3): cleanup tunables default building

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
7 weeks agorefactor(qav3,regressor): centralize label default initialization via Utils.get_label...
Jérôme Benoit [Fri, 31 Oct 2025 16:03:25 +0000 (17:03 +0100)] 
refactor(qav3,regressor): centralize label default initialization via Utils.get_label_defaults; remove duplicated _init_label_defaults

7 weeks agofix(qav3): restore bot_start initialization and remove unused compute_label_defaults...
Jérôme Benoit [Fri, 31 Oct 2025 15:36:19 +0000 (16:36 +0100)] 
fix(qav3): restore bot_start initialization and remove unused compute_label_defaults import

7 weeks agofeat(qav3): add more tunables for reservals labeling HPO
Jérôme Benoit [Fri, 31 Oct 2025 15:11:50 +0000 (16:11 +0100)] 
feat(qav3): add more tunables for reservals labeling HPO

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agorefactor(qav3): validate tunables
Jérôme Benoit [Sat, 25 Oct 2025 17:29:39 +0000 (19:29 +0200)] 
refactor(qav3): validate tunables

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agorefactor(qav3): add more tunables for reversal confirmation heuristic
Jérôme Benoit [Sat, 25 Oct 2025 14:24:43 +0000 (16:24 +0200)] 
refactor(qav3): add more tunables for reversal confirmation heuristic

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agofix(reforcexy): load previous best params at hyperopt only if needed
Jérôme Benoit [Fri, 24 Oct 2025 19:43:10 +0000 (21:43 +0200)] 
fix(reforcexy): load previous best params at hyperopt only if needed

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agochore(deps): remove unneeded dep
Jérôme Benoit [Thu, 23 Oct 2025 22:42:01 +0000 (00:42 +0200)] 
chore(deps): remove unneeded dep

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agorefactor(qav3): refine log message
Jérôme Benoit [Thu, 23 Oct 2025 17:14:47 +0000 (19:14 +0200)] 
refactor(qav3): refine log message

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agochore: refine Serena MCP configuration
Jérôme Benoit [Wed, 22 Oct 2025 22:39:22 +0000 (00:39 +0200)] 
chore: refine Serena MCP configuration

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agochore: add Serena MCP configuration
Jérôme Benoit [Wed, 22 Oct 2025 22:04:46 +0000 (00:04 +0200)] 
chore: add Serena MCP configuration

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agotest(reforcexy): tests cleanups
Jérôme Benoit [Wed, 22 Oct 2025 21:37:32 +0000 (23:37 +0200)] 
test(reforcexy): tests cleanups

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agotest(reforcexy): split RSA tests
Jérôme Benoit [Wed, 22 Oct 2025 19:18:08 +0000 (21:18 +0200)] 
test(reforcexy): split RSA tests

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agoperf(qav3): cache label frequency candles computation
Jérôme Benoit [Wed, 22 Oct 2025 15:06:30 +0000 (17:06 +0200)] 
perf(qav3): cache label frequency candles computation

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agorefactor(qav3): use smart heuristic to compute label_frequency_candles
Jérôme Benoit [Wed, 22 Oct 2025 11:33:38 +0000 (13:33 +0200)] 
refactor(qav3): use smart heuristic to compute label_frequency_candles

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agofeat(qav3): add tunable to enable HPO search space reduction
Jérôme Benoit [Tue, 21 Oct 2025 19:12:26 +0000 (21:12 +0200)] 
feat(qav3): add tunable to enable HPO search space reduction

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agochore(reforcexy): migrate RSA to uv project manager
Jérôme Benoit [Tue, 21 Oct 2025 11:56:21 +0000 (13:56 +0200)] 
chore(reforcexy): migrate RSA to uv project manager

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agorefactor(reforcexy): cleanup RSA implementation
Jérôme Benoit [Tue, 21 Oct 2025 11:19:26 +0000 (13:19 +0200)] 
refactor(reforcexy): cleanup RSA implementation

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agorefactor(reforcexy): add effect size at validation
Jérôme Benoit [Mon, 20 Oct 2025 21:58:43 +0000 (23:58 +0200)] 
refactor(reforcexy): add effect size at validation

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agofix(reforcexy): avoid potential divide by 0
Jérôme Benoit [Mon, 20 Oct 2025 21:28:11 +0000 (23:28 +0200)] 
fix(reforcexy): avoid potential divide by 0

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agofeat(reforcexy): instrument PBRS rewarding implementation (#7)
Jérôme Benoit [Mon, 20 Oct 2025 20:37:00 +0000 (22:37 +0200)] 
feat(reforcexy): instrument PBRS rewarding implementation (#7)

* feat(reforcexy): instrument PBRS rewarding implementation

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* refactor(reforcexy): remove RSA duplicated tests

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* chore: address review comments

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* chore: address more review comments

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* refactor(reforcexy): move max_trade_duration_candles to reward params

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* refactor(reforcexy): remove max_trade_duration from context

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* Update ReforceXY/reward_space_analysis/test_reward_space_analysis.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update ReforceXY/reward_space_analysis/reward_space_analysis.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* refactor(reforcexy): cleanup cli test implementation

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* test(reforcexy): fix tests

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* refactor(reforcexy): factor out pnl_target handling

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* fix(reforcexy): ensure RSA behave as intented

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* test(reforcexy): improve tests expectations

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* refactor(reforcexy): cleanup RSA code

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* refactor(reforcexy): deprecate max_trade_duration as CLI opt in RSA

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* refactor(reforcexy): deprecate max_trade_duration some more

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* refactor(reforcexy): cleanup max_idle_duration_candles extraction

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* refactor(reforcexy): cleanup RSA implementation

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
---------

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2 months agofix: change window_size variable to use CONV_WIDTH
Jérôme Benoit [Fri, 17 Oct 2025 23:19:56 +0000 (01:19 +0200)] 
fix: change window_size variable to use CONV_WIDTH

2 months agorefactor(reforxexy): factor out PBRS discount gamma transmission to env
Jérôme Benoit [Thu, 16 Oct 2025 21:07:04 +0000 (23:07 +0200)] 
refactor(reforxexy): factor out PBRS discount gamma transmission to env

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agodocs(reforcexy): incorrect definition of PBRS invariance
Jérôme Benoit [Thu, 16 Oct 2025 14:12:16 +0000 (16:12 +0200)] 
docs(reforcexy): incorrect definition of PBRS invariance

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agotest(reforcexy): improve coverage
Jérôme Benoit [Wed, 15 Oct 2025 22:54:38 +0000 (00:54 +0200)] 
test(reforcexy): improve coverage

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agorefactor(reforcexy): align PBRS params namespace
Jérôme Benoit [Wed, 15 Oct 2025 21:23:42 +0000 (23:23 +0200)] 
refactor(reforcexy): align PBRS params namespace

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agodocs(reforcexy): fix table formatting
Jérôme Benoit [Wed, 15 Oct 2025 21:18:29 +0000 (23:18 +0200)] 
docs(reforcexy): fix table formatting

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agorefactor(reforcexy): align CLI namespace
Jérôme Benoit [Wed, 15 Oct 2025 20:50:14 +0000 (22:50 +0200)] 
refactor(reforcexy): align CLI namespace

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agodocs(reforcexy): cleanup content
Jérôme Benoit [Wed, 15 Oct 2025 20:25:22 +0000 (22:25 +0200)] 
docs(reforcexy): cleanup content

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agotest(reforcexy): factor out params building
Jérôme Benoit [Wed, 15 Oct 2025 18:48:47 +0000 (20:48 +0200)] 
test(reforcexy): factor out params building

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agotest(refactor): move helper as method
Jérôme Benoit [Wed, 15 Oct 2025 18:05:53 +0000 (20:05 +0200)] 
test(refactor): move helper as method

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agotest(reforcexy): code cleanups
Jérôme Benoit [Wed, 15 Oct 2025 17:25:35 +0000 (19:25 +0200)] 
test(reforcexy): code cleanups

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agorefactor(reforcexy): PBRS transform namespace cleanup
Jérôme Benoit [Wed, 15 Oct 2025 09:42:46 +0000 (11:42 +0200)] 
refactor(reforcexy): PBRS transform namespace cleanup

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agorefactor(reforcexy): rationalize PBRS transforms list
Jérôme Benoit [Wed, 15 Oct 2025 09:24:48 +0000 (11:24 +0200)] 
refactor(reforcexy): rationalize PBRS transforms list

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agofix(reforcexy): add non-canonical exit to use PBRS additives
Jérôme Benoit [Tue, 14 Oct 2025 23:35:57 +0000 (01:35 +0200)] 
fix(reforcexy): add non-canonical exit to use PBRS additives

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agorefactor(reforcexy): PBRS requires per pair HPO
Jérôme Benoit [Tue, 14 Oct 2025 20:47:34 +0000 (22:47 +0200)] 
refactor(reforcexy): PBRS requires per pair HPO

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agodocs: refine README.md
Jérôme Benoit [Tue, 14 Oct 2025 20:04:18 +0000 (22:04 +0200)] 
docs: refine README.md

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agodocs(reforcexy): README.md format issue
Jérôme Benoit [Tue, 14 Oct 2025 18:30:49 +0000 (20:30 +0200)] 
docs(reforcexy): README.md format issue

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agofeat(qav3): add tunables for the reversal confirmation heuristic
Jérôme Benoit [Tue, 14 Oct 2025 18:00:40 +0000 (20:00 +0200)] 
feat(qav3): add tunables for the reversal confirmation heuristic

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agochore: comments cleanup
Jérôme Benoit [Tue, 14 Oct 2025 15:49:11 +0000 (17:49 +0200)] 
chore: comments cleanup

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agoperf(reforcexy): make exit reward risk/reward ratio aware
Jérôme Benoit [Tue, 14 Oct 2025 15:30:41 +0000 (17:30 +0200)] 
perf(reforcexy): make exit reward risk/reward ratio aware

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agochore(reforcexy): silence env check warnings
Jérôme Benoit [Mon, 13 Oct 2025 21:47:57 +0000 (23:47 +0200)] 
chore(reforcexy): silence env check warnings

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agochore(reforcexy): add dynamic potential based rewards (#6)
Jérôme Benoit [Mon, 13 Oct 2025 21:39:10 +0000 (23:39 +0200)] 
chore(reforcexy): add dynamic potential based rewards (#6)

* chore(reforcexy): add dynamic potential based rewards

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* refactor(reforcexy): align tunables namespace

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* refactor(reforcexy): factor out pnl_target validation

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* refactor(reforcexy): cleanup PBRS integration

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* refactor(reforcexy): factor out default idle duration multiplier

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* chore: cleanup variable initialization

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* refactor(reforcexy): factor out PBRS next state definition

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* chore: revert copilot incorrect suggestions

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* refactor(reforcexy): PBRS integration code cleanups

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* refactor(reforcexy): handle overtflow

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* refactor(reforcexy): avoid code duplication

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* refactor(reforcexy): add PBRS instrumentation

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* refactor(reforcexy): factor out PBRS signal computation

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* refactor(reforcexy): add check to PBRS logic

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* chore: sync PBRS in RSA

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* refactor(reforcexy): cleanup PBRS integration in RSA

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* Apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* docs: add PBRS

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* fix(reforcexy): ensure model gamma is transmitted to env

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
---------

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2 months agorefactor(reforcexy): remove unneeded defaults
Jérôme Benoit [Sun, 12 Oct 2025 14:38:47 +0000 (16:38 +0200)] 
refactor(reforcexy): remove unneeded defaults

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agofeat(reforcexy): add support for RecurrentPPO model
Jérôme Benoit [Sun, 12 Oct 2025 14:19:33 +0000 (16:19 +0200)] 
feat(reforcexy): add support for RecurrentPPO model

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agofix(reforcexy): use a stable reward metric for optuna best trial
Jérôme Benoit [Sat, 11 Oct 2025 19:18:58 +0000 (21:18 +0200)] 
fix(reforcexy): use a stable reward metric for optuna best trial
selection

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agorefactor(reforcexy): move trade signal validation logic in the same
Jérôme Benoit [Sat, 11 Oct 2025 19:01:47 +0000 (21:01 +0200)] 
refactor(reforcexy): move trade signal validation logic in the same
     helper

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agorefactor(reforcexy): organize imports
Jérôme Benoit [Sat, 11 Oct 2025 18:13:45 +0000 (20:13 +0200)] 
refactor(reforcexy): organize imports

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agofix(reforcexy): tensboard plot after force actions removal
Jérôme Benoit [Sat, 11 Oct 2025 17:27:07 +0000 (19:27 +0200)] 
fix(reforcexy): tensboard plot after force actions removal

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agorefactor(reforcexy): code cleanups
Jérôme Benoit [Sat, 11 Oct 2025 16:31:43 +0000 (18:31 +0200)] 
refactor(reforcexy): code cleanups

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agorefactor(reforcexy): code cleanups
Jérôme Benoit [Sat, 11 Oct 2025 16:26:04 +0000 (18:26 +0200)] 
refactor(reforcexy): code cleanups

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agorefactor(reforcexy): remove force actions logic interfering with RL
Jérôme Benoit [Sat, 11 Oct 2025 15:58:49 +0000 (17:58 +0200)] 
refactor(reforcexy): remove force actions logic interfering with RL
     reward logic

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agochore: refine GH copilot instructions
Jérôme Benoit [Sat, 11 Oct 2025 12:33:20 +0000 (14:33 +0200)] 
chore: refine GH copilot instructions

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agochore: refine GH copilot instructions
Jérôme Benoit [Sat, 11 Oct 2025 12:08:37 +0000 (14:08 +0200)] 
chore: refine GH copilot instructions

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agodocs(qav3): refine configuration template
Jérôme Benoit [Fri, 10 Oct 2025 12:56:05 +0000 (14:56 +0200)] 
docs(qav3): refine configuration template

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agodocs(reforcexy): refine README.md
Jérôme Benoit [Fri, 10 Oct 2025 10:27:16 +0000 (12:27 +0200)] 
docs(reforcexy): refine README.md

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agorefactor(reforcexy): rsa code cleanups
Jérôme Benoit [Thu, 9 Oct 2025 22:31:12 +0000 (00:31 +0200)] 
refactor(reforcexy): rsa code cleanups

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agorefactor(reforcexy): cleanup rsa code
Jérôme Benoit [Thu, 9 Oct 2025 22:18:01 +0000 (00:18 +0200)] 
refactor(reforcexy): cleanup rsa code

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agodocs(reforcexy): refine README.md
Jérôme Benoit [Thu, 9 Oct 2025 21:46:09 +0000 (23:46 +0200)] 
docs(reforcexy): refine README.md

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agodocs(reforcexy): fix bullet list
Jérôme Benoit [Thu, 9 Oct 2025 21:33:22 +0000 (23:33 +0200)] 
docs(reforcexy): fix bullet list

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agotest(reforcexy): fix np.isclose() invocation
Jérôme Benoit [Thu, 9 Oct 2025 20:24:19 +0000 (22:24 +0200)] 
test(reforcexy): fix np.isclose() invocation

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agoperf(reforcexy): refine default reward tunables
Jérôme Benoit [Thu, 9 Oct 2025 20:18:51 +0000 (22:18 +0200)] 
perf(reforcexy): refine default reward tunables

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agoperf(qav3): reversal confirmation heuristic over 2 previous candles
Jérôme Benoit [Wed, 8 Oct 2025 23:04:23 +0000 (01:04 +0200)] 
perf(qav3): reversal confirmation heuristic over 2 previous candles

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agofix(reforcexy): fix efficiency factor computation logic
Jérôme Benoit [Wed, 8 Oct 2025 23:02:38 +0000 (01:02 +0200)] 
fix(reforcexy): fix efficiency factor computation logic

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agorefactor(reforcexy): cleanup tests
Jérôme Benoit [Wed, 8 Oct 2025 18:42:06 +0000 (20:42 +0200)] 
refactor(reforcexy): cleanup tests

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agorefactor(reforcexy): remove uneeded code
Jérôme Benoit [Wed, 8 Oct 2025 13:41:48 +0000 (15:41 +0200)] 
refactor(reforcexy): remove uneeded code

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agorefactor(reforcexy): cleanup tests
Jérôme Benoit [Wed, 8 Oct 2025 13:39:13 +0000 (15:39 +0200)] 
refactor(reforcexy): cleanup tests

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agorefactor(reforcexy): cleanup reward space analysis code
Jérôme Benoit [Wed, 8 Oct 2025 12:10:57 +0000 (14:10 +0200)] 
refactor(reforcexy): cleanup reward space analysis code

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agorefactor(reforcexy): refine reward CLI API
Jérôme Benoit [Tue, 7 Oct 2025 22:09:17 +0000 (00:09 +0200)] 
refactor(reforcexy): refine reward CLI API

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agodocs: fix ToC
Jérôme Benoit [Tue, 7 Oct 2025 20:54:22 +0000 (22:54 +0200)] 
docs: fix ToC

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agodocs: add ToC
Jérôme Benoit [Tue, 7 Oct 2025 20:47:21 +0000 (22:47 +0200)] 
docs: add ToC

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2 months agodocs(README.md): improve tunables documentation
Jérôme Benoit [Tue, 7 Oct 2025 19:31:54 +0000 (21:31 +0200)] 
docs(README.md): improve tunables documentation

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>