MSRB Realtime Reporting and Monitoring with Yield/Spread Calculations

This aggressive application performs a number of functions from both live feeds and batch downloads, integrating a number of external systems to present to the users all MSRB reported trades. A live feed via a fix engine is imported and converted every 30 seconds, then employing the Bloomberg API, data is updated at the cusip level to obtain both static(tax type, description, issuer, etc.) and dynamic data points(ratings, call features, etc.) . Five different types are yields (YTM,TYPar,TYPremium, YTSink, and YTAveragelife) are calculated, the YTWorst determined and spreads computed via benchmark data. The benchmarks for Treasuries are obtained every minute via the Bloomberg API while the MMD is imported from the previous days close. In addition, a batch download of the MSRB’s restated 1/5/20 days data is imported overnight and all yields, spreads and cusip data recomputed. This feature rich system allows full flexibility of column placements on the browser, contains complete filtering and sort capabilities, allows the user to create portfolios and highlights trades against these stored holdings, presents what-if scenarios, emphasizes new trades, as well as setting up cusips to employ different benchmarks. Lastly, since over 20 users access this program simultaneously, this application leverages the limitations of Bloomberg APIs per workstation, and traps for any write conflicts within SQL. In addition, since all salespeople and traders have this system running during the complete workday, an Inquiry function was added whereby request for specific bonds can be published to all users. The architecture stores data in a backend Sql database and performs most functions and yield calculations employing stored procedures, the front end utilizes MSAccess forms and reports, with functions written in VBCode. Any output can be generated as hard copy, excel spreadsheet or pdf files with automatic email options.