Some beginners questions

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Some beginners questions

Michele Ravani-2
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