|
14 | 14 | load_strategy_entrypoint, |
15 | 15 | ) |
16 | 16 |
|
17 | | -CRYPTO_LEADER_ROTATION_PROFILE = "crypto_leader_rotation" |
| 17 | +CRYPTO_LIVE_POOL_ROTATION_PROFILE = "crypto_live_pool_rotation" |
18 | 18 |
|
19 | 19 | CRYPTO_CANONICAL_REQUIRED_INPUTS = frozenset( |
20 | 20 | { |
|
27 | 27 | ) |
28 | 28 |
|
29 | 29 | STRATEGY_TARGET_MODES: dict[str, str] = { |
30 | | - CRYPTO_LEADER_ROTATION_PROFILE: "weight", |
| 30 | + CRYPTO_LIVE_POOL_ROTATION_PROFILE: "weight", |
31 | 31 | } |
32 | 32 |
|
33 | | -CRYPTO_LEADER_ROTATION_DEFAULT_CONFIG = { |
| 33 | +CRYPTO_LIVE_POOL_ROTATION_DEFAULT_CONFIG = { |
34 | 34 | "trend_pool_size": 5, |
35 | 35 | "rotation_top_n": 2, |
36 | 36 | "min_history_days": 365, |
|
39 | 39 | "weight_mode": "inverse_vol", |
40 | 40 | "allow_rotation_refresh": True, |
41 | 41 | "atr_multiplier": 2.5, |
42 | | - "artifact_contract_version": "crypto_leader_rotation.live_pool.v1", |
| 42 | + "artifact_contract_version": "crypto_live_pool_rotation.live_pool.v1", |
43 | 43 | "artifact_max_age_days": 45, |
44 | 44 | "artifact_acceptable_modes": ("core_major",), |
45 | 45 | } |
46 | 46 |
|
47 | 47 | STRATEGY_DEFINITIONS: dict[str, StrategyDefinition] = { |
48 | | - CRYPTO_LEADER_ROTATION_PROFILE: StrategyDefinition( |
49 | | - profile=CRYPTO_LEADER_ROTATION_PROFILE, |
| 48 | + CRYPTO_LIVE_POOL_ROTATION_PROFILE: StrategyDefinition( |
| 49 | + profile=CRYPTO_LIVE_POOL_ROTATION_PROFILE, |
50 | 50 | domain=CRYPTO_DOMAIN, |
51 | 51 | supported_platforms=frozenset({"binance"}), |
52 | 52 | components=( |
53 | 53 | StrategyComponentDefinition( |
54 | 54 | name="core", |
55 | | - module_path="crypto_strategies.strategies.crypto_leader_rotation.core", |
| 55 | + module_path="crypto_strategies.strategies.crypto_live_pool_rotation.core", |
56 | 56 | ), |
57 | 57 | StrategyComponentDefinition( |
58 | 58 | name="rotation", |
59 | | - module_path="crypto_strategies.strategies.crypto_leader_rotation.rotation", |
| 59 | + module_path="crypto_strategies.strategies.crypto_live_pool_rotation.rotation", |
60 | 60 | ), |
61 | 61 | ), |
62 | 62 | entrypoint=StrategyEntrypointDefinition( |
63 | 63 | module_path="crypto_strategies.entrypoints", |
64 | | - attribute_name="crypto_leader_rotation_entrypoint", |
| 64 | + attribute_name="crypto_live_pool_rotation_entrypoint", |
65 | 65 | ), |
66 | 66 | required_inputs=CRYPTO_CANONICAL_REQUIRED_INPUTS, |
67 | | - default_config=CRYPTO_LEADER_ROTATION_DEFAULT_CONFIG, |
68 | | - target_mode=STRATEGY_TARGET_MODES[CRYPTO_LEADER_ROTATION_PROFILE], |
| 67 | + default_config=CRYPTO_LIVE_POOL_ROTATION_DEFAULT_CONFIG, |
| 68 | + target_mode=STRATEGY_TARGET_MODES[CRYPTO_LIVE_POOL_ROTATION_PROFILE], |
69 | 69 | ), |
70 | 70 | } |
71 | 71 |
|
72 | 72 | STRATEGY_METADATA: dict[str, StrategyMetadata] = { |
73 | | - CRYPTO_LEADER_ROTATION_PROFILE: StrategyMetadata( |
74 | | - canonical_profile=CRYPTO_LEADER_ROTATION_PROFILE, |
75 | | - display_name="Crypto Leader Rotation", |
| 73 | + CRYPTO_LIVE_POOL_ROTATION_PROFILE: StrategyMetadata( |
| 74 | + canonical_profile=CRYPTO_LIVE_POOL_ROTATION_PROFILE, |
| 75 | + display_name="Crypto Live Pool Rotation", |
76 | 76 | description="Trend-following crypto rotation with staged entries, degradation controls, and cash parking.", |
77 | 77 | aliases=(), |
78 | 78 | cadence="daily", |
|
0 commit comments