List of QuantLibXL Functions

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

List of QuantLibXL Functions

David Brown-27
Hi Everyone-

   In the process of writing up a formal proposal for the class Peter
and I are enrolled in, we have started to understand the structure and
history of QuantLib.  One question which is not obvious to us is where
there is a list of the QuantLibXL functions.  More importantly, we
figured it is crucial to know which functions we want to implement to
a GNUmericAddIn.  Could someone please clarify this for us?
  My personal intution tells me that QuantLibXL is capable of using
every function built in to QuantLib, but I'm not completely certain on
this.  Thanks for all of your help!


Best Wishes,
David Brown


Reply | Threaded
Open this post in threaded view
|

Re: List of QuantLibXL Functions

eric ehlers
Hi David

> One question which is not obvious to us is where
> there is a list of the QuantLibXL functions.  

I list them below.  The code to register them is in source file
QuantLibXL\qlxl\xlAutoOpen.cpp.  I generated the list below by loading
QuantLibXL into Excel and running some VBA code to interrogate
Application.RegisteredFunctions.

NB QuantLibXL may be superceded by QuantLibAddin.     My thought is to
redesign QuantLibAddin to support separate modules, and then have one
module which is a port of QuantLibXL.

> More importantly, we
> figured it is crucial to know which functions we want to implement to
> a GNUmericAddIn.  

Are you thinking of writing a QuantLib Gnumeric plugin??  Jody, the
maintainer of Gnumeric, and I are talking about extending
QuantLibAddin to support Gnumeric - she's looking at the details now
and we're waiting to hear back from her.

Regards
Eric

mean RR
variance RR
standardDeviation RR
skewness RR
kurtosis RR
min RR
max RR
semiDeviation RR
semiVariance RR
downsideDeviation RR
downsideVariance RR
percentile RRR
valueAtRisk RRR
topPercentile RRR
potentialUpside RRR
expectedShortfall RRR
shortfall RRR
averageShortfall RRR
regret RRR
gaussianDownsideDeviation RRR
gaussianDownsideVariance RRR
gaussianPercentile RRRR
gaussianValueAtRisk RRRR
gaussianTopPercentile RRRR
gaussianPotentialUpside RRRR
gaussianExpectedShortfall RRRR
gaussianShortfall RRRR
gaussianAverageShortfall RRRR
gaussianRegret RRRR
xlholidayList RRRRR
xlaccrualDays RRRR
xlaccrualFactor RRRRRR
xlEuropeanOption RRRRRRRRRR
xlEuropeanOption_FD RRRRRRRRRRR
xlEuropeanOption_MC RRRRRRRRRRR
xlCliquetOption RRRRRRRRRR
xlCliquetOption_MC RRRRRRRRRRRRRRRRRRR
xlPerformanceOption RRRRRRRRRR
xlPerformanceOption_MC RRRRRRRRRRR
xlAmericanOption_FD RRRRRRRRRRR
xlQuantoEuropeanOption RRRRRRRRRRRRR
xlForwardEuropeanOption RRRRRRRRRRR
xlPerformanceEuropeanOption RRRRRRRRRRR
xlinterpolate RRRRRRRRRRRR
xlinterpolate2D RRRRRRRR
xlprimeNumbers RR
xleigenVectors RR
xleigenValues RR
xlpseudoSQRT RRR
xlrankReducedSQRT RRRRR
xlCholesky RRR
xlmatrixProduct RRR
xlmatrixTranspose RR
xlrand R!
xlrandomize RR
xlRandomNumberGenerator RRRRR
xlGaussianRandomNumberGenerator RRRRR
xlPathGenerator RRRRRRRRRRR
xlBrownianBridge RRRRRRRRRRR
xlCovFromCorr RRR
xlCorrFromCov RR
xlVolsFromCov RR
xlCombin RRR
xlBinomDist RRRRR
xlPeizerPratt RRR
xlPoisson RRRR
xlnormInv RRRR
xlnormSInv RR
xlnormDist RRRRR
xlnormSDist RR
xlBlackVol RRRRRRRR
xlLocalVol RRRRRRRRRR
xlDiscount RRRRR
xlZero RRRRR
xlForward RRRRRR
xlQLversion R!
xlQLhexversion R!
xlXLWversion R!
xlXLWhexversion R!
xlQLXLversion R!
xlQLXLhexversion R!


Reply | Threaded
Open this post in threaded view
|

Re: List of QuantLibXL Functions

eric ehlers
Hi Dave

I trust it's OK with you that I cc quantlib-dev in this response to
your attached message; the answers to your questions (some of which
were provided in Nando's earlier message) might be interesting for
others.

On Thu, 10 Feb 2005 09:22:41 -0500, David Brown <[hidden email]> wrote:
> Eric-
>
>    We want to do whatever can contribute to the project.  I saw the
> intent of QuantLibAddIn and it makes sense to me, we just thought that
> it wasn't coming along becuse it only had three functiosn listed in
> the webpages you sent us.  QuantLibXL appeared more developed, which
> it may be.

QuantLibXL is mature, QuantLibAddin is a few weeks old and just
getting ready for a first release which I would describe as a
prototype.  The QuantLibAddin design doc shows three functions in
order to illustrate the design; at the moment in the latest CVS
snapshot there are a dozen or so functions.

>    Just to get this straight:  QuantLibAddIn is going to do away with
> QuantLibXL by taking all of it's functionality.  

Yes, QuantLibAddin will be extended to support all functions currently
present in QuantLibXL and the goal will be complete backward
compatibility, so that a spreadsheet based on QuantLibXL can load
QuantLibAddin and see the same results.

> Moreover, your intent
> is to imbed all of the functions that QuantLibXL has and find a slick
> way of only having to write the functiosn once.  Instead of writing
> the functions multiple times, you are going to instead use multiple
> 'interfacing' formats which will achieve what you desire.

In the existing QuantLibAddin design, functions are defined once in a
core C++ library, which is further wrapped in platform-specific
functionality for target platforms.  The source code for these
platform-specific addins is generated automatically based on the
function definitions, so I'd say the 'slick way of only writing
functions once' is already implemented. :)

>    The list of interfaces given enough time wil  be:
>    1) Excel  2) OO Spreadsheet  3) GNUmeric  4)FpML  5) C++  6) C  etc
>
>   Am I correct in my thinking here?

The existing prototype supports Excel, OO, C, and C++.  Gnumeric
support is in the works.  The design could be extended to support any
platform that understands C++, and isn't limited to spreadsheets.

I wouldn't list FpML among the target platforms for QuantLibAddin.
QuantLibAddin clients on all target platforms - an Excel spreadsheet,
a standalone C++ executable, whatever - will all be able to
serialize/deserialize QuantLib objects to/from FpML using the design
already explained earlier in this thread.

>   In other words, FpML input would only be one of the many inputs that
> QuantLibAddIn handles.  (Is this correct?)

I'd say there are two ways QuantLibAddin could construct a
QuantLib::Instrument -
1) by calling its usual constructor
2) by calling the new constructor which accepts a TermSheet

>    I noticed that the QuantLibXL cell calls all started with QL.  Did
> the name QL get cut out when you compiled a list of all functions?

The method I used listed the function's name as it appears in the list
of symbols exported by the DLL - the spreadsheet addin gives each of
these symbols an alias which is the QL_xxx.

> Best Wishes,
> David Brown

Best Regards
Eric


Reply | Threaded
Open this post in threaded view
|

Re: List of QuantLibXL Functions

eric ehlers
For info I revise (retract!) comments I made below to reflect feedback
from Nando:

> >    Just to get this straight:  QuantLibAddIn is going to do away with
> > QuantLibXL by taking all of it's functionality.

> Yes, QuantLibAddin will be extended to support all functions currently
> present in QuantLibXL and the goal will be complete backward
> compatibility, so that a spreadsheet based on QuantLibXL can load
> QuantLibAddin and see the same results.

No.  QuantLibXL won't be ported to QuantLibAddin.  If QuantLibXL
support is discontinued the last version will always be available and
people who need backward compatibility can just use that.  Where
sensible QuantLibXL functionality may be replicated in QuantLibAddin,
possibly with a revised interface.

Regards,
Eric