|
1 | 1 | # QuantRuntimeSettings |
2 | 2 |
|
| 3 | +[English](#english) | [中文](#中文) |
| 4 | + |
| 5 | +--- |
| 6 | + |
| 7 | +<a id="english"></a> |
| 8 | +## English |
| 9 | + |
3 | 10 | Declarative runtime settings tooling for QuantStrategyLab deployments. |
4 | 11 |
|
5 | 12 | This repository provides the schema and tooling for "which platform runs which strategy". It does not contain live runtime assignments, strategy logic, broker execution code, credentials, or secrets. |
@@ -56,3 +63,65 @@ This repo acts as a small bridge between strategy selection and platform deploym |
56 | 63 | - Optional ignored local policy can add private strategy/plugin requirements. |
57 | 64 | - The renderer converts the declaration into platform-specific GitHub variables. |
58 | 65 | - Platform repositories keep their existing adapter code and consume the generated variables. |
| 66 | + |
| 67 | +--- |
| 68 | + |
| 69 | +<a id="中文"></a> |
| 70 | +## 中文 |
| 71 | + |
| 72 | +QuantStrategyLab 部署运行设置的声明式 schema 和工具仓库。 |
| 73 | + |
| 74 | +这个仓库用于描述和校验“哪个平台运行哪个策略”的配置格式,但不保存真实线上运行分配、策略逻辑、券商执行代码、凭据或密钥。 |
| 75 | + |
| 76 | +## 公开仓库策略 |
| 77 | + |
| 78 | +真实 target 文件不能提交到这个公开仓库。真实部署选择应保存在 GitHub Variables / Environments、GitHub Secrets、Secret Manager,或放在被忽略的 `local/` 目录下。 |
| 79 | + |
| 80 | +非敏感运行选择,例如 `RUNTIME_TARGET_JSON` 和插件挂载声明,可以放在 repository 或 environment variables 中。凭据、token、private key 等必须使用 secrets。 |
| 81 | + |
| 82 | +如果某个部署需要私有校验策略,请放在被忽略的本地文件里,例如 `local/policy.json`。 |
| 83 | + |
| 84 | +## 边界 |
| 85 | + |
| 86 | +- `UsEquityStrategies` 负责分配逻辑、策略默认值和风险规则。 |
| 87 | +- 平台仓库负责券商 adapter、运行时输入采集、通知和执行。 |
| 88 | +- 本仓库负责运行 target 的 schema、示例、校验和渲染工具。 |
| 89 | +- 本仓库不保存 secret value;需要时只引用 secret name 或平台仓库自身的 secret。 |
| 90 | + |
| 91 | +## 命令 |
| 92 | + |
| 93 | +校验示例;如果存在 `local/targets/**/*.json`,则优先校验本地 target: |
| 94 | + |
| 95 | +```bash |
| 96 | +python3 scripts/runtime_settings.py validate |
| 97 | +``` |
| 98 | + |
| 99 | +渲染一个示例 target: |
| 100 | + |
| 101 | +```bash |
| 102 | +python3 scripts/runtime_settings.py render examples/targets/schwab/live.example.json |
| 103 | +``` |
| 104 | + |
| 105 | +预览被忽略本地 target 对应的 GitHub variable 更新: |
| 106 | + |
| 107 | +```bash |
| 108 | +python3 scripts/runtime_settings.py apply local/targets/longbridge/sg.json |
| 109 | +``` |
| 110 | + |
| 111 | +实际应用 GitHub variable 更新: |
| 112 | + |
| 113 | +```bash |
| 114 | +python3 scripts/runtime_settings.py apply --yes local/targets/longbridge/sg.json |
| 115 | +``` |
| 116 | + |
| 117 | +`RUNTIME_TARGET_JSON` 是唯一 canonical source。兼容变量,例如 `STRATEGY_PROFILE`,由它生成,避免多个配置源互相漂移。 |
| 118 | + |
| 119 | +## 架构 |
| 120 | + |
| 121 | +这个仓库在策略选择和平台部署之间提供一个轻量 bridge,同时避免公开真实运行分配: |
| 122 | + |
| 123 | +- target 文件声明期望的运行目标。 |
| 124 | +- validator 检查必填运行字段和插件挂载是否一致。 |
| 125 | +- 可选的 ignored local policy 可以添加私有策略/插件要求。 |
| 126 | +- renderer 把声明转换成平台专属 GitHub variables。 |
| 127 | +- 平台仓库保持现有 adapter 代码,并消费生成后的变量。 |
0 commit comments