Skip to content

Commit d9c77e3

Browse files
committed
Migrate US equity profile keys to canonical tickers
1 parent ff8120f commit d9c77e3

18 files changed

Lines changed: 216 additions & 128 deletions

docs/deployment_model.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -204,8 +204,8 @@ The split should always be defined by runtime configuration:
204204

205205
Current naming examples:
206206

207-
- `longbridge-quant-semiconductor-rotation-income-hk-service`
208-
- `longbridge-quant-semiconductor-rotation-income-sg-service`
207+
- `longbridge-quant-hk-service`
208+
- `longbridge-quant-sg-service`
209209

210210
### Charles Schwab
211211

docs/deployment_model.zh-CN.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -99,9 +99,9 @@ Cloud Run 继续只部署运行仓库,不部署 `QuantPlatformKit`。
9999

100100
| 仓库 | 推荐服务名 |
101101
|---|---|
102-
| `InteractiveBrokersPlatform` | `interactive-brokers-quant-global-etf-rotation-service` |
103-
| `CharlesSchwabPlatform` | `charles-schwab-quant-hybrid-growth-income-service` |
104-
| `LongBridgePlatform` | `longbridge-quant-semiconductor-rotation-income-hk-service` / `longbridge-quant-semiconductor-rotation-income-sg-service` |
102+
| `InteractiveBrokersPlatform` | `interactive-brokers-quant-service` |
103+
| `CharlesSchwabPlatform` | `charles-schwab-quant-service` |
104+
| `LongBridgePlatform` | `longbridge-quant-hk-service` / `longbridge-quant-sg-service` |
105105

106106
如果后面同一平台下再增加第二套相近策略,可以用:
107107

docs/platform_runtime_inventory.md

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ For the current platform / strategy-domain / live-profile matrix, see [`platform
2525

2626
| Platform | Repo | Strategy domain | Current profile | Runtime model | Project / backend | Current runtime unit |
2727
|---|---|---:|---|---|---|---|
28-
| IBKR | `QuantStrategyLab/InteractiveBrokersPlatform` | `us_equity` | `global_etf_rotation` | Cloud Run | `interactivebrokersquant` | `interactive-brokers-quant-global-etf-rotation-service` |
29-
| Schwab | `QuantStrategyLab/CharlesSchwabPlatform` | `us_equity` | `hybrid_growth_income` | Cloud Run | `charlesschwabquant` | `charles-schwab-quant-hybrid-growth-income-service` |
30-
| LongBridge | `QuantStrategyLab/LongBridgePlatform` | `us_equity` | `semiconductor_rotation_income` | Cloud Run | `longbridgequant` | `longbridge-quant-semiconductor-rotation-income-hk-service`, `longbridge-quant-semiconductor-rotation-income-sg-service` |
28+
| IBKR | `QuantStrategyLab/InteractiveBrokersPlatform` | `us_equity` | `soxl_soxx_trend_income` | Cloud Run | `interactivebrokersquant` | `interactive-brokers-quant-service` |
29+
| Schwab | `QuantStrategyLab/CharlesSchwabPlatform` | `us_equity` | `tqqq_growth_income` | Cloud Run | `charlesschwabquant` | `charles-schwab-quant-service` |
30+
| LongBridge | `QuantStrategyLab/LongBridgePlatform` | `us_equity` | `soxl_soxx_trend_income` | Cloud Run | `longbridgequant` | `longbridge-quant-hk-service`, `longbridge-quant-sg-service` |
3131
| Binance | `QuantStrategyLab/BinancePlatform` | `crypto` | `crypto_leader_rotation` | Oracle Cloud + self-hosted runner | `binancequant` only for Firestore / GCP credentials | GitHub Actions `workflow_dispatch` + self-hosted runner |
3232

3333
## Platform details
@@ -39,16 +39,16 @@ For the current platform / strategy-domain / live-profile matrix, see [`platform
3939
- **Cloud Run project**
4040
- `interactivebrokersquant`
4141
- **Service**
42-
- `interactive-brokers-quant-global-etf-rotation-service`
42+
- `interactive-brokers-quant-service`
4343
- **Runtime service account**
4444
- `ibkr-platform-runtime@interactivebrokersquant.iam.gserviceaccount.com`
4545
- **Current ready revision**
46-
- `interactive-brokers-quant-global-etf-rotation-service-00001-wg8`
46+
- `interactive-brokers-quant-service-00001-wg8`
4747
- **Scheduler**
48-
- `interactive-brokers-quant-global-etf-rotation-service-scheduler`
48+
- `interactive-brokers-quant-service-scheduler`
4949
- region: `us-central1`
5050
- **Core runtime selectors**
51-
- `STRATEGY_PROFILE=global_etf_rotation`
51+
- `STRATEGY_PROFILE=soxl_soxx_trend_income`
5252
- `ACCOUNT_GROUP=default`
5353
- `IB_ACCOUNT_GROUP_CONFIG_SECRET_NAME=ibkr-account-groups`
5454
- **Runtime secrets**
@@ -64,16 +64,16 @@ For the current platform / strategy-domain / live-profile matrix, see [`platform
6464
- **Cloud Run project**
6565
- `charlesschwabquant`
6666
- **Service**
67-
- `charles-schwab-quant-hybrid-growth-income-service`
67+
- `charles-schwab-quant-service`
6868
- **Runtime service account**
6969
- `schwab-platform-runtime@charlesschwabquant.iam.gserviceaccount.com`
7070
- **Current ready revision**
71-
- `charles-schwab-quant-hybrid-growth-income-service-00002-nhn`
71+
- `charles-schwab-quant-service-00002-nhn`
7272
- **Scheduler**
73-
- `charles-schwab-quant-hybrid-growth-income-service-scheduler`
73+
- `charles-schwab-quant-service-scheduler`
7474
- region: `us-central1`
7575
- **Core runtime selectors**
76-
- `STRATEGY_PROFILE=hybrid_growth_income`
76+
- `STRATEGY_PROFILE=tqqq_growth_income`
7777
- **Runtime secrets**
7878
- `schwab_token`
7979
- `charles-schwab-api-key`
@@ -91,18 +91,18 @@ For the current platform / strategy-domain / live-profile matrix, see [`platform
9191
- **Cloud Run project**
9292
- `longbridgequant`
9393
- **Services**
94-
- HK: `longbridge-quant-semiconductor-rotation-income-hk-service`
95-
- SG: `longbridge-quant-semiconductor-rotation-income-sg-service`
94+
- HK: `longbridge-quant-hk-service`
95+
- SG: `longbridge-quant-sg-service`
9696
- **Runtime service account**
9797
- `longbridge-platform-runtime@longbridgequant.iam.gserviceaccount.com`
9898
- **Current ready revisions**
9999
- HK: `longbridge-quant-semiconductor-rotation-income-hk-ser-00002-w62`
100100
- SG: `longbridge-quant-semiconductor-rotation-income-sg-ser-00002-694`
101101
- **Schedulers**
102-
- `longbridge-quant-semiconductor-rotation-income-hk-service-scheduler` in `asia-east2`
103-
- `longbridge-quant-semiconductor-rotation-income-sg-service-scheduler` in `asia-southeast1`
102+
- `longbridge-quant-hk-service-scheduler` in `asia-east2`
103+
- `longbridge-quant-sg-service-scheduler` in `asia-southeast1`
104104
- **Core runtime selectors**
105-
- `STRATEGY_PROFILE=semiconductor_rotation_income`
105+
- `STRATEGY_PROFILE=qqq_tech_enhancement on HK; STRATEGY_PROFILE=tqqq_growth_income on SG`
106106
- `ACCOUNT_REGION=HK|SG`
107107
- `LONGPORT_SECRET_NAME=longport_token_hk|longport_token_sg`
108108
- **Runtime secrets**

docs/platform_runtime_inventory.zh-CN.md

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,9 @@ _校验快照日期:2026-03-30_
2727

2828
| 平台 | 仓库 | 策略大类 | 当前策略值 | 运行模型 | 项目 / 后端 | 当前运行单元 |
2929
|---|---|---:|---|---|---|---|
30-
| IBKR | `QuantStrategyLab/InteractiveBrokersPlatform` | `us_equity` | `global_etf_rotation` | Cloud Run | `interactivebrokersquant` | `interactive-brokers-quant-global-etf-rotation-service` |
31-
| Schwab | `QuantStrategyLab/CharlesSchwabPlatform` | `us_equity` | `hybrid_growth_income` | Cloud Run | `charlesschwabquant` | `charles-schwab-quant-hybrid-growth-income-service` |
32-
| LongBridge | `QuantStrategyLab/LongBridgePlatform` | `us_equity` | `semiconductor_rotation_income` | Cloud Run | `longbridgequant` | `longbridge-quant-semiconductor-rotation-income-hk-service``longbridge-quant-semiconductor-rotation-income-sg-service` |
30+
| IBKR | `QuantStrategyLab/InteractiveBrokersPlatform` | `us_equity` | `soxl_soxx_trend_income` | Cloud Run | `interactivebrokersquant` | `interactive-brokers-quant-service` |
31+
| Schwab | `QuantStrategyLab/CharlesSchwabPlatform` | `us_equity` | `tqqq_growth_income` | Cloud Run | `charlesschwabquant` | `charles-schwab-quant-service` |
32+
| LongBridge | `QuantStrategyLab/LongBridgePlatform` | `us_equity` | `soxl_soxx_trend_income` | Cloud Run | `longbridgequant` | `longbridge-quant-hk-service``longbridge-quant-sg-service` |
3333
| Binance | `QuantStrategyLab/BinancePlatform` | `crypto` | `crypto_leader_rotation` | Oracle Cloud + self-hosted runner | `binancequant` 只承担 Firestore / GCP 凭据 | GitHub Actions `workflow_dispatch` + self-hosted runner |
3434

3535
## 各平台明细
@@ -41,16 +41,16 @@ _校验快照日期:2026-03-30_
4141
- **Cloud Run 项目**
4242
- `interactivebrokersquant`
4343
- **服务**
44-
- `interactive-brokers-quant-global-etf-rotation-service`
44+
- `interactive-brokers-quant-service`
4545
- **runtime service account**
4646
- `ibkr-platform-runtime@interactivebrokersquant.iam.gserviceaccount.com`
4747
- **当前 ready revision**
48-
- `interactive-brokers-quant-global-etf-rotation-service-00001-wg8`
48+
- `interactive-brokers-quant-service-00001-wg8`
4949
- **Scheduler**
50-
- `interactive-brokers-quant-global-etf-rotation-service-scheduler`
50+
- `interactive-brokers-quant-service-scheduler`
5151
- region:`us-central1`
5252
- **核心运行选择器**
53-
- `STRATEGY_PROFILE=global_etf_rotation`
53+
- `STRATEGY_PROFILE=soxl_soxx_trend_income`
5454
- `ACCOUNT_GROUP=default`
5555
- `IB_ACCOUNT_GROUP_CONFIG_SECRET_NAME=ibkr-account-groups`
5656
- **运行时 secret**
@@ -66,16 +66,16 @@ _校验快照日期:2026-03-30_
6666
- **Cloud Run 项目**
6767
- `charlesschwabquant`
6868
- **服务**
69-
- `charles-schwab-quant-hybrid-growth-income-service`
69+
- `charles-schwab-quant-service`
7070
- **runtime service account**
7171
- `schwab-platform-runtime@charlesschwabquant.iam.gserviceaccount.com`
7272
- **当前 ready revision**
73-
- `charles-schwab-quant-hybrid-growth-income-service-00002-nhn`
73+
- `charles-schwab-quant-service-00002-nhn`
7474
- **Scheduler**
75-
- `charles-schwab-quant-hybrid-growth-income-service-scheduler`
75+
- `charles-schwab-quant-service-scheduler`
7676
- region:`us-central1`
7777
- **核心运行选择器**
78-
- `STRATEGY_PROFILE=hybrid_growth_income`
78+
- `STRATEGY_PROFILE=tqqq_growth_income`
7979
- **运行时 secret**
8080
- `schwab_token`
8181
- `charles-schwab-api-key`
@@ -93,18 +93,18 @@ _校验快照日期:2026-03-30_
9393
- **Cloud Run 项目**
9494
- `longbridgequant`
9595
- **服务**
96-
- HK:`longbridge-quant-semiconductor-rotation-income-hk-service`
97-
- SG:`longbridge-quant-semiconductor-rotation-income-sg-service`
96+
- HK:`longbridge-quant-hk-service`
97+
- SG:`longbridge-quant-sg-service`
9898
- **runtime service account**
9999
- `longbridge-platform-runtime@longbridgequant.iam.gserviceaccount.com`
100100
- **当前 ready revision**
101101
- HK:`longbridge-quant-semiconductor-rotation-income-hk-ser-00002-w62`
102102
- SG:`longbridge-quant-semiconductor-rotation-income-sg-ser-00002-694`
103103
- **Scheduler**
104-
- `longbridge-quant-semiconductor-rotation-income-hk-service-scheduler``asia-east2`
105-
- `longbridge-quant-semiconductor-rotation-income-sg-service-scheduler``asia-southeast1`
104+
- `longbridge-quant-hk-service-scheduler``asia-east2`
105+
- `longbridge-quant-sg-service-scheduler``asia-southeast1`
106106
- **核心运行选择器**
107-
- `STRATEGY_PROFILE=semiconductor_rotation_income`
107+
- `STRATEGY_PROFILE=HK 使用 qqq_tech_enhancement;SG 使用 tqqq_growth_income`
108108
- `ACCOUNT_REGION=HK|SG`
109109
- `LONGPORT_SECRET_NAME=longport_token_hk|longport_token_sg`
110110
- **运行时 secret**

docs/platform_split_execution_plan.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ For deployable runtime units, use:
1717
Examples:
1818

1919
- `interactive-brokers-quant-global-etf-rotation-service`
20-
- `charles-schwab-quant-hybrid-growth-income-service`
21-
- `longbridge-quant-semiconductor-rotation-income-hk-service`
22-
- `longbridge-quant-semiconductor-rotation-income-sg-service`
20+
- `charles-schwab-quant-service`
21+
- `longbridge-quant-hk-service`
22+
- `longbridge-quant-sg-service`
2323
- `binance-quant-crypto-leader-rotation-service`
2424

2525
For runtime-facing prefixes such as logs / Telegram labels, keep:
@@ -208,8 +208,8 @@ Goal:
208208

209209
Recommended order:
210210

211-
1. `hybrid_growth_income`
212-
2. `semiconductor_rotation_income`
211+
1. `tqqq_growth_income`
212+
2. `soxl_soxx_trend_income`
213213
3. SOXL/TQQQ-related strategies later
214214

215215
Exit criteria:

docs/platform_split_execution_plan.zh-CN.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ _核对时间:2026-03-30_
1717
示例:
1818

1919
- `interactive-brokers-quant-global-etf-rotation-service`
20-
- `charles-schwab-quant-hybrid-growth-income-service`
21-
- `longbridge-quant-semiconductor-rotation-income-hk-service`
22-
- `longbridge-quant-semiconductor-rotation-income-sg-service`
20+
- `charles-schwab-quant-service`
21+
- `longbridge-quant-hk-service`
22+
- `longbridge-quant-sg-service`
2323
- `binance-quant-crypto-leader-rotation-service`
2424

2525
运行时内部前缀(例如日志 / Telegram)统一用:
@@ -208,8 +208,8 @@ trigger 命名统一用:
208208

209209
建议顺序:
210210

211-
1. `hybrid_growth_income`
212-
2. `semiconductor_rotation_income`
211+
1. `tqqq_growth_income`
212+
2. `soxl_soxx_trend_income`
213213
3. 最后再评估 SOXL / TQQQ 相关策略
214214

215215
验收标准:

docs/platform_strategy_matrix.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@ For repository responsibility boundaries, see [`platform_repo_boundaries.md`](./
2323

2424
| Platform | Repo | Strategy domain | Current live profile | Runtime model | Real switching today? |
2525
|---|---|---|---|---|---|
26-
| IBKR | `QuantStrategyLab/InteractiveBrokersPlatform` | `us_equity` | `global_etf_rotation` | Cloud Run | No - only this profile is supported today |
27-
| Charles Schwab | `QuantStrategyLab/CharlesSchwabPlatform` | `us_equity` | `hybrid_growth_income` | Cloud Run | No - only this profile is supported today |
28-
| LongBridge | `QuantStrategyLab/LongBridgePlatform` | `us_equity` | `semiconductor_rotation_income` | Cloud Run | No - only this profile is supported today |
26+
| IBKR | `QuantStrategyLab/InteractiveBrokersPlatform` | `us_equity` | `soxl_soxx_trend_income` | Cloud Run | Yes - rollout allowlist can switch among supported profiles |
27+
| Charles Schwab | `QuantStrategyLab/CharlesSchwabPlatform` | `us_equity` | `tqqq_growth_income` | Cloud Run | Yes - rollout allowlist can switch among supported profiles |
28+
| LongBridge | `QuantStrategyLab/LongBridgePlatform` | `us_equity` | `qqq_tech_enhancement` on HK / `tqqq_growth_income` on SG | Cloud Run | Yes - rollout allowlist can switch among supported profiles |
2929
| Binance | `QuantStrategyLab/BinancePlatform` | `crypto` | `crypto_leader_rotation` | Oracle Cloud + self-hosted runner | No - only this profile is supported today |
3030

3131
## What this means right now
@@ -46,9 +46,9 @@ Important limitation:
4646

4747
Current live profiles in `us_equity`:
4848

49-
- `global_etf_rotation`
50-
- `hybrid_growth_income`
51-
- `semiconductor_rotation_income`
49+
- `soxl_soxx_trend_income`
50+
- `tqqq_growth_income`
51+
- `qqq_tech_enhancement`
5252

5353
### `crypto`
5454

docs/platform_strategy_matrix.zh-CN.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@ _核对时间:2026-03-30_
2323

2424
| 平台 | 仓库 | 策略大类 | 当前 live profile | 运行模型 | 现在能否真实切换? |
2525
|---|---|---|---|---|---|
26-
| IBKR | `QuantStrategyLab/InteractiveBrokersPlatform` | `us_equity` | `global_etf_rotation` | Cloud Run | 不能,当前只支持这个 profile |
27-
| Charles Schwab | `QuantStrategyLab/CharlesSchwabPlatform` | `us_equity` | `hybrid_growth_income` | Cloud Run | 不能,当前只支持这个 profile |
28-
| LongBridge | `QuantStrategyLab/LongBridgePlatform` | `us_equity` | `semiconductor_rotation_income` | Cloud Run | 不能,当前只支持这个 profile |
26+
| IBKR | `QuantStrategyLab/InteractiveBrokersPlatform` | `us_equity` | `soxl_soxx_trend_income` | Cloud Run | 可以,rollout allowlist 可在受支持 profile 间切换 |
27+
| Charles Schwab | `QuantStrategyLab/CharlesSchwabPlatform` | `us_equity` | `tqqq_growth_income` | Cloud Run | 可以,rollout allowlist 可在受支持 profile 间切换 |
28+
| LongBridge | `QuantStrategyLab/LongBridgePlatform` | `us_equity` | `HK: qqq_tech_enhancement / SG: tqqq_growth_income` | Cloud Run | 可以,rollout allowlist 可在受支持 profile 间切换 |
2929
| Binance | `QuantStrategyLab/BinancePlatform` | `crypto` | `crypto_leader_rotation` | Oracle Cloud + self-hosted runner | 不能,当前只支持这个 profile |
3030

3131
## 这张表现在该怎么理解
@@ -46,9 +46,9 @@ _核对时间:2026-03-30_
4646

4747
当前 `us_equity` 域里线上在跑的 profile 有:
4848

49-
- `global_etf_rotation`
50-
- `hybrid_growth_income`
51-
- `semiconductor_rotation_income`
49+
- `soxl_soxx_trend_income`
50+
- `tqqq_growth_income`
51+
- `qqq_tech_enhancement`
5252

5353
### `crypto`
5454

docs/us_equity_cross_platform_strategy_spec.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -204,13 +204,13 @@ Current live profiles can migrate incrementally, but the end state should be:
204204

205205
- `global_etf_rotation`: portable through normalized history inputs plus
206206
weight/value translation
207-
- `hybrid_growth_income`: portable through benchmark/portfolio inputs plus
207+
- `tqqq_growth_income`: portable through benchmark/portfolio inputs plus
208208
value/weight translation
209-
- `semiconductor_rotation_income`: portable through indicator/account-state
209+
- `soxl_soxx_trend_income`: portable through indicator/account-state
210210
inputs plus value/weight translation
211211
- `russell_1000_multi_factor_defensive`: portable through standardized
212212
`feature_snapshot` artifact delivery
213-
- `tech_pullback_cash_buffer`: portable through standardized `feature_snapshot`
213+
- `qqq_tech_enhancement`: portable through standardized `feature_snapshot`
214214
artifact delivery
215215

216216
New profiles should target the end state immediately instead of adding more

docs/us_equity_cross_platform_strategy_spec.zh-CN.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -204,13 +204,13 @@ allowlist 只影响 `enabled`,不要再手写一堆“这个策略天生只能
204204

205205
- `global_etf_rotation`
206206
- 通过标准历史数据输入 + `weight/value` 翻译实现跨平台
207-
- `hybrid_growth_income`
207+
- `tqqq_growth_income`
208208
- 通过基准/账户输入 + `value/weight` 翻译实现跨平台
209-
- `semiconductor_rotation_income`
209+
- `soxl_soxx_trend_income`
210210
- 通过指标/账户输入 + `value/weight` 翻译实现跨平台
211211
- `russell_1000_multi_factor_defensive`
212212
- 通过标准化 `feature_snapshot` artifact contract 实现跨平台
213-
- `tech_pullback_cash_buffer`
213+
- `qqq_tech_enhancement`
214214
- 通过标准化 `feature_snapshot` artifact contract 实现跨平台
215215

216216
以后新策略应该直接朝这个目标写,不要再新增一堆一次性的运行时契约。

0 commit comments

Comments
 (0)