bayesline.api.equity.HoldingsReportSettings

bayesline.api.equity.HoldingsReportSettings#

pydantic model bayesline.api.equity.HoldingsReportSettings#

Defines settings to build a holdings report.

Show JSON schema
{
   "title": "HoldingsReportSettings",
   "description": "Defines settings to build a holdings report.",
   "type": "object",
   "properties": {
      "type": {
         "const": "Holdings report",
         "default": "Holdings report",
         "title": "Type",
         "type": "string"
      },
      "measures": {
         "description": "The measures to include in the report.",
         "items": {
            "anyOf": [
               {
                  "$ref": "#/$defs/PassThroughFactor2DMeasureSettings"
               },
               {
                  "$ref": "#/$defs/HoldingsMeasureSettings"
               },
               {
                  "$ref": "#/$defs/ExposureMeasureSettings"
               },
               {
                  "$ref": "#/$defs/XSigmaRhoMeasureSettings"
               },
               {
                  "$ref": "#/$defs/TimeSeriesXSigmaRhoMeasureSettings"
               },
               {
                  "$ref": "#/$defs/TimeSeriesBetaMeasureSettings"
               },
               {
                  "$ref": "#/$defs/HVaRMeasureSettings"
               },
               {
                  "$ref": "#/$defs/AVaRMeasureSettings"
               },
               {
                  "$ref": "#/$defs/TimeSeriesVolatilityMeasureSettings"
               },
               {
                  "$ref": "#/$defs/CumsumMeasureSettings"
               },
               {
                  "$ref": "#/$defs/DrawdownMeasureSettings"
               },
               {
                  "$ref": "#/$defs/MovingAverageMeasureSettings"
               },
               {
                  "$ref": "#/$defs/FactorMovingAverageMeasureSettings"
               },
               {
                  "$ref": "#/$defs/MovingAverageRSquaredMeasureSettings"
               },
               {
                  "$ref": "#/$defs/VolForecastMeasureSettings"
               },
               {
                  "$ref": "#/$defs/FactorVolForecastMeasureSettings"
               },
               {
                  "$ref": "#/$defs/FactorCovarianceMeasureSettings"
               },
               {
                  "$ref": "#/$defs/IdiosyncraticReturnMeasureSettings"
               },
               {
                  "$ref": "#/$defs/IdiosyncraticVolatilityMeasureSettings"
               },
               {
                  "$ref": "#/$defs/FactorIdioMeasureSettings"
               },
               {
                  "$ref": "#/$defs/ForecastBacktestMeasureSettings"
               },
               {
                  "$ref": "#/$defs/BrinsonAttributionMeasureSettings"
               },
               {
                  "$ref": "#/$defs/FactorAttributionMeasureSettings"
               },
               {
                  "$ref": "#/$defs/PortfolioStressTestMeasureSettings"
               },
               {
                  "$ref": "#/$defs/AssetStressTestMeasureSettings"
               },
               {
                  "$ref": "#/$defs/AssetHoldingsMeasureSettings"
               }
            ]
         },
         "title": "Measures",
         "type": "array"
      }
   },
   "$defs": {
      "AVaRMeasureSettings": {
         "additionalProperties": false,
         "properties": {
            "type": {
               "const": "Analytical VaR",
               "default": "Analytical VaR",
               "title": "Type",
               "type": "string"
            },
            "alpha": {
               "default": [
                  0.1,
                  0.05
               ],
               "items": {
                  "type": "number"
               },
               "title": "Alpha",
               "type": "array"
            }
         },
         "title": "AVaRMeasureSettings",
         "type": "object"
      },
      "AssetHoldingsMeasureSettings": {
         "additionalProperties": false,
         "properties": {
            "type": {
               "const": "AssetHoldings",
               "default": "AssetHoldings",
               "title": "Type",
               "type": "string"
            }
         },
         "title": "AssetHoldingsMeasureSettings",
         "type": "object"
      },
      "AssetStressTestMeasureSettings": {
         "additionalProperties": false,
         "properties": {
            "type": {
               "const": "AssetStressTest",
               "default": "AssetStressTest",
               "title": "Type",
               "type": "string"
            },
            "shock_size": {
               "default": 1.0,
               "description": "The size of the shock to apply in standard deviations.",
               "title": "Shock Size",
               "type": "number"
            }
         },
         "title": "AssetStressTestMeasureSettings",
         "type": "object"
      },
      "BrinsonAttributionMeasureSettings": {
         "additionalProperties": false,
         "properties": {
            "type": {
               "const": "BrinsonAttribution",
               "default": "BrinsonAttribution",
               "title": "Type",
               "type": "string"
            },
            "rescale_bench": {
               "default": true,
               "description": "Rescale the benchmark holdings to sum to the sum of the holdings.",
               "title": "Rescale Bench",
               "type": "boolean"
            },
            "normalize_holdings": {
               "default": true,
               "description": "Make holdings sum to one.",
               "title": "Normalize Holdings",
               "type": "boolean"
            },
            "multiperiod_aggregation": {
               "default": "none",
               "enum": [
                  "none",
                  "optimized"
               ],
               "title": "Multiperiod Aggregation",
               "type": "string"
            },
            "return_aggregation_type": {
               "default": "geometric",
               "enum": [
                  "arithmetic",
                  "geometric"
               ],
               "title": "Return Aggregation Type",
               "type": "string"
            }
         },
         "title": "BrinsonAttributionMeasureSettings",
         "type": "object"
      },
      "CumsumMeasureSettings": {
         "additionalProperties": false,
         "properties": {
            "type": {
               "const": "Cumsum",
               "default": "Cumsum",
               "title": "Type",
               "type": "string"
            }
         },
         "title": "CumsumMeasureSettings",
         "type": "object"
      },
      "DrawdownMeasureSettings": {
         "additionalProperties": false,
         "properties": {
            "type": {
               "const": "Drawdown",
               "default": "Drawdown",
               "title": "Type",
               "type": "string"
            },
            "window": {
               "default": "6mo",
               "description": "The size of the rolling window",
               "title": "Window",
               "type": "string"
            }
         },
         "title": "DrawdownMeasureSettings",
         "type": "object"
      },
      "ExposureMeasureSettings": {
         "additionalProperties": false,
         "properties": {
            "type": {
               "const": "Exposure",
               "default": "Exposure",
               "title": "Type",
               "type": "string"
            },
            "rescale_bench": {
               "default": true,
               "description": "Rescale the benchmark holdings to sum to the sum of the holdings.",
               "title": "Rescale Bench",
               "type": "boolean"
            },
            "normalize_holdings": {
               "default": true,
               "description": "Make holdings sum to one.",
               "title": "Normalize Holdings",
               "type": "boolean"
            }
         },
         "title": "ExposureMeasureSettings",
         "type": "object"
      },
      "FactorAttributionMeasureSettings": {
         "additionalProperties": false,
         "properties": {
            "type": {
               "const": "FactorAttribution",
               "default": "FactorAttribution",
               "title": "Type",
               "type": "string"
            },
            "rescale_bench": {
               "default": true,
               "description": "Rescale the benchmark holdings to sum to the sum of the holdings.",
               "title": "Rescale Bench",
               "type": "boolean"
            },
            "normalize_holdings": {
               "default": true,
               "description": "Make holdings sum to one.",
               "title": "Normalize Holdings",
               "type": "boolean"
            },
            "multiperiod_aggregation": {
               "default": "none",
               "enum": [
                  "none",
                  "optimized"
               ],
               "title": "Multiperiod Aggregation",
               "type": "string"
            },
            "return_aggregation_type": {
               "default": "geometric",
               "enum": [
                  "arithmetic",
                  "geometric"
               ],
               "title": "Return Aggregation Type",
               "type": "string"
            }
         },
         "title": "FactorAttributionMeasureSettings",
         "type": "object"
      },
      "FactorCovarianceMeasureSettings": {
         "additionalProperties": false,
         "properties": {
            "type": {
               "const": "FactorCovariance",
               "default": "FactorCovariance",
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FactorCovarianceMeasureSettings",
         "type": "object"
      },
      "FactorIdioMeasureSettings": {
         "additionalProperties": false,
         "properties": {
            "type": {
               "const": "FactorIdio",
               "default": "FactorIdio",
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FactorIdioMeasureSettings",
         "type": "object"
      },
      "FactorMovingAverageMeasureSettings": {
         "additionalProperties": false,
         "properties": {
            "type": {
               "const": "FactorMovingAverage",
               "default": "FactorMovingAverage",
               "title": "Type",
               "type": "string"
            },
            "window": {
               "default": "6mo",
               "description": "The size of the rolling window",
               "title": "Window",
               "type": "string"
            },
            "var": {
               "default": "p",
               "description": "The variable to average",
               "enum": [
                  "abs_t",
                  "p",
                  "p1",
                  "p5"
               ],
               "title": "Var",
               "type": "string"
            }
         },
         "title": "FactorMovingAverageMeasureSettings",
         "type": "object"
      },
      "FactorVolForecastMeasureSettings": {
         "additionalProperties": false,
         "properties": {
            "type": {
               "const": "FactorVolForecast",
               "default": "FactorVolForecast",
               "title": "Type",
               "type": "string"
            },
            "window": {
               "default": "6mo",
               "description": "The size of the rolling window",
               "title": "Window",
               "type": "string"
            },
            "metric": {
               "default": "qlike",
               "description": "The metric to use",
               "enum": [
                  "qlike",
                  "mse",
                  "mae",
                  "bias"
               ],
               "title": "Metric",
               "type": "string"
            },
            "ddof": {
               "default": 1,
               "description": "The degrees of freedom to use for the stability",
               "title": "Ddof",
               "type": "integer"
            }
         },
         "title": "FactorVolForecastMeasureSettings",
         "type": "object"
      },
      "ForecastBacktestMeasureSettings": {
         "additionalProperties": false,
         "properties": {
            "type": {
               "const": "ForecastBacktest",
               "default": "ForecastBacktest",
               "title": "Type",
               "type": "string"
            },
            "window": {
               "default": "6mo",
               "description": "The size of the rolling window",
               "title": "Window",
               "type": "string"
            },
            "ddof": {
               "default": 1,
               "description": "The degrees of freedom to use for the stability",
               "title": "Ddof",
               "type": "integer"
            }
         },
         "title": "ForecastBacktestMeasureSettings",
         "type": "object"
      },
      "HVaRMeasureSettings": {
         "additionalProperties": false,
         "properties": {
            "type": {
               "const": "Historical VaR",
               "default": "Historical VaR",
               "title": "Type",
               "type": "string"
            },
            "alpha": {
               "default": [
                  0.1,
                  0.05
               ],
               "items": {
                  "type": "number"
               },
               "title": "Alpha",
               "type": "array"
            }
         },
         "title": "HVaRMeasureSettings",
         "type": "object"
      },
      "HoldingsMeasureSettings": {
         "additionalProperties": false,
         "properties": {
            "type": {
               "const": "Holdings",
               "default": "Holdings",
               "title": "Type",
               "type": "string"
            }
         },
         "title": "HoldingsMeasureSettings",
         "type": "object"
      },
      "IdiosyncraticReturnMeasureSettings": {
         "additionalProperties": false,
         "properties": {
            "type": {
               "const": "IdiosyncraticReturn",
               "default": "IdiosyncraticReturn",
               "title": "Type",
               "type": "string"
            }
         },
         "title": "IdiosyncraticReturnMeasureSettings",
         "type": "object"
      },
      "IdiosyncraticVolatilityMeasureSettings": {
         "additionalProperties": false,
         "properties": {
            "type": {
               "const": "IdiosyncraticVolatility",
               "default": "IdiosyncraticVolatility",
               "title": "Type",
               "type": "string"
            }
         },
         "title": "IdiosyncraticVolatilityMeasureSettings",
         "type": "object"
      },
      "MovingAverageMeasureSettings": {
         "additionalProperties": false,
         "properties": {
            "type": {
               "const": "MovingAverage",
               "default": "MovingAverage",
               "title": "Type",
               "type": "string"
            },
            "window": {
               "default": "6mo",
               "description": "The size of the rolling window",
               "title": "Window",
               "type": "string"
            },
            "var": {
               "default": "r2",
               "description": "The variable to average",
               "enum": [
                  "r2",
                  "sigma2",
                  "sigma"
               ],
               "title": "Var",
               "type": "string"
            }
         },
         "title": "MovingAverageMeasureSettings",
         "type": "object"
      },
      "MovingAverageRSquaredMeasureSettings": {
         "additionalProperties": false,
         "properties": {
            "type": {
               "const": "MovingAverageRSquared",
               "default": "MovingAverageRSquared",
               "title": "Type",
               "type": "string"
            },
            "rescale_bench": {
               "default": true,
               "description": "Rescale the benchmark holdings to sum to the sum of the holdings.",
               "title": "Rescale Bench",
               "type": "boolean"
            },
            "normalize_holdings": {
               "default": true,
               "description": "Make holdings sum to one.",
               "title": "Normalize Holdings",
               "type": "boolean"
            },
            "window": {
               "default": "6mo",
               "description": "The size of the rolling window",
               "title": "Window",
               "type": "string"
            }
         },
         "title": "MovingAverageRSquaredMeasureSettings",
         "type": "object"
      },
      "PassThroughFactor2DMeasureSettings": {
         "additionalProperties": false,
         "properties": {
            "type": {
               "const": "PassThroughFactor2D",
               "default": "PassThroughFactor2D",
               "title": "Type",
               "type": "string"
            },
            "name": {
               "default": "PassThroughFactor2D",
               "description": "The name of the measure.",
               "title": "Name",
               "type": "string"
            }
         },
         "title": "PassThroughFactor2DMeasureSettings",
         "type": "object"
      },
      "PortfolioStressTestMeasureSettings": {
         "additionalProperties": false,
         "properties": {
            "type": {
               "const": "PortfolioStressTest",
               "default": "PortfolioStressTest",
               "title": "Type",
               "type": "string"
            },
            "shock_size": {
               "default": 0.1,
               "description": "The size of the shock to apply.",
               "title": "Shock Size",
               "type": "number"
            }
         },
         "title": "PortfolioStressTestMeasureSettings",
         "type": "object"
      },
      "TimeSeriesBetaMeasureSettings": {
         "additionalProperties": false,
         "properties": {
            "type": {
               "const": "TimeSeriesBeta",
               "default": "TimeSeriesBeta",
               "title": "Type",
               "type": "string"
            },
            "rescale_bench": {
               "default": true,
               "description": "Rescale the benchmark holdings to sum to the sum of the holdings.",
               "title": "Rescale Bench",
               "type": "boolean"
            }
         },
         "title": "TimeSeriesBetaMeasureSettings",
         "type": "object"
      },
      "TimeSeriesVolatilityMeasureSettings": {
         "additionalProperties": false,
         "properties": {
            "type": {
               "const": "TimeSeriesVolatility",
               "default": "TimeSeriesVolatility",
               "title": "Type",
               "type": "string"
            },
            "window": {
               "default": "6mo",
               "description": "The size of the rolling window",
               "title": "Window",
               "type": "string"
            },
            "ddof": {
               "default": 1,
               "description": "The degrees of freedom to use for the volality",
               "title": "Ddof",
               "type": "integer"
            }
         },
         "title": "TimeSeriesVolatilityMeasureSettings",
         "type": "object"
      },
      "TimeSeriesXSigmaRhoMeasureSettings": {
         "additionalProperties": false,
         "properties": {
            "type": {
               "const": "TimeSeriesXSigmaRho",
               "default": "TimeSeriesXSigmaRho",
               "title": "Type",
               "type": "string"
            },
            "rescale_bench": {
               "default": true,
               "description": "Rescale the benchmark holdings to sum to the sum of the holdings.",
               "title": "Rescale Bench",
               "type": "boolean"
            },
            "normalize_holdings": {
               "default": true,
               "description": "Make holdings sum to one.",
               "title": "Normalize Holdings",
               "type": "boolean"
            },
            "analytics_space": {
               "default": "absolute",
               "description": "Compute the anlytics in `absolute` space, `active` space, or compute the analytics only on the `benchmark`.",
               "enum": [
                  "absolute",
                  "active",
                  "benchmark"
               ],
               "title": "Analytics Space",
               "type": "string"
            },
            "backfill_holdings": {
               "default": false,
               "description": "Backfill the latest holdings, accounting for listing/delisting.",
               "title": "Backfill Holdings",
               "type": "boolean"
            }
         },
         "title": "TimeSeriesXSigmaRhoMeasureSettings",
         "type": "object"
      },
      "VolForecastMeasureSettings": {
         "additionalProperties": false,
         "properties": {
            "type": {
               "const": "VolForecast",
               "default": "VolForecast",
               "title": "Type",
               "type": "string"
            },
            "window": {
               "default": "6mo",
               "description": "The size of the rolling window",
               "title": "Window",
               "type": "string"
            },
            "metric": {
               "default": "qlike",
               "description": "The metric to use",
               "enum": [
                  "qlike",
                  "mse",
                  "mae",
                  "bias"
               ],
               "title": "Metric",
               "type": "string"
            },
            "ddof": {
               "default": 1,
               "description": "The degrees of freedom to use for the stability",
               "title": "Ddof",
               "type": "integer"
            }
         },
         "title": "VolForecastMeasureSettings",
         "type": "object"
      },
      "XSigmaRhoMeasureSettings": {
         "additionalProperties": false,
         "properties": {
            "type": {
               "const": "XSigmaRho",
               "default": "XSigmaRho",
               "title": "Type",
               "type": "string"
            },
            "rescale_bench": {
               "default": true,
               "description": "Rescale the benchmark holdings to sum to the sum of the holdings.",
               "title": "Rescale Bench",
               "type": "boolean"
            },
            "normalize_holdings": {
               "default": true,
               "description": "Make holdings sum to one.",
               "title": "Normalize Holdings",
               "type": "boolean"
            },
            "analytics_space": {
               "default": "absolute",
               "description": "Compute the analytics in `absolute` space, `active` space, or compute the analytics only on the `benchmark`.",
               "enum": [
                  "absolute",
                  "active",
                  "benchmark"
               ],
               "title": "Analytics Space",
               "type": "string"
            }
         },
         "title": "XSigmaRhoMeasureSettings",
         "type": "object"
      }
   },
   "additionalProperties": false
}

Config:
  • frozen: bool = True

  • extra: str = forbid

Fields:
  • measures (list[bayesline.api._src.equity.report_settings.PassThroughFactor2DMeasureSettings | bayesline.api._src.equity.report_settings.HoldingsMeasureSettings | bayesline.api._src.equity.report_settings.ExposureMeasureSettings | bayesline.api._src.equity.report_settings.XSigmaRhoMeasureSettings | bayesline.api._src.equity.report_settings.TimeSeriesXSigmaRhoMeasureSettings | bayesline.api._src.equity.report_settings.TimeSeriesBetaMeasureSettings | bayesline.api._src.equity.report_settings.HVaRMeasureSettings | bayesline.api._src.equity.report_settings.AVaRMeasureSettings | bayesline.api._src.equity.report_settings.TimeSeriesVolatilityMeasureSettings | bayesline.api._src.equity.report_settings.CumsumMeasureSettings | bayesline.api._src.equity.report_settings.DrawdownMeasureSettings | bayesline.api._src.equity.report_settings.MovingAverageMeasureSettings | bayesline.api._src.equity.report_settings.FactorMovingAverageMeasureSettings | bayesline.api._src.equity.report_settings.MovingAverageRSquaredMeasureSettings | bayesline.api._src.equity.report_settings.VolForecastMeasureSettings | bayesline.api._src.equity.report_settings.FactorVolForecastMeasureSettings | bayesline.api._src.equity.report_settings.FactorCovarianceMeasureSettings | bayesline.api._src.equity.report_settings.IdiosyncraticReturnMeasureSettings | bayesline.api._src.equity.report_settings.IdiosyncraticVolatilityMeasureSettings | bayesline.api._src.equity.report_settings.FactorIdioMeasureSettings | bayesline.api._src.equity.report_settings.ForecastBacktestMeasureSettings | bayesline.api._src.equity.report_settings.BrinsonAttributionMeasureSettings | bayesline.api._src.equity.report_settings.FactorAttributionMeasureSettings | bayesline.api._src.equity.report_settings.PortfolioStressTestMeasureSettings | bayesline.api._src.equity.report_settings.AssetStressTestMeasureSettings | bayesline.api._src.equity.report_settings.AssetHoldingsMeasureSettings])

  • type (Literal['Holdings report'])

field type: Literal['Holdings report'] = 'Holdings report'#
field measures: list[Union[PassThroughFactor2DMeasureSettings, HoldingsMeasureSettings, ExposureMeasureSettings, XSigmaRhoMeasureSettings, TimeSeriesXSigmaRhoMeasureSettings, TimeSeriesBetaMeasureSettings, HVaRMeasureSettings, AVaRMeasureSettings, TimeSeriesVolatilityMeasureSettings, CumsumMeasureSettings, DrawdownMeasureSettings, MovingAverageMeasureSettings, FactorMovingAverageMeasureSettings, MovingAverageRSquaredMeasureSettings, VolForecastMeasureSettings, FactorVolForecastMeasureSettings, FactorCovarianceMeasureSettings, IdiosyncraticReturnMeasureSettings, IdiosyncraticVolatilityMeasureSettings, FactorIdioMeasureSettings, ForecastBacktestMeasureSettings, BrinsonAttributionMeasureSettings, FactorAttributionMeasureSettings, PortfolioStressTestMeasureSettings, AssetStressTestMeasureSettings, AssetHoldingsMeasureSettings]] [Optional]#

The measures to include in the report.