Skip to content

Commit 4458cb8

Browse files
authored
Merge pull request #6 from QuantStrategyLab/codex/longbridge-platform-strategy-policy
[codex] refactor longbridge platform strategy policy
2 parents 8ce4fe2 + b4c8db8 commit 4458cb8

2 files changed

Lines changed: 20 additions & 20 deletions

File tree

requirements.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
flask
22
gunicorn
3-
quant-platform-kit @ git+https://github.com/QuantStrategyLab/QuantPlatformKit.git@v0.6.0
4-
us-equity-strategies @ git+https://github.com/QuantStrategyLab/UsEquityStrategies.git@17fa78c22463070b88ba4a884c84e7a761835ccb
3+
quant-platform-kit @ git+https://github.com/QuantStrategyLab/QuantPlatformKit.git@6e8cc058b821aea8a54015d4b39e02fbdd3dc198
4+
us-equity-strategies @ git+https://github.com/QuantStrategyLab/UsEquityStrategies.git@8b0c59f2ecd7c74cc2d350f1870f124a2560b205
55
pandas
66
requests
77
pytz

strategy_registry.py

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
from __future__ import annotations
22

3-
from us_equity_strategies.platform_registry_support import (
3+
from us_equity_strategies import get_strategy_catalog
4+
5+
from quant_platform_kit.common.strategies import (
6+
PlatformStrategyPolicy,
7+
StrategyDefinition,
8+
US_EQUITY_DOMAIN,
49
build_platform_profile_matrix,
510
get_enabled_profiles_for_platform,
611
resolve_platform_strategy_definition,
712
)
813

9-
from quant_platform_kit.common.strategies import StrategyDefinition, US_EQUITY_DOMAIN
10-
1114
LONGBRIDGE_PLATFORM = "longbridge"
1215

1316
DEFAULT_STRATEGY_PROFILE = "semiconductor_rotation_income"
@@ -18,25 +21,24 @@
1821
PLATFORM_SUPPORTED_DOMAINS: dict[str, frozenset[str]] = {
1922
LONGBRIDGE_PLATFORM: frozenset({US_EQUITY_DOMAIN}),
2023
}
24+
STRATEGY_CATALOG = get_strategy_catalog()
25+
PLATFORM_POLICY = PlatformStrategyPolicy(
26+
platform_id=LONGBRIDGE_PLATFORM,
27+
supported_domains=PLATFORM_SUPPORTED_DOMAINS[LONGBRIDGE_PLATFORM],
28+
enabled_profiles=LONGBRIDGE_ENABLED_PROFILES,
29+
default_profile=DEFAULT_STRATEGY_PROFILE,
30+
rollback_profile=ROLLBACK_STRATEGY_PROFILE,
31+
)
2132

2233
SUPPORTED_STRATEGY_PROFILES = LONGBRIDGE_ENABLED_PROFILES
2334

2435

2536
def get_supported_profiles_for_platform(platform_id: str) -> frozenset[str]:
26-
return get_enabled_profiles_for_platform(
27-
platform_id,
28-
expected_platform_id=LONGBRIDGE_PLATFORM,
29-
enabled_profiles=LONGBRIDGE_ENABLED_PROFILES,
30-
)
37+
return get_enabled_profiles_for_platform(platform_id, policy=PLATFORM_POLICY)
3138

3239

3340
def get_platform_profile_matrix() -> list[dict[str, object]]:
34-
return build_platform_profile_matrix(
35-
platform_id=LONGBRIDGE_PLATFORM,
36-
enabled_profiles=LONGBRIDGE_ENABLED_PROFILES,
37-
default_profile=DEFAULT_STRATEGY_PROFILE,
38-
rollback_profile=ROLLBACK_STRATEGY_PROFILE,
39-
)
41+
return build_platform_profile_matrix(STRATEGY_CATALOG, policy=PLATFORM_POLICY)
4042

4143

4244
def resolve_strategy_definition(
@@ -47,8 +49,6 @@ def resolve_strategy_definition(
4749
return resolve_platform_strategy_definition(
4850
raw_value,
4951
platform_id=platform_id,
50-
expected_platform_id=LONGBRIDGE_PLATFORM,
51-
enabled_profiles=LONGBRIDGE_ENABLED_PROFILES,
52-
platform_supported_domains=PLATFORM_SUPPORTED_DOMAINS,
53-
default_profile=DEFAULT_STRATEGY_PROFILE,
52+
strategy_catalog=STRATEGY_CATALOG,
53+
policy=PLATFORM_POLICY,
5454
)

0 commit comments

Comments
 (0)