Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Overview

Security is one of the basic definitions in EagleML which represents a tradable financial asset. The corresponding EagleML object is Generic SMF.

Each security is uniquely defined by its identifier. Identifiers can be either standard, ticker, cusip, cusipPay, cusipReceive, isin, sedol, reuters, bloombergId, sicovmId, valorenId, cedel, internalId, cinsId, uniqueProductId, uniqueSwapId, either vendor-specific. Each identifier is described by two fields - their its value (id) and their its type. The process of unique identification of a security by its id and type is called Security Resolution.

What is actually resolved by Security Resolution?

Security Resolution process defines the unique number of the security called security alias. A database cannot contain two securities with matching security aliases, these numbers aliases are unique.

Where When is Security Resolution used?

  1. When you load a security. The system resolves the alias by its id and type and if there is no such alias in DB, an INSERT is performed. If there is already a security in DB with matching alias, UPDATE is performed.

  2. When you load security-related objects, such as Warehouse, Accounting or some of the Reference. If the system cannot resolve a security with incoming identifiers, load is impossible and it will return an error.

Which DB tables are used in Security Resolution?

...

Identifiers for each security are stored in SECURITYDBO.XREFERENCE (identifiers are also called xreference (or cross-reference ) identifiers or xrefs).

SECURITYDBO.SECURITY_MASTER and SECURITYDBOand SECURITYDBO.XREFERENCE tables are linked are linked with the SECURITYthe SECURITY_ALIAS field. This is a one-to-many relationship, one record in SECURITY_MASTER can have several corresponding records in SECURITYDBO.XREFERENCE table.

Which identifiers take part in Security Resolution?

  • Primary Asset Id, Primary Asset Type – Eagle identifier, which uniquely

    defined

    defines a security record.

    It is stored

    Stored in SECURITYDBO.SECURITY_MASTER.PRIMARY_ASSET_ID, SECURITYDBO.SECURITY_MASTER.

    PRIMAR

    PRIMARY_ASSET_TYPE fields

    , and as

    . As it is an xreference identifier at the same time, it is also stored in SECURITYDBO.XREFERENCE table.

  • Standard widely used identifiers – ticker, cusip, cusipPay, cusipReceive, isin, sedol, reuters, bloombergId, sicovmId, valorenId, cedel, internalId, cinsId, uniqueProductId, uniqueSwapId

  • Vendor-specific identifiers  –  <xId>AAAA</xId><XIdType>BBBB</xIdType>

Expand
titleExample of a Generic SMF record with various identifiers set (click to expand):
Code Block
languagexml
<EagleML xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="LoadReference" eaglemlVersion="2-0" actualBuild="1" xmlns="http://www.eagleinvsys.com/2011/EagleML-2-0">
	<referenceTransaction xmlns="http://www.eagleinvsys.com/2011/EagleML-2-0">
		<header>
			<objectType>GenericSMF</objectType>
		</header>
		<genericSMF>
			<sourceName>EAGLE PACE</sourceName>
			<updateSource>MCADMIN</updateSource>
			<effectiveDate>2014-09-30</effectiveDate>
			<primaryAssetId>CUSIP_ID2</primaryAssetId>
			<primaryAssetType>CUSIP</primaryAssetType>
			<altAssetIdAndType>
				<instrumentId>CINS_ID2</instrumentId>
				<instrumentIdType>CINS</instrumentIdType>
			</altAssetIdAndType>
			<issueName>TST 2010 1</issueName>
			<ticker>TICKER_ID2</ticker>
			<cusip>CUSIP_ID2</cusip>
			<cusipPay>CUSIP_PAY_ID2</cusipPay>
			<cusipReceive>CUSIP_RECEIVE_ID2</cusipReceive>
			<isin>ISIN_ID2</isin>
			<sedol>SEDOL_ID2</sedol>
			<reuters>REUTERS_ID2</reuters>
			<bloombergId>BBID_ID2</bloombergId>
			<sicovmId>SICOVM_ID2</sicovmId>
			<valorenId>VALOREN_ID2</valorenId>
			<cedel>CEDEL_ID2</cedel>
			<internalId>INTERNAL_ID2</internalId>
			<cinsId>CINS_ID2</cinsId>
			<uniqueProductId>UPI_ID2</uniqueProductId>
			<uniqueSwapId>USI_ID2</uniqueSwapId>
			<xrefIdentifiers>
				<xId1>
					<xId>TSTXREFID2_1</xId>
					<xIdType>TSTXID1</xIdType>
				</xId1>
				<xId2>
					<xId>TSTXREFID2_2</xId>
					<xIdType>TSTXID2</xIdType>
				</xId2>
				<xId3>
					<xId>TSTXREFID2_3</xId>
					<xIdType>TSTXID3</xIdType>
				</xId3>
				<xId4>
					<xId>TSTXREFID2_4</xId>
					<xIdType>TSTXID4</xIdType>
				</xId4>
				<xId5>
					<xId>TSTXREFID2_5</xId>
					<xIdType>TSTXID5</xIdType>
				</xId5>
				<xId6>
					<xId>TSTXREFID2_6</xId>
					<xIdType>TSTXID6</xIdType>
				</xId6>
				<xId7>
					<xId>TSTXREFID2_7</xId>
					<xIdType>TSTXID7</xIdType>
				</xId7>
				<xId8>
					<xId>TSTXREFID2_8</xId>
					<xIdType>TSTXID8</xIdType>
				</xId8>
				<xId9>
					<xId>TSTXREFID2_9</xId>
					<xIdType>TSTXID9</xIdType>
				</xId9>
				<xId10>
					<xId>TSTXREFID2_10</xId>
					<xIdType>TSTXI10</xIdType>
				</xId10>
			</xrefIdentifiers>
			<primaryExchangeCode>ALL</primaryExchangeCode>
			<assetCurrency>USD</assetCurrency>
			<investmentType>FI</investmentType>
			<processingSecurityType>DBFBFB</processingSecurityType>
		</genericSMF>
	</referenceTransaction>
</EagleML>

...