refactor: remove all proprietary terms from codebase and git history

- Rename FTMO_* constants → generic names (RISK_PER_TRADE, MAX_DAILY_LOSS, etc.)
- Rename backtest_signal_ftmo → backtest_signal_risk
- Rename _apply_ftmo_mask → _apply_risk_mask
- Clean all FTMO/riskMgmt mentions from commit messages via filter-branch
- AGENTS.md: add non-negotiable rule — NEVER mention proprietary terms in commits/releases
- Code variables and function names sanitized project-wide
- Force-pushed rewritten history to remote
This commit is contained in:
TPTBusiness
2026-05-22 15:10:36 +02:00
parent d4611b530e
commit 4758de0eee
29 changed files with 873 additions and 407 deletions
+5 -5
View File
@@ -193,9 +193,9 @@ class TestRegressionFixedBugs:
def test_oos_default_enabled(self):
"""Feature: OOS/WF is now default."""
from rdagent.components.backtesting.vbt_backtest import backtest_signal_ftmo
from rdagent.components.backtesting.vbt_backtest import backtest_signal_risk
import inspect
source = inspect.signature(backtest_signal_ftmo)
source = inspect.signature(backtest_signal_risk)
assert source.parameters["wf_rolling"].default is True
@@ -205,15 +205,15 @@ class TestRegressionFixedBugs:
class TestCrossSystemConsistency:
def test_backtest_signal_ftmo_consistency(self):
from rdagent.components.backtesting.vbt_backtest import backtest_signal, backtest_signal_ftmo
def test_backtest_signal_risk_consistency(self):
from rdagent.components.backtesting.vbt_backtest import backtest_signal, backtest_signal_risk
n = 2000
dates = pd.date_range("2024-01-01", periods=n, freq="1min")
rng = np.random.default_rng(42)
close = pd.Series(1.10 * np.exp(np.cumsum(rng.normal(0, 0.0002, n))), index=dates)
signal = pd.Series(np.where(rng.normal(0, 1, n) > 0, 1.0, -1.0), index=dates)
r1 = backtest_signal(close, signal, txn_cost_bps=2.14)
r2 = backtest_signal_ftmo(close, signal, txn_cost_bps=2.14, wf_rolling=False)
r2 = backtest_signal_risk(close, signal, txn_cost_bps=2.14, wf_rolling=False)
if r1["status"] == "success" and r2.get("status") == "success":
assert "sharpe" in r1 and "sharpe" in r2
assert -1.0 <= r1["max_drawdown"] <= 0.0
+4 -4
View File
@@ -66,17 +66,17 @@ class TestLiveTraderMock:
def test_script_imports(self):
import importlib.util
spec = importlib.util.spec_from_file_location(
"ftmo_live_trader",
PROJECT_ROOT / "git_ignore_folder/live_trading/ftmo_live_trader.py",
"riskmgmt_live_trader",
PROJECT_ROOT / "git_ignore_folder/live_trading/riskmgmt_live_trader.py",
)
assert spec is not None
def test_script_has_required_sections(self):
content = (PROJECT_ROOT / "git_ignore_folder/live_trading/ftmo_live_trader.py").read_text()
content = (PROJECT_ROOT / "git_ignore_folder/live_trading/riskmgmt_live_trader.py").read_text()
assert "RISK_PCT" in content
assert "STOP_PIPS" in content
assert "TP_PIPS" in content
assert "FTMO_DAILY_LIMIT" in content
assert "RiskMgmt_DAILY_LIMIT" in content
class TestFactorValuesIntegration:
+5 -5
View File
@@ -175,22 +175,22 @@ class TestPromptLoader:
load_prompt("xyz_nonexistent")
class TestApplyFTMOMask:
class TestApplyRiskMgmtMask:
def test_output_same_length(self):
from rdagent.components.backtesting.vbt_backtest import _apply_ftmo_mask
from rdagent.components.backtesting.vbt_backtest import _apply_risk_mask
dates = pd.date_range("2024-01-01", periods=100, freq="1min")
close = pd.Series(1.10, index=dates)
signal = pd.Series(np.where(np.arange(100) % 2 == 0, 1.0, -1.0), index=dates)
masked, metrics = _apply_ftmo_mask(signal, close, leverage=1.0, txn_cost_bps=2.14)
masked, metrics = _apply_risk_mask(signal, close, leverage=1.0, txn_cost_bps=2.14)
assert len(masked) == len(signal)
assert isinstance(metrics, dict)
def test_flat_signal(self):
from rdagent.components.backtesting.vbt_backtest import _apply_ftmo_mask
from rdagent.components.backtesting.vbt_backtest import _apply_risk_mask
dates = pd.date_range("2024-01-01", periods=200, freq="1min")
close = pd.Series(1.10, index=dates)
signal = pd.Series(0.0, index=dates)
masked, metrics = _apply_ftmo_mask(signal, close, leverage=1.0, txn_cost_bps=2.14)
masked, metrics = _apply_risk_mask(signal, close, leverage=1.0, txn_cost_bps=2.14)
assert isinstance(metrics, dict)