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 #

AttributeUseTypeMeaning
businessDaterequiredxs:dateThe business date the data is for (YYYY-MM-DD).
firmrequiredxs:stringYour firm code, shown on Data › Feeds (e.g. F00012).
sourceoptionalxs:stringWho produced the file (vendor or system name).
generatedrequiredxs:dateTimeWhen the file was produced (UTC).
recordCountrequiredxs:nonNegativeIntegerThe number of record elements. A file whose count does not match is refused (F004): it was probably cut short.
modeoptional (default delta)xs:stringdelta: 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.

ElementRequiredTypeMeaningCodes
account key #yesxs:string
pattern [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-AR101 R111 R109
symbol key #yesxs:string
pattern [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: AAPLR101 R111 R109
quantity #yesxs:decimal
25 digits; 10 decimals
Shares held (negative for a short). A decimal number written as text, e.g. 1234.5. Example: 12500R101 R103 R111
avgCost #yesxs:decimal
≥ 0; 25 digits; 10 decimals
Average cost per share. A decimal number written as text, e.g. 1234.5 (min 0). Example: 182.40R101 R103 R111
asOf #noxs: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-23R102

Validation #

  1. No DOCTYPE or entity declaration (F002); well-formed UTF-8 (F001).
  2. The namespace and version are published (F007), and the file matches the XSD (F003).
  3. Header: firm is your firm code (F006), businessDate a business day (F005), recordCount the number of records (F004).
  4. 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.
  5. A full file closes the positions it does not list, but only in the accounts it names.
  6. 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.