bayesline.api.equity.UniverseSettings#

pydantic model bayesline.api.equity.UniverseSettings#

Define an asset universe as a set of regional, industry and market cap filters.

Show JSON schema
{
   "title": "UniverseSettings",
   "description": "Define an asset universe as a set of regional, industry and market cap filters.",
   "type": "object",
   "properties": {
      "id_type": {
         "default": "bayesid",
         "description": "The default id type to use for the universe.",
         "examples": [
            "cusip9",
            "bayesid"
         ],
         "title": "Id Type",
         "type": "string"
      },
      "calendar": {
         "$ref": "#/$defs/CalendarSettings",
         "description": "The calendar settings to use for the universe."
      },
      "categorical_filters": {
         "description": "\n        Filters that determine which categorical codes to include and exclude in the universe.\n        ",
         "items": {
            "$ref": "#/$defs/CategoricalFilterSettings"
         },
         "title": "Categorical Filters",
         "type": "array"
      },
      "portfolio_filter": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "integer"
            },
            {
               "$ref": "#/$defs/PortfolioOrganizerSettings"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The portfolio organizer settings to use as an underlying schema of portfolios. Universe will be filtered across the superset of all portfolios.",
         "title": "Portfolio Filter"
      },
      "mcap_filter": {
         "$ref": "#/$defs/MCapFilterSettings",
         "description": "\n        Filters that determine which market caps to include and exclude in the universe.\n        "
      }
   },
   "$defs": {
      "CalendarSettings": {
         "additionalProperties": false,
         "description": "Calendar settings carrying exchange filters to construct calendars from.",
         "properties": {
            "filters": {
               "default": [
                  [
                     "XNYS"
                  ]
               ],
               "description": "The filters to apply. Each filter is a list of exchange MIC codes. The outer list will be treated as an OR conditions, while the inner lists will be treated as an AND conditions. For example, `[['A', 'B'], ['C']]` means that the holidays are the days where either A and B are both holidays, or C is a holiday.",
               "examples": [
                  [
                     [
                        "XNYS"
                     ]
                  ],
                  [
                     [
                        "XNYS",
                        "XNAS"
                     ]
                  ],
                  [
                     [
                        "XNYS"
                     ],
                     [
                        "XNAS"
                     ]
                  ]
               ],
               "items": {
                  "items": {
                     "type": "string"
                  },
                  "type": "array"
               },
               "minItems": 1,
               "title": "Filters",
               "type": "array"
            }
         },
         "title": "CalendarSettings",
         "type": "object"
      },
      "CategoricalFilterSettings": {
         "additionalProperties": false,
         "description": "Specify include and exclude filters for categorical codes.\n\nExamples of categorical codes are industries or countries. Assets are included if\nthey are part of at least one include and not part of any exclude.\n\nBy default all codes for the given hierarchy are included.",
         "properties": {
            "hierarchy": {
               "description": "The categorical hierarchy to use.",
               "examples": [
                  "trbc"
               ],
               "minLength": 1,
               "title": "Hierarchy",
               "type": "string"
            },
            "include": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "const": "All",
                     "type": "string"
                  }
               ],
               "default": "All",
               "description": "Valid industry codes or labels for given hierarchy at any level. If labels are used which may be duplicated, then the code with the highest level is used. If 'All', all codes are included.",
               "examples": [
                  [
                     "3571"
                  ],
                  "All",
                  [
                     "Materials",
                     "1010"
                  ],
                  [
                     "Europe",
                     "CAN"
                  ]
               ],
               "title": "Include"
            },
            "exclude": {
               "description": "Valid industry codes or labels for given hierarchy at any level. If labels are used which may be duplicated, then the code with the lowest level is used.",
               "examples": [
                  [
                     "3571"
                  ],
                  [
                     "Materials",
                     "1010"
                  ],
                  [
                     "JPN"
                  ]
               ],
               "items": {
                  "type": "string"
               },
               "title": "Exclude",
               "type": "array"
            }
         },
         "required": [
            "hierarchy"
         ],
         "title": "CategoricalFilterSettings",
         "type": "object"
      },
      "MCapFilterSettings": {
         "additionalProperties": false,
         "description": "Specify the lower and upper bound for the market cap filter.\n\nBy default the bounds are infinite.",
         "properties": {
            "lower": {
               "default": 0.0,
               "description": "Lower bound of the cap filter in USD.",
               "examples": [
                  10000000000.0
               ],
               "minimum": 0,
               "title": "Lower",
               "type": "number"
            },
            "upper": {
               "default": 1e+20,
               "description": "Upper bound of the cap filter in USD.",
               "examples": [
                  1000000000000.0
               ],
               "exclusiveMinimum": 0.0,
               "minimum": 0,
               "title": "Upper",
               "type": "number"
            }
         },
         "title": "MCapFilterSettings",
         "type": "object"
      },
      "PortfolioOrganizerSettings": {
         "additionalProperties": false,
         "description": "Definition of where to source portfolio data from.\n\nSpecifies which portfolios to enable (from different sources).\nDifferent sources (e.g. uploaded portfolios) can provide the same portfolio\nidentifiers. These settings allow to specify which portfolios to enable from\nwhich sources.",
         "properties": {
            "enabled_portfolios": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "additionalProperties": {
                        "type": "string"
                     },
                     "type": "object"
                  }
               ],
               "description": "The enabled portfolios from different sources. The key is the portfolio ID, and the value is the source (name of the underlying portfolio service). Pass a str to reference an entire portfolio source (e.g. all portfolios from an upload).",
               "title": "Enabled Portfolios"
            },
            "auxiliary_portfolios": {
               "additionalProperties": {
                  "type": "string"
               },
               "description": "Portfolios pulled in by fund-of-funds (FoF) cascade. Informational: always recomputed from ``enabled_portfolios`` plus the FoF graph at load time. Persisted as-is on save; any stale values are overwritten on the next normalize. The loader's effective enabled set is the union of ``enabled_portfolios`` and ``auxiliary_portfolios`` with user-explicit entries winning on key collision.",
               "title": "Auxiliary Portfolios",
               "type": "object"
            }
         },
         "required": [
            "enabled_portfolios"
         ],
         "title": "PortfolioOrganizerSettings",
         "type": "object"
      }
   },
   "additionalProperties": false
}

Config:
  • frozen: bool = True

  • extra: str = forbid

Fields:
  • calendar (bayesline.api._src.equity.calendar_settings.CalendarSettings)

  • categorical_filters (list[bayesline.api._src.equity.universe_settings.CategoricalFilterSettings])

  • id_type (str)

  • mcap_filter (bayesline.api._src.equity.universe_settings.MCapFilterSettings)

  • portfolio_filter (str | int | bayesline.api._src.equity.portfolio_settings.PortfolioOrganizerSettings | None)

Validators:
  • check_unique_filters » categorical_filters

  • validate_calendar » calendar

  • validate_categorical_filters » categorical_filters

  • validate_id_type » id_type

field id_type: IdType = 'bayesid'#

The default id type to use for the universe.

Validated by:
  • _strip_unknown_on_load

  • validate_id_type

field calendar: CalendarSettings [Optional]#

The calendar settings to use for the universe.

Validated by:
  • _strip_unknown_on_load

  • validate_calendar

field categorical_filters: list[CategoricalFilterSettings] [Optional]#

Filters that determine which categorical codes to include and exclude in the universe.

Validated by:
  • _strip_unknown_on_load

  • check_unique_filters

  • validate_categorical_filters

field portfolio_filter: Annotated[str | int | PortfolioOrganizerSettings | None, Field(description='The portfolio organizer settings to use as an underlying schema of portfolios. Universe will be filtered across the superset of all portfolios.', default=None), SettingsTypeMetaData[str | int | PortfolioOrganizerSettings](references=PortfolioOrganizerSettings)] = None#

The portfolio organizer settings to use as an underlying schema of portfolios. Universe will be filtered across the superset of all portfolios.

Constraints:
  • references = <class ‘bayesline.api._src.equity.portfolio_settings.PortfolioOrganizerSettings’>

Validated by:
  • _strip_unknown_on_load

field mcap_filter: MCapFilterSettings [Optional]#

Filters that determine which market caps to include and exclude in the universe.

Validated by:
  • _strip_unknown_on_load

get_references() Sequence[str | int]#

Get references for this universe settings object.

Returns#

Sequence[str | int]

A sequence of references (strings or integers) for this universe settings object.

property menu_type: type[UniverseSettingsMenu]#

Get the menu type for this settings object.

Returns#

type[M]

The menu type for this settings object.

validator check_unique_filters list[CategoricalFilterSettings]  »  categorical_filters#
validator validate_id_type str  »  id_type#
validator validate_calendar CalendarSettings  »  calendar#
validator validate_categorical_filters list[CategoricalFilterSettings]  »  categorical_filters#
describe(menu: UniverseSettingsMenu) str#

Describe the universe settings.

Parameters#

menuUniverseSettingsMenu

The settings menu to use to describe the settings.

Returns#

str

A description of the universe settings.