Java wrapper test program using Eclipse 3.1.1

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

Re: Quantlib, OH, QuantlibAddin environment variables.

eric ehlers
Hi Joe,

- Those environment variables are required only at compile time, not at run time
- In particular, QLA requires variables QL_DIR and OBJECT_HANDLER_DIR
when linking (at compile time) to the corresponding libraries.  The
variable QUANTLIBADDIN_DIR is not used at all, unless you have your
own projects which rely on it (sounds like you don't)
- The only run-time requirement regarding environment variables, is
that any required DLLs appear in your PATH.  For example your PATH
variable would usually include the directory C:\WINDOWS\SYSTEM32 and
you could copy the log4cxx DLL to that directory

We'll shortly be releasing QLA version 0.3.12 which will simplify
things further:
- The use of the log4cxx DLL is discontinued
- The release provides a binary installation of the QLA XLL, into
which all prerequisites have been statically linked, the
installation/use of this build doesn't rely on any environment
variables whatsoever

Very interested to hear that you're looking at the OpenOffice Calc
addin.  Please let me know how you get on with that.

Regards,
Eric

On 3/27/06, Joe Byers <[hidden email]> wrote:

> I am working with the QuantlibAddin and I have questions about the
> environment variables that we create.  QL_DIR, QUANTLIBADDIN_DIR, and
> OBJECT_HANDLER_DIR are the variables of interest.  I am working on this on a
> WinXP machine and do not think I will have these questions on my LINUX
> machine because LINUX install everything to /usr/XXX/XXXX.
>
> Can I put all the static libraries in one location like
> \Libraries\QLSTUFF\lib and the addin will work?  For Excel and OO?
>
> Or do I need to have seperate lib directories for each QL module?
>
> I would like to install QL in our Risk Management lab at the University of
> Tulsa.
>
>
> Thank you
> Joe Byers
>
>
>
> A man is not the center of his universe, rather those he loves are. So his
> focus should always be on them for they will provide him with love and
> happiness all of his life - Anonymous
>
>  ________________________________
> Blab-away for as little as 1¢/min. Make PC-to-Phone Calls using Yahoo!
> Messenger with Voice.
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Quantlib, OH, QuantlibAddin environment variables.

Joe Byers-2
Eric,

Thank you for your help.  I like the future plans.  I had trouble with the log4cxx.dll until I found the note in the help documents on this and the OO.  I can install the  *.lib files anywhere then as long as they are on my path.

The OpenOffice is not going well.  I was trying to compile it at my university office and had all kinds of trouble with the OO programs that set it up.  I had to give up and go teach that evening:).  I will work on it some more next week.  I am interested in cross compatibility and portability across OS's.  I hate reinventing the wheel when a prototype program needs to be moved to a Linux or other server.

I still use the old QuantlibXL and will continue for a while.
1.  The risk management / stat / math functions are not in QuantlibADDIN.  I really liked those.
2.  The Greeks are available for the options in QuantlibXL not in QuantlibADDIN
3.  QuantlibADDin is quite complicated and requires a well rounded understanding of Quantlib.  QuantlibXL does not.  Simplicity is a plus for teaching and consulting.

I use Espen G. Haug's "The Complete Guide to Option Pricing" where I created and xl addin from the disk with the book for teaching basic option theory, pricing, and trading.  This book is a simple and clear presentation of option formulas and examples.  No Theory, which the student appreciate.  But I would like a more production oriented software for larger projects.  I think Quantlib will do that.  I compare Quantlib to FEA (www.fea.com), TechHackers, and a couple of others.  I think that many of the quantlib functions could be loaded into a database system like ORacle or MYSQL if the User Defined Function wrapper for the DB to Quantlib.  This would be an interesting project to see started.

Again,  thanx for you help
Joe Byers



eric ehlers <[hidden email]> wrote:
Hi Joe,

- Those environment variables are required only at compile time, not at run time
- In particular, QLA requires variables QL_DIR and OBJECT_HANDLER_DIR
when linking (at compile time) to the corresponding libraries. The
variable QUANTLIBADDIN_DIR is not used at all, unless you have your
own projects which rely on it (sounds like you don't)
- The only run-time requirement regarding environment variables, is
that any required DLLs appear in your PATH. For example your PATH
variable would usually include the directory C:\WINDOWS\SYSTEM32 and
you could copy the log4cxx DLL to that directory

We'll shortly be releasing QLA version 0.3.12 which will simplify
things further:
- The use of the log4cxx DLL is discontinued
- The release provides a binary installation of the QLA XLL, into
which all prerequisites have been statically linked, the
installation/use of this build doesn't rely on any environment
variables whatsoever

Very interested to hear that you're looking at the OpenOffice Calc
addin. Please let me know how you get on with that.

Regards,
Eric

On 3/27/06, Joe Byers wrote:

> I am working with the QuantlibAddin and I have questions about the
> environment variables that we create. QL_DIR, QUANTLIBADDIN_DIR, and
> OBJECT_HANDLER_DIR are the variables of interest. I am working on this on a
> WinXP machine and do not think I will have these questions on my LINUX
> machine because LINUX install everything to /usr/XXX/XXXX.
>
> Can I put all the static libraries in one location like
> \Libraries\QLSTUFF\lib and the addin will work? For Excel and OO?
>
> Or do I need to have seperate lib directories for each QL module?
>
> I would like to install QL in our Risk Management lab at the University of
> Tulsa.
>
>
> Thank you
> Joe Byers
>
>
>
> A man is not the center of his universe, rather those he loves are. So his
> focus should always be on them for they will provide him with love and
> happiness all of his life - Anonymous
>
> ________________________________
> Blab-away for as little as 1¢/min. Make PC-to-Phone Calls using Yahoo!
> Messenger with Voice.
>
>
>



A man is not the center of his universe, rather those he loves are. So his focus should always be on them for they will provide him with love and happiness all of his life - Anonymous


New Yahoo! Messenger with Voice. Call regular phones from your PC for low, low rates.
Reply | Threaded
Open this post in threaded view
|

Re: Quantlib, OH, QuantlibAddin environment variables.

eric ehlers
Hi Joe,

>  I can install the  *.lib files anywhere then as long as they are on my
> path.

The *.lib files aren't installed whatsoever.  When QLA is compiled,
the location of the QL/OH *.lib files is indicated by
QL_DIR/OBJECT_HANDLER_DIR.  At run time the *.lib files aren't
referred to at all.  The only thing that needs to be installed to your
PATH is the log4cxx DLL though as mentioned this requirement
disappears with version 0.3.12 which I hope to release this evening.

> The OpenOffice is not going well.  I was trying to compile it at my
> university office and had all kinds of trouble with the OO programs that set
> it up.  I had to give up and go teach that evening:).  I will work on it
> some more next week.  I am interested in cross compatibility and portability
> across OS's.  I hate reinventing the wheel when a prototype program needs to
> be moved to a Linux or other server.

Sorry to hear that you're having trouble installing OO, but it's
understandable as the build process is long and cryptic.  Don't
hesitate to give me a shout if you need help.

> I still use the old QuantlibXL and will continue for a while.
> 1.  The risk management / stat / math functions are not in QuantlibADDIN.  I
> really liked those.
> 2.  The Greeks are available for the options in QuantlibXL not in
> QuantlibADDIN

I'll have a look at the feasibility of porting that functionality to
QLA - at first glance it seems straightforward.

> 3.  QuantlibADDin is quite complicated and requires a well rounded
> understanding of Quantlib.  QuantlibXL does not.  Simplicity is a plus for
> teaching and consulting.

Absolutely.  Inherent in the QLA design is a requirement that the user
be familiar with the QL object model, which makes for a steeper
learning curve.

> I use Espen G. Haug's "The Complete Guide to Option Pricing" where I created
> and xl addin from the disk with the book for teaching basic option theory,
> pricing, and trading.  This book is a simple and clear presentation of
> option formulas and examples.  No Theory, which the student appreciate.  But
> I would like a more production oriented software for larger projects.  I
> think Quantlib will do that.  I compare Quantlib to FEA (www.fea.com),
> TechHackers, and a couple of others.  I think that many of the quantlib
> functions could be loaded into a database system like ORacle or MYSQL if the
> User Defined Function wrapper for the DB to Quantlib.  This would be an
> interesting project to see started.

The DB idea sounds interesting.  If you like, as an initial step we
could flesh it out a bit further and document it in the "Proposed
Enhancements" section of the QLA design doc:
http://quantlib.org/quantlibaddin/design.html#sec_5

> Again,  thanx for you help

With pleasure, and thanks for your feedback.

Regards,
Eric


Reply | Threaded
Open this post in threaded view
|

Re: Quantlib, OH, QuantlibAddin environment variables.

Joe Byers-2
Eric,

I think fleshing it out a bit more is a good Idea.  I think it requires a global objective for WHY this would be beneficial for an individual or firm.  Also, an initial pass at a list of DB's for the functions is needed. 

I am in the rough start up phase of working on a proposal with two professors here at the Univeristy of Tulsa on a database schema for the financial industry that is Sarbanes Oxley compliant with audit trails.  This schema will have a design for data warehousing of finanical security prices and derivative prices.  I also want it to have the ability to hold the paramters for pricing the derivatives.  That is the arguments quantlib functions needs.  This way one can have a database of their positions or in prices for a research project.  The default or modified arguments are saved and the portfolio can be revalued or research conducted easily on a few or several thousand derivative instruments.

This ability to value a portfolio of derivative instruments inside a DB is what I see as the objective for this project.    Individuals, researcher, and companies could benefit applicable to front, mid, and back office operations.

Let me know where this needs to go from here.

Have a good day.

Joe




eric ehlers <[hidden email]> wrote:
Hi Joe,

> I can install the *.lib files anywhere then as long as they are on my
> path.

The *.lib files aren't installed whatsoever. When QLA is compiled,
the location of the QL/OH *.lib files is indicated by
QL_DIR/OBJECT_HANDLER_DIR. At run time the *.lib files aren't
referred to at all. The only thing that needs to be installed to your
PATH is the log4cxx DLL though as mentioned this requirement
disappears with version 0.3.12 which I hope to release this evening.

> The OpenOffice is not going well. I was trying to compile it at my
> university office and had all kinds of trouble with the OO programs that set
> it up. I had to give up and go teach that evening:). I will work on it
> some more next week. I am interested in cross compatibility and portability
> across OS's. I hate reinventing the wheel when a prototype program needs to
> be moved to a Linux or other server.

Sorry to hear that you're having trouble installing OO, but it's
understandable as the build process is long and cryptic. Don't
hesitate to give me a shout if you need help.

> I still use the old QuantlibXL and will continue for a while.
> 1. The risk management / stat / math functions are not in QuantlibADDIN. I
> really liked those.
> 2. The Greeks are available for the options in QuantlibXL not in
> QuantlibADDIN

I'll have a look at the feasibility of porting that functionality to
QLA - at first glance it seems straightforward.

> 3. QuantlibADDin is quite complicated and requires a well rounded
> understanding of Quantlib. QuantlibXL does not. Simplicity is a plus for
> teaching and consulting.

Absolutely. Inherent in the QLA design is a requirement that the user
be familiar with the QL object model, which makes for a steeper
learning curve.

> I use Espen G. Haug's "The Complete Guide to Option Pricing" where I created
> and xl addin from the disk with the book for teaching basic option theory,
> pricing, and trading. This book is a simple and clear presentation of
> option formulas and examples. No Theory, which the student appreciate. But
> I would like a more production oriented software for larger projects. I
> think Quantlib will do that. I compare Quantlib to FEA (www.fea.com),
> TechHackers, and a couple of others. I think that many of the quantlib
> functions could be loaded into a database system like ORacle or MYSQL if the
> User Defined Function wrapper for the DB to Quantlib. This would be an
> interesting project to see started.

The DB idea sounds interesting. If you like, as an initial step we
could flesh it out a bit further and document it in the "Proposed
Enhancements" section of the QLA design doc:
http://quantlib.org/quantlibaddin/design.html#sec_5

> Again, thanx for you help

With pleasure, and thanks for your feedback.

Regards,
Eric



A man is not the center of his universe, rather those he loves are. So his focus should always be on them for they will provide him with love and happiness all of his life - Anonymous


Yahoo! Messenger with Voice. Make PC-to-Phone Calls to the US (and 30+ countries) for 2¢/min or less.
Reply | Threaded
Open this post in threaded view
|

Re: Quantlib, OH, QuantlibAddin environment variables.

eric ehlers
Hi Joe,

Many thanks for the additional info.  Some things you might want to look at:

- Value Objects:  This feature has been implemented in CVS for release
in OH version 0.1.4/QLA version 0.3.13.  All QL/QLA objects stored in
OH have a corresponding VO which is generated automatically and stores
a snapshot of the input values to the object's constructor.  The idea
is to extend OH to support serialization of VOs and this might tie in
with your requirement for the database schema to be able to hold the
data necessary to price derivatives.  We'd need to consider the usual
questions which arise when interfacing an object oriented environment
such as QuantLib with a SQL database.

- On the subject of serialization please see also previous discussions
on that subject in the mailing list:

http://sourceforge.net/mailarchive/forum.php?thread_id=6507779&forum_id=4300
http://sourceforge.net/mailarchive/forum.php?thread_id=6539684&forum_id=4300
http://sourceforge.net/mailarchive/forum.php?thread_id=6540997&forum_id=4300
http://sourceforge.net/mailarchive/forum.php?thread_id=6543552&forum_id=4300
http://sourceforge.net/mailarchive/forum.php?thread_id=6700844&forum_id=4300

- Source Generation:  At present the source code for QLA functions is
generated automatically by python application srcgen based on metadata
stored in XML files.  We should consider whether srcgen could be
extended to generate your UDFs.

If you'd like to formalize your current thoughts into a high-level
document I'd be happy to post that on the QLA website.  It would be
good to publish the fact that this requirement has been identified,
for the benefit of anyone else who may come along with a similar
interest.

As to subsequent steps, at this point I don't anticipate personally
implementing this but I'd be happy to support any effort on the part
of yourself or anyone else who takes an interest.

Regards,
Eric

On 3/27/06, Joe Byers <[hidden email]> wrote:

> Eric,
>
> I think fleshing it out a bit more is a good Idea.  I think it requires a
> global objective for WHY this would be beneficial for an individual or firm.
>  Also, an initial pass at a list of DB's for the functions is needed.
>
> I am in the rough start up phase of working on a proposal with two
> professors here at the Univeristy of Tulsa on a database schema for the
> financial industry that is Sarbanes Oxley compliant with audit trails.  This
> schema will have a design for data warehousing of finanical security prices
> and derivative prices.  I also want it to have the ability to hold the
> paramters for pricing the derivatives.  That is the arguments quantlib
> functions needs.  This way one can have a database of their positions or in
> prices for a research project.  The default or modified arguments are saved
> and the portfolio can be revalued or research conducted easily on a few or
> several thousand derivative instruments.
>
> This ability to value a portfolio of derivative instruments inside a DB is
> what I see as the objective for this project.    Individuals, researcher,
> and companies could benefit applicable to front, mid, and back office
> operations.
>
> Let me know where this needs to go from here.
>
> Have a good day.
>
> Joe


Reply | Threaded
Open this post in threaded view
|

Re: spread not used within some of the capfloor engine classes

Luigi Ballabio
In reply to this post by Toyin Akin
On 03/22/2006 06:27:48 AM, Toyin Akin wrote:
> Apart from the blackcapfloorengine class, I do not believe that any  
> of the other capfloor engine classes use the spread value stored with  
> the cashflow coupons.

Toyin,
        you're right. I'm puzzled though---do caps and floors allow a  
spread? Maybe we should just check that no spread is provided?

Later,
        Luigi


----------------------------------------

There are two ways to write error-free programs; only the third one  
works.
-- unknown


Reply | Threaded
Open this post in threaded view
|

RE: Re: spread not used within some of the capfloor engine classes

Toyin Akin
Hi,

Good question, I would have thought so though as if one has a floating rate
leg with a spread, you would certainly want to cap this structure.

I don't think it's a good idea to throw an error because if I wanted to
price a fix/float swap where the float leg has a spread, passing these legs
to the swap class works, but I would have to define the float leg again
without the spread just for the capfloor class to work.

For swaps you have the same case, however the spread is processed correctly
(moved onto the fix leg) before being processed by the swaption engine
classes.

I would have though that the same could be done for caps (spread moved onto
the strike)

See :
http://www.fincad.com/support/developerfunc/mathref/Callable%20Capped%20Floaters.htm

for the treatment of spreads (Equation #3).

Thanks for looking at this...
Toy out.

>From: Luigi Ballabio <[hidden email]>
>To: Toyin Akin <[hidden email]>
>CC: [hidden email]
>Subject: [Quantlib-users] Re: spread not used within some of the capfloor
>engine classes
>Date: Tue, 04 Apr 2006 11:44:10 +0200
>
>
>On 03/22/2006 06:27:48 AM, Toyin Akin wrote:
>>Apart from the blackcapfloorengine class, I do not believe that any  of
>>the other capfloor engine classes use the spread value stored with  the
>>cashflow coupons.
>
>Toyin,
> you're right. I'm puzzled though---do caps and floors allow a  spread?
>Maybe we should just check that no spread is provided?
>
>Later,
> Luigi
>
>
>----------------------------------------
>
>There are two ways to write error-free programs; only the third one  works.
>-- unknown
>
>
>-------------------------------------------------------
>This SF.Net email is sponsored by xPML, a groundbreaking scripting language
>that extends applications into web and mobile media. Attend the live
>webcast
>and join the prime developer group breaking into this new coding territory!
><a href="http://sel.as-us.falkag.net/sel?cmd=lnk&kid0944&bid$1720&dat1642">http://sel.as-us.falkag.net/sel?cmd=lnk&kid0944&bid$1720&dat1642
>_______________________________________________
>Quantlib-users mailing list
>[hidden email]
>https://lists.sourceforge.net/lists/listinfo/quantlib-users




Reply | Threaded
Open this post in threaded view
|

Quantlib 3.12, Object Handler 1.3 and, Quantlib Addin3.12

Joe Byers-2
In reply to this post by eric ehlers
Quantlib developers,

I want to praise you for the new version of Quantlib 1.3 and many of the enhancements.  A fine job done.

I want to give failing marks to the developers on the new versions of Object handler and the Quantlib Addin.  They have taken a project that required good knowledge of compiling and deploying the 3 applications (remember OO had to have log4cxx 9.7 as well) to a project that requires expertise for compiling and deploying.  The modifications of log4cxx 9.7 are a blasphemy.  One log4cxx is 9.7 no longer under development by apache.  A new version is scheduled.  Your version of log4cxx does not have the dll project in the msvc project file and the compilation errors are horrendous to over come.  The simplesocketserver I can not get to compile no matter what I do.

Quantlib addin is also poor.  CPP get all kinds of C4530 error in the stock VC code, C3861 snprintf in log4cxx and c1083 alloca.h not found in tchar.h

The installation and help are not 'helpful' at all.  A step by step installation with details to the project properties in MSVC or Eclipse or gcc would be nice.  That way if anyone has some minor differences on their system, they can map to your defaults.

Why are you using the logger?  The software is complicated enough as it is.  OO does not seem to provide any benefits but adding complexity.  I understand the 'objectives' and goals of OO but not the reason for the complexity.

It boils down to if you want Quantlib to be used it has to be as easy to install the various components as it is to install Financial Eng. Asso. www.fea.com, techhackers, or the any other proprietairy quantitative software.

I am only tyring to provide constructive criticism here.  I would like to add that I am not a C programer or systems analysts.  Only a meager professor of Finance and consultant trying to make life easier for myself, my students and colleagues with useful software.

Good luck
Thank you
Joe W. Byers
Professor of Finance
The University of Tulsa
Tulsa OK


A man is not the center of his universe, rather those he loves are. So his focus should always be on them for they will provide him with love and happiness all of his life - Anonymous


Love cheap thrills? Enjoy PC-to-Phone calls to 30+ countries for just 2¢/min with Yahoo! Messenger with Voice.
Reply | Threaded
Open this post in threaded view
|

Re: Quantlib 3.12, Object Handler 1.3 and, Quantlib Addin3.12

eric ehlers
Hi Joe,

Sorry you're having trouble compiling QuantLibAddin.  The build
process is complicated with lots of opportunities for problems.

Before responding to your specific points let me point out in case you
haven't seen already that QuantLibAddin is available as a binary
installation - download the file QuantLibAddin-0.3.12-bin.exe and
launch it and it should install the compiled XLL and example workbooks
to your machine.

On 4/12/06, Joe Byers <[hidden email]> wrote:
> I want to give failing marks to the developers on the new versions of Object
> handler and the Quantlib Addin.  They have taken a project that required
> good knowledge of compiling and deploying the 3 applications (remember OO
> had to have log4cxx 9.7 as well) to a project that requires expertise for
> compiling and deploying.

In what way do you feel that the build/deployment process has become
more complex in the latest release of OH/QLA?  The main change is that
we link to log4cxx statically rather than dynamically - so it's no
longer necessary to deploy the log4cxx DLL.  This change was intended
to simplify the build/deployment process - do you feel it's had the
opposite effect?  Or do you feel the process has been complicated in
other ways?

> The modifications of log4cxx 9.7 are a blasphemy.
> One log4cxx is 9.7 no longer under development by apache.  A new version is
> scheduled.

Yes, log4cxx 0.9.7 is discontinued and a new version of log4cxx is on
the way.  The log4cxx maintainers point out that 0.9.7 has many bugs
and advise users to grab the latest CVS snapshot of the upcoming
release.

Based on the following considerations ...

1) Whatever bugs exist in log4cxx version 0.9.7 don't seem to impact
its use in OH
2) I don't want to make OH dependent on a CVS version of log4cxx which
is subject to change at any time

... I've decided to continue using log4cxx 0.9.7 for OH until a stable
release of the new version of log4cxx is available.

Note that the new release of log4cxx seems permanently stalled in
pre-release - it's been under development for 2 years with little
signs of progress.

> Your version of log4cxx does not have the dll project in the
> msvc project file

The dll project is no longer required for ObjectHandler/QuantLibAddin.
 OH/QLA depends on the log4cxx static build.

> and the compilation errors are horrendous to over come.

Please send details and I'll try to help you resolve them.

> The simplesocketserver I can not get to compile no matter what I do.

simplesocketserver is not required for OH/QLA.

> Quantlib addin is also poor.  CPP get all kinds of C4530 error in the stock
> VC code, C3861 snprintf in log4cxx and c1083 alloca.h not found in tchar.h

I'd be happy to try and help you resolve the build problems. I'd
suggest working through the installation step by step - if you haven't
succeeded in building log4cxx then there's not much point in
proceeding to its dependents.  Please also see the QuantLibAddin FAQ -
http://www.quantlib.org/quantlibaddin/faq.html - e.g. the section
'Build and Execute Prerequisite Examples.'

> The installation and help are not 'helpful' at all.  A step by step
> installation with details to the project properties in MSVC or Eclipse or
> gcc would be nice.  That way if anyone has some minor differences on their
> system, they can map to your defaults.

I believe the installation instructions are complete (if there's a
step missing please let me know and I'll update the docs).  You're
talking about increasing the detail and scope of the documents.  I'm
not in favor of that, the existing instructions are adequate in
guiding an experienced programmer to build OH/QLA, and I don't believe
its possible to extend the scope/detail of the document without
reducing its relevance.  For example you'd like to see details of the
project properties with a view to cross-compiler usage - that info
might be irrelevant for a lot of other people - but then someone else
might be interested in some other angle which is equally detailed by
also lacking in general appeal...  If we go down that road the docs
will be huge, without being correct for anyone.  I prefer to keep the
document complete but succinct.

> Why are you using the logger?  The software is complicated enough as it is.
> OO does not seem to provide any benefits but adding complexity.  I
> understand the 'objectives' and goals of OO but not the reason for the
> complexity.

Not 100% sure what you're getting at...  I guess you're concerned with
two related issues - the decision to use log4cxx, and the fact that
log4cxx is OO, as opposed to, say, procedural - ?

As for why we chose log4cxx - we need a logging capability of one
description or another.  Our options were to implement this
functionality ourselves, or use an existing solution.  log4cxx, for
all its faults, is 1) the best open-source logging framework available
and 2) seems adequate for our purposes - so we went with it.

As to the fact that log4cxx is OO...  I guess you're saying that we
could have reduced the complexity of the overall build, by using a
non-OO (e.g. procedural?) logging framework?  If that's what you're
saying, I disagree, I don't think that OO is necessarily synonymous
with complexity and anyway QL/OH/QLA are all OO so why shouldn't we
use an OO logging framework as well?

> It boils down to if you want Quantlib to be used it has to be as easy to
> install the various components as it is to install Financial Eng. Asso.
> www.fea.com, techhackers, or the any other proprietairy quantitative
> software.

OK.  Firstly let me emphasize that QuantLibAddin is distinct from
QuantLib.  QuantLibAddin offers one specific application of QuantLib,
and problems with QuantLibAddin's build process have no bearing on the
many other unrelated uses of the core QuantLib library.

I'd certainly like to complete with proprietary alternatives on all
fronts - functionality, performance, etc.  If ease of installation is
your benchmark then I think you should look at the binary build
(mentioned above) rather than the source build.

> I am only tyring to provide constructive criticism here.

That's exactly how I've taken your comments and if this discussion
leads to improvements which spare others the frustrations you've
experienced then that's good.

> I would like to
> add that I am not a C programer or systems analysts.  Only a meager
> professor of Finance and consultant trying to make life easier for myself,
> my students and colleagues with useful software.

Well, you definitely belong to the intended audience for the compiled
QuantLibAddin.  If you're new to C++ then the QuantLibAddin build may
be an ambitious undertaking, as you've found, but as I said I'd be
happy to try and help you to resolve any issues.

Regards,
Eric


Reply | Threaded
Open this post in threaded view
|

Re: Quantlib 3.12, Object Handler 1.3 and, Quantlib Addin3.12

Joe Byers-2
Eric,

Thank you for your detailed response.  It helped my understanding of quantlibaddin and OH substantially.  I did get log4cxx and OH to compile (MSVC .net) without errors after reviewing the release compile configurations in more detail.  The Quantlibaddin xll file is a great new feature.  Sorry for not mentioning that previously.  Compiling Quantlib addin was also performed successfully after matching the correct configuration option.  The configuration options are mentioned in the documentation but not fully defined.  Previous versions of Quantlibaddin and OH had configurations that were self explanatory, now they are Release, CRTDLL, and release singlethread.  I did not understand the release and CRTDLL until I found the multi thread option selected in the properties of each of the projects. 

Defining Release/Debug, CRTDLL/Debug CRTDLL, and Release SingleThread/Debug Single Thread  in the documentation would be helpful, I think.  At least for some of us less than knowledgable programers.  The last one is a WELL DUH I know.


I have not compiled the OH and Quantlibaddins projects for my linux server as of yet but will tackle that later.  Also, I have to try the OpenOffice again with the new upgrade.

Again,  thank you for all the work.

Joe


eric ehlers <[hidden email]> wrote:
Hi Joe,

Sorry you're having trouble compiling QuantLibAddin. The build
process is complicated with lots of opportunities for problems.

Before responding to your specific points let me point out in case you
haven't seen already that QuantLibAddin is available as a binary
installation - download the file QuantLibAddin-0.3.12-bin.exe and
launch it and it should install the compiled XLL and example workbooks
to your machine.

On 4/12/06, Joe Byers wrote:
> I want to give failing marks to the developers on the new versions of Object
> handler and the Quantlib Addin. They have taken a project that required
> good knowledge of compiling and deploying the 3 applications (remember OO
> had to have log4cxx 9.7 as well) to a project that requires expertise for
> compiling and deploying.

In what way do you feel that the build/deployment process has become
more complex in the latest release of OH/QLA? The main change is that
we link to log4cxx statically rather than dynamically - so it's no
longer necessary to deploy the log4cxx DLL. This change was intended
to simplify the build/deployment process - do you feel it's had the
opposite effect? Or do you feel the process has been complicated in
other ways?

> The modifications of log4cxx 9.7 are a blasphemy.
> One log4cxx is 9.7 no longer under development by apache. A new version is
> scheduled.

Yes, log4cxx 0.9.7 is discontinued and a new version of log4cxx is on
the way. The log4cxx maintainers point out that 0.9.7 has many bugs
and advise users to grab the latest CVS snapshot of the upcoming
release.

Based on the following considerations ...

1) Whatever bugs exist in log4cxx version 0.9.7 don't seem to impact
its use in OH
2) I don't want to make OH dependent on a CVS version of log4cxx which
is subject to change at any time

... I've decided to continue using log4cxx 0.9.7 for OH until a stable
release of the new version of log4cxx is available.

Note that the new release of log4cxx seems permanently stalled in
pre-release - it's been under development for 2 years with little
signs of progress.

> Your version of log4cxx does not have the dll project in the
> msvc project file

The dll project is no longer required for ObjectHandler/QuantLibAddin.
OH/QLA depends on the log4cxx static build.

> and the compilation errors are horrendous to over come.

Please send details and I'll try to help you resolve them.

> The simplesocketserver I can not get to compile no matter what I do.

simplesocketserver is not required for OH/QLA.

> Quantlib addin is also poor. CPP get all kinds of C4530 error in the stock
> VC code, C3861 snprintf in log4cxx and c1083 alloca.h not found in tchar.h

I'd be happy to try and help you resolve the build problems. I'd
suggest working through the installation step by step - if you haven't
succeeded in building log4cxx then there's not much point in
proceeding to its dependents. Please also see the QuantLibAddin FAQ -
http://www.quantlib.org/quantlibaddin/faq.html - e.g. the section
'Build and Execute Prerequisite Examples.'

> The installation and help are not 'helpful' at all. A step by step
> installation with details to the project properties in MSVC or Eclipse or
> gcc would be nice. That way if anyone has some minor differences on their
> system, they can map to your defaults.

I believe the installation instructions are complete (if there's a
step missing please let me know and I'll update the docs). You're
talking about increasing the detail and scope of the documents. I'm
not in favor of that, the existing instructions are adequate in
guiding an experienced programmer to build OH/QLA, and I don't believe
its possible to extend the scope/detail of the document without
reducing its relevance. For example you'd like to see details of the
project properties with a view to cross-compiler usage - that info
might be irrelevant for a lot of other people - but then someone else
might be interested in some other angle which is equally detailed by
also lacking in general appeal... If we go down that road the docs
will be huge, without being correct for anyone. I prefer to keep the
document complete but succinct.

> Why are you using the logger? The software is complicated enough as it is.
> OO does not seem to provide any benefits but adding complexity. I
> understand the 'objectives' and goals of OO but not the reason for the
> complexity.

Not 100% sure what you're getting at... I guess you're concerned with
two related issues - the decision to use log4cxx, and the fact that
log4cxx is OO, as opposed to, say, procedural - ?

As for why we chose log4cxx - we need a logging capability of one
description or another. Our options were to implement this
functionality ourselves, or use an existing solution. log4cxx, for
all its faults, is 1) the best open-source logging framework available
and 2) seems adequate for our purposes - so we went with it.

As to the fact that log4cxx is OO... I guess you're saying that we
could have reduced the complexity of the overall build, by using a
non-OO (e.g. procedural?) logging framework? If that's what you're
saying, I disagree, I don't think that OO is necessarily synonymous
with complexity and anyway QL/OH/QLA are all OO so why shouldn't we
use an OO logging framework as well?

> It boils down to if you want Quantlib to be used it has to be as easy to
> install the various components as it is to install Financial Eng. Asso.
> www.fea.com, techhackers, or the any other proprietairy quantitative
> software.

OK. Firstly let me emphasize that QuantLibAddin is distinct from
QuantLib. QuantLibAddin offers one specific application of QuantLib,
and problems with QuantLibAddin's build process have no bearing on the
many other unrelated uses of the core QuantLib library.

I'd certainly like to complete with proprietary alternatives on all
fronts - functionality, performance, etc. If ease of installation is
your benchmark then I think you should look at the binary build
(mentioned above) rather than the source build.

> I am only tyring to provide constructive criticism here.

That's exactly how I've taken your comments and if this discussion
leads to improvements which spare others the frustrations you've
experienced then that's good.

> I would like to
> add that I am not a C programer or systems analysts. Only a meager
> professor of Finance and consultant trying to make life easier for myself,
> my students and colleagues with useful software.

Well, you definitely belong to the intended audience for the compiled
QuantLibAddin. If you're new to C++ then the QuantLibAddin build may
be an ambitious undertaking, as you've found, but as I said I'd be
happy to try and help you to resolve any issues.

Regards,
Eric



A man is not the center of his universe, rather those he loves are. So his focus should always be on them for they will provide him with love and happiness all of his life - Anonymous


Yahoo! Messenger with Voice. PC-to-Phone calls for ridiculously low rates.
Reply | Threaded
Open this post in threaded view
|

Re: Quantlib 3.12, Object Handler 1.3 and, Quantlib Addin3.12

eric ehlers
Hi Joe,

In the latest release the MTDLL configurations were renamed to CRTDLL.
 This was intended to emphasize that the distinguishing characteristic
of the configuration is the C runtime library, as distinct from other
occurrences of dynamic linking (e.g. AddinExcelStatic-ohxllib vs.
AddinExcelDynamic-ohxll).

Regards,
Eric

On 4/18/06, Joe Byers <[hidden email]> wrote:

>
> Eric,
>
> Thank you for your detailed response.  It helped my understanding of quantlibaddin and OH substantially.  I did get log4cxx and OH to compile (MSVC .net) without errors after reviewing the release compile configurations in more detail.  The Quantlibaddin xll file is a great new feature.  Sorry for not mentioning that previously.  Compiling Quantlib addin was also performed successfully after matching the correct configuration option.  The configuration options are mentioned in the documentation but not fully defined.  Previous versions of Quantlibaddin and OH had configurations that were self explanatory, now they are Release, CRTDLL, and release singlethread.  I did not understand the release and CRTDLL until I found the multi thread option selected in the properties of each of the projects.
>
> Defining Release/Debug, CRTDLL/Debug CRTDLL, and Release SingleThread/Debug Single Thread  in the documentation  would be helpful, I think.  At least for some of us less than knowledgable programers.  The last one is a WELL DUH I know.
>
>
> I have not compiled the OH and Quantlibaddins projects for my linux server as of yet but will tackle that later.  Also, I have to try the OpenOffice again with the new upgrade.
>
> Again,  thank you for all the work.
>
> Joe
>
>
>
> eric ehlers <[hidden email]> wrote:
>
>
>  Hi Joe,
>
> Sorry you're having trouble compiling QuantLibAddin.  The build
> process is complicated with lots of opportunities for problems.
>
> Before responding to your specific points let me point out in case you
> haven't seen already that QuantLibAddin is available as a binary
> installation - download the file  QuantLibAddin-0.3.12-bin.exe and
> launch it and it should install the compiled XLL and example workbooks
> to your machine.
>
>
> On 4/12/06, Joe Byers  wrote:
> > I want to give failing marks to the developers on the new versions of Object
> > handler and the Quantlib Addin.  They have taken a project that required
> > good knowledge of compiling and deploying the 3 applications (remember OO
> > had to have log4cxx 9.7 as well) to a project that requires expertise for
> > compiling and deploying.
>
> In what way do you feel that the build/deployment process has become
> more complex in the latest release of OH/QLA?  The main change is that
> we link to log4cxx statically rather than dynamically - so it's no
> longer necessary to deploy the log4cxx DLL.  This change was intended
> to simplify the build/deployment process - do you feel it's had the
> opposite effect?  Or do you feel the process has been complicated  in
> other ways?
>
> > The modifications of log4cxx 9.7 are a blasphemy.
> > One log4cxx is 9.7 no longer under development by apache.  A new version is
> > scheduled.
>
> Yes, log4cxx 0.9.7 is discontinued and a new version of log4cxx is on
> the way.  The log4cxx maintainers point out that 0.9.7 has many bugs
> and advise users to grab the latest CVS snapshot of the upcoming
> release.
>
> Based on the following considerations ...
>
> 1) Whatever bugs exist in log4cxx version 0.9.7 don't seem to impact
> its use in OH
> 2) I don't want to make OH dependent on a CVS version of log4cxx which
> is subject to change at any time
>
> ... I've decided to continue using log4cxx 0.9.7 for OH until a stable
> release of the new version of log4cxx is available.
>
> Note that the new release of log4cxx seems permanently stalled in
> pre-release - it's been under development for 2 years with little
> signs of progress.
>
> > Your version  of log4cxx does not have the dll project in the
> > msvc project file
>
> The dll project is no longer required for ObjectHandler/QuantLibAddin.
>  OH/QLA depends on the log4cxx static build.
>
> > and the compilation errors are horrendous to over come.
>
> Please send details and I'll try to help you resolve them.
>
> > The simplesocketserver I can not get to compile no matter what I do.
>
> simplesocketserver is not required for OH/QLA.
>
> > Quantlib addin is also poor.  CPP get all kinds of C4530 error in the stock
> > VC code, C3861 snprintf in log4cxx and c1083 alloca.h not found in tchar.h
>
> I'd be happy to try and help you resolve the build problems. I'd
> suggest working through the installation step by step - if you haven't
> succeeded in building log4cxx then there's not much point in
> proceeding to its dependents.  Please also see the QuantLibAddin FAQ -
> http://www.quantlib.org/quantlibaddin/faq.html - e.g. the  section
> 'Build and Execute Prerequisite Examples.'
>
> > The installation and help are not 'helpful' at all.  A step by step
> > installation with details to the project properties in MSVC or Eclipse or
> > gcc would be nice.  That way if anyone has some minor differences on their
> > system, they can map to your defaults.
>
> I believe the installation instructions are complete (if there's a
> step missing please let me know and I'll update the docs).  You're
> talking about increasing the detail and scope of the documents.  I'm
> not in favor of that, the existing instructions are adequate in
> guiding an experienced programmer to build OH/QLA, and I don't believe
> its possible to extend the scope/detail of the document without
> reducing its relevance.  For example you'd like to see details of the
> project properties with a view to cross-compiler usage - that info
> might be irrelevant for a lot of other people - but then someone  else
> might be interested in some other angle which is equally detailed by
> also lacking in general appeal...  If we go down that road the docs
> will be huge, without being correct for anyone.  I prefer to keep the
> document complete but succinct.
>
> > Why are you using the logger?  The software is complicated enough as it is.
> > OO does not seem to provide any benefits but adding complexity.  I
> > understand the 'objectives' and goals of OO but not the reason for the
> > complexity.
>
> Not 100% sure what you're getting at...  I guess you're concerned with
> two related issues - the decision to use log4cxx, and the fact that
> log4cxx is OO, as opposed to, say, procedural - ?
>
> As for why we chose log4cxx - we need a logging capability of one
> description or another.  Our options were to implement this
> functionality ourselves, or use an existing solution.  log4cxx, for
> all its faults, is 1) the best open-source logging  framework available
> and 2) seems adequate for our purposes - so we went with it.
>
> As to the fact that log4cxx is OO...  I guess you're saying that we
> could have reduced the complexity of the overall build, by using a
> non-OO (e.g. procedural?) logging framework?  If that's what you're
> saying, I disagree, I don't think that OO is necessarily synonymous
> with complexity and anyway QL/OH/QLA are all OO so why shouldn't we
> use an OO logging framework as well?
>
> > It boils down to if you want Quantlib to be used it has to be as easy to
> > install the various components as it is to install Financial Eng. Asso.
> > www.fea.com, techhackers, or the any other proprietairy quantitative
> > software.
>
> OK.  Firstly let me emphasize that QuantLibAddin is distinct from
> QuantLib.  QuantLibAddin offers one specific application of QuantLib,
> and problems with QuantLibAddin's build process have no bearing on the
> many other unrelated  uses of the core QuantLib library.
>
> I'd certainly like to complete with proprietary alternatives on all
> fronts - functionality, performance, etc.  If ease of installation is
> your benchmark then I think you should look at the binary build
> (mentioned above) rather than the source build.
>
> > I am only tyring to provide constructive criticism here.
>
> That's exactly how I've taken your comments and if this discussion
> leads to improvements which spare others the frustrations you've
> experienced then that's good.
>
> > I would like to
> > add that I am not a C programer or systems analysts.  Only a meager
> > professor of Finance and consultant trying to make life easier for myself,
> > my students and colleagues with useful software.
>
> Well, you definitely belong to the intended audience for the compiled
> QuantLibAddin.  If you're new to C++ then the QuantLibAddin build may
> be an ambitious undertaking, as you've found,  but as I said I'd be
> happy to try and help you to resolve any issues.
>
> Regards,
> Eric
>
>
>
>
>
> A man is not the center of his universe, rather  those he loves are.  So his focus should always be on them  for they will provide him with love and happiness all of his life - Anonymous
>
>
>   ________________________________
Yahoo! Messenger with Voice. PC-to-Phone calls for ridiculously low rates.
>
>


12