The fundamental design goal of the pricing tool is a total separation between the user interface and the product–model modules of the program. This separation enables us to work independently on the functionality features of the program (data types, visualization, analysis, etc.) that apply to all the products and models we define.

8.2.1 Pricing tool features

Listed below are the main features of the pricing tool in its current version:

  1. Interactive definition of new products. The pricing tool lets us define new products on the fly. It has a dedicated self-adapting GUI to define new products, which we can save for future use. We can also define a set of products that will be loaded at the program initialization.
  2. Dynamic definition of models, and pricing functions. Once we define a product, the pricing tool helps us define and create one or more models that we can attach to it, and start pricing it. Like the product definition GUI, the model definition also uses its own dedicated GUI.
  3. Autogeneration of a model template. The pricing tool can generate function templates to get us started in coding the model. The generated C++ code is ready to be compiled, and requires only minimal effort to integrate existing pricing model intelligence.
  4. Ability to save and load product and model definitions. The program can save the products and models that we define, so that we can reuse them. In the current implementation, the pricing tool uses XML to save products ...

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.