Improve jq microcap execution semantics
This commit is contained in:
36
data/demo/聚宽微盘股策略.engine_spec.json
Normal file
36
data/demo/聚宽微盘股策略.engine_spec.json
Normal file
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"strategyId": "jq-microcap",
|
||||
"benchmark": {
|
||||
"instrumentId": "000852.SH",
|
||||
"fallbackInstrumentId": "000852.SH"
|
||||
},
|
||||
"signalSymbol": "000001.SH",
|
||||
"engineConfig": {
|
||||
"templateId": "joinquant-microcap-original",
|
||||
"signalSymbol": "000001.SH",
|
||||
"rankLimit": 40,
|
||||
"refreshRate": 15,
|
||||
"rsiRate": 1.0001,
|
||||
"dynamicRange": {
|
||||
"baseIndexLevel": 2000.0,
|
||||
"baseCapFloor": 7.0,
|
||||
"capSpan": 10.0,
|
||||
"xs": 0.008
|
||||
},
|
||||
"stockMaFilter": {
|
||||
"shortDays": 5,
|
||||
"midDays": 10,
|
||||
"longDays": 20,
|
||||
"rsiRate": 1.0001
|
||||
},
|
||||
"indexThrottle": {
|
||||
"shortDays": 5,
|
||||
"longDays": 10,
|
||||
"rsiRate": 1.0001,
|
||||
"defensiveExposure": 0.5
|
||||
},
|
||||
"stopLossMultiplier": 0.93,
|
||||
"takeProfitMultiplier": 1.07,
|
||||
"skipWindows": []
|
||||
}
|
||||
}
|
||||
21
data/demo/聚宽微盘股策略.engine_spec.md
Normal file
21
data/demo/聚宽微盘股策略.engine_spec.md
Normal file
@@ -0,0 +1,21 @@
|
||||
聚宽原始脚本 `/Users/boris/WorkSpace/fidc-backtest-engine/聚宽微盘股策略.py` 已映射到
|
||||
`聚宽微盘股策略.engine_spec.json`。
|
||||
|
||||
映射关系:
|
||||
|
||||
- `g.refresh_rate = 15` -> `engineConfig.refreshRate = 15`
|
||||
- `g.stocknum = 40` -> `engineConfig.rankLimit = 40`
|
||||
- `g.XS = 4 / 500` -> `engineConfig.dynamicRange.xs = 0.008`
|
||||
- `current_price` 基准指数 `000001.XSHG` -> `signalSymbol = 000001.SH`
|
||||
- `set_benchmark('000852.XSHG')` -> `benchmark.instrumentId = 000852.SH`
|
||||
- `g.CloseRate = 1.07` -> `takeProfitMultiplier = 1.07`
|
||||
- `g.LossRate = 0.93` -> `stopLossMultiplier = 0.93`
|
||||
- `g.RSIRate = 1.0001` -> `rsiRate = 1.0001`
|
||||
- `g.TradeRate = 0.5` -> `indexThrottle.defensiveExposure = 0.5`
|
||||
- 个股均线过滤 `5/10/20` -> `stockMaFilter.short/mid/longDays`
|
||||
- 指数均线过滤 `5/10` -> `indexThrottle.short/longDays`
|
||||
|
||||
说明:
|
||||
|
||||
- 原脚本里 `validate_date()` 虽然定义了停运窗口,但 `check_stocks()` 里紧接着把 `g.OpenYN = 1` 强制打开,
|
||||
所以实际执行日志中停运窗口无效。当前 spec 因此使用 `skipWindows = []`,以匹配真实聚宽执行结果。
|
||||
Reference in New Issue
Block a user