9.1 PRICING TOOL: INTERNALS

The pricing tool uses C++ as its chosen programming language to implement its logic. Its presentation layer is written using simple WinAPI functions. Although it does not have a database layer, it saves product and model information and pricing scenarios in XML format. It can also save and load certain information in comma-separate values, thus creating an easy bridge to spreadsheet applications popular in trading and risk management.

Figure 9.1 shows the high-level user interactions of the pricing tool as a UML use case diagram, where we have depicted the user as the usual stick man. Our initial interactions with the pricing tool fall into four categories:

  1. Definition. Our first order of business is to define products and associate models with them. The product and model creation interfaces allow us to save the definitions into XML files that we can read later for future use, further fine tuning or manipulation.
  2. Modification. We use the same product/model creation interfaces to edit them. The XML read and write extensions exist in this use case as well.
  3. Configuration. We define a model that takes the product parameters as its input to compute a set of outputs that we specify. Once we have defined a product–model pair, it is time to configure the model implementation. For this, we let the pricing tool create a skeleton implementation and add our quantitative and finance intelligence to it. We them compile it into a DLL and attach it to the product definition. ...

Get Principles of Quantitative Development now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.