analysis-exposures

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"
 }
}