|
From: Luigi B. <lui...@gm...> - 2007-10-03 14:06:16
|
On Fri, 2007-09-28 at 10:12 +0100, Simon Ibbotson wrote: > The library is currently devised (from what I've seen) s.t. the market > data is given to the model or instrument as a specific type or set of > types. [...] I term this pattern the PUSH method. In it, the > business/quant knowledge specific to the model is split between the > model code (where the data is used) and the calling code (where the > data is constructed and allocated to the model. > > However, for system development and more complicated products, I much > prefer the PULL method. In this pattern, a generic market data > collection object is passed to the model and the model itself > determines which specific data is required for pricing. Simon, interesting idea. However, I'm not sure that I'd jump into it right now---I'm aiming for a 0.9.0 release by the end of the year and a 1.0 release shortly afterwards, with a couple of refactoring and some maintenance work to be done before that. In order to deliver the releases, I'd keep your idea for later. Since, as you said, it's an incremental modification (an instrument might implement both approaches, right?) it can be introduced in later releases without breaking backward compatibility (which we'll have to think about after we release 1.0) This said, I repeat: interesting idea. Why don't you sketch the implementation of one instrument so that we can go into details? Later, Luigi -- I hate quotations. -- Ralph Waldo Emerson |