From: Jérôme Benoit Date: Mon, 13 Jul 2026 00:08:53 +0000 (+0200) Subject: refactor: qualify static method calls X-Git-Url: https://git.piment-noir.org/?a=commitdiff_plain;ds=sidebyside;p=freqai-strategies.git refactor: qualify static method calls --- diff --git a/ReforceXY/reward_space_analysis/tests/test_base.py b/ReforceXY/reward_space_analysis/tests/test_base.py index 4bb2698..d3d6e74 100644 --- a/ReforceXY/reward_space_analysis/tests/test_base.py +++ b/ReforceXY/reward_space_analysis/tests/test_base.py @@ -77,7 +77,7 @@ class RewardSpaceTestBase(unittest.TestCase): def setUp(self): """Set up test fixtures with reproducible random seed.""" - self.seed_all(SEEDS.BASE) + RewardSpaceTestBase.seed_all(SEEDS.BASE) self.temp_dir = tempfile.mkdtemp() self.output_path = Path(self.temp_dir) @@ -203,7 +203,7 @@ class RewardSpaceTestBase(unittest.TestCase): pnl, trade_duration, idle_duration, position. Guarantees: no NaN; reward_idle==0 where idle_duration==0. """ if seed is not None: - self.seed_all(seed) + RewardSpaceTestBase.seed_all(seed) pnl_std_eff = PARAMS.PNL_STD if pnl_std is None else pnl_std reward = np.random.normal(reward_mean, reward_std, n) pnl = np.random.normal(pnl_mean, pnl_std_eff, n) @@ -422,7 +422,7 @@ class RewardSpaceTestBase(unittest.TestCase): def _make_idle_variance_df(self, n: int = 100) -> pd.DataFrame: """Synthetic dataframe focusing on idle_duration ↔ reward_idle correlation.""" - self.seed_all(SEEDS.BASE) + RewardSpaceTestBase.seed_all(SEEDS.BASE) idle_duration = np.random.exponential(10, n) reward_idle = -0.01 * idle_duration + np.random.normal(0, 0.001, n) return pd.DataFrame( diff --git a/ReforceXY/user_data/freqaimodels/ReforceXY.py b/ReforceXY/user_data/freqaimodels/ReforceXY.py index a40e108..c5ed1bf 100644 --- a/ReforceXY/user_data/freqaimodels/ReforceXY.py +++ b/ReforceXY/user_data/freqaimodels/ReforceXY.py @@ -1464,7 +1464,7 @@ class ReforceXY(BaseReinforcementLearningModel): ) # "file" elif storage_backend == ReforceXY._STORAGE_BACKENDS[1]: - storage = self._create_recovered_journal_storage( + storage = ReforceXY._create_recovered_journal_storage( storage_dir / f"{storage_filename}.log" ) else: @@ -2390,7 +2390,7 @@ class MyRLEnv(Base5ActionRLEnv): duration_multiplier = 1.0 if risk_reward_ratio is not None: - duration_multiplier = self._loss_duration_multiplier( + duration_multiplier = MyRLEnv._loss_duration_multiplier( pnl_ratio, risk_reward_ratio, ) diff --git a/quickadapter/user_data/strategies/LabelTransformer.py b/quickadapter/user_data/strategies/LabelTransformer.py index 58129f0..aec380f 100644 --- a/quickadapter/user_data/strategies/LabelTransformer.py +++ b/quickadapter/user_data/strategies/LabelTransformer.py @@ -403,7 +403,7 @@ class LabelTransformer(BaseTransform): if method == STANDARDIZATION_TYPES[0]: # none return values if method == STANDARDIZATION_TYPES[3]: # mmad - return self._apply_mmad( + return LabelTransformer._apply_mmad( values, mask, state.median, @@ -421,7 +421,7 @@ class LabelTransformer(BaseTransform): scaler = getattr(state, scaler_attr, None) if scaler is None: raise RuntimeError(f"{scaler_attr} not fitted") - return self._apply_scaler(values, mask, scaler, inverse=inverse) + return LabelTransformer._apply_scaler(values, mask, scaler, inverse=inverse) def _normalize( self, @@ -432,7 +432,7 @@ class LabelTransformer(BaseTransform): ) -> NDArray[np.floating]: method = state.config["normalization"] if method == NORMALIZATION_TYPES[2]: # sigmoid - return self._apply_sigmoid( + return LabelTransformer._apply_sigmoid( values, mask, state.config["sigmoid_scale"], inverse=inverse ) if method == NORMALIZATION_TYPES[3]: # none @@ -447,7 +447,7 @@ class LabelTransformer(BaseTransform): scaler = getattr(state, scaler_attr, None) if scaler is None: raise RuntimeError(f"{scaler_attr} not fitted") - return self._apply_scaler(values, mask, scaler, inverse=inverse) + return LabelTransformer._apply_scaler(values, mask, scaler, inverse=inverse) def _fit_standardization( self, values: NDArray[np.floating], state: _ColumnState @@ -538,7 +538,7 @@ class LabelTransformer(BaseTransform): mask = np.isfinite(values) if inverse: - degamma = self._apply_gamma( + degamma = LabelTransformer._apply_gamma( values, mask, state.config["gamma"], inverse=True ) denorm = self._normalize(degamma, mask, state, inverse=True) @@ -546,7 +546,7 @@ class LabelTransformer(BaseTransform): else: standardized = self._standardize(values, mask, state, inverse=False) normalized = self._normalize(standardized, mask, state, inverse=False) - return self._apply_gamma( + return LabelTransformer._apply_gamma( normalized, mask, state.config["gamma"], inverse=False ) diff --git a/quickadapter/user_data/strategies/QuickAdapterV3.py b/quickadapter/user_data/strategies/QuickAdapterV3.py index dccbddd..33fd950 100644 --- a/quickadapter/user_data/strategies/QuickAdapterV3.py +++ b/quickadapter/user_data/strategies/QuickAdapterV3.py @@ -2293,7 +2293,7 @@ class QuickAdapterV3(IStrategy): self.get_trade_annotation_line_start_date(dataframe, trade) ) - trade_exit_stage = self.get_trade_exit_stage(trade) + trade_exit_stage = QuickAdapterV3.get_trade_exit_stage(trade) for take_profit_stage, (_, _, color) in self.partial_exit_stages.items(): if take_profit_stage < trade_exit_stage: