Model

This type serves to hold everything that can be seen as "subjective", i.e. information that can be potentially disputed.In effect a Model object just holds a set of assumptions. Such assumptions are, for example, an assumed linear interpolation of zero rates or the gaussian dynamics of some stock price.

It is a necessary input to the Price and Value functions of Tradable and Quotable objects respectively.

The latter inspires a more precise definition of the Model type: A Model object contains that part of the input to the Value function that is neither a Date nor a Market.

In the Deriscope framework, every possible Deriscope Type is allowed to have a corresponding Model. Thus we can speak of a Model[Vanilla Option] which is a Model qualifying the Vanilla Option type.

Deriscope discourages the creation of Model types that do not directly correspond to some specific non-Model type.