Patent ID: 7392213

Claim:
A system for use in developing risk management software, said system comprising an object-oriented library of library objects stored on a computer-readable storage medium, said library comprising: (a) a first plurality of library objects for use in generating scenarios data, comprising a plurality of generators passable to at least one software component that requires data provided by said generators, wherein each of said plurality of generators produces elements of a sequence governed by a sequential process, wherein each generator comprises a common generator interface, where said common generator interface comprises a first function that generates the next element of said sequence and a second function that returns the element most recently generated by said first function; (b) a second plurality of library objects for calculating instrument values, comprising at least one of i. a plurality of maps, wherein each map comprises a common map interface, wherein said common map interface comprises a third function that receives as input a first object of a first type, transforms said first object according to a pre-defined rule to produce a second object of a second type, and returns said second object, and ii. a plurality of accumulators, wherein each accumulator comprises an internal state and a common accumulator interface, said internal state having a current value, said current value being a function of one or more past values of said internal state and one or more data values received as input by said accumulator, said common accumulator interface comprising a fourth function to receive as input said one or more data values and to update said internal state to a new current value, and a fifth function that returns a value corresponding to the current value of the internal state; and (c) a third plurality of library objects comprising a plurality of operations, said plurality of operations defined to operate on at least one generator of said plurality of generators and at least one other operand in an expression to produce a new generator; said new generator for use in performing a simulation to obtain prices for a plurality of instruments over a plurality of scenarios.