Help center › Data Feed Reference › Holdings
Positions · position 1.1
Positions. Quantity and average cost per account and security, e.g. from the custodian. Each loaded position replaces the open lots with one lot at the average cost. Use the lots data set to keep lot detail. Key: account + symbol.
- Namespace
urn:vestoris:feed:position:1.1- Schema
- position-1.1.xsd
- Also accepted
urn:vestoris:feed:position:1.0(position-1.0.xsd)- Key (upsert)
account + symbol: a record with an existing key updates it; a new key inserts.- Start-of-day step
- Positions, lots and cash
- File name
F00012_POSITION_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 |
|---|---|---|---|---|
account key # | yes | xs:stringpattern [A-Z0-9][A-Z0-9_.\-]{0,19} |
The account code. Part of the key. A code: letters, digits, "_", "." or "-", up to 20. Part of the key. Example: GRW-A | R101 R111 R109 |
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 |
quantity # | yes | xs:decimal25 digits; 10 decimals |
Shares held (negative for a short). A decimal number written as text, e.g. 1234.5. Example: 12500 | R101 R103 R111 |
avgCost # | yes | xs:decimal≥ 0; 25 digits; 10 decimals |
Average cost per share. A decimal number written as text, e.g. 1234.5 (min 0). Example: 182.40 | R101 R103 R111 |
asOf # | no | xs:date |
The date of the position (the lot's acquired date for tax purposes when no lot detail is given). An ISO date, YYYY-MM-DD. Example: 2026-10-23 | R102 |
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.
- A full file closes the positions it does not list, but only in the accounts it names.
- Quantity 0 closes the position.
Codes this format can return: F001 F002 F003 F004 F005 F006 F007 F008 H201 R101 R102 R103 R109 R110 R111
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:position:1.1" businessDate="2026-10-23" firm="F00012" source="ExampleVendor" generated="2026-10-23T22:05:00Z" recordCount="1" mode="delta">
<record action="upsert">
<account>GRW-A</account>
<symbol>AAPL</symbol>
<quantity>12500</quantity>
<avgCost>182.40</avgCost>
<asOf>2026-10-23</asOf>
</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.