SimCorp Dimension · Schema

SimCorp Dimension Portfolio

Schema for a portfolio entity in the SimCorp Integration Model (SIM). Portfolios represent investment portfolios managed within SimCorp Dimension, supporting multi-asset class holdings across the Investment Book of Record (IBOR). Based on the SimCorp Dimension data model documented at thesim.dev and simcorp.com.

AccountingAsset ManagementComplianceData DistributionEnterprise SoftwareFinancial DataFinancial TechnologyInvestment ManagementPortfolio ManagementRisk ManagementSimCorp OneStreamingTrading

Properties

Name Type Description
portfolioId integer Unique internal identifier for the portfolio within SimCorp Dimension
portfolioCode string Short alphanumeric code uniquely identifying the portfolio
portfolioName string Full descriptive name of the portfolio
portfolioType string Classification of the portfolio by its operational role
portfolioStatus string Current lifecycle status of the portfolio
baseCurrency string ISO 4217 currency code for the portfolio base currency used for valuation and reporting
inceptionDate string Date the portfolio was established and began tracking positions
terminationDate stringnull Date the portfolio was closed or terminated, null if still active
legalEntity string The legal entity or organization that owns the portfolio
investmentManager string Name or identifier of the portfolio manager or management team responsible
custodian string The custodian bank or institution holding the portfolio assets
benchmark object The benchmark portfolio or index used for performance comparison
investmentStrategy string Description of the investment strategy or mandate governing the portfolio
assetClasses array Asset classes that the portfolio is authorized to hold
portfolioHierarchy object Hierarchical structure placing this portfolio within a portfolio tree or organizational grouping
positions array Current holdings or positions within the portfolio from the Investment Book of Record (IBOR)
complianceRules array Investment compliance rules and constraints applied to the portfolio
valuationSummary object Summary valuation data for the portfolio as of the last valuation date
accountingMethod string The accounting method used for the portfolio in the Accounting Book of Record (ABOR)
reportingCurrency string Currency used for client reporting if different from base currency
classifications object User-defined and system classification attributes for the portfolio
customProperties object User-defined custom fields extending the standard portfolio attributes
createdDate string Timestamp when the portfolio record was created in SimCorp Dimension
modifiedDate string Timestamp when the portfolio record was last modified
View JSON Schema on GitHub

JSON Schema

simcorp-dimension-portfolio-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://thesim.dev/schemas/simcorp-dimension/portfolio.json",
  "title": "SimCorp Dimension Portfolio",
  "description": "Schema for a portfolio entity in the SimCorp Integration Model (SIM). Portfolios represent investment portfolios managed within SimCorp Dimension, supporting multi-asset class holdings across the Investment Book of Record (IBOR). Based on the SimCorp Dimension data model documented at thesim.dev and simcorp.com.",
  "type": "object",
  "required": [
    "portfolioCode",
    "portfolioName"
  ],
  "properties": {
    "portfolioId": {
      "type": "integer",
      "description": "Unique internal identifier for the portfolio within SimCorp Dimension"
    },
    "portfolioCode": {
      "type": "string",
      "description": "Short alphanumeric code uniquely identifying the portfolio",
      "maxLength": 20
    },
    "portfolioName": {
      "type": "string",
      "description": "Full descriptive name of the portfolio",
      "maxLength": 255
    },
    "portfolioType": {
      "type": "string",
      "description": "Classification of the portfolio by its operational role",
      "enum": [
        "REAL",
        "MODEL",
        "BENCHMARK",
        "COMPOSITE",
        "SLEEVE",
        "MASTER",
        "FUND",
        "MANDATE",
        "INTERNAL"
      ]
    },
    "portfolioStatus": {
      "type": "string",
      "description": "Current lifecycle status of the portfolio",
      "enum": [
        "ACTIVE",
        "CLOSED",
        "PENDING",
        "SUSPENDED",
        "TERMINATED"
      ]
    },
    "baseCurrency": {
      "type": "string",
      "description": "ISO 4217 currency code for the portfolio base currency used for valuation and reporting",
      "pattern": "^[A-Z]{3}$",
      "examples": ["USD", "EUR", "GBP", "DKK"]
    },
    "inceptionDate": {
      "type": "string",
      "format": "date",
      "description": "Date the portfolio was established and began tracking positions"
    },
    "terminationDate": {
      "type": ["string", "null"],
      "format": "date",
      "description": "Date the portfolio was closed or terminated, null if still active"
    },
    "legalEntity": {
      "type": "string",
      "description": "The legal entity or organization that owns the portfolio",
      "maxLength": 255
    },
    "investmentManager": {
      "type": "string",
      "description": "Name or identifier of the portfolio manager or management team responsible",
      "maxLength": 255
    },
    "custodian": {
      "type": "string",
      "description": "The custodian bank or institution holding the portfolio assets",
      "maxLength": 255
    },
    "benchmark": {
      "type": "object",
      "description": "The benchmark portfolio or index used for performance comparison",
      "properties": {
        "benchmarkCode": {
          "type": "string",
          "description": "Code identifying the benchmark portfolio or index"
        },
        "benchmarkName": {
          "type": "string",
          "description": "Descriptive name of the benchmark"
        },
        "benchmarkType": {
          "type": "string",
          "description": "Type of benchmark used",
          "enum": [
            "INDEX",
            "PORTFOLIO",
            "COMPOSITE",
            "CUSTOM",
            "BLENDED"
          ]
        }
      }
    },
    "investmentStrategy": {
      "type": "string",
      "description": "Description of the investment strategy or mandate governing the portfolio",
      "maxLength": 1000
    },
    "assetClasses": {
      "type": "array",
      "description": "Asset classes that the portfolio is authorized to hold",
      "items": {
        "type": "string",
        "enum": [
          "EQUITY",
          "FIXED_INCOME",
          "MONEY_MARKET",
          "DERIVATIVES",
          "ALTERNATIVES",
          "PRIVATE_EQUITY",
          "REAL_ESTATE",
          "COMMODITIES",
          "FX",
          "STRUCTURED_PRODUCTS",
          "FUND"
        ]
      }
    },
    "portfolioHierarchy": {
      "type": "object",
      "description": "Hierarchical structure placing this portfolio within a portfolio tree or organizational grouping",
      "properties": {
        "parentPortfolioCode": {
          "type": ["string", "null"],
          "description": "Code of the parent portfolio in a master-sleeve or composite structure"
        },
        "level": {
          "type": "integer",
          "description": "Depth level within the portfolio hierarchy, where 0 is the top-level",
          "minimum": 0
        },
        "groupCode": {
          "type": "string",
          "description": "Code identifying the portfolio group or organizational unit"
        },
        "groupName": {
          "type": "string",
          "description": "Name of the portfolio group"
        }
      }
    },
    "positions": {
      "type": "array",
      "description": "Current holdings or positions within the portfolio from the Investment Book of Record (IBOR)",
      "items": {
        "$ref": "#/$defs/Position"
      }
    },
    "complianceRules": {
      "type": "array",
      "description": "Investment compliance rules and constraints applied to the portfolio",
      "items": {
        "type": "object",
        "properties": {
          "ruleId": {
            "type": "string",
            "description": "Identifier of the compliance rule"
          },
          "ruleName": {
            "type": "string",
            "description": "Name of the compliance rule"
          },
          "ruleType": {
            "type": "string",
            "description": "Category of the compliance rule",
            "enum": [
              "PRE_TRADE",
              "POST_TRADE",
              "REGULATORY",
              "INTERNAL",
              "MANDATE"
            ]
          },
          "status": {
            "type": "string",
            "description": "Current compliance status",
            "enum": [
              "COMPLIANT",
              "BREACH",
              "WARNING",
              "NOT_CHECKED"
            ]
          }
        }
      }
    },
    "valuationSummary": {
      "type": "object",
      "description": "Summary valuation data for the portfolio as of the last valuation date",
      "properties": {
        "valuationDate": {
          "type": "string",
          "format": "date",
          "description": "Date of the most recent portfolio valuation"
        },
        "totalMarketValue": {
          "type": "number",
          "description": "Total market value of the portfolio in base currency"
        },
        "totalCostValue": {
          "type": "number",
          "description": "Total cost basis of the portfolio in base currency"
        },
        "cashBalance": {
          "type": "number",
          "description": "Total cash balance across all cash accounts in base currency"
        },
        "unrealizedGainLoss": {
          "type": "number",
          "description": "Total unrealized gain or loss in base currency"
        },
        "netAssetValue": {
          "type": "number",
          "description": "Net asset value (NAV) of the portfolio in base currency"
        }
      }
    },
    "accountingMethod": {
      "type": "string",
      "description": "The accounting method used for the portfolio in the Accounting Book of Record (ABOR)",
      "enum": [
        "AVERAGE_COST",
        "FIFO",
        "LIFO",
        "SPECIFIC_LOT",
        "HIGHEST_COST",
        "LOWEST_COST"
      ]
    },
    "reportingCurrency": {
      "type": "string",
      "description": "Currency used for client reporting if different from base currency",
      "pattern": "^[A-Z]{3}$"
    },
    "classifications": {
      "type": "object",
      "description": "User-defined and system classification attributes for the portfolio",
      "additionalProperties": {
        "type": "string"
      }
    },
    "customProperties": {
      "type": "object",
      "description": "User-defined custom fields extending the standard portfolio attributes",
      "additionalProperties": true
    },
    "createdDate": {
      "type": "string",
      "format": "date-time",
      "description": "Timestamp when the portfolio record was created in SimCorp Dimension"
    },
    "modifiedDate": {
      "type": "string",
      "format": "date-time",
      "description": "Timestamp when the portfolio record was last modified"
    }
  },
  "$defs": {
    "Position": {
      "$id": "#Position",
      "title": "Portfolio Position",
      "description": "A holding or position within a SimCorp Dimension portfolio, representing a quantity of an instrument held at a given status level within the IBOR.",
      "type": "object",
      "required": [
        "instrumentCode",
        "quantity"
      ],
      "properties": {
        "positionId": {
          "type": "integer",
          "description": "Unique identifier for the position record"
        },
        "instrumentCode": {
          "type": "string",
          "description": "Code identifying the instrument held in this position"
        },
        "instrumentName": {
          "type": "string",
          "description": "Name of the instrument held"
        },
        "quantity": {
          "type": "number",
          "description": "Number of units, shares, or nominal amount held"
        },
        "settlementQuantity": {
          "type": "number",
          "description": "Quantity at the settled position level"
        },
        "marketValue": {
          "type": "number",
          "description": "Current market value of the position in portfolio base currency"
        },
        "costValue": {
          "type": "number",
          "description": "Cost basis of the position in portfolio base currency"
        },
        "accruedInterest": {
          "type": "number",
          "description": "Accrued interest for fixed income positions"
        },
        "unrealizedGainLoss": {
          "type": "number",
          "description": "Unrealized profit or loss on the position"
        },
        "weight": {
          "type": "number",
          "description": "Position weight as a percentage of total portfolio market value",
          "minimum": 0,
          "maximum": 100
        },
        "positionDate": {
          "type": "string",
          "format": "date",
          "description": "Date for which the position is reported"
        },
        "statusLevel": {
          "type": "string",
          "description": "Transaction status level defining the position view, reflecting the front-to-back lifecycle stage",
          "enum": [
            "ENTRY",
            "TEMPORARILY_BOOKED",
            "FINALLY_BOOKED",
            "SETTLED",
            "CONFIRMED"
          ]
        },
        "positionCurrency": {
          "type": "string",
          "description": "ISO 4217 currency code of the position",
          "pattern": "^[A-Z]{3}$"
        },
        "exchangeRate": {
          "type": "number",
          "description": "Exchange rate applied to convert from position currency to portfolio base currency"
        }
      }
    },

    "TransactionStatusLevel": {
      "$id": "#TransactionStatusLevel",
      "title": "Transaction Status Level",
      "description": "Defines the status levels through which a transaction progresses in SimCorp Dimension, from entry through to final settlement. These status levels serve as position drivers.",
      "type": "string",
      "enum": [
        "ENTRY",
        "TEMPORARILY_BOOKED",
        "FINALLY_BOOKED",
        "SETTLED",
        "CONFIRMED"
      ]
    }
  }
}