bayesline.api.equity.UniverseCountReportSettings#

pydantic model bayesline.api.equity.UniverseCountReportSettings#

Settings for a universe count report.

Show JSON schema
{
   "title": "UniverseCountReportSettings",
   "description": "Settings for a universe count report.",
   "type": "object",
   "properties": {
      "report_type": {
         "const": "universe_count",
         "default": "universe_count",
         "description": "Report type discriminator",
         "title": "Report Type",
         "type": "string"
      },
      "universe_settings": {
         "$ref": "#/$defs/UniverseSettings"
      },
      "date_aggregation": {
         "default": "last",
         "description": "The date aggregation to use",
         "enum": [
            "last",
            "mean",
            "sum"
         ],
         "title": "Date Aggregation",
         "type": "string"
      }
   },
   "$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"
      },
      "UniverseSettings": {
         "additionalProperties": false,
         "description": "Define an asset universe as a set of regional, industry and market cap filters.",
         "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        "
            }
         },
         "title": "UniverseSettings",
         "type": "object"
      }
   },
   "additionalProperties": false,
   "required": [
      "universe_settings"
   ]
}

Config:
  • frozen: bool = True

  • extra: str = forbid

Fields:
  • date_aggregation (Literal['last', 'mean', 'sum'])

  • report_type (Literal['universe_count'])

  • universe_settings (bayesline.api._src.equity.universe_settings.UniverseSettings)

Validators:

field report_type: Literal['universe_count'] = 'universe_count'#

Report type discriminator

Validated by:
  • _strip_unknown_on_load

field universe_settings: UniverseSettings [Required]#
Validated by:
  • _strip_unknown_on_load

field date_aggregation: Literal['last', 'mean', 'sum'] = 'last'#

The date aggregation to use

Validated by:
  • _strip_unknown_on_load