# 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.