bayesline.api.equity.TSFactorSelection#

pydantic model bayesline.api.equity.TSFactorSelection#

Selection of a single factor from an uploaded time-series dataset.

Show JSON schema
{
   "title": "TSFactorSelection",
   "description": "Selection of a single factor from an uploaded time-series dataset.",
   "type": "object",
   "properties": {
      "factor_name": {
         "description": "Name of the factor column within the uploaded dataset.",
         "title": "Factor Name",
         "type": "string"
      },
      "display_name": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Optional display name for reports. Falls back to factor_name when omitted.",
         "title": "Display Name"
      },
      "factor_group": {
         "default": "Thematic",
         "description": "Factor group label for grouping in reports.",
         "title": "Factor Group",
         "type": "string"
      },
      "window": {
         "default": 252,
         "description": "Rolling window length (trading days) for TS-beta exposure.",
         "minimum": 2,
         "title": "Window",
         "type": "integer"
      },
      "method": {
         "default": "huber",
         "description": "Rolling regression method for TS-beta exposure.",
         "enum": [
            "ols",
            "huber"
         ],
         "title": "Method",
         "type": "string"
      }
   },
   "required": [
      "factor_name"
   ]
}

Config:
  • frozen: bool = True

Fields:
  • display_name (str | None)

  • factor_group (str)

  • factor_name (str)

  • method (Literal['ols', 'huber'])

  • window (int)

field factor_name: str [Required]#

Name of the factor column within the uploaded dataset.

field display_name: str | None = None#

Optional display name for reports. Falls back to factor_name when omitted.

field factor_group: str = 'Thematic'#

Factor group label for grouping in reports.

field window: int = 252#

Rolling window length (trading days) for TS-beta exposure.

Constraints:
  • ge = 2

field method: Literal['ols', 'huber'] = 'huber'#

Rolling regression method for TS-beta exposure.