StatPro Revolution Web API


The Portfolio Impact Dates Resource


Overview

The Portfolio Impact Dates resource represents a set of portfolios and their earliest impact dates. For any given portfolio, changes to underlying data can take place at any point in time. When such changes take place then the impact of these changes is recorded for the portfolio as a date representing the earliest date the portfolio has been impacted from, the date and time the change took place and the cause of the impact (e.g. a holdings import etc). Many different successive changes may take place related to a portfolio all with different earliest impact dates. Requests to this resource allow for identifying the earliest of these earliest impacts since a specified date and time for one or more portfolios. This is useful for programatically determining whether or not historical data might have changed since a point in time and thus could be used to dynamically determine whether pre-existing extracted data needs to be re-extracted due to data corrections that might have been made.

To illustrate, here is an example:

A single quantity based holdings import is performed on 21st May 2018 at 09:00 AM (UTC). That import re-loads holdings to Portfolio A from 2nd May 2018 and holdings for Portfolio B from 20th May 2018. A single benchmark constituents import is performed shortly afterwards on 21st May 2018 10:00 AM (UTC). That import re-loads benchmark constituents to a custom benchmark that is used by Portfolio A only. The benchmark data is re-loaded from 30th April 2018.

If after these two imports have occurred, a request is made to the portfolio impact dates resource passing in a startDateTimeUTC of '20180521T050000Z' and leaving the dataChangeTypes empty, then since this date and time is before both of these events have occurred, then two portfolio impacts will be retrieved, one for each portfolio. Portfolio A will have an earliest impact date of 30th April 2018 (the earliest date across the two imports) and Portfolio B will have an earliest impact date of 20th May 2018.

If instead after these two imports have occurred, a request is made passing in a startDateTimeUTC of '20180521T093000Z' and leaving the dataChangeTypes empty (i.e. after the first portfolio holdings import but before the second benchmark constituents import), then one portfolio impact will be retrieved. This will be for Portfolio A from 30th April 2018 since this was the only portfolio that will have been impacted since that time.

Requests for the Portfolio Impact Dates resource allows for extracting earliest impact dates for a specified set of portfolios or all portfolios accessible to the user. Additional filters can be used to only consider impacts for specific types of change. For further details of these filters refer to the documentation for further details of the portfolio-impact-dates link relation.


Media types

The Portfolio Impact Dates resource is exposed via XML and JSON representations, which have the following media type names:-

application/vnd.statpro.revolution.api.portfolio-impact-dates+json

application/vnd.statpro.revolution.api.portfolio-impact-dates+xml

When a response is received from the web service with status 200 (= OK), the fact that the response contains a Portfolio Impact Dates resource representation is indicated by the presence of one of these two response headers:-

Content-Type: application/vnd.statpro.revolution.api.portfolio-impact-dates+json; charset=utf-8

Content-Type: application/vnd.statpro.revolution.api.portfolio-impact-dates+xml; charset=utf-8


Related resources

The Portfolio Impact Dates resource links to the Service resource and itself. To do so, its resource representations use link relations:-

  • service
  • self

The service link relation identifies the Service resource link.

The self link relation identifies the Portfolio Impact Dates resource link, in which the representation is the same as the one that has been currently retrieved (so long as the underlying data on the server hasn't changed).


Update history

  • Initial Version - May-2018

Annotated Representation (JSON)

Legend

{
  "portfolioImpactDates": {
    "links": {
      "service": {
        "rel": "service",
        "href": "...",
        "type": "application/vnd.statpro.revolution.api.service+json"
      },
      "self": {
        "rel": "self",
        "href": "...",
        "type": "application/vnd.statpro.revolution.api.portfolio-impact-dates+json"
      }
    },
    "items": [
      {
        "portfolioId": "ff3a144e-9f9d-4691-8481-065a021ad528",
        "impactedFrom": "2018-04-22"
      },
      {
        "portfolioId": "5f23177e-515f-465a-be3d-386312bc2e55",
        "impactedFrom": "2018-04-17"
      }
    ]
  }
}


Annotated Representation (XML)

Legend

<?xml version="1.0" encoding="utf-8"?>
<portfolioImpacts xmlns="http://statpro.com/2012/Revolution">
  <link rel="service"
        href="..."
        type="application/vnd.statpro.revolution.api.service+xml" />
  <link rel="self"
        href="..."
        type="application/vnd.statpro.revolution.api.portfolio-impact-dates+xml" />
  <portfolioImpacted>
    <portfolioId>ff3a144e-9f9d-4691-8481-065a021ad528</portfolioId>
    <impactedFrom>2018-04-22</impactedFrom>
  </portfolioImpacted>
  <portfolioImpacted>
    <portfolioId>5f23177e-515f-465a-be3d-386312bc2e55</portfolioId>
    <impactedFrom>2018-04-17</impactedFrom>
  </portfolioImpacted>
</portfolioImpacts>


Last updated: May 2018


To Top