Hi
as mentioned in the Subject, I am a beginner as I have discovered QL only today (although I've been sure for months that there must have been something somewhere) and I only had a very superficial scan of website, docs and code. Therefore I will speak with the arrogance of the ignorant ;o), who BTW hasn't been coding for quite a while (we are talking years here). I've read the QuEP5 and I have a few more or less related questions. 1) Decoupling I have the impression that the decoupling between instruments and pricing engines could be pushed further. The usage of templates, e.g. one for each arguments, results and engine would completely separate the instruments and the engines. In principle, they would act a bit like interfaces in java and I have the feeling that it would be more flexible than abstract classes. For instance, Vadim could create a class with the 'right interface' and implement it in such a way that the given pricer is instantiated at the last moment following some internal selection mechanism. A proxy so to say. As another example, I may implement a pricer proxy covering arguments and results in a single class, which contacts a very powerful machine via a network connection and ask it to compute. OTOH, one could do it also with the current design. May be it would be better to use an Handle to the pricer, but a special one which supports lazy instantiation, so that Vadim wouldn't have to instantiate anything until he'll use the pricer. 2) Performance and scalability IMHO, financial libraries should be able to support the creation of multi-tier application which satisfy the needs of today's financial industry (ok, I am statig the obvious). This means that one must be able to deliver applications delivering the results from complex pricing models, optimizations, etc in split seconds (program trading) or be able to process very large numbers of trades within useful time frames (risk mgmt) and sometimes both. Computing power is usually not a problem as banks usually can pay or at least were able to pay ;o) (one can even get it cheap by reusing old PCs with Linux as we did a couple of years back). However, the architecture of the used libraries (and the applications built upon them) must be such that the available or the added power can be exploited. SMP systems or parallel computing are the most common technologies I guess. For instance, is QL using or planning to use multi-threading? I haven't seen any, but as I said I haven't seen much yet. Could you give me your views? Apologies if I was talking b***ocks. Ciao -- Michele Ravani [hidden email] "Those who live hoping, die singing" My Gran |
Free forum by Nabble | Edit this page |