> ## Documentation Index
> Fetch the complete documentation index at: https://docs.itoflow.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Read the full risk run output

> Read the complete schema-version-2 analytics document for a finished run. Default application/json gives raw bytes. Accept application/gzip selects stored bytes; Range requests of at most 4 MiB return 206 with Content-Range. Both representations expose exact Content-Length and SHA-256 ETag. Before ready returns 409; invalid ranges 416; unknown, foreign and expired runs share 404. Output remains available 24 hours after completion, including after the engine container stops. Requires itoflow-engine-results.

Operation ID: getRiskRunArtifact.



## OpenAPI

````yaml /openapi/itoflow-public.openapi.json get /risk/runs/{run_id}/artifact
openapi: 3.1.0
info:
  description: >-
    All Itoflow APIs are experimental and may change without notice. Read-only
    operations marked interactive can be tried from the documentation; the
    others are reference-only.
  title: Itoflow Developer API
  version: 1.0.0
servers:
  - description: Itoflow API
    url: https://api.itoflow.ai
security: []
tags:
  - name: Account
  - name: Billing
  - name: Brokers
  - name: Chat
  - name: Connected MCP servers
  - name: GitHub
  - name: Market data
  - name: Monitors
  - name: Notifications
  - name: Portfolios
  - name: Risk runs
  - name: Sharing and data
  - name: Strategies
paths:
  /risk/runs/{run_id}/artifact:
    get:
      tags:
        - Risk runs
      summary: Read the full risk run output
      description: >-
        Read the complete schema-version-2 analytics document for a finished
        run. Default application/json gives raw bytes. Accept application/gzip
        selects stored bytes; Range requests of at most 4 MiB return 206 with
        Content-Range. Both representations expose exact Content-Length and
        SHA-256 ETag. Before ready returns 409; invalid ranges 416; unknown,
        foreign and expired runs share 404. Output remains available 24 hours
        after completion, including after the engine container stops. Requires
        itoflow-engine-results.


        Operation ID: getRiskRunArtifact.
      operationId: getRiskRunArtifact
      parameters:
        - in: path
          name: run_id
          required: true
          schema:
            pattern: ^[0-9a-f]{32}$
            type: string
      responses:
        '200':
          content:
            application/gzip:
              schema:
                format: binary
                type: string
            application/json:
              schema:
                $ref: '#/components/schemas/Gateway_getRiskRunArtifactResponse'
          description: >-
            Complete analytics document, or stored gzip representation when
            Accept selects it
          headers:
            Cache-Control:
              schema:
                const: no-store
                type: string
            Content-Length:
              schema:
                type: integer
            ETag:
              schema:
                type: string
        '206':
          content:
            application/gzip:
              schema:
                format: binary
                type: string
          description: A gzip byte range of at most 4 MiB
          headers:
            Content-Length:
              schema:
                type: integer
            Content-Range:
              schema:
                type: string
            ETag:
              schema:
                type: string
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Gateway_RiskRunError'
          description: Request failed
          headers:
            Cache-Control:
              schema:
                const: no-store
                type: string
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Gateway_RiskRunError'
          description: The itoflow-engine-results flag is off.
          headers:
            Cache-Control:
              schema:
                const: no-store
                type: string
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Gateway_RiskRunError'
          description: Request failed
          headers:
            Cache-Control:
              schema:
                const: no-store
                type: string
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Gateway_RiskRunError'
          description: Request failed
          headers:
            Cache-Control:
              schema:
                const: no-store
                type: string
        '416':
          description: Invalid, outside or oversized gzip range
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Gateway_RiskRunError'
          description: Request failed
          headers:
            Cache-Control:
              schema:
                const: no-store
                type: string
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Gateway_RiskRunError'
          description: Request failed
          headers:
            Cache-Control:
              schema:
                const: no-store
                type: string
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Gateway_RiskRunError'
          description: Request failed
          headers:
            Cache-Control:
              schema:
                const: no-store
                type: string
      security:
        - bearerAuth: []
components:
  schemas:
    Gateway_getRiskRunArtifactResponse:
      anyOf:
        - $ref: '#/components/schemas/Gateway_RiskRunArtifact'
        - oneOf:
            - additionalProperties: false
              properties:
                artifact:
                  additionalProperties: {}
                  propertyNames:
                    type: string
                  type: object
                status:
                  const: ready
                  type: string
              required:
                - artifact
                - status
              type: object
            - additionalProperties: false
              properties:
                limit_bytes:
                  exclusiveMinimum: 0
                  maximum: 9007199254740991
                  type: integer
                reason:
                  const: too_large
                  type: string
                size_bytes:
                  exclusiveMinimum: 0
                  maximum: 9007199254740991
                  type: integer
                status:
                  const: omitted
                  type: string
              required:
                - reason
                - size_bytes
                - limit_bytes
                - status
              type: object
            - additionalProperties: false
              properties:
                status:
                  const: not_ready
                  type: string
              required:
                - status
              type: object
            - additionalProperties: false
              properties:
                status:
                  const: not_found
                  type: string
              required:
                - status
              type: object
    Gateway_RiskRunError:
      additionalProperties: false
      properties:
        error:
          additionalProperties: false
          properties:
            code:
              type: string
            flag:
              type: string
            message:
              type: string
          required:
            - code
            - message
          type: object
      required:
        - error
      type: object
    Gateway_RiskRunArtifact:
      additionalProperties: false
      properties:
        artifact_id:
          type: string
        as_of:
          format: date
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
          type: string
        books:
          items:
            additionalProperties: false
            properties:
              comparator_key:
                type: string
              coverage_reasons:
                additionalProperties:
                  type: string
                propertyNames:
                  type: string
                type: object
              covered_weight:
                anyOf:
                  - pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                    type: string
                  - type: 'null'
                unit: fraction
              currency:
                type: string
              fund_book_reasons:
                additionalProperties:
                  type: string
                propertyNames:
                  type: string
                type: object
              fund_books:
                additionalProperties:
                  items:
                    type: string
                  type: array
                propertyNames:
                  type: string
                type: object
              holdings_date:
                format: date
                pattern: >-
                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                type: string
              holdings_valid_through:
                format: date
                pattern: >-
                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                type: string
              key:
                type: string
              lookthrough_source:
                enum:
                  - provider:fmp
                  - provider:eodhd
                  - filing:nport
                  - upload
                  - portfolio
                  - what_if
                type: string
              modelled:
                maximum: 9007199254740991
                minimum: 0
                type: integer
                unit: count
              name:
                type: string
              oldest_mark_date:
                format: date
                pattern: >-
                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                type: string
              portfolio_id:
                type: string
              portfolio_value_usd:
                additionalProperties: false
                properties:
                  amount:
                    anyOf:
                      - pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                        type: string
                      - type: 'null'
                    unit: currency
                  currency:
                    anyOf:
                      - pattern: ^[A-Z]{3}(?![\s\S])
                        type: string
                      - type: 'null'
                required:
                  - amount
                  - currency
                type: object
              priced:
                maximum: 9007199254740991
                minimum: 0
                type: integer
                unit: count
              requested:
                maximum: 9007199254740991
                minimum: 0
                type: integer
                unit: count
              resolved:
                maximum: 9007199254740991
                minimum: 0
                type: integer
                unit: count
              role:
                enum:
                  - subject
                  - benchmark_basket
                  - peer
                type: string
              rows:
                items:
                  additionalProperties: false
                  properties:
                    asset_type:
                      enum:
                        - equity
                        - fund
                        - cash
                        - bond
                        - derivative
                        - balance
                        - direct
                        - other
                      type: string
                    classification_as_of:
                      format: date
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                      type: string
                    country:
                      type: string
                    currency:
                      type: string
                    cusip:
                      type: string
                    fx_rate_to_usd:
                      anyOf:
                        - pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                          type: string
                        - type: 'null'
                      unit: ratio
                    industry:
                      type: string
                    isin:
                      type: string
                    issuer_id:
                      type: string
                    market_cap:
                      additionalProperties: false
                      properties:
                        amount:
                          anyOf:
                            - pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                              type: string
                            - type: 'null'
                          unit: currency
                        currency:
                          anyOf:
                            - pattern: ^[A-Z]{3}(?![\s\S])
                              type: string
                            - type: 'null'
                      required:
                        - amount
                        - currency
                      type: object
                    market_value:
                      additionalProperties: false
                      properties:
                        amount:
                          anyOf:
                            - pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                              type: string
                            - type: 'null'
                          unit: currency
                        currency:
                          anyOf:
                            - pattern: ^[A-Z]{3}(?![\s\S])
                              type: string
                            - type: 'null'
                      required:
                        - amount
                        - currency
                      type: object
                    name:
                      type: string
                    not_listed:
                      type: boolean
                    sector:
                      type: string
                    shares:
                      anyOf:
                        - pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                          type: string
                        - type: 'null'
                      unit: count
                    symbol:
                      type: string
                    unresolved:
                      type: boolean
                    weight:
                      anyOf:
                        - pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                          type: string
                        - type: 'null'
                      unit: fraction
                  required:
                    - symbol
                    - weight
                  type: object
                type: array
              source:
                enum:
                  - provider:fmp
                  - provider:eodhd
                  - filing:nport
                  - upload
                  - portfolio
                  - what_if
                type: string
              symbol:
                type: string
              total_value:
                additionalProperties: false
                properties:
                  amount:
                    anyOf:
                      - pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                        type: string
                      - type: 'null'
                    unit: currency
                  currency:
                    anyOf:
                      - pattern: ^[A-Z]{3}(?![\s\S])
                        type: string
                      - type: 'null'
                required:
                  - amount
                  - currency
                type: object
              unvalued:
                items:
                  additionalProperties: false
                  properties:
                    reason:
                      type: string
                    symbol:
                      type: string
                  required:
                    - symbol
                    - reason
                  type: object
                type: array
              warnings:
                items:
                  type: string
                type: array
            required:
              - key
              - role
              - symbol
              - source
              - holdings_date
              - covered_weight
              - rows
            selectors:
              - comparator_key
              - key
            type: object
          type: array
        comparators:
          items:
            additionalProperties: false
            properties:
              entity:
                type: string
              key:
                type: string
              role:
                type: string
            required:
              - key
              - entity
              - role
            selectors:
              - entity
              - key
            type: object
          type: array
        computed_at:
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
          type: string
        entities:
          additionalProperties:
            additionalProperties: false
            properties:
              key:
                pattern: ^(?:book|security|factor|bucket|scenario|custom):.+$
                type: string
              kind:
                enum:
                  - book
                  - security
                  - factor
                  - bucket
                  - scenario
                  - custom
                type: string
              name:
                type:
                  - string
                  - 'null'
              symbol:
                type:
                  - string
                  - 'null'
            required:
              - key
              - kind
              - symbol
              - name
            type: object
          propertyNames:
            type: string
          type: object
        issues:
          items:
            additionalProperties: false
            properties:
              code:
                minLength: 1
                type: string
              entity:
                anyOf:
                  - pattern: ^(?:book|security|factor|bucket|scenario|custom):.+$
                    type: string
                  - type: 'null'
              id:
                minLength: 1
                type: string
              path:
                type: string
              reason:
                minLength: 1
                type: string
              section:
                anyOf:
                  - enum:
                      - risk
                      - trust
                      - compliance
                      - performance
                      - attribution
                      - factor_pnl
                      - exposures
                      - drivers
                      - changes
                      - risk_change
                      - liquidity
                      - bets
                      - sizing
                      - scenarios
                      - valuation
                    type: string
                  - type: 'null'
              source_artifact_id:
                type:
                  - string
                  - 'null'
            required:
              - id
              - code
              - reason
              - section
              - path
              - entity
              - source_artifact_id
            type: object
          type: array
        methods:
          additionalProperties:
            additionalProperties: false
            properties:
              parameters:
                additionalProperties:
                  $ref: '#/components/schemas/Gateway_RiskAnalyticsParameter'
                propertyNames:
                  type: string
                type: object
              version:
                type: string
            required:
              - version
              - parameters
            type: object
          propertyNames:
            type: string
          type: object
        metric_changes:
          items:
            additionalProperties: false
            properties:
              baseline:
                anyOf:
                  - pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                    type: string
                  - type: 'null'
              baseline_artifact_id:
                type:
                  - string
                  - 'null'
              baseline_as_of:
                anyOf:
                  - format: date
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                    type: string
                  - type: 'null'
              baseline_period_key:
                type:
                  - string
                  - 'null'
              comparator_key:
                type:
                  - string
                  - 'null'
              currency:
                anyOf:
                  - pattern: ^[A-Z]{3}(?![\s\S])
                    type: string
                  - type: 'null'
              current:
                anyOf:
                  - pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                    type: string
                  - type: 'null'
              current_period_key:
                type: string
              difference:
                anyOf:
                  - pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                    type: string
                  - type: 'null'
              elapsed_calendar_days:
                anyOf:
                  - maximum: 9007199254740991
                    minimum: 0
                    type: integer
                  - type: 'null'
              entity:
                anyOf:
                  - pattern: ^(?:book|security|factor|bucket|scenario|custom):.+$
                    type: string
                  - type: 'null'
              history_artifact_ids:
                items:
                  type: string
                type: array
              method_key:
                type: string
              metric_path:
                type: string
              model_keys:
                items:
                  type: string
                type: array
              precision:
                additionalProperties: false
                properties:
                  baseline:
                    anyOf:
                      - enum:
                          - calculation
                          - legacy_rounded
                          - mixed
                        type: string
                      - type: 'null'
                  difference:
                    anyOf:
                      - enum:
                          - calculation
                          - legacy_rounded
                          - mixed
                        type: string
                      - type: 'null'
                  z_score:
                    anyOf:
                      - enum:
                          - calculation
                          - legacy_rounded
                          - mixed
                        type: string
                      - type: 'null'
                required:
                  - baseline
                  - difference
                  - z_score
                type: object
              unit:
                enum:
                  - fraction
                  - pct
                  - pts
                  - ratio
                  - days
                  - currency
                  - count
                type: string
              z_score:
                anyOf:
                  - pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                    type: string
                  - type: 'null'
            required:
              - metric_path
              - comparator_key
              - entity
              - unit
              - currency
              - current_period_key
              - baseline_period_key
              - baseline_artifact_id
              - baseline_as_of
              - elapsed_calendar_days
              - current
              - baseline
              - difference
              - z_score
              - method_key
              - model_keys
              - precision
              - history_artifact_ids
            type: object
          type: array
        models:
          additionalProperties:
            additionalProperties: false
            properties:
              publication_date:
                format: date
                pattern: >-
                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                type: string
              version:
                type: string
            required:
              - version
              - publication_date
            type: object
          propertyNames:
            type: string
          type: object
        periods:
          additionalProperties:
            additionalProperties: false
            properties:
              actual_from:
                anyOf:
                  - format: date
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                    type: string
                  - type: 'null'
              actual_to:
                anyOf:
                  - format: date
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                    type: string
                  - type: 'null'
              calendar:
                type:
                  - string
                  - 'null'
              horizon:
                type:
                  - string
                  - 'null'
              kind:
                enum:
                  - point
                  - interval
                type: string
              requested_from:
                anyOf:
                  - format: date
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                    type: string
                  - type: 'null'
              requested_to:
                format: date
                pattern: >-
                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                type: string
              timezone:
                type: string
            required:
              - horizon
              - kind
              - requested_from
              - requested_to
              - actual_from
              - actual_to
              - timezone
              - calendar
            type: object
          propertyNames:
            type: string
          type: object
        receipts:
          additionalProperties: false
          properties:
            books:
              items:
                additionalProperties: false
                properties:
                  book_key:
                    type: string
                  covered_weight:
                    anyOf:
                      - pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                        type: string
                      - type: 'null'
                    unit: pct
                  holdings_date:
                    format: date
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                    type: string
                  lookthrough_source:
                    enum:
                      - provider:fmp
                      - provider:eodhd
                      - filing:nport
                      - upload
                      - portfolio
                      - what_if
                    type: string
                  modelled:
                    maximum: 9007199254740991
                    minimum: 0
                    type: integer
                    unit: count
                  oldest_mark_date:
                    format: date
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                    type: string
                  portfolio_value_usd:
                    additionalProperties: false
                    properties:
                      amount:
                        anyOf:
                          - pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                            type: string
                          - type: 'null'
                        unit: currency
                      currency:
                        anyOf:
                          - pattern: ^[A-Z]{3}(?![\s\S])
                            type: string
                          - type: 'null'
                    required:
                      - amount
                      - currency
                    type: object
                  priced:
                    maximum: 9007199254740991
                    minimum: 0
                    type: integer
                    unit: count
                  requested:
                    maximum: 9007199254740991
                    minimum: 0
                    type: integer
                    unit: count
                  resolved:
                    maximum: 9007199254740991
                    minimum: 0
                    type: integer
                    unit: count
                  role:
                    enum:
                      - subject
                      - benchmark_basket
                      - peer
                    type: string
                  rows:
                    maximum: 9007199254740991
                    minimum: 0
                    type: integer
                    unit: count
                  source:
                    enum:
                      - provider:fmp
                      - provider:eodhd
                      - filing:nport
                      - upload
                      - portfolio
                      - what_if
                    type: string
                  symbol:
                    type: string
                  total_value:
                    additionalProperties: false
                    properties:
                      amount:
                        anyOf:
                          - pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                            type: string
                          - type: 'null'
                        unit: currency
                      currency:
                        anyOf:
                          - pattern: ^[A-Z]{3}(?![\s\S])
                            type: string
                          - type: 'null'
                    required:
                      - amount
                      - currency
                    type: object
                  valued_rows:
                    maximum: 9007199254740991
                    minimum: 0
                    type: integer
                    unit: count
                  warnings:
                    items:
                      type: string
                    type: array
                  weights:
                    enum:
                      - stated
                      - rebuilt_from_shares
                    type: string
                required:
                  - book_key
                  - role
                  - symbol
                  - source
                  - holdings_date
                  - rows
                  - covered_weight
                  - requested
                  - resolved
                  - priced
                  - modelled
                  - weights
                  - valued_rows
                selectors:
                  - book_key
                type: object
              type: array
            factor_model_version:
              type:
                - string
                - 'null'
            failures:
              items:
                additionalProperties: false
                properties:
                  book:
                    type: string
                  currency:
                    type: string
                  entity:
                    type: string
                  kind:
                    enum:
                      - price
                      - volume
                      - classification
                      - split
                      - history
                      - listing
                      - value
                      - currency
                      - unmodelled
                      - past_unmodelled
                      - model
                      - comparator
                      - fund
                      - config
                      - provider
                      - failed
                      - measure
                      - method
                      - coverage
                      - weights
                      - residual
                    type: string
                  missing:
                    type: string
                  reason:
                    type: string
                  reason_code:
                    type: string
                  section:
                    type: string
                  symbol:
                    type: string
                  symbol_count:
                    maximum: 9007199254740991
                    minimum: 0
                    type: integer
                    unit: count
                  symbol_set:
                    enum:
                      - complete
                      - unknown
                    type: string
                  symbols:
                    items:
                      type: string
                    type: array
                  weight:
                    anyOf:
                      - pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                        type: string
                      - type: 'null'
                    unit: fraction
                required:
                  - reason
                selectors:
                  - entity
                type: object
              type: array
            sources:
              items:
                type: string
              type: array
          required:
            - books
            - sources
            - failures
            - factor_model_version
          type: object
        schema_version:
          const: 2
          type: number
        scope:
          additionalProperties: false
          properties:
            horizons_by_section:
              additionalProperties:
                items:
                  type: string
                type: array
              propertyNames:
                enum:
                  - risk
                  - trust
                  - compliance
                  - performance
                  - attribution
                  - factor_pnl
                  - exposures
                  - drivers
                  - changes
                  - risk_change
                  - liquidity
                  - bets
                  - sizing
                  - scenarios
                  - valuation
                type: string
              type: object
            parameters:
              additionalProperties:
                $ref: '#/components/schemas/Gateway_RiskAnalyticsParameter'
              propertyNames:
                type: string
              type: object
            section_keys:
              items:
                enum:
                  - risk
                  - trust
                  - compliance
                  - performance
                  - attribution
                  - factor_pnl
                  - exposures
                  - drivers
                  - changes
                  - risk_change
                  - liquidity
                  - bets
                  - sizing
                  - scenarios
                  - valuation
                type: string
              type: array
          required:
            - section_keys
            - horizons_by_section
            - parameters
          type: object
        sections:
          additionalProperties: false
          properties:
            attribution:
              additionalProperties: false
              properties:
                context:
                  additionalProperties: false
                  properties:
                    book_keys:
                      items:
                        type: string
                      type: array
                    method_key:
                      type: string
                    model_keys:
                      items:
                        type: string
                      type: array
                    period_key:
                      type:
                        - string
                        - 'null'
                  required:
                    - period_key
                    - book_keys
                    - model_keys
                    - method_key
                  type: object
                data:
                  anyOf:
                    - additionalProperties: false
                      properties:
                        dimension:
                          type: string
                        periods:
                          items:
                            additionalProperties: false
                            properties:
                              active_return:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pts
                              allocation:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pts
                              buckets:
                                items:
                                  additionalProperties: false
                                  properties:
                                    allocation:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pts
                                    bucket:
                                      type: string
                                    comparator_held:
                                      type: boolean
                                    comparator_return:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pct
                                    comparator_weight:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: fraction
                                    effect:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pts
                                    selection:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pts
                                    subject_held:
                                      type: boolean
                                    subject_return:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pct
                                    subject_weight:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: fraction
                                  required:
                                    - bucket
                                    - subject_weight
                                    - comparator_weight
                                    - subject_held
                                    - comparator_held
                                    - subject_return
                                    - comparator_return
                                    - allocation
                                    - selection
                                    - effect
                                  selectors:
                                    - bucket
                                  type: object
                                type: array
                              comparator:
                                additionalProperties: false
                                properties:
                                  book_key:
                                    type: string
                                  holdings_date:
                                    format: date
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                                    type: string
                                  largest_unpriced:
                                    anyOf:
                                      - additionalProperties: false
                                        properties:
                                          entity:
                                            type:
                                              - string
                                              - 'null'
                                          gross_share:
                                            anyOf:
                                              - pattern: >-
                                                  ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                                type: string
                                              - type: 'null'
                                            unit: fraction
                                        required:
                                          - entity
                                          - gross_share
                                        selectors:
                                          - entity
                                        type: object
                                      - type: 'null'
                                  outside:
                                    anyOf:
                                      - pattern: >-
                                          ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                        type: string
                                      - type: 'null'
                                    unit: fraction
                                  rolled_back:
                                    type: boolean
                                  rolled_days:
                                    maximum: 9007199254740991
                                    minimum: 0
                                    type: integer
                                    unit: days
                                  target_date:
                                    format: date
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                                    type: string
                                  unpriced_share:
                                    anyOf:
                                      - pattern: >-
                                          ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                        type: string
                                      - type: 'null'
                                    unit: fraction
                                  weights:
                                    items:
                                      additionalProperties: false
                                      properties:
                                        entity:
                                          type:
                                            - string
                                            - 'null'
                                        weight:
                                          anyOf:
                                            - pattern: >-
                                                ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                              type: string
                                            - type: 'null'
                                          unit: fraction
                                      required:
                                        - entity
                                        - weight
                                      selectors:
                                        - entity
                                      type: object
                                    type: array
                                required:
                                  - book_key
                                  - holdings_date
                                  - target_date
                                  - rolled_days
                                  - rolled_back
                                  - weights
                                  - outside
                                  - unpriced_share
                                  - largest_unpriced
                                selectors:
                                  - book_key
                                type: object
                              comparator_key:
                                type: string
                              comparator_return:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                              context:
                                additionalProperties: false
                                properties:
                                  book_keys:
                                    items:
                                      type: string
                                    type: array
                                  method_key:
                                    type: string
                                  model_keys:
                                    items:
                                      type: string
                                    type: array
                                  period_key:
                                    type:
                                      - string
                                      - 'null'
                                required:
                                  - period_key
                                  - book_keys
                                  - model_keys
                                  - method_key
                                type: object
                              gap_shape:
                                items:
                                  additionalProperties: false
                                  properties:
                                    breadth:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pct
                                    bucket:
                                      type:
                                        - string
                                        - 'null'
                                    comparator_return:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pct
                                    contribution:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pts
                                    median_return:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pct
                                    names_below:
                                      anyOf:
                                        - maximum: 9007199254740991
                                          minimum: 0
                                          type: integer
                                          unit: count
                                        - type: 'null'
                                    names_held:
                                      maximum: 9007199254740991
                                      minimum: 0
                                      type: integer
                                      unit: count
                                    reference_gap:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pts
                                    scope:
                                      enum:
                                        - book
                                        - bucket
                                      type: string
                                    top_name_count:
                                      maximum: 9007199254740991
                                      minimum: 0
                                      type: integer
                                      unit: count
                                    top_names:
                                      items:
                                        type:
                                          - string
                                          - 'null'
                                      type: array
                                    top_names_share:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pct
                                  required:
                                    - scope
                                    - bucket
                                    - top_names_share
                                    - top_names
                                    - top_name_count
                                    - contribution
                                    - reference_gap
                                    - breadth
                                    - names_held
                                    - names_below
                                    - median_return
                                    - comparator_return
                                  selectors:
                                    - bucket
                                  type: object
                                type: array
                              holdings:
                                items:
                                  additionalProperties: false
                                  properties:
                                    active_contribution:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pts
                                    bucket:
                                      type: string
                                    cash_currency:
                                      type:
                                        - string
                                        - 'null'
                                    comparator_weight:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: fraction
                                    contribution:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pts
                                    entity:
                                      type:
                                        - string
                                        - 'null'
                                    is_cash:
                                      type: boolean
                                    listed:
                                      type: boolean
                                    observation_keys:
                                      items:
                                        type: string
                                      type: array
                                    return_value:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pct
                                    subject_weight:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: fraction
                                  required:
                                    - entity
                                    - bucket
                                    - listed
                                    - is_cash
                                    - cash_currency
                                    - subject_weight
                                    - comparator_weight
                                    - return_value
                                    - contribution
                                    - active_contribution
                                    - observation_keys
                                  selectors:
                                    - entity
                                    - bucket
                                  type: object
                                type: array
                              horizon:
                                type: string
                              money:
                                items:
                                  type: string
                                type: array
                              reported_relative:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pts
                              residual:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pts
                              selection:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pts
                              subject:
                                additionalProperties: false
                                properties:
                                  book_key:
                                    type: string
                                  holdings_date:
                                    format: date
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                                    type: string
                                  largest_unpriced:
                                    anyOf:
                                      - additionalProperties: false
                                        properties:
                                          entity:
                                            type:
                                              - string
                                              - 'null'
                                          gross_share:
                                            anyOf:
                                              - pattern: >-
                                                  ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                                type: string
                                              - type: 'null'
                                            unit: fraction
                                        required:
                                          - entity
                                          - gross_share
                                        selectors:
                                          - entity
                                        type: object
                                      - type: 'null'
                                  outside:
                                    anyOf:
                                      - pattern: >-
                                          ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                        type: string
                                      - type: 'null'
                                    unit: fraction
                                  rolled_back:
                                    type: boolean
                                  rolled_days:
                                    maximum: 9007199254740991
                                    minimum: 0
                                    type: integer
                                    unit: days
                                  target_date:
                                    format: date
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                                    type: string
                                  unpriced_share:
                                    anyOf:
                                      - pattern: >-
                                          ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                        type: string
                                      - type: 'null'
                                    unit: fraction
                                  weights:
                                    items:
                                      additionalProperties: false
                                      properties:
                                        entity:
                                          type:
                                            - string
                                            - 'null'
                                        weight:
                                          anyOf:
                                            - pattern: >-
                                                ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                              type: string
                                            - type: 'null'
                                          unit: fraction
                                      required:
                                        - entity
                                        - weight
                                      selectors:
                                        - entity
                                      type: object
                                    type: array
                                required:
                                  - book_key
                                  - holdings_date
                                  - target_date
                                  - rolled_days
                                  - rolled_back
                                  - weights
                                  - outside
                                  - unpriced_share
                                  - largest_unpriced
                                selectors:
                                  - book_key
                                type: object
                              subject_return:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                              unclassified_effect:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pts
                            required:
                              - context
                              - comparator_key
                              - horizon
                              - subject
                              - comparator
                              - money
                              - subject_return
                              - comparator_return
                              - active_return
                              - reported_relative
                              - residual
                              - allocation
                              - selection
                              - unclassified_effect
                              - holdings
                              - buckets
                              - gap_shape
                            selectors:
                              - comparator_key
                              - horizon
                              - context.period_key
                            type: object
                          type: array
                        price_observations:
                          additionalProperties:
                            additionalProperties: false
                            properties:
                              actual_from:
                                anyOf:
                                  - format: date
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                                    type: string
                                  - type: 'null'
                              actual_to:
                                anyOf:
                                  - format: date
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                                    type: string
                                  - type: 'null'
                              basis:
                                enum:
                                  - observed
                                  - held_at_zero
                                  - cash_zero
                                  - unavailable
                                type: string
                              book_key:
                                type: string
                              entity:
                                type:
                                  - string
                                  - 'null'
                              period_key:
                                type: string
                              return_value:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                            required:
                              - entity
                              - book_key
                              - period_key
                              - actual_from
                              - actual_to
                              - return_value
                              - basis
                            selectors:
                              - entity
                              - book_key
                            type: object
                          keySelector: observation_key
                          propertyNames:
                            type: string
                          type: object
                      required:
                        - dimension
                        - periods
                        - price_observations
                      selectors:
                        - dimension
                      type: object
                    - type: 'null'
                status:
                  enum:
                    - ok
                    - partial
                    - unavailable
                  type: string
              required:
                - status
                - context
                - data
              selectors:
                - context.period_key
              type: object
            bets:
              additionalProperties: false
              properties:
                context:
                  additionalProperties: false
                  properties:
                    book_keys:
                      items:
                        type: string
                      type: array
                    method_key:
                      type: string
                    model_keys:
                      items:
                        type: string
                      type: array
                    period_key:
                      type:
                        - string
                        - 'null'
                  required:
                    - period_key
                    - book_keys
                    - model_keys
                    - method_key
                  type: object
                data:
                  anyOf:
                    - additionalProperties: false
                      properties:
                        blocks:
                          items:
                            additionalProperties: false
                            properties:
                              comparator_key:
                                type: string
                              context:
                                additionalProperties: false
                                properties:
                                  book_keys:
                                    items:
                                      type: string
                                    type: array
                                  method_key:
                                    type: string
                                  model_keys:
                                    items:
                                      type: string
                                    type: array
                                  period_key:
                                    type:
                                      - string
                                      - 'null'
                                required:
                                  - period_key
                                  - book_keys
                                  - model_keys
                                  - method_key
                                type: object
                              shares:
                                additionalProperties:
                                  anyOf:
                                    - pattern: >-
                                        ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                      type: string
                                    - type: 'null'
                                  unit: pct
                                keySelector: entity
                                propertyNames:
                                  type: string
                                type: object
                            required:
                              - context
                              - comparator_key
                              - shares
                            selectors:
                              - comparator_key
                              - context.period_key
                            type: object
                          type: array
                        carriers:
                          items:
                            additionalProperties: false
                            properties:
                              comparator_key:
                                type: string
                              context:
                                additionalProperties: false
                                properties:
                                  book_keys:
                                    items:
                                      type: string
                                    type: array
                                  method_key:
                                    type: string
                                  model_keys:
                                    items:
                                      type: string
                                    type: array
                                  period_key:
                                    type:
                                      - string
                                      - 'null'
                                required:
                                  - period_key
                                  - book_keys
                                  - model_keys
                                  - method_key
                                type: object
                              entity:
                                type: string
                              share:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                            required:
                              - context
                              - comparator_key
                              - entity
                              - share
                            selectors:
                              - comparator_key
                              - entity
                              - context.period_key
                            type: object
                          type: array
                        incidental_factors:
                          items:
                            type: string
                          type: array
                        intended_factors:
                          items:
                            type: string
                          type: array
                        intended_groups:
                          items:
                            type: string
                          type: array
                        intent:
                          items:
                            additionalProperties: false
                            properties:
                              comparator_key:
                                type: string
                              context:
                                additionalProperties: false
                                properties:
                                  book_keys:
                                    items:
                                      type: string
                                    type: array
                                  method_key:
                                    type: string
                                  model_keys:
                                    items:
                                      type: string
                                    type: array
                                  period_key:
                                    type:
                                      - string
                                      - 'null'
                                required:
                                  - period_key
                                  - book_keys
                                  - model_keys
                                  - method_key
                                type: object
                              hedge_benefit:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pts
                              hedged_tracking_error:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                              incidental_share:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                              intended_share:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                              tracking_error:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                            required:
                              - context
                              - comparator_key
                              - intended_share
                              - incidental_share
                              - tracking_error
                              - hedged_tracking_error
                              - hedge_benefit
                            selectors:
                              - comparator_key
                              - context.period_key
                            type: object
                          type: array
                        style_tilts:
                          items:
                            additionalProperties: false
                            properties:
                              comparator_key:
                                type: string
                              context:
                                additionalProperties: false
                                properties:
                                  book_keys:
                                    items:
                                      type: string
                                    type: array
                                  method_key:
                                    type: string
                                  model_keys:
                                    items:
                                      type: string
                                    type: array
                                  period_key:
                                    type:
                                      - string
                                      - 'null'
                                required:
                                  - period_key
                                  - book_keys
                                  - model_keys
                                  - method_key
                                type: object
                              entity:
                                type: string
                              exposure:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: ratio
                              share:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                            required:
                              - context
                              - comparator_key
                              - entity
                              - exposure
                              - share
                            selectors:
                              - comparator_key
                              - entity
                              - context.period_key
                            type: object
                          type: array
                      required:
                        - intended_groups
                        - intended_factors
                        - incidental_factors
                        - blocks
                        - intent
                        - style_tilts
                        - carriers
                      type: object
                    - type: 'null'
                status:
                  enum:
                    - ok
                    - partial
                    - unavailable
                  type: string
              required:
                - status
                - context
                - data
              selectors:
                - context.period_key
              type: object
            changes:
              additionalProperties: false
              properties:
                context:
                  additionalProperties: false
                  properties:
                    book_keys:
                      items:
                        type: string
                      type: array
                    method_key:
                      type: string
                    model_keys:
                      items:
                        type: string
                      type: array
                    period_key:
                      type:
                        - string
                        - 'null'
                  required:
                    - period_key
                    - book_keys
                    - model_keys
                    - method_key
                  type: object
                data:
                  anyOf:
                    - additionalProperties: false
                      properties:
                        days_since_new_book:
                          anyOf:
                            - pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                              type: string
                            - type: 'null'
                          unit: days
                        exposure_deltas:
                          anyOf:
                            - items:
                                additionalProperties: false
                                properties:
                                  bucket:
                                    type: string
                                  context:
                                    additionalProperties: false
                                    properties:
                                      book_keys:
                                        items:
                                          type: string
                                        type: array
                                      method_key:
                                        type: string
                                      model_keys:
                                        items:
                                          type: string
                                        type: array
                                      period_key:
                                        type:
                                          - string
                                          - 'null'
                                    required:
                                      - period_key
                                      - book_keys
                                      - model_keys
                                      - method_key
                                    type: object
                                  delta:
                                    anyOf:
                                      - pattern: >-
                                          ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                        type: string
                                      - type: 'null'
                                    unit: pts
                                  dimension:
                                    type: string
                                  horizon_days:
                                    maximum: 9007199254740991
                                    minimum: 0
                                    type: integer
                                    unit: days
                                required:
                                  - context
                                  - horizon_days
                                  - dimension
                                  - bucket
                                  - delta
                                selectors:
                                  - bucket
                                  - dimension
                                  - context.period_key
                                type: object
                              type: array
                            - type: 'null'
                        holdings_date:
                          format: date
                          pattern: >-
                            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                          type: string
                        moves:
                          anyOf:
                            - items:
                                additionalProperties: false
                                properties:
                                  after:
                                    anyOf:
                                      - pattern: >-
                                          ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                        type: string
                                      - type: 'null'
                                    unit: pct
                                  before:
                                    anyOf:
                                      - pattern: >-
                                          ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                        type: string
                                      - type: 'null'
                                    unit: pct
                                  closed:
                                    type: boolean
                                  context:
                                    additionalProperties: false
                                    properties:
                                      book_keys:
                                        items:
                                          type: string
                                        type: array
                                      method_key:
                                        type: string
                                      model_keys:
                                        items:
                                          type: string
                                        type: array
                                      period_key:
                                        type:
                                          - string
                                          - 'null'
                                    required:
                                      - period_key
                                      - book_keys
                                      - model_keys
                                      - method_key
                                    type: object
                                  entity:
                                    type:
                                      - string
                                      - 'null'
                                  move:
                                    anyOf:
                                      - pattern: >-
                                          ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                        type: string
                                      - type: 'null'
                                    unit: pts
                                  opened:
                                    type: boolean
                                  price_drift:
                                    anyOf:
                                      - pattern: >-
                                          ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                        type: string
                                      - type: 'null'
                                    unit: pts
                                  traded:
                                    anyOf:
                                      - pattern: >-
                                          ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                        type: string
                                      - type: 'null'
                                    unit: pts
                                required:
                                  - context
                                  - entity
                                  - before
                                  - after
                                  - move
                                  - traded
                                  - price_drift
                                  - opened
                                  - closed
                                selectors:
                                  - entity
                                  - context.period_key
                                type: object
                              type: array
                            - type: 'null'
                        previous_holdings_date:
                          anyOf:
                            - format: date
                              pattern: >-
                                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                              type: string
                            - type: 'null'
                      required:
                        - holdings_date
                        - previous_holdings_date
                        - moves
                        - exposure_deltas
                        - days_since_new_book
                      type: object
                    - type: 'null'
                status:
                  enum:
                    - ok
                    - partial
                    - unavailable
                  type: string
              required:
                - status
                - context
                - data
              selectors:
                - context.period_key
              type: object
            compliance:
              additionalProperties: false
              properties:
                context:
                  additionalProperties: false
                  properties:
                    book_keys:
                      items:
                        type: string
                      type: array
                    method_key:
                      type: string
                    model_keys:
                      items:
                        type: string
                      type: array
                    period_key:
                      type:
                        - string
                        - 'null'
                  required:
                    - period_key
                    - book_keys
                    - model_keys
                    - method_key
                  type: object
                data:
                  anyOf:
                    - additionalProperties: false
                      properties:
                        concentration:
                          additionalProperties: false
                          properties:
                            cash_pct:
                              anyOf:
                                - pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                  type: string
                                - type: 'null'
                              unit: pct
                            illiquid_share:
                              anyOf:
                                - pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                  type: string
                                - type: 'null'
                              unit: pct
                            largest_issuer_position:
                              anyOf:
                                - additionalProperties: false
                                  properties:
                                    largest:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pct
                                    positions:
                                      additionalProperties:
                                        anyOf:
                                          - pattern: >-
                                              ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                            type: string
                                          - type: 'null'
                                        unit: pct
                                      keySelector: issuer
                                      propertyNames:
                                        type: string
                                      type: object
                                    securities:
                                      additionalProperties:
                                        items:
                                          type: string
                                        type: array
                                      propertyNames:
                                        type: string
                                      type: object
                                    trim_to_limit:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pts
                                  required:
                                    - largest
                                    - positions
                                    - securities
                                    - trim_to_limit
                                  type: object
                                - type: 'null'
                            weight_in_positions_above_5pct:
                              anyOf:
                                - additionalProperties: false
                                  properties:
                                    holdings_without_issuer:
                                      items:
                                        additionalProperties: false
                                        properties:
                                          entity:
                                            type:
                                              - string
                                              - 'null'
                                          weight:
                                            anyOf:
                                              - pattern: >-
                                                  ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                                type: string
                                              - type: 'null'
                                            unit: pct
                                        required:
                                          - entity
                                          - weight
                                        selectors:
                                          - entity
                                        type: object
                                      type: array
                                    lower_bound:
                                      type: boolean
                                    positions:
                                      additionalProperties:
                                        anyOf:
                                          - pattern: >-
                                              ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                            type: string
                                          - type: 'null'
                                        unit: pct
                                      keySelector: issuer
                                      propertyNames:
                                        type: string
                                      type: object
                                    securities:
                                      additionalProperties:
                                        items:
                                          type: string
                                        type: array
                                      propertyNames:
                                        type: string
                                      type: object
                                    share:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pct
                                    trim_to_limit:
                                      anyOf:
                                        - additionalProperties: false
                                          properties:
                                            issuers_cut_to_5pct:
                                              items:
                                                type: string
                                              type: array
                                            points:
                                              anyOf:
                                                - pattern: >-
                                                    ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                                  type: string
                                                - type: 'null'
                                              unit: pts
                                            points_from_rest:
                                              anyOf:
                                                - pattern: >-
                                                    ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                                  type: string
                                                - type: 'null'
                                              unit: pts
                                          required:
                                            - points
                                            - issuers_cut_to_5pct
                                            - points_from_rest
                                          type: object
                                        - type: 'null'
                                  required:
                                    - share
                                    - lower_bound
                                    - positions
                                    - securities
                                    - holdings_without_issuer
                                    - trim_to_limit
                                  type: object
                                - type: 'null'
                          required:
                            - cash_pct
                            - weight_in_positions_above_5pct
                            - largest_issuer_position
                            - illiquid_share
                          type: object
                        rules:
                          items:
                            additionalProperties: false
                            properties:
                              bucket:
                                anyOf:
                                  - pattern: >-
                                      ^(?:book|security|factor|bucket|scenario|custom):.+$
                                    type: string
                                  - type: 'null'
                              comparator_key:
                                type:
                                  - string
                                  - 'null'
                              coverage:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: fraction
                              currency:
                                anyOf:
                                  - pattern: ^[A-Z]{3}(?![\s\S])
                                    type: string
                                  - type: 'null'
                              entity:
                                anyOf:
                                  - pattern: >-
                                      ^(?:book|security|factor|bucket|scenario|custom):.+$
                                    type: string
                                  - type: 'null'
                              issue_ids:
                                items:
                                  minLength: 1
                                  type: string
                                type: array
                              lower:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unitSource: unit
                              measured:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unitSource: unit
                              metric_path:
                                type:
                                  - string
                                  - 'null'
                              outcome:
                                enum:
                                  - pass
                                  - warning
                                  - breach
                                  - unavailable
                                  - not_applicable
                                type: string
                              parameters:
                                additionalProperties:
                                  $ref: >-
                                    #/components/schemas/Gateway_RiskAnalyticsParameter
                                propertyNames:
                                  type: string
                                type: object
                              precision:
                                enum:
                                  - calculation
                                  - legacy_rounded
                                  - mixed
                                type: string
                              rule_key:
                                enum:
                                  - relative_weight_sector
                                  - relative_weight_country
                                  - relative_weight_single_name
                                  - relative_weight_custom_group
                                  - cash_pct
                                  - irs_5pct_bucket_pct
                                  - single_issuer_pct
                                  - illiquid_days
                                  - tracking_error_budget
                                  - metric_limit
                                type: string
                              source_artifact_ids:
                                items:
                                  minLength: 1
                                  type: string
                                type: array
                              unit:
                                enum:
                                  - fraction
                                  - pct
                                  - pts
                                  - ratio
                                  - days
                                  - currency
                                  - count
                                type: string
                              upper:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unitSource: unit
                              warning_lower:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unitSource: unit
                              warning_upper:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unitSource: unit
                            required:
                              - rule_key
                              - metric_path
                              - comparator_key
                              - entity
                              - bucket
                              - parameters
                              - unit
                              - currency
                              - measured
                              - lower
                              - upper
                              - warning_lower
                              - warning_upper
                              - outcome
                              - coverage
                              - issue_ids
                            type: object
                          type: array
                      required:
                        - rules
                        - concentration
                      type: object
                    - type: 'null'
                status:
                  enum:
                    - ok
                    - partial
                    - unavailable
                  type: string
              required:
                - status
                - context
                - data
              selectors:
                - context.period_key
              type: object
            drivers:
              additionalProperties: false
              properties:
                context:
                  additionalProperties: false
                  properties:
                    book_keys:
                      items:
                        type: string
                      type: array
                    method_key:
                      type: string
                    model_keys:
                      items:
                        type: string
                      type: array
                    period_key:
                      type:
                        - string
                        - 'null'
                  required:
                    - period_key
                    - book_keys
                    - model_keys
                    - method_key
                  type: object
                data:
                  anyOf:
                    - additionalProperties: false
                      properties:
                        cleaning:
                          additionalProperties: false
                          properties:
                            days_left:
                              anyOf:
                                - pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                  type: string
                                - type: 'null'
                              unit: count
                            fit_quality:
                              additionalProperties: false
                              properties:
                                by_entity:
                                  additionalProperties:
                                    anyOf:
                                      - pattern: >-
                                          ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                        type: string
                                      - type: 'null'
                                    unit: ratio
                                  keySelector: entity
                                  propertyNames:
                                    type: string
                                  type: object
                                lower_decile:
                                  anyOf:
                                    - pattern: >-
                                        ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                      type: string
                                    - type: 'null'
                                  unit: ratio
                                median:
                                  anyOf:
                                    - pattern: >-
                                        ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                      type: string
                                    - type: 'null'
                                  unit: ratio
                                upper_decile:
                                  anyOf:
                                    - pattern: >-
                                        ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                      type: string
                                    - type: 'null'
                                  unit: ratio
                              required:
                                - median
                                - lower_decile
                                - upper_decile
                                - by_entity
                              type: object
                            names_cleaned:
                              maximum: 9007199254740991
                              minimum: 0
                              type: integer
                              unit: count
                            regressors_per_name:
                              anyOf:
                                - pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                  type: string
                                - type: 'null'
                              unit: count
                          required:
                            - names_cleaned
                            - regressors_per_name
                            - days_left
                            - fit_quality
                          type: object
                        drivers:
                          items:
                            additionalProperties: false
                            properties:
                              active_weight:
                                additionalProperties:
                                  anyOf:
                                    - pattern: >-
                                        ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                      type: string
                                    - type: 'null'
                                  unit: pts
                                keySelector: comparator_key
                                propertyNames:
                                  type: string
                                type: object
                              context:
                                additionalProperties: false
                                properties:
                                  book_keys:
                                    items:
                                      type: string
                                    type: array
                                  method_key:
                                    type: string
                                  model_keys:
                                    items:
                                      type: string
                                    type: array
                                  period_key:
                                    type:
                                      - string
                                      - 'null'
                                required:
                                  - period_key
                                  - book_keys
                                  - model_keys
                                  - method_key
                                type: object
                              eigenvalue:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: ratio
                              factor_carriers:
                                additionalProperties:
                                  anyOf:
                                    - pattern: >-
                                        ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                      type: string
                                    - type: 'null'
                                  unit: ratio
                                keySelector: entity
                                propertyNames:
                                  type: string
                                type: object
                              factor_fit:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: ratio
                              factor_regressors:
                                maximum: 9007199254740991
                                minimum: 0
                                type: integer
                                unit: count
                              fund_weight:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                              gross_weight:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                              mean_residual_correlation:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: ratio
                              member_weights:
                                additionalProperties:
                                  anyOf:
                                    - pattern: >-
                                        ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                      type: string
                                    - type: 'null'
                                  unit: pct
                                keySelector: entity
                                propertyNames:
                                  type: string
                                type: object
                              members:
                                items:
                                  type: string
                                type: array
                              persistent:
                                type:
                                  - boolean
                                  - 'null'
                              residual_variance_share:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                              seen_by_half:
                                additionalProperties: false
                                properties:
                                  first:
                                    type:
                                      - boolean
                                      - 'null'
                                  second:
                                    type:
                                      - boolean
                                      - 'null'
                                required:
                                  - first
                                  - second
                                type: object
                            required:
                              - context
                              - members
                              - member_weights
                              - fund_weight
                              - gross_weight
                              - active_weight
                              - eigenvalue
                              - mean_residual_correlation
                              - residual_variance_share
                              - persistent
                              - seen_by_half
                              - factor_fit
                              - factor_regressors
                              - factor_carriers
                            selectors:
                              - context.period_key
                            type: object
                          type: array
                        eigenvalues:
                          additionalProperties: false
                          properties:
                            above_driver_threshold:
                              items:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: ratio
                              type: array
                            above_edge:
                              items:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: ratio
                              type: array
                            days:
                              maximum: 9007199254740991
                              minimum: 0
                              type: integer
                              unit: count
                            days_read_at:
                              anyOf:
                                - pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                  type: string
                                - type: 'null'
                              unit: count
                            driver_threshold:
                              anyOf:
                                - pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                  type: string
                                - type: 'null'
                              unit: ratio
                            names:
                              maximum: 9007199254740991
                              minimum: 0
                              type: integer
                              unit: count
                            noise_edge:
                              anyOf:
                                - pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                  type: string
                                - type: 'null'
                              unit: ratio
                            spectrum:
                              items:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: ratio
                              type: array
                          required:
                            - names
                            - days
                            - days_read_at
                            - noise_edge
                            - driver_threshold
                            - above_edge
                            - above_driver_threshold
                            - spectrum
                          type: object
                        missed_risk:
                          items:
                            additionalProperties: false
                            properties:
                              comparator_key:
                                type: string
                              context:
                                additionalProperties: false
                                properties:
                                  book_keys:
                                    items:
                                      type: string
                                    type: array
                                  method_key:
                                    type: string
                                  model_keys:
                                    items:
                                      type: string
                                    type: array
                                  period_key:
                                    type:
                                      - string
                                      - 'null'
                                required:
                                  - period_key
                                  - book_keys
                                  - model_keys
                                  - method_key
                                type: object
                              difference:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pts
                              model_tracking_error:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                              with_drivers_tracking_error:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                            required:
                              - context
                              - comparator_key
                              - model_tracking_error
                              - with_drivers_tracking_error
                              - difference
                            selectors:
                              - comparator_key
                              - context.period_key
                            type: object
                          type: array
                        residual_factor_content:
                          anyOf:
                            - pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                              type: string
                            - type: 'null'
                          unit: ratio
                        shared_moves_the_factors_explain:
                          additionalProperties: false
                          properties:
                            count:
                              maximum: 9007199254740991
                              minimum: 0
                              type: integer
                              unit: count
                            drivers:
                              items:
                                additionalProperties: false
                                properties:
                                  active_weight:
                                    additionalProperties:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pts
                                    keySelector: comparator_key
                                    propertyNames:
                                      type: string
                                    type: object
                                  context:
                                    additionalProperties: false
                                    properties:
                                      book_keys:
                                        items:
                                          type: string
                                        type: array
                                      method_key:
                                        type: string
                                      model_keys:
                                        items:
                                          type: string
                                        type: array
                                      period_key:
                                        type:
                                          - string
                                          - 'null'
                                    required:
                                      - period_key
                                      - book_keys
                                      - model_keys
                                      - method_key
                                    type: object
                                  eigenvalue:
                                    anyOf:
                                      - pattern: >-
                                          ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                        type: string
                                      - type: 'null'
                                    unit: ratio
                                  factor_carriers:
                                    additionalProperties:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: ratio
                                    keySelector: entity
                                    propertyNames:
                                      type: string
                                    type: object
                                  factor_fit:
                                    anyOf:
                                      - pattern: >-
                                          ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                        type: string
                                      - type: 'null'
                                    unit: ratio
                                  factor_regressors:
                                    maximum: 9007199254740991
                                    minimum: 0
                                    type: integer
                                    unit: count
                                  fund_weight:
                                    anyOf:
                                      - pattern: >-
                                          ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                        type: string
                                      - type: 'null'
                                    unit: pct
                                  gross_weight:
                                    anyOf:
                                      - pattern: >-
                                          ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                        type: string
                                      - type: 'null'
                                    unit: pct
                                  mean_residual_correlation:
                                    anyOf:
                                      - pattern: >-
                                          ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                        type: string
                                      - type: 'null'
                                    unit: ratio
                                  member_weights:
                                    additionalProperties:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pct
                                    keySelector: entity
                                    propertyNames:
                                      type: string
                                    type: object
                                  members:
                                    items:
                                      type: string
                                    type: array
                                  persistent:
                                    type:
                                      - boolean
                                      - 'null'
                                  residual_variance_share:
                                    anyOf:
                                      - pattern: >-
                                          ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                        type: string
                                      - type: 'null'
                                    unit: pct
                                  seen_by_half:
                                    additionalProperties: false
                                    properties:
                                      first:
                                        type:
                                          - boolean
                                          - 'null'
                                      second:
                                        type:
                                          - boolean
                                          - 'null'
                                    required:
                                      - first
                                      - second
                                    type: object
                                required:
                                  - context
                                  - members
                                  - member_weights
                                  - fund_weight
                                  - gross_weight
                                  - active_weight
                                  - eigenvalue
                                  - mean_residual_correlation
                                  - residual_variance_share
                                  - persistent
                                  - seen_by_half
                                  - factor_fit
                                  - factor_regressors
                                  - factor_carriers
                                selectors:
                                  - context.period_key
                                type: object
                              type: array
                          required:
                            - count
                            - drivers
                          type: object
                        universe:
                          additionalProperties: false
                          properties:
                            active_weight_below_cut:
                              additionalProperties:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                              keySelector: comparator_key
                              propertyNames:
                                type: string
                              type: object
                            names_below_cut:
                              additionalProperties:
                                items:
                                  type: string
                                type: array
                              keySelector: comparator_key
                              propertyNames:
                                type: string
                              type: object
                            names_in_panel:
                              maximum: 9007199254740991
                              minimum: 0
                              type: integer
                              unit: count
                            names_left_out_for_history:
                              items:
                                type: string
                              type: array
                            names_left_out_for_panel_shape:
                              items:
                                type: string
                              type: array
                            panel_names:
                              items:
                                type: string
                              type: array
                            panel_shape:
                              anyOf:
                                - pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                  type: string
                                - type: 'null'
                              unit: ratio
                            weight_left_out_for_history:
                              anyOf:
                                - pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                  type: string
                                - type: 'null'
                              unit: pct
                            weight_left_out_for_panel_shape:
                              anyOf:
                                - pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                  type: string
                                - type: 'null'
                              unit: pct
                          required:
                            - names_in_panel
                            - panel_names
                            - names_left_out_for_history
                            - names_left_out_for_panel_shape
                            - names_below_cut
                            - weight_left_out_for_history
                            - weight_left_out_for_panel_shape
                            - panel_shape
                            - active_weight_below_cut
                          type: object
                        window:
                          additionalProperties: false
                          properties:
                            asked_for_days:
                              maximum: 9007199254740991
                              minimum: 0
                              type: integer
                              unit: days
                            end:
                              format: date
                              pattern: >-
                                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                              type: string
                            minimum_days_per_name:
                              maximum: 9007199254740991
                              minimum: 0
                              type: integer
                              unit: days
                            start:
                              format: date
                              pattern: >-
                                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                              type: string
                            trading_days:
                              maximum: 9007199254740991
                              minimum: 0
                              type: integer
                              unit: days
                          required:
                            - start
                            - end
                            - trading_days
                            - asked_for_days
                            - minimum_days_per_name
                          type: object
                      required:
                        - window
                        - universe
                        - cleaning
                        - residual_factor_content
                        - eigenvalues
                        - drivers
                        - shared_moves_the_factors_explain
                        - missed_risk
                      type: object
                    - type: 'null'
                status:
                  enum:
                    - ok
                    - partial
                    - unavailable
                  type: string
              required:
                - status
                - context
                - data
              selectors:
                - context.period_key
              type: object
            exposures:
              additionalProperties: false
              properties:
                context:
                  additionalProperties: false
                  properties:
                    book_keys:
                      items:
                        type: string
                      type: array
                    method_key:
                      type: string
                    model_keys:
                      items:
                        type: string
                      type: array
                    period_key:
                      type:
                        - string
                        - 'null'
                  required:
                    - period_key
                    - book_keys
                    - model_keys
                    - method_key
                  type: object
                data:
                  anyOf:
                    - additionalProperties: false
                      properties:
                        dimensions:
                          items:
                            additionalProperties: false
                            properties:
                              buckets:
                                items:
                                  additionalProperties: false
                                  properties:
                                    active_weights:
                                      additionalProperties:
                                        anyOf:
                                          - pattern: >-
                                              ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                            type: string
                                          - type: 'null'
                                        unit: pts
                                      keySelector: comparator_key
                                      propertyNames:
                                        type: string
                                      type: object
                                    bucket:
                                      type: string
                                    comparator_sides:
                                      additionalProperties:
                                        additionalProperties: false
                                        properties:
                                          gross_weight:
                                            anyOf:
                                              - pattern: >-
                                                  ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                                type: string
                                              - type: 'null'
                                            unit: pct
                                          long_weight:
                                            anyOf:
                                              - pattern: >-
                                                  ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                                type: string
                                              - type: 'null'
                                            unit: pct
                                          short_weight:
                                            anyOf:
                                              - pattern: >-
                                                  ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                                type: string
                                              - type: 'null'
                                            unit: pct
                                        required:
                                          - long_weight
                                          - short_weight
                                          - gross_weight
                                        type: object
                                      keySelector: comparator_key
                                      propertyNames:
                                        type: string
                                      type: object
                                    comparator_weights:
                                      additionalProperties:
                                        anyOf:
                                          - pattern: >-
                                              ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                            type: string
                                          - type: 'null'
                                        unit: pct
                                      keySelector: comparator_key
                                      propertyNames:
                                        type: string
                                      type: object
                                    subject_sides:
                                      additionalProperties: false
                                      properties:
                                        gross_weight:
                                          anyOf:
                                            - pattern: >-
                                                ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                              type: string
                                            - type: 'null'
                                          unit: pct
                                        long_weight:
                                          anyOf:
                                            - pattern: >-
                                                ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                              type: string
                                            - type: 'null'
                                          unit: pct
                                        short_weight:
                                          anyOf:
                                            - pattern: >-
                                                ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                              type: string
                                            - type: 'null'
                                          unit: pct
                                      required:
                                        - long_weight
                                        - short_weight
                                        - gross_weight
                                      type: object
                                    subject_weight:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pct
                                  required:
                                    - bucket
                                    - subject_weight
                                    - comparator_weights
                                    - active_weights
                                    - subject_sides
                                    - comparator_sides
                                  selectors:
                                    - bucket
                                  type: object
                                type: array
                              context:
                                additionalProperties: false
                                properties:
                                  book_keys:
                                    items:
                                      type: string
                                    type: array
                                  method_key:
                                    type: string
                                  model_keys:
                                    items:
                                      type: string
                                    type: array
                                  period_key:
                                    type:
                                      - string
                                      - 'null'
                                required:
                                  - period_key
                                  - book_keys
                                  - model_keys
                                  - method_key
                                type: object
                              dimension:
                                type: string
                            required:
                              - context
                              - dimension
                              - buckets
                            selectors:
                              - dimension
                              - context.period_key
                            type: object
                          type: array
                        holdings:
                          items:
                            additionalProperties: false
                            properties:
                              asset_type:
                                enum:
                                  - equity
                                  - fund
                                  - cash
                                  - bond
                                  - derivative
                                  - balance
                                  - direct
                                  - other
                                type: string
                              book_key:
                                type: string
                              classification_as_of:
                                anyOf:
                                  - format: date
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                                    type: string
                                  - type: 'null'
                              comparator_key:
                                type:
                                  - string
                                  - 'null'
                              context:
                                additionalProperties: false
                                properties:
                                  book_keys:
                                    items:
                                      type: string
                                    type: array
                                  method_key:
                                    type: string
                                  model_keys:
                                    items:
                                      type: string
                                    type: array
                                  period_key:
                                    type:
                                      - string
                                      - 'null'
                                required:
                                  - period_key
                                  - book_keys
                                  - model_keys
                                  - method_key
                                type: object
                              country:
                                type:
                                  - string
                                  - 'null'
                              currency:
                                type:
                                  - string
                                  - 'null'
                              entity:
                                type: string
                              market_cap:
                                additionalProperties: false
                                properties:
                                  amount:
                                    anyOf:
                                      - pattern: >-
                                          ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                        type: string
                                      - type: 'null'
                                    unit: currency
                                  currency:
                                    anyOf:
                                      - pattern: ^[A-Z]{3}(?![\s\S])
                                        type: string
                                      - type: 'null'
                                required:
                                  - amount
                                  - currency
                                type: object
                              sector:
                                type:
                                  - string
                                  - 'null'
                              weight:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                            required:
                              - context
                              - book_key
                              - comparator_key
                              - entity
                              - weight
                              - asset_type
                              - sector
                              - country
                              - currency
                              - market_cap
                              - classification_as_of
                            selectors:
                              - comparator_key
                              - entity
                              - book_key
                              - context.period_key
                            type: object
                          type: array
                        overlap:
                          items:
                            additionalProperties: false
                            properties:
                              active_share:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                              comparator_key:
                                type: string
                              comparator_names:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: count
                              context:
                                additionalProperties: false
                                properties:
                                  book_keys:
                                    items:
                                      type: string
                                    type: array
                                  method_key:
                                    type: string
                                  model_keys:
                                    items:
                                      type: string
                                    type: array
                                  period_key:
                                    type:
                                      - string
                                      - 'null'
                                required:
                                  - period_key
                                  - book_keys
                                  - model_keys
                                  - method_key
                                type: object
                              fund_names:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: count
                              names_in_common:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: count
                              weight_in_common:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                            required:
                              - context
                              - comparator_key
                              - active_share
                              - weight_in_common
                              - names_in_common
                              - fund_names
                              - comparator_names
                            selectors:
                              - comparator_key
                              - context.period_key
                            type: object
                          type: array
                        positions:
                          items:
                            additionalProperties: false
                            properties:
                              comparisons:
                                items:
                                  additionalProperties: false
                                  properties:
                                    active_positions_eligible:
                                      type: boolean
                                    active_weight:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pts
                                    comparator_key:
                                      type: string
                                    comparator_weight:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pct
                                    context:
                                      additionalProperties: false
                                      properties:
                                        book_keys:
                                          items:
                                            type: string
                                          type: array
                                        method_key:
                                          type: string
                                        model_keys:
                                          items:
                                            type: string
                                          type: array
                                        period_key:
                                          type:
                                            - string
                                            - 'null'
                                      required:
                                        - period_key
                                        - book_keys
                                        - model_keys
                                        - method_key
                                      type: object
                                  required:
                                    - context
                                    - comparator_key
                                    - comparator_weight
                                    - active_weight
                                    - active_positions_eligible
                                  selectors:
                                    - comparator_key
                                    - context.period_key
                                  type: object
                                type: array
                              context:
                                additionalProperties: false
                                properties:
                                  book_keys:
                                    items:
                                      type: string
                                    type: array
                                  method_key:
                                    type: string
                                  model_keys:
                                    items:
                                      type: string
                                    type: array
                                  period_key:
                                    type:
                                      - string
                                      - 'null'
                                required:
                                  - period_key
                                  - book_keys
                                  - model_keys
                                  - method_key
                                type: object
                              is_cash:
                                type: boolean
                              label:
                                type: string
                              native_part:
                                type: string
                              position:
                                type:
                                  - string
                                  - 'null'
                              subject_present:
                                type: boolean
                              subject_weight:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                              top_holdings_eligible:
                                type: boolean
                            required:
                              - context
                              - position
                              - native_part
                              - label
                              - is_cash
                              - subject_weight
                              - subject_present
                              - top_holdings_eligible
                              - comparisons
                            selectors:
                              - position
                              - context.period_key
                            type: object
                          type: array
                      required:
                        - dimensions
                        - holdings
                        - overlap
                      type: object
                    - type: 'null'
                status:
                  enum:
                    - ok
                    - partial
                    - unavailable
                  type: string
              required:
                - status
                - context
                - data
              selectors:
                - context.period_key
              type: object
            factor_pnl:
              additionalProperties: false
              properties:
                context:
                  additionalProperties: false
                  properties:
                    book_keys:
                      items:
                        type: string
                      type: array
                    method_key:
                      type: string
                    model_keys:
                      items:
                        type: string
                      type: array
                    period_key:
                      type:
                        - string
                        - 'null'
                  required:
                    - period_key
                    - book_keys
                    - model_keys
                    - method_key
                  type: object
                data:
                  anyOf:
                    - additionalProperties: false
                      properties:
                        periods:
                          items:
                            additionalProperties: false
                            properties:
                              blocks:
                                additionalProperties:
                                  anyOf:
                                    - pattern: >-
                                        ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                      type: string
                                    - type: 'null'
                                  unit: pts
                                keySelector: entity
                                propertyNames:
                                  type: string
                                type: object
                              comparator_key:
                                type: string
                              context:
                                additionalProperties: false
                                properties:
                                  book_keys:
                                    items:
                                      type: string
                                    type: array
                                  method_key:
                                    type: string
                                  model_keys:
                                    items:
                                      type: string
                                    type: array
                                  period_key:
                                    type:
                                      - string
                                      - 'null'
                                required:
                                  - period_key
                                  - book_keys
                                  - model_keys
                                  - method_key
                                type: object
                              coverage:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                              covered_gap:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pts
                              ends_on:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pts
                              factor_total:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pts
                              factors:
                                additionalProperties:
                                  additionalProperties: false
                                  properties:
                                    active_exposure:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: ratio
                                    block:
                                      type: string
                                    contribution:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pts
                                    factor_return:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pct
                                  required:
                                    - block
                                    - active_exposure
                                    - factor_return
                                    - contribution
                                  type: object
                                keySelector: entity
                                propertyNames:
                                  type: string
                                type: object
                              gap_source:
                                enum:
                                  - attribution
                                  - own_roll
                                type: string
                              horizon:
                                type: string
                              loadings_date:
                                format: date
                                pattern: >-
                                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                                type: string
                              realised_gap:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pts
                              reported_gap:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pts
                              stock_selection:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pts
                              uncovered_names:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pts
                              unexplained:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pts
                              unpriced_weight:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                              weight_roll_days:
                                maximum: 9007199254740991
                                minimum: 0
                                type: integer
                                unit: days
                              window:
                                additionalProperties: false
                                properties:
                                  base:
                                    format: date
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                                    type: string
                                  end:
                                    format: date
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                                    type: string
                                  factor_return_days:
                                    maximum: 9007199254740991
                                    minimum: 0
                                    type: integer
                                    unit: days
                                required:
                                  - base
                                  - end
                                  - factor_return_days
                                type: object
                            required:
                              - context
                              - comparator_key
                              - horizon
                              - window
                              - loadings_date
                              - realised_gap
                              - reported_gap
                              - factor_total
                              - uncovered_names
                              - covered_gap
                              - stock_selection
                              - unexplained
                              - ends_on
                              - gap_source
                              - blocks
                              - weight_roll_days
                              - unpriced_weight
                              - coverage
                              - factors
                            selectors:
                              - comparator_key
                              - horizon
                              - context.period_key
                            type: object
                          type: array
                      required:
                        - periods
                      type: object
                    - type: 'null'
                status:
                  enum:
                    - ok
                    - partial
                    - unavailable
                  type: string
              required:
                - status
                - context
                - data
              selectors:
                - context.period_key
              type: object
            liquidity:
              additionalProperties: false
              properties:
                context:
                  additionalProperties: false
                  properties:
                    book_keys:
                      items:
                        type: string
                      type: array
                    method_key:
                      type: string
                    model_keys:
                      items:
                        type: string
                      type: array
                    period_key:
                      type:
                        - string
                        - 'null'
                  required:
                    - period_key
                    - book_keys
                    - model_keys
                    - method_key
                  type: object
                data:
                  anyOf:
                    - additionalProperties: false
                      properties:
                        aum_scenarios:
                          items:
                            additionalProperties: false
                            properties:
                              fund_size:
                                additionalProperties: false
                                properties:
                                  amount:
                                    anyOf:
                                      - pattern: >-
                                          ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                        type: string
                                      - type: 'null'
                                    unit: currency
                                  currency:
                                    anyOf:
                                      - pattern: ^[A-Z]{3}(?![\s\S])
                                        type: string
                                      - type: 'null'
                                required:
                                  - amount
                                  - currency
                                type: object
                              key:
                                type: string
                              profile:
                                additionalProperties: false
                                properties:
                                  covered_weight:
                                    anyOf:
                                      - pattern: >-
                                          ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                        type: string
                                      - type: 'null'
                                    unit: pct
                                  days_to_sell_95pct:
                                    anyOf:
                                      - pattern: >-
                                          ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                        type: string
                                      - type: 'null'
                                    unit: days
                                  sellable_within:
                                    items:
                                      additionalProperties: false
                                      properties:
                                        horizon_days:
                                          anyOf:
                                            - pattern: >-
                                                ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                              type: string
                                            - type: 'null'
                                          unit: days
                                        share:
                                          anyOf:
                                            - pattern: >-
                                                ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                              type: string
                                            - type: 'null'
                                          unit: pct
                                      required:
                                        - horizon_days
                                        - share
                                      type: object
                                    type: array
                                  weighted_days:
                                    anyOf:
                                      - pattern: >-
                                          ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                        type: string
                                      - type: 'null'
                                    unit: days
                                required:
                                  - weighted_days
                                  - days_to_sell_95pct
                                  - covered_weight
                                  - sellable_within
                                type: object
                            required:
                              - key
                              - fund_size
                              - profile
                            selectors:
                              - key
                            type: object
                          type: array
                        book:
                          additionalProperties: false
                          properties:
                            covered_weight:
                              anyOf:
                                - pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                  type: string
                                - type: 'null'
                              unit: pct
                            days_to_sell_95pct:
                              anyOf:
                                - pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                  type: string
                                - type: 'null'
                              unit: days
                            sellable_within:
                              items:
                                additionalProperties: false
                                properties:
                                  horizon_days:
                                    anyOf:
                                      - pattern: >-
                                          ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                        type: string
                                      - type: 'null'
                                    unit: days
                                  share:
                                    anyOf:
                                      - pattern: >-
                                          ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                        type: string
                                      - type: 'null'
                                    unit: pct
                                required:
                                  - horizon_days
                                  - share
                                type: object
                              type: array
                            weighted_days:
                              anyOf:
                                - pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                  type: string
                                - type: 'null'
                              unit: days
                          required:
                            - weighted_days
                            - days_to_sell_95pct
                            - covered_weight
                            - sellable_within
                          type: object
                        capacity:
                          additionalProperties: false
                          properties:
                            fund_size:
                              additionalProperties: false
                              properties:
                                amount:
                                  anyOf:
                                    - pattern: >-
                                        ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                      type: string
                                    - type: 'null'
                                  unit: currency
                                currency:
                                  anyOf:
                                    - pattern: ^[A-Z]{3}(?![\s\S])
                                      type: string
                                    - type: 'null'
                              required:
                                - amount
                                - currency
                              type: object
                            horizon_days:
                              anyOf:
                                - pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                  type: string
                                - type: 'null'
                              unit: days
                            sellable_share:
                              anyOf:
                                - pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                  type: string
                                - type: 'null'
                              unit: pct
                          required:
                            - fund_size
                            - sellable_share
                            - horizon_days
                          type: object
                        covered_weight:
                          anyOf:
                            - pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                              type: string
                            - type: 'null'
                          unit: pct
                        holdings:
                          items:
                            additionalProperties: false
                            properties:
                              average_daily_value:
                                additionalProperties: false
                                properties:
                                  amount:
                                    anyOf:
                                      - pattern: >-
                                          ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                        type: string
                                      - type: 'null'
                                    unit: currency
                                  currency:
                                    anyOf:
                                      - pattern: ^[A-Z]{3}(?![\s\S])
                                        type: string
                                      - type: 'null'
                                required:
                                  - amount
                                  - currency
                                type: object
                              days_to_sell:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: days
                              entity:
                                type: string
                              last_traded:
                                anyOf:
                                  - format: date
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                                    type: string
                                  - type: 'null'
                              observations:
                                anyOf:
                                  - maximum: 9007199254740991
                                    minimum: 0
                                    type: integer
                                    unit: count
                                  - type: 'null'
                              position_value:
                                additionalProperties: false
                                properties:
                                  amount:
                                    anyOf:
                                      - pattern: >-
                                          ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                        type: string
                                      - type: 'null'
                                    unit: currency
                                  currency:
                                    anyOf:
                                      - pattern: ^[A-Z]{3}(?![\s\S])
                                        type: string
                                      - type: 'null'
                                required:
                                  - amount
                                  - currency
                                type: object
                              weight:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                            required:
                              - entity
                              - weight
                              - position_value
                              - average_daily_value
                              - observations
                              - last_traded
                              - days_to_sell
                            selectors:
                              - entity
                            type: object
                          type: array
                        participation:
                          anyOf:
                            - pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                              type: string
                            - type: 'null'
                          unit: pct
                        window:
                          additionalProperties: false
                          properties:
                            end:
                              format: date
                              pattern: >-
                                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                              type: string
                            month_rule:
                              enum:
                                - rounded_gregorian_days
                                - latest_trading_observations
                              type: string
                            months:
                              anyOf:
                                - pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                  type: string
                                - type: 'null'
                              unit: count
                            start:
                              format: date
                              pattern: >-
                                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                              type: string
                            trading_days:
                              anyOf:
                                - maximum: 9007199254740991
                                  minimum: 0
                                  type: integer
                                  unit: days
                                - type: 'null'
                          required:
                            - start
                            - end
                            - months
                            - trading_days
                            - month_rule
                          type: object
                      required:
                        - window
                        - participation
                        - covered_weight
                        - book
                        - capacity
                        - aum_scenarios
                        - holdings
                      type: object
                    - type: 'null'
                status:
                  enum:
                    - ok
                    - partial
                    - unavailable
                  type: string
              required:
                - status
                - context
                - data
              selectors:
                - context.period_key
              type: object
            performance:
              additionalProperties: false
              properties:
                context:
                  additionalProperties: false
                  properties:
                    book_keys:
                      items:
                        type: string
                      type: array
                    method_key:
                      type: string
                    model_keys:
                      items:
                        type: string
                      type: array
                    period_key:
                      type:
                        - string
                        - 'null'
                  required:
                    - period_key
                    - book_keys
                    - model_keys
                    - method_key
                  type: object
                data:
                  anyOf:
                    - additionalProperties: false
                      properties:
                        comparators:
                          items:
                            additionalProperties: false
                            properties:
                              comparator_key:
                                type: string
                              horizon:
                                type: string
                              observation:
                                additionalProperties: false
                                properties:
                                  context:
                                    additionalProperties: false
                                    properties:
                                      book_keys:
                                        items:
                                          type: string
                                        type: array
                                      method_key:
                                        type: string
                                      model_keys:
                                        items:
                                          type: string
                                        type: array
                                      period_key:
                                        type:
                                          - string
                                          - 'null'
                                    required:
                                      - period_key
                                      - book_keys
                                      - model_keys
                                      - method_key
                                    type: object
                                  value:
                                    anyOf:
                                      - pattern: >-
                                          ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                        type: string
                                      - type: 'null'
                                    unit: pct
                                required:
                                  - context
                                  - value
                                selectors:
                                  - context.period_key
                                type: object
                              relative:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pts
                            required:
                              - comparator_key
                              - horizon
                              - observation
                              - relative
                            selectors:
                              - comparator_key
                              - horizon
                            type: object
                          type: array
                        inception:
                          format: date
                          pattern: >-
                            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                          type: string
                        last_close:
                          format: date
                          pattern: >-
                            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                          type: string
                        peers:
                          items:
                            additionalProperties: false
                            properties:
                              context:
                                additionalProperties: false
                                properties:
                                  book_keys:
                                    items:
                                      type: string
                                    type: array
                                  method_key:
                                    type: string
                                  model_keys:
                                    items:
                                      type: string
                                    type: array
                                  period_key:
                                    type:
                                      - string
                                      - 'null'
                                required:
                                  - period_key
                                  - book_keys
                                  - model_keys
                                  - method_key
                                type: object
                              count:
                                maximum: 9007199254740991
                                minimum: 0
                                type: integer
                                unit: count
                              horizon:
                                type: string
                              population:
                                items:
                                  additionalProperties: false
                                  properties:
                                    comparator_key:
                                      type:
                                        - string
                                        - 'null'
                                    entity:
                                      type: string
                                  required:
                                    - comparator_key
                                    - entity
                                  selectors:
                                    - comparator_key
                                    - entity
                                  type: object
                                type: array
                              quartile:
                                anyOf:
                                  - maximum: 9007199254740991
                                    minimum: 0
                                    type: integer
                                    unit: count
                                  - type: 'null'
                              rank:
                                maximum: 9007199254740991
                                minimum: 0
                                type: integer
                                unit: count
                              returns:
                                additionalProperties:
                                  additionalProperties: false
                                  properties:
                                    context:
                                      additionalProperties: false
                                      properties:
                                        book_keys:
                                          items:
                                            type: string
                                          type: array
                                        method_key:
                                          type: string
                                        model_keys:
                                          items:
                                            type: string
                                          type: array
                                        period_key:
                                          type:
                                            - string
                                            - 'null'
                                      required:
                                        - period_key
                                        - book_keys
                                        - model_keys
                                        - method_key
                                      type: object
                                    value:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pct
                                  required:
                                    - context
                                    - value
                                  selectors:
                                    - context.period_key
                                  type: object
                                keySelector: comparator_key
                                propertyNames:
                                  type: string
                                type: object
                              subject_return:
                                additionalProperties: false
                                properties:
                                  context:
                                    additionalProperties: false
                                    properties:
                                      book_keys:
                                        items:
                                          type: string
                                        type: array
                                      method_key:
                                        type: string
                                      model_keys:
                                        items:
                                          type: string
                                        type: array
                                      period_key:
                                        type:
                                          - string
                                          - 'null'
                                    required:
                                      - period_key
                                      - book_keys
                                      - model_keys
                                      - method_key
                                    type: object
                                  value:
                                    anyOf:
                                      - pattern: >-
                                          ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                        type: string
                                      - type: 'null'
                                    unit: pct
                                required:
                                  - context
                                  - value
                                selectors:
                                  - context.period_key
                                type: object
                            required:
                              - context
                              - horizon
                              - rank
                              - count
                              - quartile
                              - subject_return
                              - returns
                              - population
                            selectors:
                              - horizon
                              - context.period_key
                            type: object
                          type: array
                        quarters:
                          items:
                            additionalProperties: false
                            properties:
                              comparator:
                                additionalProperties: false
                                properties:
                                  context:
                                    additionalProperties: false
                                    properties:
                                      book_keys:
                                        items:
                                          type: string
                                        type: array
                                      method_key:
                                        type: string
                                      model_keys:
                                        items:
                                          type: string
                                        type: array
                                      period_key:
                                        type:
                                          - string
                                          - 'null'
                                    required:
                                      - period_key
                                      - book_keys
                                      - model_keys
                                      - method_key
                                    type: object
                                  value:
                                    anyOf:
                                      - pattern: >-
                                          ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                        type: string
                                      - type: 'null'
                                    unit: pct
                                required:
                                  - context
                                  - value
                                selectors:
                                  - context.period_key
                                type: object
                              comparator_key:
                                type: string
                              context:
                                additionalProperties: false
                                properties:
                                  book_keys:
                                    items:
                                      type: string
                                    type: array
                                  method_key:
                                    type: string
                                  model_keys:
                                    items:
                                      type: string
                                    type: array
                                  period_key:
                                    type:
                                      - string
                                      - 'null'
                                required:
                                  - period_key
                                  - book_keys
                                  - model_keys
                                  - method_key
                                type: object
                              quarter_end:
                                format: date
                                pattern: >-
                                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                                type: string
                              relative:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pts
                              subject:
                                additionalProperties: false
                                properties:
                                  context:
                                    additionalProperties: false
                                    properties:
                                      book_keys:
                                        items:
                                          type: string
                                        type: array
                                      method_key:
                                        type: string
                                      model_keys:
                                        items:
                                          type: string
                                        type: array
                                      period_key:
                                        type:
                                          - string
                                          - 'null'
                                    required:
                                      - period_key
                                      - book_keys
                                      - model_keys
                                      - method_key
                                    type: object
                                  value:
                                    anyOf:
                                      - pattern: >-
                                          ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                        type: string
                                      - type: 'null'
                                    unit: pct
                                required:
                                  - context
                                  - value
                                selectors:
                                  - context.period_key
                                type: object
                            required:
                              - context
                              - comparator_key
                              - quarter_end
                              - subject
                              - comparator
                              - relative
                            selectors:
                              - comparator_key
                              - context.period_key
                            type: object
                          type: array
                        subject:
                          items:
                            additionalProperties: false
                            properties:
                              horizon:
                                type: string
                              observation:
                                additionalProperties: false
                                properties:
                                  context:
                                    additionalProperties: false
                                    properties:
                                      book_keys:
                                        items:
                                          type: string
                                        type: array
                                      method_key:
                                        type: string
                                      model_keys:
                                        items:
                                          type: string
                                        type: array
                                      period_key:
                                        type:
                                          - string
                                          - 'null'
                                    required:
                                      - period_key
                                      - book_keys
                                      - model_keys
                                      - method_key
                                    type: object
                                  value:
                                    anyOf:
                                      - pattern: >-
                                          ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                        type: string
                                      - type: 'null'
                                    unit: pct
                                required:
                                  - context
                                  - value
                                selectors:
                                  - context.period_key
                                type: object
                            required:
                              - horizon
                              - observation
                            selectors:
                              - horizon
                            type: object
                          type: array
                      required:
                        - inception
                        - last_close
                        - subject
                        - comparators
                        - quarters
                        - peers
                      type: object
                    - type: 'null'
                status:
                  enum:
                    - ok
                    - partial
                    - unavailable
                  type: string
              required:
                - status
                - context
                - data
              selectors:
                - context.period_key
              type: object
            risk:
              additionalProperties: false
              properties:
                context:
                  additionalProperties: false
                  properties:
                    book_keys:
                      items:
                        type: string
                      type: array
                    method_key:
                      type: string
                    model_keys:
                      items:
                        type: string
                      type: array
                    period_key:
                      type:
                        - string
                        - 'null'
                  required:
                    - period_key
                    - book_keys
                    - model_keys
                    - method_key
                  type: object
                data:
                  anyOf:
                    - additionalProperties: false
                      properties:
                        active:
                          items:
                            additionalProperties: false
                            properties:
                              beta:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: ratio
                              comparator_key:
                                type: string
                              context:
                                additionalProperties: false
                                properties:
                                  book_keys:
                                    items:
                                      type: string
                                    type: array
                                  method_key:
                                    type: string
                                  model_keys:
                                    items:
                                      type: string
                                    type: array
                                  period_key:
                                    type:
                                      - string
                                      - 'null'
                                required:
                                  - period_key
                                  - book_keys
                                  - model_keys
                                  - method_key
                                type: object
                              realised_beta:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: ratio
                              realised_beta_window_days:
                                maximum: 9007199254740991
                                minimum: 0
                                type: integer
                                unit: days
                              tracking_error:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                            required:
                              - context
                              - comparator_key
                              - tracking_error
                              - beta
                              - realised_beta
                              - realised_beta_window_days
                            selectors:
                              - comparator_key
                              - context.period_key
                            type: object
                          type: array
                        factor_contributions:
                          items:
                            additionalProperties: false
                            properties:
                              comparator_key:
                                type:
                                  - string
                                  - 'null'
                              context:
                                additionalProperties: false
                                properties:
                                  book_keys:
                                    items:
                                      type: string
                                    type: array
                                  method_key:
                                    type: string
                                  model_keys:
                                    items:
                                      type: string
                                    type: array
                                  period_key:
                                    type:
                                      - string
                                      - 'null'
                                required:
                                  - period_key
                                  - book_keys
                                  - model_keys
                                  - method_key
                                type: object
                              entity:
                                type: string
                              marginal:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: ratio
                              risk_share:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                            required:
                              - context
                              - comparator_key
                              - entity
                              - risk_share
                              - marginal
                            selectors:
                              - comparator_key
                              - entity
                              - context.period_key
                            type: object
                          type: array
                        headline:
                          additionalProperties: false
                          properties:
                            cash_weight:
                              anyOf:
                                - pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                  type: string
                                - type: 'null'
                              unit: pct
                            context:
                              additionalProperties: false
                              properties:
                                book_keys:
                                  items:
                                    type: string
                                  type: array
                                method_key:
                                  type: string
                                model_keys:
                                  items:
                                    type: string
                                  type: array
                                period_key:
                                  type:
                                    - string
                                    - 'null'
                              required:
                                - period_key
                                - book_keys
                                - model_keys
                                - method_key
                              type: object
                            exposures:
                              additionalProperties:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: ratio
                              keySelector: entity
                              propertyNames:
                                type: string
                              type: object
                            factor_risk:
                              anyOf:
                                - pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                  type: string
                                - type: 'null'
                              unit: pct
                            modelled_weight:
                              anyOf:
                                - pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                  type: string
                                - type: 'null'
                              unit: pct
                            specific_risk:
                              anyOf:
                                - pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                  type: string
                                - type: 'null'
                              unit: pct
                            total_risk:
                              anyOf:
                                - pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                  type: string
                                - type: 'null'
                              unit: pct
                          required:
                            - context
                            - total_risk
                            - factor_risk
                            - specific_risk
                            - modelled_weight
                            - cash_weight
                            - exposures
                          selectors:
                            - context.period_key
                          type: object
                        holding_contributions:
                          items:
                            additionalProperties: false
                            properties:
                              comparator_key:
                                type:
                                  - string
                                  - 'null'
                              context:
                                additionalProperties: false
                                properties:
                                  book_keys:
                                    items:
                                      type: string
                                    type: array
                                  method_key:
                                    type: string
                                  model_keys:
                                    items:
                                      type: string
                                    type: array
                                  period_key:
                                    type:
                                      - string
                                      - 'null'
                                required:
                                  - period_key
                                  - book_keys
                                  - model_keys
                                  - method_key
                                type: object
                              entity:
                                type: string
                              marginal:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: ratio
                              risk_share:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                            required:
                              - context
                              - comparator_key
                              - entity
                              - risk_share
                              - marginal
                            selectors:
                              - comparator_key
                              - entity
                              - context.period_key
                            type: object
                          type: array
                        modelled_names:
                          maximum: 9007199254740991
                          minimum: 0
                          type: integer
                          unit: count
                        tracking_error_history:
                          items:
                            additionalProperties: false
                            properties:
                              as_of:
                                format: date
                                pattern: >-
                                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                                type: string
                              comparator_key:
                                type: string
                              context:
                                additionalProperties: false
                                properties:
                                  book_keys:
                                    items:
                                      type: string
                                    type: array
                                  method_key:
                                    type: string
                                  model_keys:
                                    items:
                                      type: string
                                    type: array
                                  period_key:
                                    type:
                                      - string
                                      - 'null'
                                required:
                                  - period_key
                                  - book_keys
                                  - model_keys
                                  - method_key
                                type: object
                              model:
                                type:
                                  - string
                                  - 'null'
                              precision:
                                enum:
                                  - calculation
                                  - legacy_rounded
                                  - mixed
                                type: string
                              source_artifact_id:
                                type:
                                  - string
                                  - 'null'
                              value:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                            required:
                              - context
                              - comparator_key
                              - as_of
                              - source_artifact_id
                              - model
                              - value
                              - precision
                            selectors:
                              - comparator_key
                              - context.period_key
                            type: object
                          type: array
                      required:
                        - modelled_names
                        - headline
                        - active
                        - factor_contributions
                        - holding_contributions
                        - tracking_error_history
                      type: object
                    - type: 'null'
                status:
                  enum:
                    - ok
                    - partial
                    - unavailable
                  type: string
              required:
                - status
                - context
                - data
              selectors:
                - context.period_key
              type: object
            risk_change:
              additionalProperties: false
              properties:
                context:
                  additionalProperties: false
                  properties:
                    book_keys:
                      items:
                        type: string
                      type: array
                    method_key:
                      type: string
                    model_keys:
                      items:
                        type: string
                      type: array
                    period_key:
                      type:
                        - string
                        - 'null'
                  required:
                    - period_key
                    - book_keys
                    - model_keys
                    - method_key
                  type: object
                data:
                  anyOf:
                    - additionalProperties: false
                      properties:
                        comparators:
                          items:
                            additionalProperties: false
                            properties:
                              change:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pts
                              comparator_key:
                                type: string
                              context:
                                additionalProperties: false
                                properties:
                                  book_keys:
                                    items:
                                      type: string
                                    type: array
                                  method_key:
                                    type: string
                                  model_keys:
                                    items:
                                      type: string
                                    type: array
                                  period_key:
                                    type:
                                      - string
                                      - 'null'
                                required:
                                  - period_key
                                  - book_keys
                                  - model_keys
                                  - method_key
                                type: object
                              movers:
                                items:
                                  additionalProperties: false
                                  properties:
                                    comparator_weight:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: fraction
                                    context:
                                      additionalProperties: false
                                      properties:
                                        book_keys:
                                          items:
                                            type: string
                                          type: array
                                        method_key:
                                          type: string
                                        model_keys:
                                          items:
                                            type: string
                                          type: array
                                        period_key:
                                          type:
                                            - string
                                            - 'null'
                                      required:
                                        - period_key
                                        - book_keys
                                        - model_keys
                                        - method_key
                                      type: object
                                    drifted_weight:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: fraction
                                    effect:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pts
                                    entity:
                                      type: string
                                    fund_weight:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: fraction
                                    marginal:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pts
                                    traded:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: fraction
                                    weight_now:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: fraction
                                  required:
                                    - context
                                    - entity
                                    - drifted_weight
                                    - weight_now
                                    - fund_weight
                                    - comparator_weight
                                    - traded
                                    - marginal
                                    - effect
                                  selectors:
                                    - entity
                                    - context.period_key
                                  type: object
                                type: array
                              price_drift:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pts
                              risk_model:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pts
                              steps_total:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pts
                              tracking_error_drifted:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                              tracking_error_end:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                              tracking_error_start:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                              tracking_error_traded:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                              traded_names:
                                maximum: 9007199254740991
                                minimum: 0
                                type: integer
                                unit: count
                              trades:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pts
                            required:
                              - context
                              - comparator_key
                              - tracking_error_start
                              - tracking_error_drifted
                              - tracking_error_traded
                              - tracking_error_end
                              - price_drift
                              - trades
                              - risk_model
                              - steps_total
                              - change
                              - traded_names
                              - movers
                            selectors:
                              - comparator_key
                              - context.period_key
                            type: object
                          type: array
                        model_versions:
                          additionalProperties: false
                          properties:
                            end:
                              type: string
                            start:
                              type: string
                          required:
                            - start
                            - end
                          type: object
                        window:
                          additionalProperties: false
                          properties:
                            end:
                              format: date
                              pattern: >-
                                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                              type: string
                            start:
                              format: date
                              pattern: >-
                                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                              type: string
                          required:
                            - start
                            - end
                          type: object
                      required:
                        - window
                        - model_versions
                        - comparators
                      type: object
                    - type: 'null'
                status:
                  enum:
                    - ok
                    - partial
                    - unavailable
                  type: string
              required:
                - status
                - context
                - data
              selectors:
                - context.period_key
              type: object
            scenarios:
              additionalProperties: false
              properties:
                context:
                  additionalProperties: false
                  properties:
                    book_keys:
                      items:
                        type: string
                      type: array
                    method_key:
                      type: string
                    model_keys:
                      items:
                        type: string
                      type: array
                    period_key:
                      type:
                        - string
                        - 'null'
                  required:
                    - period_key
                    - book_keys
                    - model_keys
                    - method_key
                  type: object
                data:
                  anyOf:
                    - additionalProperties: false
                      properties:
                        price_observations:
                          additionalProperties:
                            additionalProperties: false
                            properties:
                              actual_from:
                                anyOf:
                                  - format: date
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                                    type: string
                                  - type: 'null'
                              actual_to:
                                anyOf:
                                  - format: date
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                                    type: string
                                  - type: 'null'
                              basis:
                                enum:
                                  - observed
                                  - held_at_zero
                                  - cash_zero
                                  - unavailable
                                type: string
                              book_key:
                                type: string
                              entity:
                                type:
                                  - string
                                  - 'null'
                              period_key:
                                type: string
                              return_value:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                            required:
                              - entity
                              - book_key
                              - period_key
                              - actual_from
                              - actual_to
                              - return_value
                              - basis
                            selectors:
                              - entity
                              - book_key
                            type: object
                          keySelector: observation_key
                          propertyNames:
                            type: string
                          type: object
                        replays:
                          items:
                            additionalProperties: false
                            properties:
                              books:
                                items:
                                  additionalProperties: false
                                  properties:
                                    book_key:
                                      type: string
                                    comparator_key:
                                      type:
                                        - string
                                        - 'null'
                                    context:
                                      additionalProperties: false
                                      properties:
                                        book_keys:
                                          items:
                                            type: string
                                          type: array
                                        method_key:
                                          type: string
                                        model_keys:
                                          items:
                                            type: string
                                          type: array
                                        period_key:
                                          type:
                                            - string
                                            - 'null'
                                      required:
                                        - period_key
                                        - book_keys
                                        - model_keys
                                        - method_key
                                      type: object
                                    coverage:
                                      additionalProperties: false
                                      properties:
                                        covered_gross_weight:
                                          anyOf:
                                            - pattern: >-
                                                ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                              type: string
                                            - type: 'null'
                                          unit: fraction
                                        share:
                                          anyOf:
                                            - pattern: >-
                                                ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                              type: string
                                            - type: 'null'
                                          unit: fraction
                                        total_gross_weight:
                                          anyOf:
                                            - pattern: >-
                                                ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                              type: string
                                            - type: 'null'
                                          unit: fraction
                                      required:
                                        - covered_gross_weight
                                        - total_gross_weight
                                        - share
                                      type: object
                                    observation_keys:
                                      items:
                                        type: string
                                      type: array
                                    return_value:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pct
                                  required:
                                    - context
                                    - book_key
                                    - comparator_key
                                    - return_value
                                    - coverage
                                    - observation_keys
                                  selectors:
                                    - comparator_key
                                    - book_key
                                    - context.period_key
                                  type: object
                                type: array
                              context:
                                additionalProperties: false
                                properties:
                                  book_keys:
                                    items:
                                      type: string
                                    type: array
                                  method_key:
                                    type: string
                                  model_keys:
                                    items:
                                      type: string
                                    type: array
                                  period_key:
                                    type:
                                      - string
                                      - 'null'
                                required:
                                  - period_key
                                  - book_keys
                                  - model_keys
                                  - method_key
                                type: object
                              drawn_from:
                                type:
                                  - string
                                  - 'null'
                              end:
                                format: date
                                pattern: >-
                                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                                type: string
                              entity:
                                type: string
                              fund:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                              origin:
                                type: string
                              outcomes:
                                items:
                                  additionalProperties: false
                                  properties:
                                    comparator:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pct
                                    comparator_key:
                                      type: string
                                    context:
                                      additionalProperties: false
                                      properties:
                                        book_keys:
                                          items:
                                            type: string
                                          type: array
                                        method_key:
                                          type: string
                                        model_keys:
                                          items:
                                            type: string
                                          type: array
                                        period_key:
                                          type:
                                            - string
                                            - 'null'
                                      required:
                                        - period_key
                                        - book_keys
                                        - model_keys
                                        - method_key
                                      type: object
                                    difference:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pts
                                    fund:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pct
                                  required:
                                    - context
                                    - comparator_key
                                    - fund
                                    - comparator
                                    - difference
                                  selectors:
                                    - comparator_key
                                    - context.period_key
                                  type: object
                                type: array
                              start:
                                format: date
                                pattern: >-
                                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                                type: string
                            required:
                              - context
                              - entity
                              - origin
                              - start
                              - end
                              - drawn_from
                              - fund
                              - outcomes
                              - books
                            selectors:
                              - entity
                              - context.period_key
                            type: object
                          type: array
                        shocks:
                          items:
                            additionalProperties: false
                            properties:
                              benchmark:
                                type:
                                  - string
                                  - 'null'
                              bet_against:
                                items:
                                  type: string
                                type: array
                              comparator_keys:
                                items:
                                  type: string
                                type: array
                              context:
                                additionalProperties: false
                                properties:
                                  book_keys:
                                    items:
                                      type: string
                                    type: array
                                  method_key:
                                    type: string
                                  model_keys:
                                    items:
                                      type: string
                                    type: array
                                  period_key:
                                    type:
                                      - string
                                      - 'null'
                                required:
                                  - period_key
                                  - book_keys
                                  - model_keys
                                  - method_key
                                type: object
                              entity:
                                type: string
                              factors:
                                additionalProperties:
                                  anyOf:
                                    - pattern: >-
                                        ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                      type: string
                                    - type: 'null'
                                  unit: pct
                                keySelector: entity
                                propertyNames:
                                  type: string
                                type: object
                              fund:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                              modelled_fund:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                              origin:
                                type: string
                              outcomes:
                                items:
                                  additionalProperties: false
                                  properties:
                                    comparator:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pct
                                    comparator_key:
                                      type: string
                                    context:
                                      additionalProperties: false
                                      properties:
                                        book_keys:
                                          items:
                                            type: string
                                          type: array
                                        method_key:
                                          type: string
                                        model_keys:
                                          items:
                                            type: string
                                          type: array
                                        period_key:
                                          type:
                                            - string
                                            - 'null'
                                      required:
                                        - period_key
                                        - book_keys
                                        - model_keys
                                        - method_key
                                      type: object
                                    difference:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pts
                                    fund:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pct
                                    modelled_comparator:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pct
                                  required:
                                    - context
                                    - comparator_key
                                    - fund
                                    - comparator
                                    - difference
                                    - modelled_comparator
                                  selectors:
                                    - comparator_key
                                    - context.period_key
                                  type: object
                                type: array
                            required:
                              - context
                              - entity
                              - origin
                              - factors
                              - comparator_keys
                              - bet_against
                              - benchmark
                              - fund
                              - modelled_fund
                              - outcomes
                            selectors:
                              - entity
                              - context.period_key
                            type: object
                          type: array
                        worst:
                          items:
                            additionalProperties: false
                            properties:
                              blocks:
                                additionalProperties:
                                  additionalProperties: false
                                  properties:
                                    points:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pts
                                    share:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pct
                                  required:
                                    - points
                                    - share
                                  type: object
                                keySelector: entity
                                propertyNames:
                                  type: string
                                type: object
                              comparator_key:
                                type: string
                              context:
                                additionalProperties: false
                                properties:
                                  book_keys:
                                    items:
                                      type: string
                                    type: array
                                  method_key:
                                    type: string
                                  model_keys:
                                    items:
                                      type: string
                                    type: array
                                  period_key:
                                    type:
                                      - string
                                      - 'null'
                                required:
                                  - period_key
                                  - book_keys
                                  - model_keys
                                  - method_key
                                type: object
                              scenario:
                                type: string
                            required:
                              - context
                              - comparator_key
                              - scenario
                              - blocks
                            selectors:
                              - comparator_key
                              - context.period_key
                            type: object
                          type: array
                      required:
                        - shocks
                        - replays
                        - worst
                        - price_observations
                      type: object
                    - type: 'null'
                status:
                  enum:
                    - ok
                    - partial
                    - unavailable
                  type: string
              required:
                - status
                - context
                - data
              selectors:
                - context.period_key
              type: object
            sizing:
              additionalProperties: false
              properties:
                context:
                  additionalProperties: false
                  properties:
                    book_keys:
                      items:
                        type: string
                      type: array
                    method_key:
                      type: string
                    model_keys:
                      items:
                        type: string
                      type: array
                    period_key:
                      type:
                        - string
                        - 'null'
                  required:
                    - period_key
                    - book_keys
                    - model_keys
                    - method_key
                  type: object
                data:
                  anyOf:
                    - additionalProperties: false
                      properties:
                        concentration:
                          additionalProperties: false
                          properties:
                            comparators:
                              items:
                                additionalProperties: false
                                properties:
                                  active_names:
                                    anyOf:
                                      - pattern: >-
                                          ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                        type: string
                                      - type: 'null'
                                    unit: count
                                  comparator_key:
                                    type: string
                                  context:
                                    additionalProperties: false
                                    properties:
                                      book_keys:
                                        items:
                                          type: string
                                        type: array
                                      method_key:
                                        type: string
                                      model_keys:
                                        items:
                                          type: string
                                        type: array
                                      period_key:
                                        type:
                                          - string
                                          - 'null'
                                    required:
                                      - period_key
                                      - book_keys
                                      - model_keys
                                      - method_key
                                    type: object
                                  effective_bets:
                                    anyOf:
                                      - pattern: >-
                                          ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                        type: string
                                      - type: 'null'
                                    unit: count
                                  effective_names:
                                    anyOf:
                                      - pattern: >-
                                          ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                        type: string
                                      - type: 'null'
                                    unit: count
                                  top_names_risk_share:
                                    anyOf:
                                      - pattern: >-
                                          ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                        type: string
                                      - type: 'null'
                                    unit: pct
                                required:
                                  - context
                                  - comparator_key
                                  - effective_bets
                                  - effective_names
                                  - active_names
                                  - top_names_risk_share
                                selectors:
                                  - comparator_key
                                  - context.period_key
                                type: object
                              type: array
                            effective_names_fund:
                              anyOf:
                                - pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                  type: string
                                - type: 'null'
                              unit: count
                            modelled_books:
                              items:
                                additionalProperties: false
                                properties:
                                  book_key:
                                    type: string
                                  comparator_key:
                                    type:
                                      - string
                                      - 'null'
                                  context:
                                    additionalProperties: false
                                    properties:
                                      book_keys:
                                        items:
                                          type: string
                                        type: array
                                      method_key:
                                        type: string
                                      model_keys:
                                        items:
                                          type: string
                                        type: array
                                      period_key:
                                        type:
                                          - string
                                          - 'null'
                                    required:
                                      - period_key
                                      - book_keys
                                      - model_keys
                                      - method_key
                                    type: object
                                  modelled_names:
                                    maximum: 9007199254740991
                                    minimum: 0
                                    type: integer
                                    unit: count
                                  modelled_weight:
                                    anyOf:
                                      - pattern: >-
                                          ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                        type: string
                                      - type: 'null'
                                    unit: pct
                                required:
                                  - context
                                  - book_key
                                  - comparator_key
                                  - modelled_names
                                  - modelled_weight
                                selectors:
                                  - comparator_key
                                  - book_key
                                  - context.period_key
                                type: object
                              type: array
                            top_names_count:
                              maximum: 9007199254740991
                              minimum: 0
                              type: integer
                              unit: count
                          required:
                            - effective_names_fund
                            - comparators
                            - top_names_count
                            - modelled_books
                          type: object
                        holdings:
                          items:
                            additionalProperties: false
                            properties:
                              active_weight:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pts
                              comparator_key:
                                type: string
                              context:
                                additionalProperties: false
                                properties:
                                  book_keys:
                                    items:
                                      type: string
                                    type: array
                                  method_key:
                                    type: string
                                  model_keys:
                                    items:
                                      type: string
                                    type: array
                                  period_key:
                                    type:
                                      - string
                                      - 'null'
                                required:
                                  - period_key
                                  - book_keys
                                  - model_keys
                                  - method_key
                                type: object
                              entity:
                                type: string
                              risk_against_weight:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pts
                              risk_share:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                              specific_volatility:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                              weight_share:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                            required:
                              - context
                              - comparator_key
                              - entity
                              - active_weight
                              - specific_volatility
                              - risk_share
                              - weight_share
                              - risk_against_weight
                            selectors:
                              - comparator_key
                              - entity
                              - context.period_key
                            type: object
                          type: array
                      required:
                        - concentration
                        - holdings
                      type: object
                    - type: 'null'
                status:
                  enum:
                    - ok
                    - partial
                    - unavailable
                  type: string
              required:
                - status
                - context
                - data
              selectors:
                - context.period_key
              type: object
            trust:
              additionalProperties: false
              properties:
                context:
                  additionalProperties: false
                  properties:
                    book_keys:
                      items:
                        type: string
                      type: array
                    method_key:
                      type: string
                    model_keys:
                      items:
                        type: string
                      type: array
                    period_key:
                      type:
                        - string
                        - 'null'
                  required:
                    - period_key
                    - book_keys
                    - model_keys
                    - method_key
                  type: object
                data:
                  anyOf:
                    - additionalProperties: false
                      properties:
                        comparators:
                          items:
                            additionalProperties: false
                            properties:
                              bias:
                                anyOf:
                                  - additionalProperties: false
                                    properties:
                                      assessment:
                                        enum:
                                          - below
                                          - within
                                          - above
                                        type: string
                                      band_high:
                                        anyOf:
                                          - pattern: >-
                                              ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                            type: string
                                          - type: 'null'
                                        unit: ratio
                                      band_low:
                                        anyOf:
                                          - pattern: >-
                                              ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                            type: string
                                          - type: 'null'
                                        unit: ratio
                                      context:
                                        additionalProperties: false
                                        properties:
                                          book_keys:
                                            items:
                                              type: string
                                            type: array
                                          method_key:
                                            type: string
                                          model_keys:
                                            items:
                                              type: string
                                            type: array
                                          period_key:
                                            type:
                                              - string
                                              - 'null'
                                        required:
                                          - period_key
                                          - book_keys
                                          - model_keys
                                          - method_key
                                        type: object
                                      count:
                                        maximum: 9007199254740991
                                        minimum: 0
                                        type: integer
                                        unit: count
                                      from_date:
                                        format: date
                                        pattern: >-
                                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                                        type: string
                                      statistic:
                                        anyOf:
                                          - pattern: >-
                                              ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                            type: string
                                          - type: 'null'
                                        unit: ratio
                                      to_date:
                                        format: date
                                        pattern: >-
                                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                                        type: string
                                    required:
                                      - context
                                      - statistic
                                      - band_low
                                      - band_high
                                      - count
                                      - assessment
                                      - from_date
                                      - to_date
                                    selectors:
                                      - context.period_key
                                    type: object
                                  - type: 'null'
                              comparator_key:
                                type: string
                              context:
                                additionalProperties: false
                                properties:
                                  book_keys:
                                    items:
                                      type: string
                                    type: array
                                  method_key:
                                    type: string
                                  model_keys:
                                    items:
                                      type: string
                                    type: array
                                  period_key:
                                    type:
                                      - string
                                      - 'null'
                                required:
                                  - period_key
                                  - book_keys
                                  - model_keys
                                  - method_key
                                type: object
                              ex_ante:
                                anyOf:
                                  - additionalProperties: false
                                    properties:
                                      assessment:
                                        enum:
                                          - below
                                          - within
                                          - above
                                        type: string
                                      band_high:
                                        anyOf:
                                          - pattern: >-
                                              ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                            type: string
                                          - type: 'null'
                                        unit: ratio
                                      band_low:
                                        anyOf:
                                          - pattern: >-
                                              ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                            type: string
                                          - type: 'null'
                                        unit: ratio
                                      context:
                                        additionalProperties: false
                                        properties:
                                          book_keys:
                                            items:
                                              type: string
                                            type: array
                                          method_key:
                                            type: string
                                          model_keys:
                                            items:
                                              type: string
                                            type: array
                                          period_key:
                                            type:
                                              - string
                                              - 'null'
                                        required:
                                          - period_key
                                          - book_keys
                                          - model_keys
                                          - method_key
                                        type: object
                                      forecast:
                                        anyOf:
                                          - pattern: >-
                                              ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                            type: string
                                          - type: 'null'
                                        unit: pct
                                      realised:
                                        anyOf:
                                          - pattern: >-
                                              ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                            type: string
                                          - type: 'null'
                                        unit: pct
                                      statistic:
                                        anyOf:
                                          - pattern: >-
                                              ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                            type: string
                                          - type: 'null'
                                        unit: ratio
                                      window_days:
                                        maximum: 9007199254740991
                                        minimum: 0
                                        type: integer
                                        unit: days
                                    required:
                                      - context
                                      - window_days
                                      - forecast
                                      - realised
                                      - statistic
                                      - band_low
                                      - band_high
                                      - assessment
                                    selectors:
                                      - context.period_key
                                    type: object
                                  - type: 'null'
                              forecast_now_pct:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                              path:
                                anyOf:
                                  - additionalProperties: false
                                    properties:
                                      band_high:
                                        anyOf:
                                          - pattern: >-
                                              ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                            type: string
                                          - type: 'null'
                                        unit: ratio
                                      band_low:
                                        anyOf:
                                          - pattern: >-
                                              ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                            type: string
                                          - type: 'null'
                                        unit: ratio
                                      context:
                                        additionalProperties: false
                                        properties:
                                          book_keys:
                                            items:
                                              type: string
                                            type: array
                                          method_key:
                                            type: string
                                          model_keys:
                                            items:
                                              type: string
                                            type: array
                                          period_key:
                                            type:
                                              - string
                                              - 'null'
                                        required:
                                          - period_key
                                          - book_keys
                                          - model_keys
                                          - method_key
                                        type: object
                                      count:
                                        maximum: 9007199254740991
                                        minimum: 0
                                        type: integer
                                        unit: count
                                      reverts:
                                        type: boolean
                                      statistic:
                                        anyOf:
                                          - pattern: >-
                                              ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                            type: string
                                          - type: 'null'
                                        unit: ratio
                                    required:
                                      - context
                                      - statistic
                                      - band_low
                                      - band_high
                                      - count
                                      - reverts
                                    selectors:
                                      - context.period_key
                                    type: object
                                  - type: 'null'
                              points:
                                items:
                                  additionalProperties: false
                                  properties:
                                    context:
                                      additionalProperties: false
                                      properties:
                                        book_keys:
                                          items:
                                            type: string
                                          type: array
                                        method_key:
                                          type: string
                                        model_keys:
                                          items:
                                            type: string
                                          type: array
                                        period_key:
                                          type:
                                            - string
                                            - 'null'
                                      required:
                                        - period_key
                                        - book_keys
                                        - model_keys
                                        - method_key
                                      type: object
                                    date:
                                      format: date
                                      pattern: >-
                                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                                      type: string
                                    forecast:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pct
                                    realised:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pct
                                    realised_tracking_error:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pct
                                    realised_tracking_error_context:
                                      anyOf:
                                        - additionalProperties: false
                                          properties:
                                            book_keys:
                                              items:
                                                type: string
                                              type: array
                                            method_key:
                                              type: string
                                            model_keys:
                                              items:
                                                type: string
                                              type: array
                                            period_key:
                                              type:
                                                - string
                                                - 'null'
                                          required:
                                            - period_key
                                            - book_keys
                                            - model_keys
                                            - method_key
                                          type: object
                                        - type: 'null'
                                    rolled:
                                      type: boolean
                                    standardised:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: ratio
                                    standardised_by_path:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: ratio
                                    stretch_tracking_error:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pct
                                    trading_days:
                                      maximum: 9007199254740991
                                      minimum: 0
                                      type: integer
                                      unit: days
                                    until:
                                      anyOf:
                                        - format: date
                                          pattern: >-
                                            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                                          type: string
                                        - type: 'null'
                                  required:
                                    - context
                                    - date
                                    - forecast
                                    - rolled
                                    - until
                                    - trading_days
                                    - realised
                                    - stretch_tracking_error
                                    - realised_tracking_error
                                    - realised_tracking_error_context
                                    - standardised
                                    - standardised_by_path
                                  selectors:
                                    - date
                                    - context.period_key
                                  type: object
                                type: array
                              realised_now:
                                items:
                                  additionalProperties: false
                                  properties:
                                    context:
                                      additionalProperties: false
                                      properties:
                                        book_keys:
                                          items:
                                            type: string
                                          type: array
                                        method_key:
                                          type: string
                                        model_keys:
                                          items:
                                            type: string
                                          type: array
                                        period_key:
                                          type:
                                            - string
                                            - 'null'
                                      required:
                                        - period_key
                                        - book_keys
                                        - model_keys
                                        - method_key
                                      type: object
                                    value:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pct
                                    window_days:
                                      maximum: 9007199254740991
                                      minimum: 0
                                      type: integer
                                      unit: days
                                  required:
                                    - context
                                    - window_days
                                    - value
                                  selectors:
                                    - context.period_key
                                  type: object
                                type: array
                            required:
                              - context
                              - comparator_key
                              - bias
                              - path
                              - forecast_now_pct
                              - realised_now
                              - ex_ante
                              - points
                            selectors:
                              - comparator_key
                              - context.period_key
                            type: object
                          type: array
                        minimum_points:
                          maximum: 9007199254740991
                          minimum: 0
                          type: integer
                          unit: count
                      required:
                        - minimum_points
                        - comparators
                      type: object
                    - type: 'null'
                status:
                  enum:
                    - ok
                    - partial
                    - unavailable
                  type: string
              required:
                - status
                - context
                - data
              selectors:
                - context.period_key
              type: object
            valuation:
              additionalProperties: false
              properties:
                context:
                  additionalProperties: false
                  properties:
                    book_keys:
                      items:
                        type: string
                      type: array
                    method_key:
                      type: string
                    model_keys:
                      items:
                        type: string
                      type: array
                    period_key:
                      type:
                        - string
                        - 'null'
                  required:
                    - period_key
                    - book_keys
                    - model_keys
                    - method_key
                  type: object
                data:
                  anyOf:
                    - additionalProperties: false
                      properties:
                        books:
                          items:
                            additionalProperties: false
                            properties:
                              book_key:
                                type: string
                              comparator_key:
                                type:
                                  - string
                                  - 'null'
                              context:
                                additionalProperties: false
                                properties:
                                  book_keys:
                                    items:
                                      type: string
                                    type: array
                                  method_key:
                                    type: string
                                  model_keys:
                                    items:
                                      type: string
                                    type: array
                                  period_key:
                                    type:
                                      - string
                                      - 'null'
                                required:
                                  - period_key
                                  - book_keys
                                  - model_keys
                                  - method_key
                                type: object
                              earnings_coverage:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                              earnings_yield:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                              holdings:
                                items:
                                  additionalProperties: false
                                  properties:
                                    currency:
                                      type:
                                        - string
                                        - 'null'
                                    current_year_earnings_yield:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pct
                                    dividend_yield:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pct
                                    ebitda_yield:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pct
                                    enterprise_value_ratio:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: ratio
                                    entity:
                                      type: string
                                    ev_to_ebitda:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: ratio
                                    forward_earnings_yield:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pct
                                    forward_pe:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: ratio
                                    input_dates:
                                      additionalProperties: false
                                      properties:
                                        fiscal:
                                          anyOf:
                                            - format: date
                                              pattern: >-
                                                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                                              type: string
                                            - type: 'null'
                                        price:
                                          anyOf:
                                            - format: date
                                              pattern: >-
                                                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                                              type: string
                                            - type: 'null'
                                        snapshot:
                                          anyOf:
                                            - format: date
                                              pattern: >-
                                                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                                              type: string
                                            - type: 'null'
                                      required:
                                        - snapshot
                                        - fiscal
                                        - price
                                      type: object
                                    market_cap:
                                      additionalProperties: false
                                      properties:
                                        amount:
                                          anyOf:
                                            - pattern: >-
                                                ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                              type: string
                                            - type: 'null'
                                          unit: currency
                                        currency:
                                          anyOf:
                                            - pattern: ^[A-Z]{3}(?![\s\S])
                                              type: string
                                            - type: 'null'
                                      required:
                                        - amount
                                        - currency
                                      type: object
                                    net_debt_ratio:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: ratio
                                    price_to_sales:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: ratio
                                    sales_yield:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pct
                                    trailing_earnings_yield:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pct
                                    trailing_pe:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: ratio
                                    weight:
                                      anyOf:
                                        - pattern: >-
                                            ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                          type: string
                                        - type: 'null'
                                      unit: pct
                                  required:
                                    - entity
                                    - weight
                                    - currency
                                    - market_cap
                                    - trailing_pe
                                    - forward_pe
                                    - price_to_sales
                                    - ev_to_ebitda
                                    - trailing_earnings_yield
                                    - forward_earnings_yield
                                    - current_year_earnings_yield
                                    - sales_yield
                                    - dividend_yield
                                    - ebitda_yield
                                    - enterprise_value_ratio
                                    - net_debt_ratio
                                    - input_dates
                                  selectors:
                                    - entity
                                  type: object
                                type: array
                              measures:
                                additionalProperties: false
                                properties:
                                  dividend_yield:
                                    additionalProperties: false
                                    properties:
                                      coverage:
                                        anyOf:
                                          - pattern: >-
                                              ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                            type: string
                                          - type: 'null'
                                        unit: pct
                                      reason:
                                        type:
                                          - string
                                          - 'null'
                                      value:
                                        anyOf:
                                          - pattern: >-
                                              ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                            type: string
                                          - type: 'null'
                                        unit: pct
                                    required:
                                      - value
                                      - coverage
                                      - reason
                                    type: object
                                  ev_ebitda:
                                    additionalProperties: false
                                    properties:
                                      coverage:
                                        anyOf:
                                          - pattern: >-
                                              ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                            type: string
                                          - type: 'null'
                                        unit: pct
                                      reason:
                                        type:
                                          - string
                                          - 'null'
                                      value:
                                        anyOf:
                                          - pattern: >-
                                              ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                            type: string
                                          - type: 'null'
                                        unit: ratio
                                    required:
                                      - value
                                      - coverage
                                      - reason
                                    type: object
                                  expected_eps_growth:
                                    additionalProperties: false
                                    properties:
                                      coverage:
                                        anyOf:
                                          - pattern: >-
                                              ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                            type: string
                                          - type: 'null'
                                        unit: pct
                                      reason:
                                        type:
                                          - string
                                          - 'null'
                                      value:
                                        anyOf:
                                          - pattern: >-
                                              ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                            type: string
                                          - type: 'null'
                                        unit: pct
                                    required:
                                      - value
                                      - coverage
                                      - reason
                                    type: object
                                  forward_pe:
                                    additionalProperties: false
                                    properties:
                                      coverage:
                                        anyOf:
                                          - pattern: >-
                                              ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                            type: string
                                          - type: 'null'
                                        unit: pct
                                      reason:
                                        type:
                                          - string
                                          - 'null'
                                      value:
                                        anyOf:
                                          - pattern: >-
                                              ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                            type: string
                                          - type: 'null'
                                        unit: ratio
                                    required:
                                      - value
                                      - coverage
                                      - reason
                                    type: object
                                  net_debt_ebitda:
                                    additionalProperties: false
                                    properties:
                                      coverage:
                                        anyOf:
                                          - pattern: >-
                                              ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                            type: string
                                          - type: 'null'
                                        unit: pct
                                      reason:
                                        type:
                                          - string
                                          - 'null'
                                      value:
                                        anyOf:
                                          - pattern: >-
                                              ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                            type: string
                                          - type: 'null'
                                        unit: ratio
                                    required:
                                      - value
                                      - coverage
                                      - reason
                                    type: object
                                  price_to_sales:
                                    additionalProperties: false
                                    properties:
                                      coverage:
                                        anyOf:
                                          - pattern: >-
                                              ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                            type: string
                                          - type: 'null'
                                        unit: pct
                                      reason:
                                        type:
                                          - string
                                          - 'null'
                                      value:
                                        anyOf:
                                          - pattern: >-
                                              ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                            type: string
                                          - type: 'null'
                                        unit: ratio
                                    required:
                                      - value
                                      - coverage
                                      - reason
                                    type: object
                                  trailing_pe:
                                    additionalProperties: false
                                    properties:
                                      coverage:
                                        anyOf:
                                          - pattern: >-
                                              ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                            type: string
                                          - type: 'null'
                                        unit: pct
                                      reason:
                                        type:
                                          - string
                                          - 'null'
                                      value:
                                        anyOf:
                                          - pattern: >-
                                              ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                            type: string
                                          - type: 'null'
                                        unit: ratio
                                    required:
                                      - value
                                      - coverage
                                      - reason
                                    type: object
                                required:
                                  - forward_pe
                                  - trailing_pe
                                  - ev_ebitda
                                  - price_to_sales
                                  - dividend_yield
                                  - expected_eps_growth
                                  - net_debt_ebitda
                                type: object
                              net_dividend_yield:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                              net_exposure:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                              short_measures:
                                anyOf:
                                  - additionalProperties: false
                                    properties:
                                      dividend_yield:
                                        additionalProperties: false
                                        properties:
                                          coverage:
                                            anyOf:
                                              - pattern: >-
                                                  ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                                type: string
                                              - type: 'null'
                                            unit: pct
                                          reason:
                                            type:
                                              - string
                                              - 'null'
                                          value:
                                            anyOf:
                                              - pattern: >-
                                                  ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                                type: string
                                              - type: 'null'
                                            unit: pct
                                        required:
                                          - value
                                          - coverage
                                          - reason
                                        type: object
                                      ev_ebitda:
                                        additionalProperties: false
                                        properties:
                                          coverage:
                                            anyOf:
                                              - pattern: >-
                                                  ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                                type: string
                                              - type: 'null'
                                            unit: pct
                                          reason:
                                            type:
                                              - string
                                              - 'null'
                                          value:
                                            anyOf:
                                              - pattern: >-
                                                  ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                                type: string
                                              - type: 'null'
                                            unit: ratio
                                        required:
                                          - value
                                          - coverage
                                          - reason
                                        type: object
                                      expected_eps_growth:
                                        additionalProperties: false
                                        properties:
                                          coverage:
                                            anyOf:
                                              - pattern: >-
                                                  ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                                type: string
                                              - type: 'null'
                                            unit: pct
                                          reason:
                                            type:
                                              - string
                                              - 'null'
                                          value:
                                            anyOf:
                                              - pattern: >-
                                                  ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                                type: string
                                              - type: 'null'
                                            unit: pct
                                        required:
                                          - value
                                          - coverage
                                          - reason
                                        type: object
                                      forward_pe:
                                        additionalProperties: false
                                        properties:
                                          coverage:
                                            anyOf:
                                              - pattern: >-
                                                  ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                                type: string
                                              - type: 'null'
                                            unit: pct
                                          reason:
                                            type:
                                              - string
                                              - 'null'
                                          value:
                                            anyOf:
                                              - pattern: >-
                                                  ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                                type: string
                                              - type: 'null'
                                            unit: ratio
                                        required:
                                          - value
                                          - coverage
                                          - reason
                                        type: object
                                      net_debt_ebitda:
                                        additionalProperties: false
                                        properties:
                                          coverage:
                                            anyOf:
                                              - pattern: >-
                                                  ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                                type: string
                                              - type: 'null'
                                            unit: pct
                                          reason:
                                            type:
                                              - string
                                              - 'null'
                                          value:
                                            anyOf:
                                              - pattern: >-
                                                  ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                                type: string
                                              - type: 'null'
                                            unit: ratio
                                        required:
                                          - value
                                          - coverage
                                          - reason
                                        type: object
                                      price_to_sales:
                                        additionalProperties: false
                                        properties:
                                          coverage:
                                            anyOf:
                                              - pattern: >-
                                                  ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                                type: string
                                              - type: 'null'
                                            unit: pct
                                          reason:
                                            type:
                                              - string
                                              - 'null'
                                          value:
                                            anyOf:
                                              - pattern: >-
                                                  ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                                type: string
                                              - type: 'null'
                                            unit: ratio
                                        required:
                                          - value
                                          - coverage
                                          - reason
                                        type: object
                                      trailing_pe:
                                        additionalProperties: false
                                        properties:
                                          coverage:
                                            anyOf:
                                              - pattern: >-
                                                  ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                                type: string
                                              - type: 'null'
                                            unit: pct
                                          reason:
                                            type:
                                              - string
                                              - 'null'
                                          value:
                                            anyOf:
                                              - pattern: >-
                                                  ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                                type: string
                                              - type: 'null'
                                            unit: ratio
                                        required:
                                          - value
                                          - coverage
                                          - reason
                                        type: object
                                    required:
                                      - forward_pe
                                      - trailing_pe
                                      - ev_ebitda
                                      - price_to_sales
                                      - dividend_yield
                                      - expected_eps_growth
                                      - net_debt_ebitda
                                    type: object
                                  - type: 'null'
                            required:
                              - context
                              - book_key
                              - comparator_key
                              - earnings_yield
                              - earnings_coverage
                              - net_dividend_yield
                              - net_exposure
                              - measures
                              - short_measures
                              - holdings
                            selectors:
                              - comparator_key
                              - book_key
                              - context.period_key
                            type: object
                          type: array
                        comparisons:
                          items:
                            additionalProperties: false
                            properties:
                              comparator_key:
                                type: string
                              context:
                                additionalProperties: false
                                properties:
                                  book_keys:
                                    items:
                                      type: string
                                    type: array
                                  method_key:
                                    type: string
                                  model_keys:
                                    items:
                                      type: string
                                    type: array
                                  period_key:
                                    type:
                                      - string
                                      - 'null'
                                required:
                                  - period_key
                                  - book_keys
                                  - model_keys
                                  - method_key
                                type: object
                              differences:
                                additionalProperties: false
                                properties:
                                  dividend_yield:
                                    anyOf:
                                      - pattern: >-
                                          ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                        type: string
                                      - type: 'null'
                                    unit: pts
                                  expected_eps_growth:
                                    anyOf:
                                      - pattern: >-
                                          ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                        type: string
                                      - type: 'null'
                                    unit: pts
                                  net_debt_ebitda:
                                    anyOf:
                                      - pattern: >-
                                          ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                        type: string
                                      - type: 'null'
                                    unit: ratio
                                required:
                                  - dividend_yield
                                  - expected_eps_growth
                                  - net_debt_ebitda
                                type: object
                              premiums:
                                additionalProperties: false
                                properties:
                                  ev_ebitda:
                                    anyOf:
                                      - pattern: >-
                                          ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                        type: string
                                      - type: 'null'
                                    unit: pct
                                  forward_pe:
                                    anyOf:
                                      - pattern: >-
                                          ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                        type: string
                                      - type: 'null'
                                    unit: pct
                                  price_to_sales:
                                    anyOf:
                                      - pattern: >-
                                          ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                        type: string
                                      - type: 'null'
                                    unit: pct
                                  trailing_pe:
                                    anyOf:
                                      - pattern: >-
                                          ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                        type: string
                                      - type: 'null'
                                    unit: pct
                                required:
                                  - forward_pe
                                  - trailing_pe
                                  - ev_ebitda
                                  - price_to_sales
                                type: object
                            required:
                              - context
                              - comparator_key
                              - premiums
                              - differences
                            selectors:
                              - comparator_key
                              - context.period_key
                            type: object
                          type: array
                        coverage_floor:
                          anyOf:
                            - pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                              type: string
                            - type: 'null'
                          unit: pct
                        earnings_basis:
                          enum:
                            - forward
                            - trailing
                          type: string
                        exposure_effects:
                          items:
                            additionalProperties: false
                            properties:
                              comparator_key:
                                type: string
                              context:
                                additionalProperties: false
                                properties:
                                  book_keys:
                                    items:
                                      type: string
                                    type: array
                                  method_key:
                                    type: string
                                  model_keys:
                                    items:
                                      type: string
                                    type: array
                                  period_key:
                                    type:
                                      - string
                                      - 'null'
                                required:
                                  - period_key
                                  - book_keys
                                  - model_keys
                                  - method_key
                                type: object
                              names:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pts
                              sectors:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pts
                            required:
                              - context
                              - comparator_key
                              - sectors
                              - names
                            selectors:
                              - comparator_key
                              - context.period_key
                            type: object
                          type: array
                        names:
                          items:
                            additionalProperties: false
                            properties:
                              comparator_key:
                                type: string
                              context:
                                additionalProperties: false
                                properties:
                                  book_keys:
                                    items:
                                      type: string
                                    type: array
                                  method_key:
                                    type: string
                                  model_keys:
                                    items:
                                      type: string
                                    type: array
                                  period_key:
                                    type:
                                      - string
                                      - 'null'
                                required:
                                  - period_key
                                  - book_keys
                                  - model_keys
                                  - method_key
                                type: object
                              contribution:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pts
                              earnings_yield:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                              entity:
                                type: string
                              pe:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: ratio
                              weight:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                            required:
                              - context
                              - comparator_key
                              - entity
                              - weight
                              - earnings_yield
                              - pe
                              - contribution
                            selectors:
                              - comparator_key
                              - entity
                              - context.period_key
                            type: object
                          type: array
                        sector_comparisons:
                          items:
                            additionalProperties: false
                            properties:
                              bucket:
                                type: string
                              comparator_key:
                                type: string
                              comparator_multiple:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: ratio
                              context:
                                additionalProperties: false
                                properties:
                                  book_keys:
                                    items:
                                      type: string
                                    type: array
                                  method_key:
                                    type: string
                                  model_keys:
                                    items:
                                      type: string
                                    type: array
                                  period_key:
                                    type:
                                      - string
                                      - 'null'
                                required:
                                  - period_key
                                  - book_keys
                                  - model_keys
                                  - method_key
                                type: object
                              premium:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                              subject_multiple:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: ratio
                            required:
                              - context
                              - comparator_key
                              - bucket
                              - subject_multiple
                              - comparator_multiple
                              - premium
                            selectors:
                              - comparator_key
                              - bucket
                              - context.period_key
                            type: object
                          type: array
                        sectors:
                          items:
                            additionalProperties: false
                            properties:
                              bucket:
                                type: string
                              comparator_held:
                                type: boolean
                              comparator_key:
                                type: string
                              comparator_weight:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                              comparator_yield:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                              context:
                                additionalProperties: false
                                properties:
                                  book_keys:
                                    items:
                                      type: string
                                    type: array
                                  method_key:
                                    type: string
                                  model_keys:
                                    items:
                                      type: string
                                    type: array
                                  period_key:
                                    type:
                                      - string
                                      - 'null'
                                required:
                                  - period_key
                                  - book_keys
                                  - model_keys
                                  - method_key
                                type: object
                              effect:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pts
                              names_effect:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pts
                              subject_held:
                                type: boolean
                              subject_weight:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                              subject_yield:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pct
                              weights_effect:
                                anyOf:
                                  - pattern: >-
                                      ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?![\s\S])
                                    type: string
                                  - type: 'null'
                                unit: pts
                            required:
                              - context
                              - comparator_key
                              - bucket
                              - subject_weight
                              - comparator_weight
                              - subject_yield
                              - comparator_yield
                              - subject_held
                              - comparator_held
                              - weights_effect
                              - names_effect
                              - effect
                            selectors:
                              - comparator_key
                              - bucket
                              - context.period_key
                            type: object
                          type: array
                      required:
                        - earnings_basis
                        - coverage_floor
                        - books
                        - sectors
                        - names
                        - exposure_effects
                        - comparisons
                        - sector_comparisons
                      type: object
                    - type: 'null'
                status:
                  enum:
                    - ok
                    - partial
                    - unavailable
                  type: string
              required:
                - status
                - context
                - data
              selectors:
                - context.period_key
              type: object
          type: object
        status:
          enum:
            - ok
            - partial
          type: string
        subject:
          type: string
      required:
        - schema_version
        - artifact_id
        - as_of
        - computed_at
        - status
        - subject
        - comparators
        - entities
        - scope
        - periods
        - models
        - methods
        - books
        - receipts
        - sections
        - metric_changes
        - issues
      type: object
    Gateway_RiskAnalyticsParameter:
      anyOf:
        - type: string
        - maximum: 9007199254740991
          minimum: -9007199254740991
          type: integer
        - type: boolean
        - type: 'null'
        - items:
            $ref: '#/components/schemas/Gateway_RiskAnalyticsParameter'
          type: array
        - additionalProperties:
            $ref: '#/components/schemas/Gateway_RiskAnalyticsParameter'
          propertyNames:
            type: string
          type: object
  securitySchemes:
    bearerAuth:
      bearerFormat: JWT
      description: Itoflow access token issued for the Itoflow API.
      scheme: bearer
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.