Help center › Data Feed Reference › Reference data
Model portfolios · model 1.1
Model portfolios. Target weights per model and security. A new model name creates the model. A full file replaces the targets of the models it names; weights per model should add up to 100% minus the cash target. Key: model + symbol.
- Namespace
urn:vestoris:feed:model:1.1- Schema
- model-1.1.xsd
- Also accepted
urn:vestoris:feed:model:1.0(model-1.0.xsd)- Key (upsert)
model + symbol: a record with an existing key updates it; a new key inserts.- Start-of-day step
- Accounts and groups
- File name
F00012_MODEL_20261023_001.xml- Modes
- delta (action="delete" removes a record); full (records not listed are inactivated, up to the feed's safety threshold: H201)
The <feed> root #
| Attribute | Use | Type | Meaning |
|---|---|---|---|
businessDate | required | xs:date | The business date the data is for (YYYY-MM-DD). |
firm | required | xs:string | Your firm code, shown on Data › Feeds (e.g. F00012). |
source | optional | xs:string | Who produced the file (vendor or system name). |
generated | required | xs:dateTime | When the file was produced (UTC). |
recordCount | required | xs:nonNegativeInteger | The number of record elements. A file whose count does not match is refused (F004): it was probably cut short. |
mode | optional (default delta) | xs:string | delta: only the records in the file change, and action="delete" removes one. full: the file is complete; records it does not list are inactivated, up to the feed's safety threshold. |
The <record> elements #
upsert (insert or update by key) or delete (removes the record; a security or account is inactivated, never deleted). Elements may appear in any order; an element that is left out keeps its current value.
| Element | Required | Type | Meaning | Codes |
|---|---|---|---|---|
model key # | yes | xs:string≤ 120 chars |
The model's name. Part of the key. Text, up to 120 characters. Part of the key. Example: Growth Model | R101 R114 |
symbol key # | yes | xs:stringpattern [A-Z][A-Z0-9.\-]{0,11} |
The security. Part of the key. A ticker symbol: letters, digits, "." or "-", up to 12. Part of the key. Example: AAPL | R101 R111 R109 |
targetPct # | yes | xs:decimal≥ 0; ≤ 100; 25 digits; 10 decimals |
Target weight in percent of the account. A decimal number written as text, e.g. 1234.5 (min 0 max 100). Example: 9 | R101 R103 R111 |
udfs # | no | Udfsup to 10 <udf slot="1..10" name="...">, ≤ 255 chars each |
User-defined fields (format 1.1). Each <udf> names its slot (1 to 10) and optionally the field's name; the value is checked against the type your Admin gave the field. A slot that is not active for your firm is refused (U101), a value of the wrong type too (U102), and a name that differs from the slot's name (U103). Example: <udf slot="1" name="Internal rating">BBB</udf> | U101 U102 U103 U104 |
Validation #
- No DOCTYPE or entity declaration (F002); well-formed UTF-8 (F001).
- The namespace and version are published (F007), and the file matches the XSD (F003).
- Header:
firmis your firm code (F006),businessDatea business day (F005),recordCountthe number of records (F004). - Each record: the field checks in the table above, references to records that exist (R109), no key twice in a file (R110). A rejected record does not stop the rest of the file.
Codes this format can return: F001 F002 F003 F004 F005 F006 F007 F008 H201 R101 R103 R109 R110 R111 R114 U101 U102 U103 U104
Sample #
An annotated file: the comment lines explain the header; drop them or keep them, comments are allowed.
<?xml version="1.0" encoding="UTF-8"?>
<!-- businessDate: the date the data is for. firm: your firm code. recordCount: how many <record> elements follow. -->
<feed xmlns="urn:vestoris:feed:model:1.1" businessDate="2026-10-23" firm="F00012" source="ExampleVendor" generated="2026-10-23T22:05:00Z" recordCount="2" mode="delta">
<record action="upsert">
<model>Growth Model</model>
<symbol>AAPL</symbol>
<targetPct>9</targetPct>
</record>
<record action="upsert">
<model>Growth Model</model>
<symbol>MSFT</symbol>
<targetPct>9</targetPct>
</record>
</feed>
Download the sampleDownload the XSDValidate a file
Version history #
- 1.0 (2026-10-26): First published version.
- 1.1 (2026-10-26): Adds the optional <udfs> element (up to ten <udf slot="1..10" name="...">value</udf>) to the reference formats that carry user-defined fields: security, issuer, account, accountgroup, broker, model, benchmark and list. Additive: every valid 1.0 file is still accepted under its 1.0 namespace.