bayesline.api.equity.ReportSettings#

pydantic model bayesline.api.equity.ReportSettings#

Defines settings to build a report.

Show JSON schema
{
   "title": "ReportSettings",
   "description": "Defines settings to build a report.",
   "type": "object",
   "properties": {
      "report": {
         "anyOf": [
            {
               "$ref": "#/$defs/HoldingsReportSettings"
            },
            {
               "$ref": "#/$defs/ExposureReportSettings"
            },
            {
               "$ref": "#/$defs/XSRReportSettings"
            },
            {
               "$ref": "#/$defs/TSXSRReportSettings"
            },
            {
               "$ref": "#/$defs/RiskDecompositionReportSettings"
            },
            {
               "$ref": "#/$defs/TSBetaReportSettings"
            },
            {
               "$ref": "#/$defs/VaRReportSettings"
            },
            {
               "$ref": "#/$defs/FactorTSReportSettings"
            },
            {
               "$ref": "#/$defs/RiskModelFitReportSettings"
            },
            {
               "$ref": "#/$defs/RiskModelFitFactorReportSettings"
            },
            {
               "$ref": "#/$defs/RiskModelPortfolioFitReportSettings"
            },
            {
               "$ref": "#/$defs/FactorForecastLossReportSettings"
            },
            {
               "$ref": "#/$defs/AssetForecastLossReportSettings"
            },
            {
               "$ref": "#/$defs/FactorCovarianceReportSettings"
            },
            {
               "$ref": "#/$defs/IdiosyncraticReturnReportSettings"
            },
            {
               "$ref": "#/$defs/IdiosyncraticVolatilityReportSettings"
            },
            {
               "$ref": "#/$defs/FactorIdioReportSettings"
            },
            {
               "$ref": "#/$defs/StyleCorrelationReportSettings"
            },
            {
               "$ref": "#/$defs/StyleIndustryExposureReportSettings"
            },
            {
               "$ref": "#/$defs/ForecastBacktestReportSettings"
            },
            {
               "$ref": "#/$defs/BrinsonAttributionReportSettings"
            },
            {
               "$ref": "#/$defs/FactorAttributionReportSettings"
            },
            {
               "$ref": "#/$defs/FactorAttributionDrilldownReportSettings"
            },
            {
               "$ref": "#/$defs/PortfolioStressTestReportSettings"
            },
            {
               "$ref": "#/$defs/AssetStressTestReportSettings"
            },
            {
               "$ref": "#/$defs/AssetHoldingsReportSettings"
            }
         ],
         "title": "Report"
      },
      "risk_model": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "integer"
            },
            {
               "$ref": "#/$defs/FactorRiskModelSettings"
            }
         ],
         "description": "The risk model to use for the report.",
         "title": "Risk Model"
      }
   },
   "$defs": {
      "AVaRMeasureSettings": {
         "additionalProperties": false,
         "description": "Settings for analytical VaR measure.\n\nThis class defines settings for an analytical Value at Risk (VaR) measure,\nwhich provides analytical VaR calculations at specified confidence levels.",
         "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"
      },
      "AssetForecastLossReportSettings": {
         "additionalProperties": false,
         "description": "Defines settings to build a forecast loss report.",
         "properties": {
            "report_type": {
               "const": "Forecast Loss report",
               "default": "Forecast Loss report",
               "title": "Report 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/RiskDecompositionMeasureSettings"
                     },
                     {
                        "$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/FactorAttributionDrilldownMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/PortfolioStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetHoldingsMeasureSettings"
                     }
                  ]
               },
               "title": "Measures",
               "type": "array"
            },
            "horizons": {
               "default": [
                  1,
                  5,
                  21
               ],
               "description": "The forecast horizons to use.",
               "items": {
                  "type": "integer"
               },
               "title": "Horizons",
               "type": "array"
            },
            "halflife_factor_vol": {
               "default": 42,
               "description": "The half-life for the factor volatility.",
               "title": "Halflife Factor Vol",
               "type": "integer"
            },
            "halflife_factor_vra": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The half-life for the factor volatility regime adjustment. If None, no adjustment is applied.",
               "title": "Halflife Factor Vra"
            },
            "halflife_factor_cor": {
               "default": 126,
               "description": "The half-life for the factor correlation.",
               "title": "Halflife Factor Cor",
               "type": "integer"
            },
            "halflife_idio_vol": {
               "default": 42,
               "description": "The half-life for the idiosyncratic volatility.",
               "title": "Halflife Idio Vol",
               "type": "integer"
            },
            "shrink_factor_cor_method": {
               "anyOf": [
                  {
                     "enum": [
                        "LIS",
                        "QIS",
                        "GIS"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The method to use for the shrinkage of the factor correlation. If None, don't shrink.",
               "title": "Shrink Factor Cor Method"
            },
            "shrink_factor_cor_length": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 1008,
               "description": "If a shrinkage method is provided, the length of the shrinkage for the factor correlation.",
               "title": "Shrink Factor Cor Length"
            },
            "shrink_factor_cor_standardized": {
               "default": false,
               "description": "If True, the correlation matrix is combined with an estimate based on the standardized returns. The halflife_factor_vra is used for the weights.",
               "title": "Shrink Factor Cor Standardized",
               "type": "boolean"
            },
            "nw_lags_factor_vol": {
               "default": 0,
               "description": "The Newey-West lags of the factor volatility.",
               "title": "Nw Lags Factor Vol",
               "type": "integer"
            },
            "nw_lags_factor_vol_halflife_override": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The Newey-West lags override for the factor volatility for lagged returns.",
               "title": "Nw Lags Factor Vol Halflife Override"
            },
            "nw_lags_factor_cor": {
               "default": 0,
               "description": "The Newey-West lags of the factor correlation.",
               "title": "Nw Lags Factor Cor",
               "type": "integer"
            },
            "nw_lags_idio_vol": {
               "default": 0,
               "description": "The Newey-West lags of the idiosyncratic volatility.",
               "title": "Nw Lags Idio Vol",
               "type": "integer"
            },
            "nw_lags_idio_vol_halflife_override": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The Newey-West lags override for the idiosyncratic volatility for lagged returns.",
               "title": "Nw Lags Idio Vol Halflife Override"
            },
            "shrink_idio_vol": {
               "default": 0.0,
               "description": "The shrinkage factor for the idiosyncratic volatility.",
               "title": "Shrink Idio Vol",
               "type": "number"
            },
            "clip_idio_return_lb": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": -0.3,
               "description": "The lower bound to clip the idiosyncratic return in order to compute the idiosyncratic volatility. If None, no clipping is applied.",
               "title": "Clip Idio Return Lb"
            },
            "clip_idio_return_ub": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The upper bound to clip the idiosyncratic return in order to compute the idiosyncratic volatility. If None, no clipping is applied.",
               "title": "Clip Idio Return Ub"
            },
            "void_idio_return_lb": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The lower bound to remove the idiosyncratic return in order to compute the idiosyncratic volatility. Removed returns are treated as if there was a holiday for this asset. If None, no removal is applied. Voiding returns is applied before clipping.",
               "title": "Void Idio Return Lb"
            },
            "void_idio_return_ub": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0.5,
               "description": "The upper bound to remove the idiosyncratic return in order to compute the idiosyncratic volatility. Removed returns are treated as if there was a holiday for this asset. If None, no removal is applied. Voiding returns is applied before clipping.",
               "title": "Void Idio Return Ub"
            },
            "structural_model_fallback_halflife": {
               "default": 21,
               "description": "The half-life to use for the structural model fallback. The structural model computes idio vol based on the factor exposures. The halflife determines the dacay of this estimate when historical returns become available.",
               "title": "Structural Model Fallback Halflife",
               "type": "integer"
            }
         },
         "title": "AssetForecastLossReportSettings",
         "type": "object"
      },
      "AssetHoldingsMeasureSettings": {
         "additionalProperties": false,
         "description": "Settings for asset holdings measure.\n\nThis class defines settings for an asset holdings measure,\nwhich provides asset holdings calculations and comparisons.",
         "properties": {
            "type": {
               "const": "AssetHoldings",
               "default": "AssetHoldings",
               "title": "Type",
               "type": "string"
            }
         },
         "title": "AssetHoldingsMeasureSettings",
         "type": "object"
      },
      "AssetHoldingsReportSettings": {
         "additionalProperties": false,
         "description": "Defines settings to build an asset holdings report.",
         "properties": {
            "report_type": {
               "const": "Asset Holdings report",
               "default": "Asset Holdings report",
               "title": "Report 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/RiskDecompositionMeasureSettings"
                     },
                     {
                        "$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/FactorAttributionDrilldownMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/PortfolioStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetHoldingsMeasureSettings"
                     }
                  ]
               },
               "title": "Measures",
               "type": "array"
            }
         },
         "title": "AssetHoldingsReportSettings",
         "type": "object"
      },
      "AssetStressTestMeasureSettings": {
         "additionalProperties": false,
         "description": "Settings for asset stress test measure.\n\nThis class defines settings for an asset stress test measure,\nwhich provides asset stress test calculations.",
         "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"
      },
      "AssetStressTestReportSettings": {
         "additionalProperties": false,
         "description": "Defines settings to build an asset stress test report.",
         "properties": {
            "report_type": {
               "const": "Asset Stress Test report",
               "default": "Asset Stress Test report",
               "title": "Report 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/RiskDecompositionMeasureSettings"
                     },
                     {
                        "$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/FactorAttributionDrilldownMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/PortfolioStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetHoldingsMeasureSettings"
                     }
                  ]
               },
               "title": "Measures",
               "type": "array"
            },
            "halflife_factor_vol": {
               "default": 42,
               "description": "The half-life for the factor volatility.",
               "title": "Halflife Factor Vol",
               "type": "integer"
            },
            "halflife_factor_vra": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The half-life for the factor volatility regime adjustment. If None, no adjustment is applied.",
               "title": "Halflife Factor Vra"
            },
            "halflife_factor_cor": {
               "default": 126,
               "description": "The half-life for the factor correlation.",
               "title": "Halflife Factor Cor",
               "type": "integer"
            },
            "halflife_idio_vol": {
               "default": 42,
               "description": "The half-life for the idiosyncratic volatility.",
               "title": "Halflife Idio Vol",
               "type": "integer"
            },
            "shrink_factor_cor_method": {
               "anyOf": [
                  {
                     "enum": [
                        "LIS",
                        "QIS",
                        "GIS"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The method to use for the shrinkage of the factor correlation. If None, don't shrink.",
               "title": "Shrink Factor Cor Method"
            },
            "shrink_factor_cor_length": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 1008,
               "description": "If a shrinkage method is provided, the length of the shrinkage for the factor correlation.",
               "title": "Shrink Factor Cor Length"
            },
            "shrink_factor_cor_standardized": {
               "default": false,
               "description": "If True, the correlation matrix is combined with an estimate based on the standardized returns. The halflife_factor_vra is used for the weights.",
               "title": "Shrink Factor Cor Standardized",
               "type": "boolean"
            },
            "nw_lags_factor_vol": {
               "default": 0,
               "description": "The Newey-West lags of the factor volatility.",
               "title": "Nw Lags Factor Vol",
               "type": "integer"
            },
            "nw_lags_factor_vol_halflife_override": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The Newey-West lags override for the factor volatility for lagged returns.",
               "title": "Nw Lags Factor Vol Halflife Override"
            },
            "nw_lags_factor_cor": {
               "default": 0,
               "description": "The Newey-West lags of the factor correlation.",
               "title": "Nw Lags Factor Cor",
               "type": "integer"
            },
            "nw_lags_idio_vol": {
               "default": 0,
               "description": "The Newey-West lags of the idiosyncratic volatility.",
               "title": "Nw Lags Idio Vol",
               "type": "integer"
            },
            "nw_lags_idio_vol_halflife_override": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The Newey-West lags override for the idiosyncratic volatility for lagged returns.",
               "title": "Nw Lags Idio Vol Halflife Override"
            },
            "shrink_idio_vol": {
               "default": 0.0,
               "description": "The shrinkage factor for the idiosyncratic volatility.",
               "title": "Shrink Idio Vol",
               "type": "number"
            },
            "clip_idio_return_lb": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": -0.3,
               "description": "The lower bound to clip the idiosyncratic return in order to compute the idiosyncratic volatility. If None, no clipping is applied.",
               "title": "Clip Idio Return Lb"
            },
            "clip_idio_return_ub": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The upper bound to clip the idiosyncratic return in order to compute the idiosyncratic volatility. If None, no clipping is applied.",
               "title": "Clip Idio Return Ub"
            },
            "void_idio_return_lb": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The lower bound to remove the idiosyncratic return in order to compute the idiosyncratic volatility. Removed returns are treated as if there was a holiday for this asset. If None, no removal is applied. Voiding returns is applied before clipping.",
               "title": "Void Idio Return Lb"
            },
            "void_idio_return_ub": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0.5,
               "description": "The upper bound to remove the idiosyncratic return in order to compute the idiosyncratic volatility. Removed returns are treated as if there was a holiday for this asset. If None, no removal is applied. Voiding returns is applied before clipping.",
               "title": "Void Idio Return Ub"
            },
            "structural_model_fallback_halflife": {
               "default": 21,
               "description": "The half-life to use for the structural model fallback. The structural model computes idio vol based on the factor exposures. The halflife determines the dacay of this estimate when historical returns become available.",
               "title": "Structural Model Fallback Halflife",
               "type": "integer"
            }
         },
         "title": "AssetStressTestReportSettings",
         "type": "object"
      },
      "BrinsonAttributionMeasureSettings": {
         "additionalProperties": false,
         "description": "Settings for Brinson attribution measure.\n\nThis class defines settings for a Brinson attribution measure,\nwhich provides Brinson attribution calculations for portfolio analysis.",
         "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"
      },
      "BrinsonAttributionReportSettings": {
         "additionalProperties": false,
         "description": "Defines settings to build a Brinson attribution report.",
         "properties": {
            "report_type": {
               "const": "Brinson Attribution report",
               "default": "Brinson Attribution report",
               "title": "Report 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/RiskDecompositionMeasureSettings"
                     },
                     {
                        "$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/FactorAttributionDrilldownMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/PortfolioStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetHoldingsMeasureSettings"
                     }
                  ]
               },
               "title": "Measures",
               "type": "array"
            }
         },
         "title": "BrinsonAttributionReportSettings",
         "type": "object"
      },
      "CalendarSettings": {
         "additionalProperties": false,
         "description": "Define the settings for the calendar.",
         "properties": {
            "dataset": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The name of the underlying dataset to use. If none is given then the configured default dataset is used.",
               "examples": [
                  "Bayesline-US"
               ],
               "title": "Dataset"
            },
            "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"
      },
      "CategoricalExposureGroupSettings": {
         "additionalProperties": false,
         "description": "The settings for a categorical exposure group.\n\nCategorical exposures are exposures to a categorical variable, e.g. industry,\ncountry, etc. For example, an asset exposure may be to a single industry factor,\nand we say the exposure is to the industry category factor \"Materials\". The exposure\nitself may be continuous (e.g. not 0.0 or 1.0), and an asset may be exposed to\nmultiple industry factors (but typically not all of them). The distinction with\ncontinuous exposures is primarily in the settings that are available.",
         "properties": {
            "exposure_type": {
               "const": "categorical",
               "default": "categorical",
               "title": "Exposure Type",
               "type": "string"
            },
            "hierarchy": {
               "description": "The hierarchy to use for the categorical exposures. This is either aHierarchyLevel or HierarchyGroups object. If a string is passed, the value is converted to a HierarchyLevel of that hierarchy with level=1.",
               "discriminator": {
                  "mapping": {
                     "groups": "#/$defs/HierarchyGroups",
                     "level": "#/$defs/HierarchyLevel"
                  },
                  "propertyName": "hierarchy_type"
               },
               "examples": [
                  "trbc",
                  {
                     "hierarchy_type": "level",
                     "level": 2,
                     "name": "trbc"
                  },
                  {
                     "groupings": {
                        "MyGroup1": [
                           "Energy"
                        ],
                        "MyGroup2": [
                           "Materials",
                           "Chemicals"
                        ]
                     },
                     "hierarchy_type": "groups",
                     "name": "style"
                  }
               ],
               "oneOf": [
                  {
                     "$ref": "#/$defs/HierarchyLevel"
                  },
                  {
                     "$ref": "#/$defs/HierarchyGroups"
                  }
               ],
               "title": "Hierarchy"
            },
            "factor_group": {
               "default": "",
               "description": "By default, the name of the factor group will be the name of the hierarchy. But we can override this by specifying an alias here.",
               "examples": [
                  "industry",
                  "some_country_group"
               ],
               "title": "Factor Group",
               "type": "string"
            },
            "include": {
               "anyOf": [
                  {
                     "const": "All",
                     "type": "string"
                  },
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  }
               ],
               "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": "CategoricalExposureGroupSettings",
         "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"
      },
      "ContinuousExposureGroupSettings": {
         "additionalProperties": false,
         "description": "The settings for a continuous exposure group.\n\nContinuous exposures are exposures that are measured on a continuous scale,\ne.g. market, size, momentum, etc., and are typically available for most assets.",
         "properties": {
            "exposure_type": {
               "const": "continuous",
               "default": "continuous",
               "title": "Exposure Type",
               "type": "string"
            },
            "hierarchy": {
               "description": "The hierarchy to use for the continuous exposures. This is either aHierarchyLevel or HierarchyGroups object. If a string is passed, the value is converted to a HierarchyLevel of that hierarchy with level=1.",
               "discriminator": {
                  "mapping": {
                     "groups": "#/$defs/HierarchyGroups",
                     "level": "#/$defs/HierarchyLevel"
                  },
                  "propertyName": "hierarchy_type"
               },
               "examples": [
                  "market",
                  {
                     "hierarchy_type": "level",
                     "level": 2,
                     "name": "style"
                  },
                  {
                     "groupings": {
                        "momentum": [
                           "mom6"
                        ],
                        "size": [
                           "size"
                        ]
                     },
                     "hierarchy_type": "groups",
                     "name": "style"
                  }
               ],
               "oneOf": [
                  {
                     "$ref": "#/$defs/HierarchyLevel"
                  },
                  {
                     "$ref": "#/$defs/HierarchyGroups"
                  }
               ],
               "title": "Hierarchy"
            },
            "factor_group": {
               "default": "",
               "description": "By default, the name of the factor group will be the name of the hierarchy. But we can override this by specifying an alias here.",
               "examples": [
                  "style",
                  "some_style_group"
               ],
               "title": "Factor Group",
               "type": "string"
            },
            "include": {
               "anyOf": [
                  {
                     "const": "All",
                     "type": "string"
                  },
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  }
               ],
               "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": [
                  [
                     "momentum"
                  ],
                  "All",
                  [
                     "Size",
                     "value"
                  ]
               ],
               "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": [
                  [
                     "momentum"
                  ],
                  [
                     "Size",
                     "value"
                  ]
               ],
               "items": {
                  "type": "string"
               },
               "title": "Exclude",
               "type": "array"
            },
            "standardize_method": {
               "default": "none",
               "description": "The method to use for standardizing the exposures. If 'none', no standardization is applied. If 'equal_weighted', then the exposures are standardized with the mean and standard deviation of the estimation universe.",
               "enum": [
                  "none",
                  "equal_weighted"
               ],
               "examples": [
                  "none",
                  "equal_weighted"
               ],
               "title": "Standardize Method",
               "type": "string"
            }
         },
         "required": [
            "hierarchy"
         ],
         "title": "ContinuousExposureGroupSettings",
         "type": "object"
      },
      "CumsumMeasureSettings": {
         "additionalProperties": false,
         "description": "Settings for cumulative sum measure.\n\nThis class defines settings for a cumulative sum measure,\nwhich provides cumulative sum calculations for time series data.",
         "properties": {
            "type": {
               "const": "Cumsum",
               "default": "Cumsum",
               "title": "Type",
               "type": "string"
            }
         },
         "title": "CumsumMeasureSettings",
         "type": "object"
      },
      "DrawdownMeasureSettings": {
         "additionalProperties": false,
         "description": "Settings for drawdown measure.\n\nThis class defines settings for a drawdown measure,\nwhich provides drawdown calculations for portfolio analysis.",
         "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,
         "description": "Settings for exposure measure.\n\nThis class defines settings for an exposure measure,\nwhich provides portfolio, benchmark, and active exposure data.",
         "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"
      },
      "ExposureReportSettings": {
         "additionalProperties": false,
         "description": "Defines settings to build an exposure report.",
         "properties": {
            "report_type": {
               "const": "Exposure report",
               "default": "Exposure report",
               "title": "Report 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/RiskDecompositionMeasureSettings"
                     },
                     {
                        "$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/FactorAttributionDrilldownMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/PortfolioStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetHoldingsMeasureSettings"
                     }
                  ]
               },
               "title": "Measures",
               "type": "array"
            }
         },
         "title": "ExposureReportSettings",
         "type": "object"
      },
      "ExposureSettings": {
         "additionalProperties": false,
         "description": "Defines exposures as hierarchy of selected styles and substyles.",
         "properties": {
            "exposures": {
               "default": [],
               "description": "The exposures to build the factor risk model on.",
               "items": {
                  "discriminator": {
                     "mapping": {
                        "categorical": "#/$defs/CategoricalExposureGroupSettings",
                        "continuous": "#/$defs/ContinuousExposureGroupSettings",
                        "interaction": "#/$defs/InteractionExposureGroupSettings"
                     },
                     "propertyName": "exposure_type"
                  },
                  "oneOf": [
                     {
                        "$ref": "#/$defs/ContinuousExposureGroupSettings"
                     },
                     {
                        "$ref": "#/$defs/CategoricalExposureGroupSettings"
                     },
                     {
                        "$ref": "#/$defs/InteractionExposureGroupSettings"
                     }
                  ]
               },
               "title": "Exposures",
               "type": "array"
            }
         },
         "title": "ExposureSettings",
         "type": "object"
      },
      "FactorAttributionDrilldownMeasureSettings": {
         "additionalProperties": false,
         "description": "Settings for factor attribution drilldown measure.\n\nThis class defines settings for a factor attribution drilldown measure,\nwhich provides factor attribution drilldown calculations for portfolio analysis.",
         "properties": {
            "type": {
               "const": "FactorAttributionDrilldown",
               "default": "FactorAttributionDrilldown",
               "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": "FactorAttributionDrilldownMeasureSettings",
         "type": "object"
      },
      "FactorAttributionDrilldownReportSettings": {
         "additionalProperties": false,
         "description": "Defines settings to build a factor attribution drilldown report.",
         "properties": {
            "report_type": {
               "const": "Factor Attribution Drilldown report",
               "default": "Factor Attribution Drilldown report",
               "title": "Report 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/RiskDecompositionMeasureSettings"
                     },
                     {
                        "$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/FactorAttributionDrilldownMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/PortfolioStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetHoldingsMeasureSettings"
                     }
                  ]
               },
               "title": "Measures",
               "type": "array"
            }
         },
         "title": "FactorAttributionDrilldownReportSettings",
         "type": "object"
      },
      "FactorAttributionMeasureSettings": {
         "additionalProperties": false,
         "description": "Settings for factor attribution measure.\n\nThis class defines settings for a factor attribution measure,\nwhich provides factor attribution calculations for portfolio analysis.",
         "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"
      },
      "FactorAttributionReportSettings": {
         "additionalProperties": false,
         "description": "Defines settings to build a factor attribution report.",
         "properties": {
            "report_type": {
               "const": "Factor Attribution report",
               "default": "Factor Attribution report",
               "title": "Report 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/RiskDecompositionMeasureSettings"
                     },
                     {
                        "$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/FactorAttributionDrilldownMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/PortfolioStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetHoldingsMeasureSettings"
                     }
                  ]
               },
               "title": "Measures",
               "type": "array"
            }
         },
         "title": "FactorAttributionReportSettings",
         "type": "object"
      },
      "FactorCovarianceMeasureSettings": {
         "additionalProperties": false,
         "description": "Settings for factor covariance measure.\n\nThis class defines settings for a factor covariance measure,\nwhich provides factor covariance calculations.",
         "properties": {
            "type": {
               "const": "FactorCovariance",
               "default": "FactorCovariance",
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FactorCovarianceMeasureSettings",
         "type": "object"
      },
      "FactorCovarianceReportSettings": {
         "additionalProperties": false,
         "description": "Defines settings to build a factor covariance report.",
         "properties": {
            "report_type": {
               "const": "Factor Covariance report",
               "default": "Factor Covariance report",
               "title": "Report 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/RiskDecompositionMeasureSettings"
                     },
                     {
                        "$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/FactorAttributionDrilldownMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/PortfolioStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetHoldingsMeasureSettings"
                     }
                  ]
               },
               "title": "Measures",
               "type": "array"
            },
            "halflife_factor_vol": {
               "default": 42,
               "description": "The half-life for the factor volatility.",
               "title": "Halflife Factor Vol",
               "type": "integer"
            },
            "halflife_factor_vra": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The half-life for the factor volatility regime adjustment. If None, no adjustment is applied.",
               "title": "Halflife Factor Vra"
            },
            "halflife_factor_cor": {
               "default": 126,
               "description": "The half-life for the factor correlation.",
               "title": "Halflife Factor Cor",
               "type": "integer"
            },
            "shrink_factor_cor_method": {
               "anyOf": [
                  {
                     "enum": [
                        "LIS",
                        "QIS",
                        "GIS"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The method to use for the shrinkage of the factor correlation. If None, don't shrink.",
               "title": "Shrink Factor Cor Method"
            },
            "shrink_factor_cor_length": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 1008,
               "description": "If a shrinkage method is provided, the length of the shrinkage for the factor correlation.",
               "title": "Shrink Factor Cor Length"
            },
            "shrink_factor_cor_standardized": {
               "default": false,
               "description": "If True, the correlation matrix is combined with an estimate based on the standardized returns. The halflife_factor_vra is used for the weights.",
               "title": "Shrink Factor Cor Standardized",
               "type": "boolean"
            },
            "nw_lags_factor_vol": {
               "default": 0,
               "description": "The Newey-West lags of the factor volatility.",
               "title": "Nw Lags Factor Vol",
               "type": "integer"
            },
            "nw_lags_factor_vol_halflife_override": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The Newey-West lags override for the factor volatility for lagged returns.",
               "title": "Nw Lags Factor Vol Halflife Override"
            },
            "nw_lags_factor_cor": {
               "default": 0,
               "description": "The Newey-West lags of the factor correlation.",
               "title": "Nw Lags Factor Cor",
               "type": "integer"
            }
         },
         "title": "FactorCovarianceReportSettings",
         "type": "object"
      },
      "FactorForecastLossReportSettings": {
         "additionalProperties": false,
         "description": "Defines settings to build a forecast loss report.",
         "properties": {
            "report_type": {
               "const": "Factor Forecast Loss report",
               "default": "Factor Forecast Loss report",
               "title": "Report 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/RiskDecompositionMeasureSettings"
                     },
                     {
                        "$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/FactorAttributionDrilldownMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/PortfolioStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetHoldingsMeasureSettings"
                     }
                  ]
               },
               "title": "Measures",
               "type": "array"
            },
            "horizons": {
               "default": [
                  1,
                  5,
                  21
               ],
               "description": "The forecast horizons to use.",
               "items": {
                  "type": "integer"
               },
               "title": "Horizons",
               "type": "array"
            },
            "halflife_factor_vol": {
               "default": 42,
               "description": "The half-life for the factor volatility.",
               "title": "Halflife Factor Vol",
               "type": "integer"
            },
            "halflife_factor_vra": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The half-life for the factor volatility regime adjustment. If None, no adjustment is applied.",
               "title": "Halflife Factor Vra"
            },
            "nw_lags_factor_vol": {
               "default": 0,
               "description": "The Newey-West lags of the factor volatility.",
               "title": "Nw Lags Factor Vol",
               "type": "integer"
            },
            "nw_lags_factor_vol_halflife_override": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The Newey-West lags override for the factor volatility for lagged returns.",
               "title": "Nw Lags Factor Vol Halflife Override"
            }
         },
         "title": "FactorForecastLossReportSettings",
         "type": "object"
      },
      "FactorIdioMeasureSettings": {
         "additionalProperties": false,
         "description": "Settings for factor idiosyncratic measure.\n\nThis class defines settings for a factor idiosyncratic measure,\nwhich provides factor idiosyncratic calculations.",
         "properties": {
            "type": {
               "const": "FactorIdio",
               "default": "FactorIdio",
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FactorIdioMeasureSettings",
         "type": "object"
      },
      "FactorIdioReportSettings": {
         "additionalProperties": false,
         "description": "Defines settings to build a factor vcov and idio report.",
         "properties": {
            "report_type": {
               "const": "Factor Idio report",
               "default": "Factor Idio report",
               "title": "Report 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/RiskDecompositionMeasureSettings"
                     },
                     {
                        "$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/FactorAttributionDrilldownMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/PortfolioStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetHoldingsMeasureSettings"
                     }
                  ]
               },
               "title": "Measures",
               "type": "array"
            },
            "halflife_factor_vol": {
               "default": 42,
               "description": "The half-life for the factor volatility.",
               "title": "Halflife Factor Vol",
               "type": "integer"
            },
            "halflife_factor_vra": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The half-life for the factor volatility regime adjustment. If None, no adjustment is applied.",
               "title": "Halflife Factor Vra"
            },
            "halflife_factor_cor": {
               "default": 126,
               "description": "The half-life for the factor correlation.",
               "title": "Halflife Factor Cor",
               "type": "integer"
            },
            "halflife_idio_vol": {
               "default": 42,
               "description": "The half-life for the idiosyncratic volatility.",
               "title": "Halflife Idio Vol",
               "type": "integer"
            },
            "shrink_factor_cor_method": {
               "anyOf": [
                  {
                     "enum": [
                        "LIS",
                        "QIS",
                        "GIS"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The method to use for the shrinkage of the factor correlation. If None, don't shrink.",
               "title": "Shrink Factor Cor Method"
            },
            "shrink_factor_cor_length": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 1008,
               "description": "If a shrinkage method is provided, the length of the shrinkage for the factor correlation.",
               "title": "Shrink Factor Cor Length"
            },
            "shrink_factor_cor_standardized": {
               "default": false,
               "description": "If True, the correlation matrix is combined with an estimate based on the standardized returns. The halflife_factor_vra is used for the weights.",
               "title": "Shrink Factor Cor Standardized",
               "type": "boolean"
            },
            "nw_lags_factor_vol": {
               "default": 0,
               "description": "The Newey-West lags of the factor volatility.",
               "title": "Nw Lags Factor Vol",
               "type": "integer"
            },
            "nw_lags_factor_vol_halflife_override": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The Newey-West lags override for the factor volatility for lagged returns.",
               "title": "Nw Lags Factor Vol Halflife Override"
            },
            "nw_lags_factor_cor": {
               "default": 0,
               "description": "The Newey-West lags of the factor correlation.",
               "title": "Nw Lags Factor Cor",
               "type": "integer"
            },
            "nw_lags_idio_vol": {
               "default": 0,
               "description": "The Newey-West lags of the idiosyncratic volatility.",
               "title": "Nw Lags Idio Vol",
               "type": "integer"
            },
            "nw_lags_idio_vol_halflife_override": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The Newey-West lags override for the idiosyncratic volatility for lagged returns.",
               "title": "Nw Lags Idio Vol Halflife Override"
            },
            "shrink_idio_vol": {
               "default": 0.0,
               "description": "The shrinkage factor for the idiosyncratic volatility.",
               "title": "Shrink Idio Vol",
               "type": "number"
            },
            "clip_idio_return_lb": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": -0.3,
               "description": "The lower bound to clip the idiosyncratic return in order to compute the idiosyncratic volatility. If None, no clipping is applied.",
               "title": "Clip Idio Return Lb"
            },
            "clip_idio_return_ub": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The upper bound to clip the idiosyncratic return in order to compute the idiosyncratic volatility. If None, no clipping is applied.",
               "title": "Clip Idio Return Ub"
            },
            "void_idio_return_lb": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The lower bound to remove the idiosyncratic return in order to compute the idiosyncratic volatility. Removed returns are treated as if there was a holiday for this asset. If None, no removal is applied. Voiding returns is applied before clipping.",
               "title": "Void Idio Return Lb"
            },
            "void_idio_return_ub": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0.5,
               "description": "The upper bound to remove the idiosyncratic return in order to compute the idiosyncratic volatility. Removed returns are treated as if there was a holiday for this asset. If None, no removal is applied. Voiding returns is applied before clipping.",
               "title": "Void Idio Return Ub"
            },
            "structural_model_fallback_halflife": {
               "default": 21,
               "description": "The half-life to use for the structural model fallback. The structural model computes idio vol based on the factor exposures. The halflife determines the dacay of this estimate when historical returns become available.",
               "title": "Structural Model Fallback Halflife",
               "type": "integer"
            }
         },
         "title": "FactorIdioReportSettings",
         "type": "object"
      },
      "FactorMovingAverageMeasureSettings": {
         "additionalProperties": false,
         "description": "Settings for factor moving average measure.\n\nThis class defines settings for a factor moving average measure,\nwhich provides moving average calculations for factor data.",
         "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"
      },
      "FactorRiskModelSettings": {
         "additionalProperties": false,
         "description": "Define all settings needed to build a factor risk model.",
         "properties": {
            "universe": {
               "description": "The universe to build the factor risk model on.",
               "items": {
                  "anyOf": [
                     {
                        "type": "string"
                     },
                     {
                        "type": "integer"
                     },
                     {
                        "$ref": "#/$defs/UniverseSettings"
                     }
                  ]
               },
               "maxItems": 1,
               "minItems": 1,
               "title": "Universe",
               "type": "array"
            },
            "exposures": {
               "default": [
                  {
                     "exposures": []
                  }
               ],
               "description": "The exposures to build the factor risk model on.",
               "items": {
                  "anyOf": [
                     {
                        "type": "string"
                     },
                     {
                        "type": "integer"
                     },
                     {
                        "$ref": "#/$defs/ExposureSettings"
                     }
                  ]
               },
               "minItems": 1,
               "title": "Exposures",
               "type": "array"
            },
            "modelconstruction": {
               "default": [
                  {
                     "currency": "USD",
                     "weights": "SqrtCap",
                     "estimation_universe": null,
                     "return_clip_bounds": [
                        -0.1,
                        0.1
                     ],
                     "thin_category_shrinkage": {},
                     "thin_category_shrinkage_overrides": {},
                     "zero_sum_constraints": {},
                     "known_factor_map": {},
                     "fx_convert_returns": true
                  }
               ],
               "description": "The model construction settings to use for the factor risk model.",
               "items": {
                  "anyOf": [
                     {
                        "type": "string"
                     },
                     {
                        "type": "integer"
                     },
                     {
                        "$ref": "#/$defs/ModelConstructionSettings"
                     }
                  ]
               },
               "minItems": 1,
               "title": "Modelconstruction",
               "type": "array"
            },
            "halflife_idio_vra": {
               "anyOf": [
                  {
                     "exclusiveMinimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The half-life for the idio adjustment. If None, no adjustment is applied.",
               "title": "Halflife Idio Vra"
            }
         },
         "required": [
            "universe"
         ],
         "title": "FactorRiskModelSettings",
         "type": "object"
      },
      "FactorTSReportSettings": {
         "additionalProperties": false,
         "description": "Defines settings to build a factor time-series report.",
         "properties": {
            "report_type": {
               "const": "Factor TS report",
               "default": "Factor TS report",
               "title": "Report 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/RiskDecompositionMeasureSettings"
                     },
                     {
                        "$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/FactorAttributionDrilldownMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/PortfolioStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetHoldingsMeasureSettings"
                     }
                  ]
               },
               "title": "Measures",
               "type": "array"
            }
         },
         "title": "FactorTSReportSettings",
         "type": "object"
      },
      "FactorVolForecastMeasureSettings": {
         "additionalProperties": false,
         "description": "Settings for factor volatility forecast measure.\n\nThis class defines settings for a factor volatility forecast measure,\nwhich provides factor volatility forecasting calculations and metrics.",
         "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,
         "description": "Settings for forecast backtest measure.\n\nThis class defines settings for a forecast backtest measure,\nwhich provides forecast backtest calculations and metrics.",
         "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"
      },
      "ForecastBacktestReportSettings": {
         "additionalProperties": false,
         "description": "Defines settings to build a forecast backtest report.",
         "properties": {
            "report_type": {
               "const": "Forecast Backtest report",
               "default": "Forecast Backtest report",
               "title": "Report 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/RiskDecompositionMeasureSettings"
                     },
                     {
                        "$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/FactorAttributionDrilldownMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/PortfolioStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetHoldingsMeasureSettings"
                     }
                  ]
               },
               "title": "Measures",
               "type": "array"
            },
            "horizons": {
               "default": [
                  1,
                  5,
                  21
               ],
               "description": "The forecast horizons to use.",
               "items": {
                  "type": "integer"
               },
               "title": "Horizons",
               "type": "array"
            },
            "halflife_factor_vol": {
               "default": 42,
               "description": "The half-life for the factor volatility.",
               "title": "Halflife Factor Vol",
               "type": "integer"
            },
            "halflife_factor_vra": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The half-life for the factor volatility regime adjustment. If None, no adjustment is applied.",
               "title": "Halflife Factor Vra"
            },
            "halflife_factor_cor": {
               "default": 126,
               "description": "The half-life for the factor correlation.",
               "title": "Halflife Factor Cor",
               "type": "integer"
            },
            "halflife_idio_vol": {
               "default": 42,
               "description": "The half-life for the idiosyncratic volatility.",
               "title": "Halflife Idio Vol",
               "type": "integer"
            },
            "shrink_factor_cor_method": {
               "anyOf": [
                  {
                     "enum": [
                        "LIS",
                        "QIS",
                        "GIS"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The method to use for the shrinkage of the factor correlation. If None, don't shrink.",
               "title": "Shrink Factor Cor Method"
            },
            "shrink_factor_cor_length": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 1008,
               "description": "If a shrinkage method is provided, the length of the shrinkage for the factor correlation.",
               "title": "Shrink Factor Cor Length"
            },
            "shrink_factor_cor_standardized": {
               "default": false,
               "description": "If True, the correlation matrix is combined with an estimate based on the standardized returns. The halflife_factor_vra is used for the weights.",
               "title": "Shrink Factor Cor Standardized",
               "type": "boolean"
            },
            "nw_lags_factor_vol": {
               "default": 0,
               "description": "The Newey-West lags of the factor volatility.",
               "title": "Nw Lags Factor Vol",
               "type": "integer"
            },
            "nw_lags_factor_vol_halflife_override": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The Newey-West lags override for the factor volatility for lagged returns.",
               "title": "Nw Lags Factor Vol Halflife Override"
            },
            "nw_lags_factor_cor": {
               "default": 0,
               "description": "The Newey-West lags of the factor correlation.",
               "title": "Nw Lags Factor Cor",
               "type": "integer"
            },
            "nw_lags_idio_vol": {
               "default": 0,
               "description": "The Newey-West lags of the idiosyncratic volatility.",
               "title": "Nw Lags Idio Vol",
               "type": "integer"
            },
            "nw_lags_idio_vol_halflife_override": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The Newey-West lags override for the idiosyncratic volatility for lagged returns.",
               "title": "Nw Lags Idio Vol Halflife Override"
            },
            "shrink_idio_vol": {
               "default": 0.0,
               "description": "The shrinkage factor for the idiosyncratic volatility.",
               "title": "Shrink Idio Vol",
               "type": "number"
            },
            "clip_idio_return_lb": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": -0.3,
               "description": "The lower bound to clip the idiosyncratic return in order to compute the idiosyncratic volatility. If None, no clipping is applied.",
               "title": "Clip Idio Return Lb"
            },
            "clip_idio_return_ub": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The upper bound to clip the idiosyncratic return in order to compute the idiosyncratic volatility. If None, no clipping is applied.",
               "title": "Clip Idio Return Ub"
            },
            "void_idio_return_lb": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The lower bound to remove the idiosyncratic return in order to compute the idiosyncratic volatility. Removed returns are treated as if there was a holiday for this asset. If None, no removal is applied. Voiding returns is applied before clipping.",
               "title": "Void Idio Return Lb"
            },
            "void_idio_return_ub": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0.5,
               "description": "The upper bound to remove the idiosyncratic return in order to compute the idiosyncratic volatility. Removed returns are treated as if there was a holiday for this asset. If None, no removal is applied. Voiding returns is applied before clipping.",
               "title": "Void Idio Return Ub"
            },
            "structural_model_fallback_halflife": {
               "default": 21,
               "description": "The half-life to use for the structural model fallback. The structural model computes idio vol based on the factor exposures. The halflife determines the dacay of this estimate when historical returns become available.",
               "title": "Structural Model Fallback Halflife",
               "type": "integer"
            }
         },
         "title": "ForecastBacktestReportSettings",
         "type": "object"
      },
      "HVaRMeasureSettings": {
         "additionalProperties": false,
         "description": "Settings for historical VaR measure.\n\nThis class defines settings for a historical Value at Risk (VaR) measure,\nwhich provides historical VaR calculations at specified confidence levels.",
         "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"
      },
      "Hierarchy": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "additionalProperties": {
                  "$ref": "#/$defs/Hierarchy"
               },
               "type": "object"
            }
         ]
      },
      "HierarchyGroups": {
         "additionalProperties": false,
         "description": "The hierarchy decscription for a custom nested grouping of the hierarchy.\n\nThe top level groupings will turn into factors, whereas any nested\ngroupings will be retained for other uses (e.g. risk decomposition).",
         "properties": {
            "hierarchy_type": {
               "const": "groups",
               "default": "groups",
               "title": "Hierarchy Type",
               "type": "string"
            },
            "name": {
               "description": "\n        The name of the hierarchy to use, e.g. 'trbc' or 'continent'.\n        If it is not given then the default hierarchy will be used.\n        ",
               "examples": [
                  "trbc",
                  "continent"
               ],
               "minLength": 1,
               "title": "Name",
               "type": "string"
            },
            "groupings": {
               "additionalProperties": {
                  "$ref": "#/$defs/Hierarchy"
               },
               "description": "\n        A nested structure of groupings where the keys are the group names\n        and the leaf level is a list of hierarchy codes or labels (at any level)\n        to include for this group.\n        ",
               "title": "Groupings",
               "type": "object"
            }
         },
         "required": [
            "name",
            "groupings"
         ],
         "title": "HierarchyGroups",
         "type": "object"
      },
      "HierarchyLevel": {
         "additionalProperties": false,
         "description": "The hierarchy decscription for a level in the hierarchy.\n\nE.g. for industries specifying level `1` would\ncreate top level sector factors.",
         "properties": {
            "hierarchy_type": {
               "const": "level",
               "default": "level",
               "title": "Hierarchy Type",
               "type": "string"
            },
            "name": {
               "description": "\n        The name of the hierarchy to use, e.g. 'trbc' or 'continent'.\n        If it is not given then the default hierarchy will be used.\n        ",
               "examples": [
                  "trbc",
                  "continent"
               ],
               "minLength": 1,
               "title": "Name",
               "type": "string"
            },
            "level": {
               "default": 1,
               "description": "The level of the hierarchy to use, e.g. 1\n        to use all level 1 names (i.e. sectors for industries or\n        continents for regions) or 2 to use all level 2\n        names (i.e. sub-sectors for industries and\n        countries for regions).\n        ",
               "examples": [
                  1,
                  2
               ],
               "minimum": 1,
               "title": "Level",
               "type": "integer"
            }
         },
         "required": [
            "name"
         ],
         "title": "HierarchyLevel",
         "type": "object"
      },
      "HoldingsMeasureSettings": {
         "additionalProperties": false,
         "description": "Settings for holdings measure.\n\nThis class defines settings for a holdings measure,\nwhich provides portfolio, benchmark, and active holdings data.",
         "properties": {
            "type": {
               "const": "Holdings",
               "default": "Holdings",
               "title": "Type",
               "type": "string"
            }
         },
         "title": "HoldingsMeasureSettings",
         "type": "object"
      },
      "HoldingsReportSettings": {
         "additionalProperties": false,
         "description": "Defines settings to build a holdings report.",
         "properties": {
            "report_type": {
               "const": "Holdings report",
               "default": "Holdings report",
               "title": "Report 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/RiskDecompositionMeasureSettings"
                     },
                     {
                        "$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/FactorAttributionDrilldownMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/PortfolioStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetHoldingsMeasureSettings"
                     }
                  ]
               },
               "title": "Measures",
               "type": "array"
            }
         },
         "title": "HoldingsReportSettings",
         "type": "object"
      },
      "IdiosyncraticReturnMeasureSettings": {
         "additionalProperties": false,
         "description": "Settings for idiosyncratic return measure.\n\nThis class defines settings for an idiosyncratic return measure,\nwhich provides idiosyncratic return calculations.",
         "properties": {
            "type": {
               "const": "IdiosyncraticReturn",
               "default": "IdiosyncraticReturn",
               "title": "Type",
               "type": "string"
            }
         },
         "title": "IdiosyncraticReturnMeasureSettings",
         "type": "object"
      },
      "IdiosyncraticReturnReportSettings": {
         "additionalProperties": false,
         "description": "Defines settings to build an idiosyncratic return report.",
         "properties": {
            "report_type": {
               "const": "Idiosyncratic Return report",
               "default": "Idiosyncratic Return report",
               "title": "Report 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/RiskDecompositionMeasureSettings"
                     },
                     {
                        "$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/FactorAttributionDrilldownMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/PortfolioStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetHoldingsMeasureSettings"
                     }
                  ]
               },
               "title": "Measures",
               "type": "array"
            }
         },
         "title": "IdiosyncraticReturnReportSettings",
         "type": "object"
      },
      "IdiosyncraticVolatilityMeasureSettings": {
         "additionalProperties": false,
         "description": "Settings for idiosyncratic volatility measure.\n\nThis class defines settings for an idiosyncratic volatility measure,\nwhich provides idiosyncratic volatility calculations.",
         "properties": {
            "type": {
               "const": "IdiosyncraticVolatility",
               "default": "IdiosyncraticVolatility",
               "title": "Type",
               "type": "string"
            }
         },
         "title": "IdiosyncraticVolatilityMeasureSettings",
         "type": "object"
      },
      "IdiosyncraticVolatilityReportSettings": {
         "additionalProperties": false,
         "description": "Defines settings to build an idiosyncratic volatility report.",
         "properties": {
            "report_type": {
               "const": "Idiosyncratic Volatility report",
               "default": "Idiosyncratic Volatility report",
               "title": "Report 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/RiskDecompositionMeasureSettings"
                     },
                     {
                        "$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/FactorAttributionDrilldownMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/PortfolioStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetHoldingsMeasureSettings"
                     }
                  ]
               },
               "title": "Measures",
               "type": "array"
            },
            "halflife_idio_vol": {
               "default": 42,
               "description": "The half-life for the idiosyncratic volatility.",
               "title": "Halflife Idio Vol",
               "type": "integer"
            },
            "nw_lags_idio_vol": {
               "default": 0,
               "description": "The Newey-West lags of the idiosyncratic volatility.",
               "title": "Nw Lags Idio Vol",
               "type": "integer"
            },
            "nw_lags_idio_vol_halflife_override": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The Newey-West lags override for the idiosyncratic volatility for lagged returns.",
               "title": "Nw Lags Idio Vol Halflife Override"
            },
            "shrink_idio_vol": {
               "default": 0.0,
               "description": "The shrinkage factor for the idiosyncratic volatility.",
               "title": "Shrink Idio Vol",
               "type": "number"
            },
            "clip_idio_return_lb": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": -0.3,
               "description": "The lower bound to clip the idiosyncratic return in order to compute the idiosyncratic volatility. If None, no clipping is applied.",
               "title": "Clip Idio Return Lb"
            },
            "clip_idio_return_ub": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The upper bound to clip the idiosyncratic return in order to compute the idiosyncratic volatility. If None, no clipping is applied.",
               "title": "Clip Idio Return Ub"
            },
            "void_idio_return_lb": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The lower bound to remove the idiosyncratic return in order to compute the idiosyncratic volatility. Removed returns are treated as if there was a holiday for this asset. If None, no removal is applied. Voiding returns is applied before clipping.",
               "title": "Void Idio Return Lb"
            },
            "void_idio_return_ub": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0.5,
               "description": "The upper bound to remove the idiosyncratic return in order to compute the idiosyncratic volatility. Removed returns are treated as if there was a holiday for this asset. If None, no removal is applied. Voiding returns is applied before clipping.",
               "title": "Void Idio Return Ub"
            },
            "structural_model_fallback_halflife": {
               "default": 21,
               "description": "The half-life to use for the structural model fallback. The structural model computes idio vol based on the factor exposures. The halflife determines the dacay of this estimate when historical returns become available.",
               "title": "Structural Model Fallback Halflife",
               "type": "integer"
            }
         },
         "title": "IdiosyncraticVolatilityReportSettings",
         "type": "object"
      },
      "InteractionExposureGroupSettings": {
         "additionalProperties": false,
         "description": "The settings for an interaction exposure group.\n\nInteraction exposures are exposures that are a combination of two or more\nexposure groups. For example, we may want to create industry-specific style factors.",
         "properties": {
            "exposure_type": {
               "const": "interaction",
               "default": "interaction",
               "title": "Exposure Type",
               "type": "string"
            },
            "exposure_groups": {
               "default": [],
               "description": "The exposure groups to use for the Cartesian product.",
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/ContinuousExposureGroupSettings"
                     },
                     {
                        "$ref": "#/$defs/CategoricalExposureGroupSettings"
                     }
                  ]
               },
               "minItems": 2,
               "title": "Exposure Groups",
               "type": "array"
            },
            "factor_group": {
               "default": "",
               "description": "By default, the name of the factor group will be a concatenation of the names of the exposure groups separated by the a colon.",
               "examples": [
                  "industry:style"
               ],
               "title": "Factor Group",
               "type": "string"
            }
         },
         "title": "InteractionExposureGroupSettings",
         "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"
      },
      "ModelConstructionSettings": {
         "additionalProperties": false,
         "description": "Defines settings to build a factor risk model.",
         "properties": {
            "currency": {
               "default": "USD",
               "description": "The currency of the factor risk model.",
               "examples": [
                  "USD",
                  "EUR"
               ],
               "title": "Currency",
               "type": "string"
            },
            "weights": {
               "default": "SqrtCap",
               "description": "The regression weights used for the factor risk model.",
               "enum": [
                  "SqrtCap",
                  "InvIdioVar"
               ],
               "examples": [
                  "SqrtCap",
                  "InvIdioVar"
               ],
               "title": "Weights",
               "type": "string"
            },
            "estimation_universe": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "$ref": "#/$defs/UniverseSettings"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The universe settings to use for the estimation universe.",
               "title": "Estimation Universe"
            },
            "return_clip_bounds": {
               "default": [
                  -0.1,
                  0.1
               ],
               "description": "The bounds for the return clipping.",
               "examples": [
                  [
                     -0.1,
                     0.1
                  ],
                  [
                     null,
                     null
                  ]
               ],
               "maxItems": 2,
               "minItems": 2,
               "prefixItems": [
                  {
                     "anyOf": [
                        {
                           "maximum": 0,
                           "type": "number"
                        },
                        {
                           "type": "null"
                        }
                     ]
                  },
                  {
                     "anyOf": [
                        {
                           "minimum": 0,
                           "type": "number"
                        },
                        {
                           "type": "null"
                        }
                     ]
                  }
               ],
               "title": "Return Clip Bounds",
               "type": "array"
            },
            "thin_category_shrinkage": {
               "additionalProperties": {
                  "minimum": 0,
                  "type": "number"
               },
               "description": "The ridge-shrinkage penalty for categorical factors with the than 10 assets with strictly positive exposure. Interpolation is used to scale the shrinkage strength (for zero assets) to 0.0 (for 10 assets). The keys are the (categorical) factor groups and the values are the shrinkage penalty.",
               "title": "Thin Category Shrinkage",
               "type": "object"
            },
            "thin_category_shrinkage_overrides": {
               "additionalProperties": {
                  "minimum": 0,
                  "type": "number"
               },
               "description": "The shrinkage strength override for the factor risk model. The keys are the tuples of (categorical) factor groups and factor names and the values are the shrinkage penalty overrides.",
               "title": "Thin Category Shrinkage Overrides",
               "type": "object"
            },
            "zero_sum_constraints": {
               "additionalProperties": {
                  "enum": [
                     "none",
                     "equal_weights",
                     "mcap_weighted"
                  ],
                  "type": "string"
               },
               "description": "Whether to apply a zero-sum constraint to the categorical exposures. If the category exposures are exhaustive and sum to one, then implicitly a dummy variable trap is present. This can be avoided by creating a constraint on the factor returns. This means the interpretation of the categorical factor returns is 'in excess of' the market. If 'none', no constraint is applied (for example if we do not have a market factor). If 'equal_weights' or 'mcap_weighted', then the categorical factor returns are constrained to sum to zero, either market-cap weighted or not. For all categorical factor groups, a value must be provided.",
               "examples": [
                  {
                     "industry": [
                        "none"
                     ]
                  },
                  {
                     "country": [
                        "mcap_weighted"
                     ],
                     "industry": [
                        "equal_weights"
                     ]
                  }
               ],
               "title": "Zero Sum Constraints",
               "type": "object"
            },
            "known_factor_map": {
               "additionalProperties": {
                  "type": "string"
               },
               "description": "A mapping from tuple of factor groups and factor names (labels) to known series. These factors will have fixed returns derived from the series.",
               "title": "Known Factor Map",
               "type": "object"
            },
            "fx_convert_returns": {
               "default": true,
               "description": "Whether to convert the asset returns to the currency of the factor model.",
               "title": "Fx Convert Returns",
               "type": "boolean"
            }
         },
         "title": "ModelConstructionSettings",
         "type": "object"
      },
      "MovingAverageMeasureSettings": {
         "additionalProperties": false,
         "description": "Settings for moving average measure.\n\nThis class defines settings for a moving average measure,\nwhich provides moving average calculations for time series data.",
         "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",
                  "aic",
                  "bic"
               ],
               "title": "Var",
               "type": "string"
            }
         },
         "title": "MovingAverageMeasureSettings",
         "type": "object"
      },
      "MovingAverageRSquaredMeasureSettings": {
         "additionalProperties": false,
         "description": "Settings for moving average R-squared measure.\n\nThis class defines settings for a moving average R-squared measure,\nwhich provides moving average R-squared calculations for time series data.",
         "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,
         "description": "Settings for pass-through factor 2D measure.\n\nThis class defines settings for a pass-through factor 2D measure,\nwhich allows passing through factor data in 2D format.",
         "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"
      },
      "PortfolioOrganizerSettings": {
         "additionalProperties": false,
         "description": "Specifies which portfolios to enable (from different sources).\n\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": {
            "dataset": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The name of the underlying dataset to use for price data needed to forward fill portfolios, obtain corporate actions, etc.If none is given then the configured default dataset is used.",
               "examples": [
                  "Bayesline-US"
               ],
               "title": "Dataset"
            },
            "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"
            }
         },
         "required": [
            "enabled_portfolios"
         ],
         "title": "PortfolioOrganizerSettings",
         "type": "object"
      },
      "PortfolioStressTestMeasureSettings": {
         "additionalProperties": false,
         "description": "Settings for portfolio stress test measure.\n\nThis class defines settings for a portfolio stress test measure,\nwhich provides portfolio stress test calculations.",
         "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"
      },
      "PortfolioStressTestReportSettings": {
         "additionalProperties": false,
         "description": "Defines settings to build a portfolio stress test report.",
         "properties": {
            "report_type": {
               "const": "Portfolio Stress Test report",
               "default": "Portfolio Stress Test report",
               "title": "Report 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/RiskDecompositionMeasureSettings"
                     },
                     {
                        "$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/FactorAttributionDrilldownMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/PortfolioStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetHoldingsMeasureSettings"
                     }
                  ]
               },
               "title": "Measures",
               "type": "array"
            },
            "halflife_factor_vol": {
               "default": 42,
               "description": "The half-life for the factor volatility.",
               "title": "Halflife Factor Vol",
               "type": "integer"
            },
            "halflife_factor_vra": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The half-life for the factor volatility regime adjustment. If None, no adjustment is applied.",
               "title": "Halflife Factor Vra"
            },
            "halflife_factor_cor": {
               "default": 126,
               "description": "The half-life for the factor correlation.",
               "title": "Halflife Factor Cor",
               "type": "integer"
            },
            "halflife_idio_vol": {
               "default": 42,
               "description": "The half-life for the idiosyncratic volatility.",
               "title": "Halflife Idio Vol",
               "type": "integer"
            },
            "shrink_factor_cor_method": {
               "anyOf": [
                  {
                     "enum": [
                        "LIS",
                        "QIS",
                        "GIS"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The method to use for the shrinkage of the factor correlation. If None, don't shrink.",
               "title": "Shrink Factor Cor Method"
            },
            "shrink_factor_cor_length": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 1008,
               "description": "If a shrinkage method is provided, the length of the shrinkage for the factor correlation.",
               "title": "Shrink Factor Cor Length"
            },
            "shrink_factor_cor_standardized": {
               "default": false,
               "description": "If True, the correlation matrix is combined with an estimate based on the standardized returns. The halflife_factor_vra is used for the weights.",
               "title": "Shrink Factor Cor Standardized",
               "type": "boolean"
            },
            "nw_lags_factor_vol": {
               "default": 0,
               "description": "The Newey-West lags of the factor volatility.",
               "title": "Nw Lags Factor Vol",
               "type": "integer"
            },
            "nw_lags_factor_vol_halflife_override": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The Newey-West lags override for the factor volatility for lagged returns.",
               "title": "Nw Lags Factor Vol Halflife Override"
            },
            "nw_lags_factor_cor": {
               "default": 0,
               "description": "The Newey-West lags of the factor correlation.",
               "title": "Nw Lags Factor Cor",
               "type": "integer"
            },
            "nw_lags_idio_vol": {
               "default": 0,
               "description": "The Newey-West lags of the idiosyncratic volatility.",
               "title": "Nw Lags Idio Vol",
               "type": "integer"
            },
            "nw_lags_idio_vol_halflife_override": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The Newey-West lags override for the idiosyncratic volatility for lagged returns.",
               "title": "Nw Lags Idio Vol Halflife Override"
            },
            "shrink_idio_vol": {
               "default": 0.0,
               "description": "The shrinkage factor for the idiosyncratic volatility.",
               "title": "Shrink Idio Vol",
               "type": "number"
            },
            "clip_idio_return_lb": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": -0.3,
               "description": "The lower bound to clip the idiosyncratic return in order to compute the idiosyncratic volatility. If None, no clipping is applied.",
               "title": "Clip Idio Return Lb"
            },
            "clip_idio_return_ub": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The upper bound to clip the idiosyncratic return in order to compute the idiosyncratic volatility. If None, no clipping is applied.",
               "title": "Clip Idio Return Ub"
            },
            "void_idio_return_lb": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The lower bound to remove the idiosyncratic return in order to compute the idiosyncratic volatility. Removed returns are treated as if there was a holiday for this asset. If None, no removal is applied. Voiding returns is applied before clipping.",
               "title": "Void Idio Return Lb"
            },
            "void_idio_return_ub": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0.5,
               "description": "The upper bound to remove the idiosyncratic return in order to compute the idiosyncratic volatility. Removed returns are treated as if there was a holiday for this asset. If None, no removal is applied. Voiding returns is applied before clipping.",
               "title": "Void Idio Return Ub"
            },
            "structural_model_fallback_halflife": {
               "default": 21,
               "description": "The half-life to use for the structural model fallback. The structural model computes idio vol based on the factor exposures. The halflife determines the dacay of this estimate when historical returns become available.",
               "title": "Structural Model Fallback Halflife",
               "type": "integer"
            }
         },
         "title": "PortfolioStressTestReportSettings",
         "type": "object"
      },
      "RiskDecompositionMeasureSettings": {
         "additionalProperties": false,
         "description": "Settings for risk decomposition measure.\n\nThis class defines settings for a risk decomposition measure. Currently exposure,\nstand-alone volatility and variance contribution are computed.",
         "properties": {
            "type": {
               "const": "RiskDecomposition",
               "default": "RiskDecomposition",
               "title": "Type",
               "type": "string"
            },
            "rescale_abs_bench": {
               "default": true,
               "description": "Rescale the benchmark holdings to absolute sum to the absolute sum of the holdings.",
               "title": "Rescale Abs Bench",
               "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"
            }
         },
         "title": "RiskDecompositionMeasureSettings",
         "type": "object"
      },
      "RiskDecompositionReportSettings": {
         "additionalProperties": false,
         "description": "Defines settings to build a risk decomposition report.",
         "properties": {
            "report_type": {
               "const": "Risk decomposition report",
               "default": "Risk decomposition report",
               "title": "Report 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/RiskDecompositionMeasureSettings"
                     },
                     {
                        "$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/FactorAttributionDrilldownMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/PortfolioStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetHoldingsMeasureSettings"
                     }
                  ]
               },
               "title": "Measures",
               "type": "array"
            },
            "halflife_factor_vol": {
               "default": 42,
               "description": "The half-life for the factor volatility.",
               "title": "Halflife Factor Vol",
               "type": "integer"
            },
            "halflife_factor_vra": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The half-life for the factor volatility regime adjustment. If None, no adjustment is applied.",
               "title": "Halflife Factor Vra"
            },
            "halflife_factor_cor": {
               "default": 126,
               "description": "The half-life for the factor correlation.",
               "title": "Halflife Factor Cor",
               "type": "integer"
            },
            "halflife_idio_vol": {
               "default": 42,
               "description": "The half-life for the idiosyncratic volatility.",
               "title": "Halflife Idio Vol",
               "type": "integer"
            },
            "shrink_factor_cor_method": {
               "anyOf": [
                  {
                     "enum": [
                        "LIS",
                        "QIS",
                        "GIS"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The method to use for the shrinkage of the factor correlation. If None, don't shrink.",
               "title": "Shrink Factor Cor Method"
            },
            "shrink_factor_cor_length": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 1008,
               "description": "If a shrinkage method is provided, the length of the shrinkage for the factor correlation.",
               "title": "Shrink Factor Cor Length"
            },
            "shrink_factor_cor_standardized": {
               "default": false,
               "description": "If True, the correlation matrix is combined with an estimate based on the standardized returns. The halflife_factor_vra is used for the weights.",
               "title": "Shrink Factor Cor Standardized",
               "type": "boolean"
            },
            "nw_lags_factor_vol": {
               "default": 0,
               "description": "The Newey-West lags of the factor volatility.",
               "title": "Nw Lags Factor Vol",
               "type": "integer"
            },
            "nw_lags_factor_vol_halflife_override": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The Newey-West lags override for the factor volatility for lagged returns.",
               "title": "Nw Lags Factor Vol Halflife Override"
            },
            "nw_lags_factor_cor": {
               "default": 0,
               "description": "The Newey-West lags of the factor correlation.",
               "title": "Nw Lags Factor Cor",
               "type": "integer"
            },
            "nw_lags_idio_vol": {
               "default": 0,
               "description": "The Newey-West lags of the idiosyncratic volatility.",
               "title": "Nw Lags Idio Vol",
               "type": "integer"
            },
            "nw_lags_idio_vol_halflife_override": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The Newey-West lags override for the idiosyncratic volatility for lagged returns.",
               "title": "Nw Lags Idio Vol Halflife Override"
            },
            "shrink_idio_vol": {
               "default": 0.0,
               "description": "The shrinkage factor for the idiosyncratic volatility.",
               "title": "Shrink Idio Vol",
               "type": "number"
            },
            "clip_idio_return_lb": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": -0.3,
               "description": "The lower bound to clip the idiosyncratic return in order to compute the idiosyncratic volatility. If None, no clipping is applied.",
               "title": "Clip Idio Return Lb"
            },
            "clip_idio_return_ub": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The upper bound to clip the idiosyncratic return in order to compute the idiosyncratic volatility. If None, no clipping is applied.",
               "title": "Clip Idio Return Ub"
            },
            "void_idio_return_lb": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The lower bound to remove the idiosyncratic return in order to compute the idiosyncratic volatility. Removed returns are treated as if there was a holiday for this asset. If None, no removal is applied. Voiding returns is applied before clipping.",
               "title": "Void Idio Return Lb"
            },
            "void_idio_return_ub": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0.5,
               "description": "The upper bound to remove the idiosyncratic return in order to compute the idiosyncratic volatility. Removed returns are treated as if there was a holiday for this asset. If None, no removal is applied. Voiding returns is applied before clipping.",
               "title": "Void Idio Return Ub"
            },
            "structural_model_fallback_halflife": {
               "default": 21,
               "description": "The half-life to use for the structural model fallback. The structural model computes idio vol based on the factor exposures. The halflife determines the dacay of this estimate when historical returns become available.",
               "title": "Structural Model Fallback Halflife",
               "type": "integer"
            }
         },
         "title": "RiskDecompositionReportSettings",
         "type": "object"
      },
      "RiskModelFitFactorReportSettings": {
         "additionalProperties": false,
         "description": "Defines settings to build a risk model fit report at the factor level.",
         "properties": {
            "report_type": {
               "const": "Risk Model Fit Factor report",
               "default": "Risk Model Fit Factor report",
               "title": "Report 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/RiskDecompositionMeasureSettings"
                     },
                     {
                        "$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/FactorAttributionDrilldownMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/PortfolioStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetHoldingsMeasureSettings"
                     }
                  ]
               },
               "title": "Measures",
               "type": "array"
            }
         },
         "title": "RiskModelFitFactorReportSettings",
         "type": "object"
      },
      "RiskModelFitReportSettings": {
         "additionalProperties": false,
         "description": "Defines settings to build a risk model fit report.",
         "properties": {
            "report_type": {
               "const": "Risk Model Fit report",
               "default": "Risk Model Fit report",
               "title": "Report 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/RiskDecompositionMeasureSettings"
                     },
                     {
                        "$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/FactorAttributionDrilldownMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/PortfolioStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetHoldingsMeasureSettings"
                     }
                  ]
               },
               "title": "Measures",
               "type": "array"
            }
         },
         "title": "RiskModelFitReportSettings",
         "type": "object"
      },
      "RiskModelPortfolioFitReportSettings": {
         "additionalProperties": false,
         "description": "Defines settings to build a risk model fit report at the portfolio level.",
         "properties": {
            "report_type": {
               "const": "Risk Model Portfolio Fit report",
               "default": "Risk Model Portfolio Fit report",
               "title": "Report 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/RiskDecompositionMeasureSettings"
                     },
                     {
                        "$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/FactorAttributionDrilldownMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/PortfolioStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetHoldingsMeasureSettings"
                     }
                  ]
               },
               "title": "Measures",
               "type": "array"
            }
         },
         "title": "RiskModelPortfolioFitReportSettings",
         "type": "object"
      },
      "StyleCorrelationReportSettings": {
         "additionalProperties": false,
         "description": "Defines settings to build a style correlation report.",
         "properties": {
            "report_type": {
               "const": "Style Correlation report",
               "default": "Style Correlation report",
               "title": "Report 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/RiskDecompositionMeasureSettings"
                     },
                     {
                        "$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/FactorAttributionDrilldownMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/PortfolioStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetHoldingsMeasureSettings"
                     }
                  ]
               },
               "title": "Measures",
               "type": "array"
            }
         },
         "title": "StyleCorrelationReportSettings",
         "type": "object"
      },
      "StyleIndustryExposureReportSettings": {
         "additionalProperties": false,
         "description": "Defines settings to build a style industry exposure report.",
         "properties": {
            "report_type": {
               "const": "Style Industry Exposure report",
               "default": "Style Industry Exposure report",
               "title": "Report 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/RiskDecompositionMeasureSettings"
                     },
                     {
                        "$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/FactorAttributionDrilldownMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/PortfolioStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetHoldingsMeasureSettings"
                     }
                  ]
               },
               "title": "Measures",
               "type": "array"
            }
         },
         "title": "StyleIndustryExposureReportSettings",
         "type": "object"
      },
      "TSBetaReportSettings": {
         "additionalProperties": false,
         "description": "Defines settings to build a time-series Beta report.",
         "properties": {
            "report_type": {
               "const": "TS Beta report",
               "default": "TS Beta report",
               "title": "Report 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/RiskDecompositionMeasureSettings"
                     },
                     {
                        "$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/FactorAttributionDrilldownMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/PortfolioStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetHoldingsMeasureSettings"
                     }
                  ]
               },
               "title": "Measures",
               "type": "array"
            },
            "halflife_factor_vol": {
               "default": 42,
               "description": "The half-life for the factor volatility.",
               "title": "Halflife Factor Vol",
               "type": "integer"
            },
            "halflife_factor_vra": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The half-life for the factor volatility regime adjustment. If None, no adjustment is applied.",
               "title": "Halflife Factor Vra"
            },
            "halflife_factor_cor": {
               "default": 126,
               "description": "The half-life for the factor correlation.",
               "title": "Halflife Factor Cor",
               "type": "integer"
            },
            "halflife_idio_vol": {
               "default": 42,
               "description": "The half-life for the idiosyncratic volatility.",
               "title": "Halflife Idio Vol",
               "type": "integer"
            },
            "shrink_factor_cor_method": {
               "anyOf": [
                  {
                     "enum": [
                        "LIS",
                        "QIS",
                        "GIS"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The method to use for the shrinkage of the factor correlation. If None, don't shrink.",
               "title": "Shrink Factor Cor Method"
            },
            "shrink_factor_cor_length": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 1008,
               "description": "If a shrinkage method is provided, the length of the shrinkage for the factor correlation.",
               "title": "Shrink Factor Cor Length"
            },
            "shrink_factor_cor_standardized": {
               "default": false,
               "description": "If True, the correlation matrix is combined with an estimate based on the standardized returns. The halflife_factor_vra is used for the weights.",
               "title": "Shrink Factor Cor Standardized",
               "type": "boolean"
            },
            "nw_lags_factor_vol": {
               "default": 0,
               "description": "The Newey-West lags of the factor volatility.",
               "title": "Nw Lags Factor Vol",
               "type": "integer"
            },
            "nw_lags_factor_vol_halflife_override": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The Newey-West lags override for the factor volatility for lagged returns.",
               "title": "Nw Lags Factor Vol Halflife Override"
            },
            "nw_lags_factor_cor": {
               "default": 0,
               "description": "The Newey-West lags of the factor correlation.",
               "title": "Nw Lags Factor Cor",
               "type": "integer"
            },
            "nw_lags_idio_vol": {
               "default": 0,
               "description": "The Newey-West lags of the idiosyncratic volatility.",
               "title": "Nw Lags Idio Vol",
               "type": "integer"
            },
            "nw_lags_idio_vol_halflife_override": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The Newey-West lags override for the idiosyncratic volatility for lagged returns.",
               "title": "Nw Lags Idio Vol Halflife Override"
            },
            "shrink_idio_vol": {
               "default": 0.0,
               "description": "The shrinkage factor for the idiosyncratic volatility.",
               "title": "Shrink Idio Vol",
               "type": "number"
            },
            "clip_idio_return_lb": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": -0.3,
               "description": "The lower bound to clip the idiosyncratic return in order to compute the idiosyncratic volatility. If None, no clipping is applied.",
               "title": "Clip Idio Return Lb"
            },
            "clip_idio_return_ub": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The upper bound to clip the idiosyncratic return in order to compute the idiosyncratic volatility. If None, no clipping is applied.",
               "title": "Clip Idio Return Ub"
            },
            "void_idio_return_lb": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The lower bound to remove the idiosyncratic return in order to compute the idiosyncratic volatility. Removed returns are treated as if there was a holiday for this asset. If None, no removal is applied. Voiding returns is applied before clipping.",
               "title": "Void Idio Return Lb"
            },
            "void_idio_return_ub": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0.5,
               "description": "The upper bound to remove the idiosyncratic return in order to compute the idiosyncratic volatility. Removed returns are treated as if there was a holiday for this asset. If None, no removal is applied. Voiding returns is applied before clipping.",
               "title": "Void Idio Return Ub"
            },
            "structural_model_fallback_halflife": {
               "default": 21,
               "description": "The half-life to use for the structural model fallback. The structural model computes idio vol based on the factor exposures. The halflife determines the dacay of this estimate when historical returns become available.",
               "title": "Structural Model Fallback Halflife",
               "type": "integer"
            }
         },
         "title": "TSBetaReportSettings",
         "type": "object"
      },
      "TSXSRReportSettings": {
         "additionalProperties": false,
         "description": "Defines settings to build a time-series XSR report.",
         "properties": {
            "report_type": {
               "const": "TSXSR report",
               "default": "TSXSR report",
               "title": "Report 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/RiskDecompositionMeasureSettings"
                     },
                     {
                        "$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/FactorAttributionDrilldownMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/PortfolioStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetHoldingsMeasureSettings"
                     }
                  ]
               },
               "title": "Measures",
               "type": "array"
            },
            "halflife_factor_vol": {
               "default": 42,
               "description": "The half-life for the factor volatility.",
               "title": "Halflife Factor Vol",
               "type": "integer"
            },
            "halflife_factor_vra": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The half-life for the factor volatility regime adjustment. If None, no adjustment is applied.",
               "title": "Halflife Factor Vra"
            },
            "halflife_factor_cor": {
               "default": 126,
               "description": "The half-life for the factor correlation.",
               "title": "Halflife Factor Cor",
               "type": "integer"
            },
            "halflife_idio_vol": {
               "default": 42,
               "description": "The half-life for the idiosyncratic volatility.",
               "title": "Halflife Idio Vol",
               "type": "integer"
            },
            "shrink_factor_cor_method": {
               "anyOf": [
                  {
                     "enum": [
                        "LIS",
                        "QIS",
                        "GIS"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The method to use for the shrinkage of the factor correlation. If None, don't shrink.",
               "title": "Shrink Factor Cor Method"
            },
            "shrink_factor_cor_length": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 1008,
               "description": "If a shrinkage method is provided, the length of the shrinkage for the factor correlation.",
               "title": "Shrink Factor Cor Length"
            },
            "shrink_factor_cor_standardized": {
               "default": false,
               "description": "If True, the correlation matrix is combined with an estimate based on the standardized returns. The halflife_factor_vra is used for the weights.",
               "title": "Shrink Factor Cor Standardized",
               "type": "boolean"
            },
            "nw_lags_factor_vol": {
               "default": 0,
               "description": "The Newey-West lags of the factor volatility.",
               "title": "Nw Lags Factor Vol",
               "type": "integer"
            },
            "nw_lags_factor_vol_halflife_override": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The Newey-West lags override for the factor volatility for lagged returns.",
               "title": "Nw Lags Factor Vol Halflife Override"
            },
            "nw_lags_factor_cor": {
               "default": 0,
               "description": "The Newey-West lags of the factor correlation.",
               "title": "Nw Lags Factor Cor",
               "type": "integer"
            },
            "nw_lags_idio_vol": {
               "default": 0,
               "description": "The Newey-West lags of the idiosyncratic volatility.",
               "title": "Nw Lags Idio Vol",
               "type": "integer"
            },
            "nw_lags_idio_vol_halflife_override": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The Newey-West lags override for the idiosyncratic volatility for lagged returns.",
               "title": "Nw Lags Idio Vol Halflife Override"
            },
            "shrink_idio_vol": {
               "default": 0.0,
               "description": "The shrinkage factor for the idiosyncratic volatility.",
               "title": "Shrink Idio Vol",
               "type": "number"
            },
            "clip_idio_return_lb": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": -0.3,
               "description": "The lower bound to clip the idiosyncratic return in order to compute the idiosyncratic volatility. If None, no clipping is applied.",
               "title": "Clip Idio Return Lb"
            },
            "clip_idio_return_ub": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The upper bound to clip the idiosyncratic return in order to compute the idiosyncratic volatility. If None, no clipping is applied.",
               "title": "Clip Idio Return Ub"
            },
            "void_idio_return_lb": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The lower bound to remove the idiosyncratic return in order to compute the idiosyncratic volatility. Removed returns are treated as if there was a holiday for this asset. If None, no removal is applied. Voiding returns is applied before clipping.",
               "title": "Void Idio Return Lb"
            },
            "void_idio_return_ub": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0.5,
               "description": "The upper bound to remove the idiosyncratic return in order to compute the idiosyncratic volatility. Removed returns are treated as if there was a holiday for this asset. If None, no removal is applied. Voiding returns is applied before clipping.",
               "title": "Void Idio Return Ub"
            },
            "structural_model_fallback_halflife": {
               "default": 21,
               "description": "The half-life to use for the structural model fallback. The structural model computes idio vol based on the factor exposures. The halflife determines the dacay of this estimate when historical returns become available.",
               "title": "Structural Model Fallback Halflife",
               "type": "integer"
            }
         },
         "title": "TSXSRReportSettings",
         "type": "object"
      },
      "TimeSeriesBetaMeasureSettings": {
         "additionalProperties": false,
         "description": "Settings for time series beta measure.\n\nThis class defines settings for a time series beta measure,\nwhich provides time series beta data for portfolio analysis.",
         "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,
         "description": "Settings for time series volatility measure.\n\nThis class defines settings for a time series volatility measure,\nwhich provides time series volatility data using rolling windows.",
         "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,
         "description": "Settings for time series X-Sigma-Rho measure.\n\nThis class defines settings for a time series X-Sigma-Rho measure,\nwhich provides time series data for exposure, volatility, correlation, and contribution.",
         "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"
      },
      "UniverseSettings": {
         "additionalProperties": false,
         "description": "Define an asset universe as a set of regional, industry and market cap filters.",
         "properties": {
            "dataset": {
               "description": "The name of the underlying dataset to use. If none is given then the configured default dataset is used.",
               "examples": [
                  "Bayesline-Global"
               ],
               "title": "Dataset",
               "type": "string"
            },
            "id_type": {
               "default": "bayesid",
               "description": "The default id type to use for the universe.",
               "enum": [
                  "bayesid",
                  "bayesid_core",
                  "ticker",
                  "composite_figi",
                  "cik",
                  "cusip8",
                  "cusip9",
                  "isin",
                  "sedol6",
                  "sedol7",
                  "proxy",
                  "name"
               ],
               "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        "
            }
         },
         "required": [
            "dataset"
         ],
         "title": "UniverseSettings",
         "type": "object"
      },
      "VaRReportSettings": {
         "additionalProperties": false,
         "description": "Defines settings to build a VaR report.",
         "properties": {
            "report_type": {
               "const": "VaR report",
               "default": "VaR report",
               "title": "Report 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/RiskDecompositionMeasureSettings"
                     },
                     {
                        "$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/FactorAttributionDrilldownMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/PortfolioStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetHoldingsMeasureSettings"
                     }
                  ]
               },
               "title": "Measures",
               "type": "array"
            },
            "lookback": {
               "default": 1000,
               "description": "The lookback period for the estimation.",
               "title": "Lookback",
               "type": "integer"
            }
         },
         "title": "VaRReportSettings",
         "type": "object"
      },
      "VolForecastMeasureSettings": {
         "additionalProperties": false,
         "description": "Settings for volatility forecast measure.\n\nThis class defines settings for a volatility forecast measure,\nwhich provides volatility forecasting calculations and metrics.",
         "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"
      },
      "XSRReportSettings": {
         "additionalProperties": false,
         "description": "Defines settings to build an XSR report.",
         "properties": {
            "report_type": {
               "const": "XSR report",
               "default": "XSR report",
               "title": "Report 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/RiskDecompositionMeasureSettings"
                     },
                     {
                        "$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/FactorAttributionDrilldownMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/PortfolioStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetStressTestMeasureSettings"
                     },
                     {
                        "$ref": "#/$defs/AssetHoldingsMeasureSettings"
                     }
                  ]
               },
               "title": "Measures",
               "type": "array"
            },
            "halflife_factor_vol": {
               "default": 42,
               "description": "The half-life for the factor volatility.",
               "title": "Halflife Factor Vol",
               "type": "integer"
            },
            "halflife_factor_vra": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The half-life for the factor volatility regime adjustment. If None, no adjustment is applied.",
               "title": "Halflife Factor Vra"
            },
            "halflife_factor_cor": {
               "default": 126,
               "description": "The half-life for the factor correlation.",
               "title": "Halflife Factor Cor",
               "type": "integer"
            },
            "halflife_idio_vol": {
               "default": 42,
               "description": "The half-life for the idiosyncratic volatility.",
               "title": "Halflife Idio Vol",
               "type": "integer"
            },
            "shrink_factor_cor_method": {
               "anyOf": [
                  {
                     "enum": [
                        "LIS",
                        "QIS",
                        "GIS"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The method to use for the shrinkage of the factor correlation. If None, don't shrink.",
               "title": "Shrink Factor Cor Method"
            },
            "shrink_factor_cor_length": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 1008,
               "description": "If a shrinkage method is provided, the length of the shrinkage for the factor correlation.",
               "title": "Shrink Factor Cor Length"
            },
            "shrink_factor_cor_standardized": {
               "default": false,
               "description": "If True, the correlation matrix is combined with an estimate based on the standardized returns. The halflife_factor_vra is used for the weights.",
               "title": "Shrink Factor Cor Standardized",
               "type": "boolean"
            },
            "nw_lags_factor_vol": {
               "default": 0,
               "description": "The Newey-West lags of the factor volatility.",
               "title": "Nw Lags Factor Vol",
               "type": "integer"
            },
            "nw_lags_factor_vol_halflife_override": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The Newey-West lags override for the factor volatility for lagged returns.",
               "title": "Nw Lags Factor Vol Halflife Override"
            },
            "nw_lags_factor_cor": {
               "default": 0,
               "description": "The Newey-West lags of the factor correlation.",
               "title": "Nw Lags Factor Cor",
               "type": "integer"
            },
            "nw_lags_idio_vol": {
               "default": 0,
               "description": "The Newey-West lags of the idiosyncratic volatility.",
               "title": "Nw Lags Idio Vol",
               "type": "integer"
            },
            "nw_lags_idio_vol_halflife_override": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The Newey-West lags override for the idiosyncratic volatility for lagged returns.",
               "title": "Nw Lags Idio Vol Halflife Override"
            },
            "shrink_idio_vol": {
               "default": 0.0,
               "description": "The shrinkage factor for the idiosyncratic volatility.",
               "title": "Shrink Idio Vol",
               "type": "number"
            },
            "clip_idio_return_lb": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": -0.3,
               "description": "The lower bound to clip the idiosyncratic return in order to compute the idiosyncratic volatility. If None, no clipping is applied.",
               "title": "Clip Idio Return Lb"
            },
            "clip_idio_return_ub": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The upper bound to clip the idiosyncratic return in order to compute the idiosyncratic volatility. If None, no clipping is applied.",
               "title": "Clip Idio Return Ub"
            },
            "void_idio_return_lb": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The lower bound to remove the idiosyncratic return in order to compute the idiosyncratic volatility. Removed returns are treated as if there was a holiday for this asset. If None, no removal is applied. Voiding returns is applied before clipping.",
               "title": "Void Idio Return Lb"
            },
            "void_idio_return_ub": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0.5,
               "description": "The upper bound to remove the idiosyncratic return in order to compute the idiosyncratic volatility. Removed returns are treated as if there was a holiday for this asset. If None, no removal is applied. Voiding returns is applied before clipping.",
               "title": "Void Idio Return Ub"
            },
            "structural_model_fallback_halflife": {
               "default": 21,
               "description": "The half-life to use for the structural model fallback. The structural model computes idio vol based on the factor exposures. The halflife determines the dacay of this estimate when historical returns become available.",
               "title": "Structural Model Fallback Halflife",
               "type": "integer"
            }
         },
         "title": "XSRReportSettings",
         "type": "object"
      },
      "XSigmaRhoMeasureSettings": {
         "additionalProperties": false,
         "description": "Settings for X-Sigma-Rho measure.\n\nThis class defines settings for an X-Sigma-Rho measure,\nwhich provides exposure, volatility, correlation, and contribution data.",
         "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,
   "required": [
      "report",
      "risk_model"
   ]
}

Config:
  • frozen: bool = True

  • extra: str = forbid

Fields:
  • report (bayesline.api._src.equity.report_settings.HoldingsReportSettings | bayesline.api._src.equity.report_settings.ExposureReportSettings | bayesline.api._src.equity.report_settings.XSRReportSettings | bayesline.api._src.equity.report_settings.TSXSRReportSettings | bayesline.api._src.equity.report_settings.RiskDecompositionReportSettings | bayesline.api._src.equity.report_settings.TSBetaReportSettings | bayesline.api._src.equity.report_settings.VaRReportSettings | bayesline.api._src.equity.report_settings.FactorTSReportSettings | bayesline.api._src.equity.report_settings.RiskModelFitReportSettings | bayesline.api._src.equity.report_settings.RiskModelFitFactorReportSettings | bayesline.api._src.equity.report_settings.RiskModelPortfolioFitReportSettings | bayesline.api._src.equity.report_settings.FactorForecastLossReportSettings | bayesline.api._src.equity.report_settings.AssetForecastLossReportSettings | bayesline.api._src.equity.report_settings.FactorCovarianceReportSettings | bayesline.api._src.equity.report_settings.IdiosyncraticReturnReportSettings | bayesline.api._src.equity.report_settings.IdiosyncraticVolatilityReportSettings | bayesline.api._src.equity.report_settings.FactorIdioReportSettings | bayesline.api._src.equity.report_settings.StyleCorrelationReportSettings | bayesline.api._src.equity.report_settings.StyleIndustryExposureReportSettings | bayesline.api._src.equity.report_settings.ForecastBacktestReportSettings | bayesline.api._src.equity.report_settings.BrinsonAttributionReportSettings | bayesline.api._src.equity.report_settings.FactorAttributionReportSettings | bayesline.api._src.equity.report_settings.FactorAttributionDrilldownReportSettings | bayesline.api._src.equity.report_settings.PortfolioStressTestReportSettings | bayesline.api._src.equity.report_settings.AssetStressTestReportSettings | bayesline.api._src.equity.report_settings.AssetHoldingsReportSettings)

  • risk_model (str | int | bayesline.api._src.equity.riskmodels_settings.FactorRiskModelSettings)

field report: ConcreteReportSettingsType [Required]#
field risk_model: Annotated[str | int | FactorRiskModelSettings, Field(description='The risk model to use for the report.'), SettingsTypeMetaData[str | int | FactorRiskModelSettings](references=FactorRiskModelSettings)] [Required]#

The risk model to use for the report.

Constraints:
  • references = <class ‘bayesline.api._src.equity.riskmodels_settings.FactorRiskModelSettings’>

describe(menu: ReportSettingsMenu) str#

Describe the report settings.

Parameters#

menuReportSettingsMenu

The menu to get context information from.

Returns#

str

A description of the report settings.

property menu_type: type[ReportSettingsMenu]#

Get the menu type for this settings object.

Returns#

type[SettingsMenuType]

The menu type for this settings object.