Uploads in Common Position Format

A description of the Common Position Format used for manual uploads, including a portfolio, basket, or watchlist uploads

J
Written by Jeremy Mulder
Updated over a week ago

Selecting a Manual Upload

A portfolio's position data, basket data, and watchlists can all be manually uploaded by 'Creating a Resource', found on the home screen by clicking on the "+" button in the upper right hand corner, as seen below boxed in green.

This button will next bring up several options to create a new resource:

Upon picking the resource type to be created, a screen is brought up where the new resource can be named and associated with a default risk model.

After confirming resource details, the next dialogue appears, asking to upload position data for the newly created resource:

Click on the "UPLOAD POSITIONS" button to be directed to the upload screen, where a .CSV, XLS, or XLSX file can be dragged or browsed for uploading.

Identifiers Accepted

Omega Point supports a wide range of asset identifiers: Sedols (recommended), Cusips, ISINS, Bloomberg Tickers, FIGIs, tickers+mics, and risk model provided IDs (Axioma IDs, Barra IDs, or Wolfe IDs). Note that both Sedols and Cusips/ISINs require a subscription to access.

To load swaps, include the ID used to create the swap in the 'ticker' column and specify the asset class 'Swap'.

To load currencies, include the 3-letter ISO code for the currency (eg: USD) and specify the asset class 'Currency'.

Portfolio Upload: Common Position Format

Position Date (required)

The date that corresponds to the positions at the end of the trading day. Note that multiple dates can be included in one file, or multiple files can be uploaded at once (with the requirement all files are structured exactly the same across dates).

The following date formats are supported:
YYYY-MM-DD (ISO8601)
MM/DD/YY
MM/DD/YYYY

Asset IDs (required)

The ID of the asset in the position set. As mentioned above a wide range of IDs are accepted, with Sedols being the preferred ID. Multiple IDs can also be referenced to better facilitate ID matching internally. The file column header should reflect the ID type used, as reflected in the 'Sample CSV in Common Position Format' link at the top of this help page.

Economic Exposure (required)

The dollar economic exposure of the position. For an equity such as AAPL, this would be the market value of the position. However, all options should have economic exposure that are delta adjusted. International securities must have their economic exposures converted to USD.

Asset Class (optional for Equity only portfolio, required for Multi-Asset class portfolios)

Portfolio data is required to include an asset class column that lists that security's asset type. Must be one of the following values:

  • Equity

  • Swap

  • Currency

  • FixedIncome

  • Commodity

  • Index

  • Other

Example:

DATE,        SEDOL,    Ticker, Economic Exposure, Equity,  Asset Class
12/31/2018, 1234567, EXMP, 2000000, 4000000, Equity
12/31/2018, 7654321, SMPL, -1000000, 4000000, Equity
12/31/2018, USD, 500000, 4000000, Currency

Optional fields

Tags (optional)

Users can now tag their positions with a proprietary tag to facilitate grouping and segmenting portfolio analytics. In order to take advantage of tag functionality in the common portfolio upload, one must first create the tag categories via the API. Once the tag categories are associated with an account, customers can add this column to the file in common portfolio format by adding the prefix tag: to the column header, ex; tag:strategy would associate this column to the strategy tag category, and then associate tag values with each position. Tags are case insensitive and can range from 5 to 32 characters.

Lot Ids (optional)

Users can now associate a proprietary Lot Id with their holdings. This information can be used for internal back-office mapping purposes, or to take advantage of additional flexiblity in analytics by associating tags with the Lot Ids (see 'Tags' below for more details). Lot Ids should be created as case sensitive alphanumeric symbol ranging from 5 to 32 digits, and should remain constant through time for a given holding lot position.

Example:

DATE,        SEDOL,    Economic Exposure, tag:analyst, lotId
12/31/2018, 1234567, 2000000, Tennyson, AAPL_1
12/31/2018, 7654321, -1000000, Delavega, MSFT_1
12/31/2018, abc1234, 500000, Perrier, GOOG_1
12/31/2018, abc1234, 2800000, Tennyson, GOOG_2

Attributes (optional)

Similar to tags, attributes is another data structure that facilitates grouping & segmenting of portfolio positions. It is possible to upload and provide attribute values before defining the attribute category, however, to utilize grouping functionality, the attribute category has to be created. Customers can identify an attribute category using the prefix attr: to any column header. Attributes are case insensitive and can range from 5 to 32 characters.

Example:

DATE,        SEDOL,    Economic Exposure, attr:analyst, lotId
12/31/2018, 1234567, 2000000, Tennyson, AAPL_1
12/31/2018, 7654321, -1000000, Delavega, MSFT_1
12/31/2018, abc1234, 500000, Perrier, GOOG_1
12/31/2018, abc1234, 2800000, Tennyson, GOOG_2

Equity (aka NAV, AUM)
The equity, or net asset value, of the portfolio can be used to override portfolio's gross market value (GMV) -- for example, when a portfolio is leveraged, or references an allocation. The equity should be the same number, repeated for all positions, on the same date.

Start of Day Equity (cashflow)

In order to identify days with cashflows to the portfolio, the start of day equity value overrides the portfolio's calculated gross market value (GMV), or if provided, reference equity -- which are both taken from the previous day's (EOD) position set. The start of day equity should be the same number, repeated for all positions, on the same date.

Example:

DATE,        SEDOL,    Ticker, Economic Exposure, Equity,   StartingEquity
11/30/2018, 1234567, EXMP, 1500000, 2000000,
11/30/2018, 7654321, SMPL, -800000, 2000000,
12/01/2018, 1234567, EXMP, 2000000, 4000000, 3000000
12/01/2018, 7654321, SMPL, -1000000, 4000000, 3000000

Notice that at EOD 11/30/2018, the GMV of this book is 2300000, and the equity override for the portfolio is 2000000. Position weights on 12/1/2018 would normally using 2000000 as the denominator, but with the cashflow, position weights on this day are calculated relative to 3000000.

P&L (optional)

Total position-level realized and unrealized day to day gain/loss, expressed in dollars. If not provided, return will be calculated on a mark to market basis.

Model Provider ID

The unique security identifier used by the model data provider. This can be a required field for some model providers.


Basket Upload

To load a portfolio that holds a basket, we must first create and upload data for the basket. It is critical that the basket name matches the basket ticker in the position file that you intend to upload.

To backfill historical dates, you simply need to re-upload the historical position files with the matching ticker AFTER the basket has been loaded.

Ideally all names held within a basket are covered by a risk model. Baskets cannot accept an Equity override and therefore cannot be leveraged.

Watchlist Upload

Uploading a watchlist takes less inputs:

  • SEDOL (recommended)
    For best coverage & matching, it is best to include a list of SEDOLs. No other data is required if uploading with SEDOLs.

  • Ticker (optional)
    Bloomberg tickers may be provided. International tickers are input as ticker followed by the two-letter country code, with a space between. E.G. MSFT MX 

  • Date (optional)
    A date column can help map securities to a date when the security existed within the model, E.G. de-listed securities can be uploaded in the past. To properly process the date column, if one security uses a date then all securities must include a date.

Uploading data via the API

In addition to CSV uploads, it is possible to upload portfolios via the api.

Did this answer your question?