Portfolio Management Software - Xignite Hit Calculation Examples

from Xand : Joel York - 31st December 1969

The opinions expressed by this blogger and those providing comments are theirs alone, this does not reflect the opinion of Automated Trader or any employee thereof. Automated Trader is not responsible for the accuracy of any of the information supplied by this article.

One of the most common financial applications of Xignite on-demand market data is portfolio management software. Portfolio management software is used by a wide range of Xignite customers including asset managers, wealth managers, hedge funds, financial advisers, broker-dealers and publishers of online portfolio websites. Each portfolio management software customer has unique requirements that vary across asset classes and update frequencies, however, the hit calculation required to select the right Xignite Web services subscription plans is essentially the same.

This is the third post in a blog series on hit calculation that will provide detailed example calculations for portfolio management software applications. The first post and second post in this series provided a comprehensive hit calculation tutorial as well as a general hit calculation spreadsheet. The examples in this post are also available in this sample portfolio management software hit calculation spreadsheet.

Single Hit Data Block for Portfolio Management Software

Every portfolio management software application will access a number of Xignite Web services covering a variety of asset classes (XigniteQuotes, XigniteFunds, XigniteFutures, XigniteOptions, XigniteMetals, etc.) to obtain the current price of each asset in each portfolio. Because Xignite Web services count hits uniformly as one hit per price quote, we can dramatically simplify the hit calculation using the single symbol, single hit data block described in the previous blog post in this hit calculation series, i.e., the number of symbols requested per month is equal to the number of hits per month.

Update Frequencies for Portfolio Management Software

As pointed out in the previous post in this series, the most important factor in determining usage is almost always the update frequency, or the number of requests to refresh the data each month.

Monthly Hits = # Symbols per Request x # Requests per Month

Therefore, we're going to break our portfolio management software examples into three application scenarios according to update frequency.

  • End-of-Day Portfolio Accounting System
  • Real-Time Portfolio Management Software
  • Online Portfolio Website

Each of these update scenarios has a unique trigger event: day, cache refresh, and page view respectively, giving the following hit calculation formulas for each respective scenario.

Monthly Hits = # Symbols per Day x # Days per Month

Monthly Hits = # Symbols per Cache Refresh x # Cache Refreshes per Month

Monthly Hits = # Symbols per Page View x # Page Views per Month

In the sections that follow, we'll use the formulas above to estimate the usage for each update frequency scenario above.

End-of-Day Portfolio Accounting System - Hit Calculation

The trick to calculating hits for portfolio management software is estimating the request population, or number of symbols per request, which for an end-of-day portfolio accounting system is given by the following formula.

Request Population = # Symbols per Day (by Asset Class)

Depending on the particular assets held in each portfolio, the result looks something like the table below.

Asset
Class
Total
Symbols
per Day
Total
Asset
Allocation
Monthly
Hits
Estimate
Plan Max
Monthly
Hits
Stocks 3,000 60% 60,000 60,000
Funds 1,000 20% 20,000 60,000
Futures 250 5% 5,000 6,000
Options 250 5% 5,000 6,000
Metals 500 10% 10,000 60,000

End-of-Day Portfolio Accounting System Hit Calculation

The table above is a simple tally of all symbols across all portfolios managed by the portfolio accounting system. Each symbol requires one price each day (equal to one hit). In this particular example, we've assumed that the portfolio accounting system will run its valuation routine twenty working days each month, hence the hits are equal to twenty times the number of symbols per day.

60,000 Monthly Stock Hits = 3,000 Symbols per Day x 20 Days per Month

Xignite subscription plans are generally available in increments of 600, 6,000, 60,000, and so on, therefore the subscription plan is determined by rounding up to the maximum number of hits available in each subscription plan.

Real-Time Portfolio Management Software - Hit Calculation

The hit calculation for real-time portfolio management software is essentially similar to that for the end-of-day portfolio accounting system above with a straightforward change to the update request frequency. To minimize response time, it makes sense for real-time portfolio management software to cache every symbol in every portfolio using the relevant Xignite Web services, and then serve individual portfolios from within the software application. Using the same symbol count as the example above and assuming a cache refresh rate of 5 updates per minute, the hit calculation for stocks is as follows.

48,000 Cache Refreshes per Month
= 5 refreshes/min x 60 mins/hr x 8 hrs/day x 20 days/mo

144,000,000 Monthly Stock Hits
= 3,000 Symbols per Refresh x 48,000 Refreshes per Month

Extending the calculation above to the other asset classes gives the table below as the complete hit calculation for our real-time portfolio management software.

Asset
Class
Total
Symbols
per Refresh
Total
Asset
Allocation
Monthly
Hits
Estimate
Plan Max
Monthly
Hits
Stocks 3,000 60% 144,000,000 Custom
Funds 1,000 20% 20,000 60,000
Futures 250 5% 12,000,000 60,000,000
Options 250 5% 12,000,000 60,000,000
Metals 500 10% 24,000,000 60,000,000

Real-time Portfolio Management Software Hit Calculation

As mentioned previously, the most important factor in determining usage is almost always the update frequency. Compared to our end-of-day portfolio accounting system, our real-time portfolio management software requires several orders of magnitude more hits (With the exception of funds which only have end-of-day NAV prices, assuming ETFs are included in stocks). In fact, since most Xignite standard subscription plans top out at 60 million hits, this particular application would require a custom quote for the real-time stock Web service (e.g., XigniteRealTime, XigniteGlobalRealTime, XigniteBATSLastSale, or XigniteNASDAQLastSale)

Online Portfolio Website - Hit Calculation

While it's possible to architect an online portfolio website to provide either end-of-day or real-time updates like the respective portfolio accounting system or portfolio management software examples above, it is more common to update each website visitor's portfolio on-demand each time a visitor requests a page displaying the portfolio. In this case, the relevant trigger event is a page view, and the associated request population is given by the following formula.

Request Population = # Symbols per Page View (By Asset Class)

The number of symbols per page view is simply the average number of symbols in a single portfolio. If we use the same total symbol count as in the two previous examples, and further assume that there are 1,000 registered users of our online portfolio website that view their portfolios twice a day on average, then the calculation will look something like the table below.

Asset
Class
Average
Symbols
per Page
View
Average
Portfolio
Asset
Allocation
Monthly
Hits
Estimate
Plan Max
Monthly
Hits
Stocks 60 60% 3,600,000 6,000,000
Funds 20 20% 1,200,000 6,000,000
Futures 5 5% 300,000 600,000
Options 5 5% 300,000 600,000
Metals 10 10% 600,000 600,000

Online Portfolio Website Hit Calculation

The average number of symbols per page view (symbols in a single portfolio) would normally be based on the specific portfolio holdings of the particular online portfolio website, but for this example we've used a little sleight of hand to make the calculation for our online portfolio website example as similar to the earlier end-of-day portfolio accounting system and real-time portfolio software examples. Here we've assumed 50% overlap in portfolio assets across all users, so to get the average symbols per page view we simply divided the total number of symbols in the previous examples by 1,000 users and then multiplied by 2 to adjust for overlapping assets. For example, the average number of stock symbols per page view = average number of stocks in a single portfolio = 60 = 2 x 3,000 / 1000.

The total number of hits is then determined by multiplying the number of symbols per page view by the total number of page views per month as in the formula above.

60,000 Page Views per Month
= 1,000 users x 2 views/day/user x 30 days/month

3,600,000 Monthly Stock Hits
= 60 Symbols per Page View x 60,000 Page Views per Month

It is worth noting that the number of hits for funds could be significantly reduced by caching the end-of-day NAVs instead of serving them on-demand. These three common examples demonstrate a number of recurring concepts that can be used for similar hit calculations.

  • Single Hit, Single Symbol Data Block (one hit per symbol)
  • Average Request Population (average symbols per portfolio or page view)
  • Common Event Triggers
    (EOD Updates vs. Real-time Caching vs. On-Demand Page Views)

In addition, they clearly demonstrate that update frequency is the most important factor in determining total hit usage. Future posts in this series will provide more hit calculation examples for the most common financial applications.

Share and Enjoy: email Twitter Facebook LinkedIn Digg StumbleUpon Technorati Suggest to Techmeme via Twitter del.icio.us Google Bookmarks Live FriendFeed

  • Copyright © Automated Trader Ltd 2014 - The Gateway to Algorithmic and Automated Trading

click here to return to the top of the page