Valuation is a of with functions , direct subtypes , keys and example object that represents a single piece of "Market Data" as opposed to a collection of several "Market Data".
Since Valuation is a of , it follows that any Valuation object can be treated as Market object as well.
A Valuation object always holds at least 3 things:
a) A object
b) a date that serves as the observation (or quoting) date
c) a value associated with the object in a) as of the date in b)
If the value has been calculated using specific Market and objects, then these objects are also part of the Valuation object.
This enables any given Valuation object to repeat its calculation algorithm anytime, without the help of additional inputs.
In other words, all Valuation objects do not contain just the value of the referred Quotable but also the calculation logic that resulted to that value.
Note the output of the Price and Value functions is always a Valuation object, which in turn is the most important input to those same functions, since the Market object is effectivelly a collection of Valuation objects!
This circular dependency in the framework - centered around the Valuation concept - substantially leverages the reusability of the Deriscope components.
Some Valuation examples include the current price of a specific Stock, the currently observed curve of swap rates (yield curve), the historical values of certain commodity prices, etc.