Help center › Data Feed Reference › Reference data

Benchmarks · benchmark 1.1

Benchmarks. Benchmark constituents and their weights. A new benchmark code creates the benchmark; a full file replaces the constituents of the benchmarks it names. Key: benchmark + symbol.

Namespace
urn:vestoris:feed:benchmark:1.1
Schema
benchmark-1.1.xsd
Also accepted
urn:vestoris:feed:benchmark:1.0 (benchmark-1.0.xsd)
Key (upsert)
benchmark + symbol: a record with an existing key updates it; a new key inserts.
Start-of-day step
Accounts and groups
File name
F00012_BENCHMARK_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
benchmark key #yesxs:string
pattern [A-Z0-9][A-Z0-9_.\-]{0,19}
The benchmark code. Part of the key. A code: letters, digits, "_", "." or "-", up to 20. Part of the key. Example: US-LCGR101 R111
symbol key #yesxs:string
pattern [A-Z][A-Z0-9.\-]{0,11}
The constituent. Part of the key. A ticker symbol: letters, digits, "." or "-", up to 12. Part of the key. Example: AAPLR101 R111 R109
weightPct #yesxs:decimal
≥ 0; ≤ 100; 25 digits; 10 decimals
Weight in percent. A decimal number written as text, e.g. 1234.5 (min 0 max 100). Example: 7.12R101 R103 R111
benchmarkName #noxs:string
≤ 120 chars
The benchmark's name (used when it is created). Text, up to 120 characters. Example: US large-cap growthR114
udfs #noUdfs
up 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 #

  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.

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:benchmark:1.1" businessDate="2026-10-23" firm="F00012" source="ExampleVendor" generated="2026-10-23T22:05:00Z" recordCount="1" mode="delta">
  <record action="upsert">
    <benchmark>US-LCG</benchmark>
    <symbol>AAPL</symbol>
    <weightPct>7.12</weightPct>
    <benchmarkName>US large-cap growth</benchmarkName>
  </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.