Example
<cr-component id="component" name="analysis-exposures"></cr-component>
<script>
const component = document.querySelector("#component");
component.init({
exposureTypes: ["riskFamily", "currency"],
exposures: {
riskFamily: [
{
name: "Fixed Income",
weight: 0.7679,
},
{
name: "Equity",
weight: 0.07082,
},
{
name: "Balanced",
weight: 0.05446,
},
{
name: "Money Market",
weight: 0.07946,
},
{
name: "Alternative",
weight: 0.02736,
},
],
currency: [
{
name: "EUR",
weight: 1.0,
},
],
},
});
</script>
Schema
{
"type": "object",
"properties": {
"exposures": {
"type": "object",
"properties": {
"riskFamily": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"weight": {
"type": "number"
}
}
}
},
"category": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"weight": {
"type": "number"
}
}
}
},
"currency": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"weight": {
"type": "number"
}
}
}
},
"assetType": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"weight": {
"type": "number"
}
}
}
}
}
},
"positions": {
"type": "array",
"minItems": 1,
"description": "Portfolio positions",
"items": {
"type": "object",
"required": [
"symbolId",
"amount"
],
"properties": {
"symbolId": {
"type": "number"
},
"amount": {
"type": "number"
},
"date": {
"type": "string"
},
"color": {
"type": "string"
}
}
}
},
"exposureTypes": {
"default": [
"riskFamily",
"currency",
"assetType"
],
"anyOf": [
{
"type": "array",
"items": {
"enum": [
"riskFamily",
"currency",
"assetType"
]
},
"default": [
"riskFamily",
"currency",
"assetType"
],
"minItems": 1
},
{
"type": "string",
"enum": [
"riskFamily",
"currency",
"assetType"
]
}
]
},
"assessmentId": {
"type": "integer",
"minimum": 1,
"description": "Assessment identifier"
},
"proposalId": {
"type": "integer",
"minimum": 1,
"description": "Proposal identifier"
},
"symbolId": {
"type": "number"
}
},
"additionalProperties": true,
"oneOf": [
{
"required": [
"exposures"
],
"prohibited": [
"positions",
"assessmentId",
"proposalId",
"symbolId"
]
},
{
"required": [
"positions"
],
"prohibited": [
"exposures",
"assessmentId",
"proposalId",
"symbolId"
]
},
{
"required": [
"proposalId"
],
"prohibited": [
"positions",
"exposures",
"assessmentId",
"symbolId"
]
},
{
"required": [
"assessmentId"
],
"prohibited": [
"positions",
"exposures",
"proposalId",
"symbolId"
]
},
{
"required": [
"symbolId"
],
"prohibited": [
"positions",
"exposures",
"proposalId",
"assessmentId"
]
}
]
}
Complete Schema
{}
Locales
{
"title": "Exposure",
"type": "Exposure type",
"exposureTypes": {
"assetType": "Asset type",
"currency": "Currency",
"riskFamily": "Risk family"
}
}