bayesline.api.equity.ReportSettingsMenu#

pydantic model bayesline.api.equity.ReportSettingsMenu#

Composite menu of every option a report can reference.

A report embeds child settings (universe, exposure, factor model, portfolio hierarchy, calendar) by value. This menu bundles the dataset-scoped menu for each child so a single fetch drives every dropdown a report form needs. Which sub-menus a given report type consumes depends on its embedded fields; the rest are simply unused by that form.

Show JSON schema
{
   "title": "ReportSettingsMenu",
   "description": "Composite menu of every option a report can reference.\n\nA report embeds child settings (universe, exposure, factor model,\nportfolio hierarchy, calendar) by value. This menu bundles the\ndataset-scoped menu for each child so a single fetch drives every\ndropdown a report form needs. Which sub-menus a given report type\nconsumes depends on its embedded fields; the rest are simply unused\nby that form.",
   "type": "object",
   "properties": {
      "universe_settings_menu": {
         "$ref": "#/$defs/UniverseSettingsMenu",
         "description": "Options for embedded universe settings."
      },
      "exposure_settings_menu": {
         "$ref": "#/$defs/ExposureSettingsMenu",
         "description": "Options for embedded exposure settings."
      },
      "calendar_settings_menu": {
         "$ref": "#/$defs/CalendarSettingsMenu",
         "description": "Options for embedded calendar settings."
      },
      "factor_risk_model_settings_menu": {
         "$ref": "#/$defs/FactorRiskModelSettingsMenu",
         "description": "Options for embedded factor risk model settings."
      },
      "portfolio_hierarchy_settings_menu": {
         "$ref": "#/$defs/PortfolioHierarchySettingsMenu",
         "description": "Options for embedded portfolio hierarchy settings."
      }
   },
   "$defs": {
      "CalendarSettingsMenu": {
         "additionalProperties": false,
         "description": "Contain the available settings that can be used for the calendar settings.",
         "properties": {
            "exchanges": {
               "description": "\n        A list of mic codes of all exchanges. Must be sorted and unique.\n        ",
               "items": {
                  "type": "string"
               },
               "title": "Exchanges",
               "type": "array"
            }
         },
         "required": [
            "exchanges"
         ],
         "title": "CalendarSettingsMenu",
         "type": "object"
      },
      "ExposureSettingsMenu": {
         "additionalProperties": false,
         "description": "Contains the available settings that can be used to define exposures.",
         "properties": {
            "universe_settings_menu": {
               "$ref": "#/$defs/UniverseSettingsMenu",
               "description": "The universe settings menu to use to define the exposures."
            },
            "continuous_hierarchies": {
               "additionalProperties": {
                  "$ref": "#/$defs/Hierarchy"
               },
               "description": "\n        A dictionary where the key is the name of the continuous hierarchy (e.g. 'style')\n        and the value is a N-level nested dictionary structure of the continuous hierarchy\n        codes.\n        ",
               "title": "Continuous Hierarchies",
               "type": "object"
            },
            "continuous_hierarchies_labels": {
               "additionalProperties": {
                  "additionalProperties": {
                     "type": "string"
                  },
                  "type": "object"
               },
               "description": "\n        A dictionary where the key is the name of the continuous hierarchy and\n        the value is a mapping from unique continuous code to a human readable name.\n        ",
               "title": "Continuous Hierarchies Labels",
               "type": "object"
            }
         },
         "required": [
            "universe_settings_menu",
            "continuous_hierarchies",
            "continuous_hierarchies_labels"
         ],
         "title": "ExposureSettingsMenu",
         "type": "object"
      },
      "FactorRiskModelSettingsMenu": {
         "additionalProperties": false,
         "description": "Define available settings to build a factor risk model.",
         "properties": {
            "exposure_settings_menu": {
               "$ref": "#/$defs/ExposureSettingsMenu",
               "description": "The exposure settings menu."
            },
            "modelconstruction_settings_menu": {
               "$ref": "#/$defs/ModelConstructionSettingsMenu",
               "description": "The model construction settings menu."
            }
         },
         "required": [
            "exposure_settings_menu",
            "modelconstruction_settings_menu"
         ],
         "title": "FactorRiskModelSettingsMenu",
         "type": "object"
      },
      "Hierarchy": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "additionalProperties": {
                  "$ref": "#/$defs/Hierarchy"
               },
               "type": "object"
            }
         ]
      },
      "ModelConstructionSettingsMenu": {
         "additionalProperties": false,
         "description": "Defines available modelconstruction settings to build a factor risk model.",
         "properties": {
            "weights": {
               "description": "\n        The available regression weights that can be used for the factor risk model.\n        ",
               "items": {
                  "enum": [
                     "SqrtCap",
                     "InvIdioVar"
                  ],
                  "type": "string"
               },
               "title": "Weights",
               "type": "array"
            }
         },
         "required": [
            "weights"
         ],
         "title": "ModelConstructionSettingsMenu",
         "type": "object"
      },
      "PortfolioHierarchySettingsMenu": {
         "additionalProperties": false,
         "description": "Specifies the set of available portfolios that can be used to create hierarchies.",
         "properties": {
            "sources": {
               "additionalProperties": {
                  "items": {
                     "type": "string"
                  },
                  "type": "array"
               },
               "description": "Mapping of sources to the available portfolio IDs for that source.",
               "title": "Sources",
               "type": "object"
            },
            "schemas": {
               "additionalProperties": {
                  "items": {
                     "type": "string"
                  },
                  "type": "array"
               },
               "description": "Set of available portfolio organizer schemas and their associated portfolio IDs.",
               "title": "Schemas",
               "type": "object"
            }
         },
         "title": "PortfolioHierarchySettingsMenu",
         "type": "object"
      },
      "UniverseSettingsMenu": {
         "additionalProperties": false,
         "description": "Contain the available settings that can be used for the universe settings.",
         "properties": {
            "calendar_settings_menu": {
               "$ref": "#/$defs/CalendarSettingsMenu",
               "description": "The calendar settings menu to use for the universe."
            },
            "id_types": {
               "description": "\n        A list of all the id types that are supported for the universe.\n        ",
               "items": {
                  "type": "string"
               },
               "title": "Id Types",
               "type": "array"
            },
            "categorical_hierarchies": {
               "additionalProperties": {
                  "$ref": "#/$defs/Hierarchy"
               },
               "description": "\n        A dictionary where the key is the name of the categorical hierarchy (e.g. 'trbc')\n        and the value is a N-level nested dictionary structure of the categorical hierarchy\n        codes.\n        ",
               "title": "Categorical Hierarchies",
               "type": "object"
            },
            "categorical_hierarchies_labels": {
               "additionalProperties": {
                  "additionalProperties": {
                     "type": "string"
                  },
                  "type": "object"
               },
               "description": "\n        A dictionary where the key is the name of the categorical hierarchy and\n        the value is a mapping from unique categorical code to a human readable name.\n        ",
               "title": "Categorical Hierarchies Labels",
               "type": "object"
            }
         },
         "required": [
            "calendar_settings_menu",
            "id_types",
            "categorical_hierarchies",
            "categorical_hierarchies_labels"
         ],
         "title": "UniverseSettingsMenu",
         "type": "object"
      }
   },
   "additionalProperties": false,
   "required": [
      "universe_settings_menu",
      "exposure_settings_menu",
      "calendar_settings_menu",
      "factor_risk_model_settings_menu",
      "portfolio_hierarchy_settings_menu"
   ]
}

Config:
  • frozen: bool = True

  • extra: str = forbid

Fields:
  • calendar_settings_menu (bayesline.api._src.equity.calendar_settings.CalendarSettingsMenu)

  • exposure_settings_menu (bayesline.api._src.equity.exposure_settings.ExposureSettingsMenu)

  • factor_risk_model_settings_menu (bayesline.api._src.equity.riskmodels_settings.FactorRiskModelSettingsMenu)

  • portfolio_hierarchy_settings_menu (bayesline.api._src.equity.portfoliohierarchy_settings.PortfolioHierarchySettingsMenu)

  • universe_settings_menu (bayesline.api._src.equity.universe_settings.UniverseSettingsMenu)

field universe_settings_menu: UniverseSettingsMenu [Required]#

Options for embedded universe settings.

field exposure_settings_menu: ExposureSettingsMenu [Required]#

Options for embedded exposure settings.

field calendar_settings_menu: CalendarSettingsMenu [Required]#

Options for embedded calendar settings.

field factor_risk_model_settings_menu: FactorRiskModelSettingsMenu [Required]#

Options for embedded factor risk model settings.

field portfolio_hierarchy_settings_menu: PortfolioHierarchySettingsMenu [Required]#

Options for embedded portfolio hierarchy settings.

map_references(fn: Callable[[str | int], str | int]) Self#

Return a copy with every reference-list entry rewritten by fn.

The menu-side counterpart of Settings.map_references(). A menu enumerates the settings/datasets/sources a user may reference; this applies fn to those enumerated references (leaving plain system-data fields untouched) so a caller can translate a menu between reference namespaces. The base implementation has no reference fields and returns self unchanged; menus that carry reference lists override it.

Parameters#

fnCallable[[str | int], str | int]

Applied to each enumerated reference. Must preserve a reference’s kind (a name stays a name, an id stays an id).

Returns#

Self

A copy with reference-list entries rewritten.

describe() str#

Describe the settings menu.

Returns#

str

A human readable description of the settings menu.