Files
quant-os/schemas/signal.schema.json

89 lines
1.7 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://boat.local/quant60/schemas/signal.schema.json",
"title": "Quant60 signal record",
"description": "A point-in-time model output. It is not a target position or an order.",
"type": "object",
"additionalProperties": false,
"required": [
"schema_version",
"run_id",
"signal_id",
"as_of",
"symbol",
"horizon_trading_days",
"score",
"model_version",
"data_version"
],
"properties": {
"schema_version": {
"const": "1.0"
},
"run_id": {
"type": "string",
"minLength": 1
},
"signal_id": {
"type": "string",
"minLength": 1
},
"as_of": {
"type": "string",
"format": "date-time"
},
"symbol": {
"$ref": "#/$defs/canonical_symbol"
},
"horizon_trading_days": {
"type": "integer",
"minimum": 1
},
"score": {
"type": "number"
},
"expected_excess_return": {
"type": [
"number",
"null"
]
},
"confidence": {
"type": [
"number",
"null"
],
"minimum": 0,
"maximum": 1
},
"model_version": {
"type": "string",
"minLength": 1
},
"data_version": {
"type": "string",
"minLength": 1
},
"feature_version": {
"type": [
"string",
"null"
]
},
"metadata": {
"type": "object"
}
},
"$defs": {
"canonical_symbol": {
"type": "string",
"pattern": "^[0-9]{6}\\.(XSHG|XSHE|XBSE)$",
"examples": [
"600000.XSHG",
"000001.XSHE",
"830799.XBSE"
]
}
}
}