File: faq.html

package info (click to toggle)
quantlib-refman-html 0.3.14-1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 43,500 kB
  • ctags: 8,975
  • sloc: makefile: 31
file content (216 lines) | stat: -rw-r--r-- 22,064 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<meta name="robots" content="none">
<title>QuantLib: Frequently asked questions</title>
<link rel="stylesheet" href="quantlib.css" type="text/css">
<link rel="stylesheet" href="print.css" type="text/css" media="print">
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
<link rel="icon" href="favicon.ico" type="image/x-icon">
</head>
<body>

<div id="container">
<div id="header">
<img class="titleimage"
 src="QL-title.jpg" width="212" height="47" border="0"
 alt="QuantLib">
<br>
<h3 class="subtitle">A free/open-source library for quantitative finance</h3>
</div>
<div id="menu">

<h3 class="navbartitle">Version 0.3.14</h3>

<hr>

<h3 class="navbartitle">Getting started</h3>
<ul class="navbarlist">
<li class="navlink"><a href="index.html">Introduction</a></li>
<li class="navlink"><a href="overview.html">Project overview</a></li>
<li class="navlink"><a href="where.html">Where to get QuantLib</a></li>
<li class="navlink"><a href="install.html">Installation</a></li>
<li class="navlink"><a href="config.html">Configuration</a></li>
<li class="navlink"><a href="usage.html">Usage</a></li>
<li class="navlink"><a href="faq.html">Frequently asked questions</a></li>
<li class="navlink"><a href="history.html">Version history</a></li>
<li class="navlink"><a href="resources.html">Additional resources</a></li>
<li class="navlink"><a href="group.html">The QuantLib group</a></li>
<li class="navlink"><a href="license.html">Copyright and license</a></li>
</ul>

<hr>

<h3 class="navbartitle">Reference manual</h3>
<ul class="navbarlist">
<li class="navlink"><a href="modules.html">Modules</a></li>
<li class="navlink"><a href="hierarchy.html">Class Hierarchy</a></li>
<li class="navlink"><a href="annotated.html">Compound List</a></li>
<li class="navlink"><a href="files.html">File List</a></li>
<li class="navlink"><a href="functions.html">Compound Members</a></li>
<li class="navlink"><a href="globals.html">File Members</a></li>
<li class="navlink"><a href="todo.html">Todo List</a></li>
<li class="navlink"><a href="bug.html">Known Bugs</a></li>
<li class="navlink"><a href="caveats.html">Caveats</a></li>
<li class="navlink"><a href="test.html">Test Suite</a></li>
<li class="navlink"><a href="deprecated.html">Deprecated Features</a></li>
<li class="navlink"><a href="examples.html">Examples</a></li>
</ul>
</div>

<div id="content">
<!--Doxygen-generated content-->

<!-- Generated by Doxygen 1.5.1 -->
<h1><a class="anchor" name="faq">Frequently asked questions</a></h1><a class="el" href="faq.html#faq_generic">Generic questions</a><ul>
<li><a class="el" href="faq.html#faq_generic_email">Is it OK to email a QuantLib developer?</a></li><li><a class="el" href="faq.html#faq_generic_bug_report">How should I report a bug?</a></li><li><a class="el" href="faq.html#faq_generic_thanks">How can I give back to this project?</a></li></ul>
<p>
<a class="el" href="faq.html#faq_contributing">Contributing to the project</a><ul>
<li><a class="el" href="faq.html#faq_contributing_involved">I'm interested in getting involved with the project.</a></li><li><a class="el" href="faq.html#faq_contributing_code">How do I contribute code to the project?</a></li></ul>
<p>
<a class="el" href="faq.html#faq_building">Building QuantLib</a><ul>
<li><a class="el" href="faq.html#faq_compiling_mingw">I'm having trouble building QuantLib with MinGW.</a></li><li><a class="el" href="faq.html#faq_compiling_devcpp_choking">I get an error when trying to compile QuantLib in the Dev-C++ IDE.</a></li><li><a class="el" href="faq.html#faq_compiling_missing_boost">I get a compile error about a missing boost header.</a></li><li><a class="el" href="faq.html#faq_linking_libboost_unit">I encounter a linking error about a boost library.</a></li><li><a class="el" href="faq.html#faq_compiling_boost_1_32">I encounter a number of compile errors when building the test-suite.</a></li><li><a class="el" href="faq.html#faq_compiling_solaris">I'm having trouble building QuantLib with the Sun Studio 11 compiler.</a></li></ul>
<p>
<a class="el" href="faq.html#faq_testing">Testing QuantLib</a><ul>
<li><a class="el" href="faq.html#faq_testing_darwin">The QuantLib test-suite fails under Mac OS X.</a></li></ul>
<p>
<a class="el" href="faq.html#faq_using">Using QuantLib</a><ul>
<li><a class="el" href="faq.html#faq_using_vclink">I encounter a linking error under Visual C++.</a></li><li><a class="el" href="faq.html#faq_using_darwin">QuantLib fails to run correctly under Mac OS X.</a></li></ul>
<p>
<a class="el" href="faq.html#faq_features">QuantLib features</a><ul>
<li><a class="el" href="faq.html#faq_features_missing">Why is feature X missing from QuantLib?</a></li></ul>
<p>
<a class="el" href="faq.html#faq_extensions">QuantLib features</a><ul>
<li><a class="el" href="faq.html#faq_addin_trouble">I'm having trouble building/using QuantLibAddin.</a></li></ul>
<p>
<a class="el" href="faq.html#faq_lists">QuantLib mailing lists</a><ul>
<li><a class="el" href="faq.html#faq_lists_new_topic">How do I start a new topic?</a></li><li><a class="el" href="faq.html#faq_lists_disable">How do I prevent my auto-responder from posting to the list?</a></li></ul>
<p>
<a class="el" href="faq.html#faq_platforms">QuantLib cross-platform support/extensions</a><ul>
<li><a class="el" href="faq.html#faq_dot_net">Does QuantLib support .NET?</a></li><li><a class="el" href="faq.html#faq_fpml">Does QuantLib support FpML? Serialization?</a></li></ul>
<p>
<hr>
<h2><a class="anchor" name="faq_generic">
Generic questions</a></h2>
<b> <a class="anchor" name="faq_generic_email"></a> Is it OK to email a QuantLib developer to ask questions, or seek help, or report a bug? </b><p>
Yes, it is. However, we urge you to consider posting to the QuantLib mailing list instead. This is for two reasons. The first is that messages on the list are stored: the next one with your problem will be able to find the answer by searching the archives. The second is that you might get your answer sooner. For instance, it just so happens that I am writing this entry in the middle of a two-weeks period without an Internet connection. If anybody wrote me last Monday, the poor soul will wait two weeks for an answer which could have been given already by someone else on the list.<p>
However, if your intent in writing was to call the developer names, disregard the above. By all means write personally to the developer. And possibly, add the line: <div class="fragment"><pre class="fragment">    X-Bogosity: Yes
</pre></div> to the mail headers, so that our filters---I mean, WE can take immediate care of it.<p>
<b> <a class="anchor" name="faq_generic_bug_report"></a> How should I report a bug? </b><p>
You can file a bug report using the SourceForge interface at &lt;<a href="http://sourceforge.net/tracker/?group_id=12740&atid=112740">http://sourceforge.net/tracker/?group_id=12740&amp;atid=112740</a>&gt;, or you could write to a QuantLib mailing list.<p>
In any case please report as much details as possible.<p>
If it is a compilation problem please state at least:<ul>
<li>OS system</li><li>compiler (version number, patch level, etc.)</li><li>Boost version</li><li>the compilation error and the file affected</li></ul>
<p>
If the test suite fails please report the output obtained by executing the test suite with the following command line options: <div class="fragment"><pre class="fragment">    --log_level=messages --build_info=yes --result_code=no --report_level=<span class="keywordtype">short</span>
</pre></div><p>
<b> <a class="anchor" name="faq_generic_thanks"></a> Thanks for this project. How can I give back to it? </b><p>
In true open-source fashion, you can contribute code to the project; see the section '<a class="el" href="faq.html#faq_contributing">Contributing to the project</a>' below. This is by far the preferred contribution, closely followed by using the library intensively and reporting any bugs you might find---and possibly patches for fixing them.<p>
However, if you made money by using QuantLib and feel that, as Christmas is getting near, you want to give us a token of your gratitude---well, who am I to discourage you? (for instance, &lt; grin &gt; Luigi's wish list on Amazon UK is at &lt;<a href="http://www.amazon.co.uk/exec/obidos/registry/2PC411P4U28CG/ref=wl_em_to">http://www.amazon.co.uk/exec/obidos/registry/2PC411P4U28CG/ref=wl_em_to</a>&gt;, and Nando's is at &lt;<a href="http://www.amazon.co.uk/exec/obidos/registry/Q94W7HUR49Z5/ref=wl_em_to">http://www.amazon.co.uk/exec/obidos/registry/Q94W7HUR49Z5/ref=wl_em_to</a>&gt;.)<p>
<b> <a class="anchor" name="faq_generic_ashamed"></a> Amazon Wish List? Aren't you ashamed of yourselves? </b><p>
&lt; broad grin &gt; No, we aren't.<h2><a class="anchor" name="faq_contributing">
Contributing to the project</a></h2>
<b> <a class="anchor" name="faq_contributing_involved"></a> I'm interested in getting involved with the project. What should I do? </b><p>
Contact the QuantLib group by posting to the developers' mailing list (&lt;<a href="mailto:quantlib-dev@lists.sourceforge.net">quantlib-dev@lists.sourceforge.net</a>&gt;) and describe your experience and interests. Before doing this, please read:<p>
<ul>
<li>the generic introduction for new developers &lt;<a href="http://quantlib.org/newdeveloper.shtml">http://quantlib.org/newdeveloper.shtml</a>&gt;</li><li>the project overview &lt;<a href="http://quantlib.org/reference/overview.html">http://quantlib.org/reference/overview.html</a>&gt;, with its to-do suggestions</li><li>the Developer FAQ &lt;<a href="http://quantlib.org/developerFAQ.shtml">http://quantlib.org/developerFAQ.shtml</a>&gt;</li><li>The Programming Style Guidelines &lt;<a href="http://quantlib.org/style.shtml">http://quantlib.org/style.shtml</a>&gt;</li><li>the detailed low-level to-do list &lt;<a href="http://quantlib.org/reference/todo.html">http://quantlib.org/reference/todo.html</a>&gt;</li></ul>
<p>
Also, you might want to specify an area of the library you are particularly interested to, or which would be most useful to you. Asking the administrators to choose a task for you is ok, but it might take time to get an answer and it increases the odds that the chosen task will bore you or otherwise discourage you from completing it.<p>
<b> <a class="anchor" name="faq_contributing_code"></a> How do I contribute code to the project? </b><p>
First of all, make sure that contributing code on your part cannot result in litigation about intellectual property. If you work at some financial institution, ask for permission before contributing any relevant portion of code---and get a statement in print.<p>
As for the mechanics of contribution, the preferred way is to submit a patch to the SourceForge patch tracker at &lt;<a href="http://sourceforge.net/tracker/?group_id=12740&atid=312740">http://sourceforge.net/tracker/?group_id=12740&amp;atid=312740</a>&gt;. This will make it less likely that your files are forgotten in the depths of a developer's mailbox.<p>
The preferred format is a diff file as created by the 'patch' utility. If possible, send differences against the CVS repository; diff files based on the latest release might not apply to the latest sources.<p>
If 'patch' is not available on your system or you are not familiar with it, submit the modified files. However, keep in mind that integrating such a contribution will require more work and therefore will take longer.<p>
Finally, contributions should be accompanied by one or more test cases checking the functionality of the new code. While this is not a strict requirement, complying with it will buy from the developers a lot more sympathy towards your contribution.<h2><a class="anchor" name="faq_building">
Building QuantLib</a></h2>
<b> <a class="anchor" name="faq_compiling_mingw"></a> I'm having trouble building QuantLib with MinGW. </b><p>
Terry August was kind enough to put together detailed instructions for MinGW users. They can be found at &lt;<a href="http://www.stanford.edu/~taugust/quantlib.html">http://www.stanford.edu/~taugust/quantlib.html</a>&gt;.<p>
<b> <a class="anchor" name="faq_compiling_devcpp_choking"></a> When trying to compile QuantLib in the Dev-C++ IDE, I get an error saying that "Could not create makefile: C:\...\Makefile.win" </b><p>
The message is misleading. Close the IDE, create an empty sub-directory named "build" in the same directory as the Dev-C++ project, and retry.<p>
Also, a user reported that this was necessary but not sufficient. His workaround was to change the relative paths in Project Options / Build Options to absolute paths (e.g., ".\lib" to "C:\QuantLib-0.3.11\lib").<p>
<b> <a class="anchor" name="faq_compiling_missing_boost"></a> When building QuantLib, I get a compile error about a missing boost/something header. </b><p>
As mentioned in the readme, QuantLib depends on the Boost library (<a href="http://www.boost.org">http://www.boost.org</a>). You must download and install it before building QuantLib. After installation, you might have to setup your IDE so that the Boost headers are in its include path.<p>
<b> <a class="anchor" name="faq_linking_libboost_unit"></a> When building the test-suite, I encounter a linking error about libboost_unit_test_framework-xxx. </b><p>
The folder including the Boost libraries in not in your link path. See the documentation of your compiler for instructions on how to add it.<p>
<b> <a class="anchor" name="faq_building_libboost_unit"></a> But I have no such library on my machine! </b><p>
Most likely, you downloaded the Boost distribution and just copied its header files somewhere in your include path. The Boost libraries must be built as well; see <a href="http://www.boost.org/more/getting_started.html">http://www.boost.org/more/getting_started.html</a> for instructions.<p>
<b> <a class="anchor" name="faq_renaming_libboost_unit"></a> Ok, now I have the library; and the library path is set correctly. But I still cannot link! </b><p>
You're using Dev-C++ or MinGW, aren't you? gcc is looking for a library called libboost_unit_test_framework-xxx.a, but the Boost installation process created a libboost_unit_test_framework-xxx.lib instead. Make a copy of the latter in the same location and rename the copy so that it has the correct extension.<p>
<b> <a class="anchor" name="faq_compiling_boost_1_32"></a> When building the test-suite, I encounter a number of compile errors. I'm using gcc and Boost 1.32. </b><p>
This is a Boost problem; you have to apply a one-line patch to your Boost installation. Open boost/test/detail/wrap_stringstream.hpp and edit line 120, <div class="fragment"><pre class="fragment"><span class="preprocessor">#if !defined(BOOST_NO_STD_LOCALE) &amp;&amp; BOOST_WORKAROUND(BOOST_MSVC, &gt;= 1310)</span>
</pre></div> so that it reads like: <div class="fragment"><pre class="fragment"><span class="preprocessor">#if !defined(BOOST_NO_STD_LOCALE) &amp;&amp; ( !defined(BOOST_MSVC) || BOOST_WORKAROUND(BOOST_MSVC, &gt;= 1310))</span>
</pre></div> Also, this problem has been worked around in QuantLib itself since version 0.3.10. You might want to upgrade your QuantLib installation.<p>
<b> <a class="anchor" name="faq_compiling_solaris"></a> I'm having trouble building QuantLib with the Sun Studio 11 compiler. </b><p>
If the error you're getting resembles to <div class="fragment"><pre class="fragment">&gt;&gt; Assertion:   (../lnk/init.cc, line 1032)
    <span class="keywordflow">while</span> processing ../../ql/history.hpp at line 135.
 Error code 1 
</pre></div> you need to patch your compiler. Sun makes the needed patches available at &lt;<a href="http://developers.sun.com/prodtech/cc/downloads/patches/ss11_patches.html">http://developers.sun.com/prodtech/cc/downloads/patches/ss11_patches.html</a>&gt;; you need the ones labeled as "Compilers back-end" and "C++".<h2><a class="anchor" name="faq_testing">
Testing QuantLib</a></h2>
<b> <a class="anchor" name="faq_testing_darwin"></a> The QuantLib test-suite fails when compiling under Mac OS X. </b><p>
We are aware of the problem; apparently, there are issues with global and/or static variables when using shared libraries. As a workaround, compile QuantLib as a static library. This can be accomplished by running configure as: <div class="fragment"><pre class="fragment">    configure --disable-shared
</pre></div><h2><a class="anchor" name="faq_using">
Using QuantLib</a></h2>
<b> <a class="anchor" name="faq_using_vclink"></a> When linking QuantLib to my project under Visual C++, I encounter the following linking error: <div class="fragment"><pre class="fragment">    LINK : fatal error LNK1104: cannot open file <span class="stringliteral">"QuantLib-vcX-xx-xxx-a_b_c.lib"</span>
</pre></div> </b><p>
The folder including QuantLib-vcX-xx-xxx-a_b_c.lib is not in your link path (see Project Settings | Link | Input in VC6 or Property Pages | Linker | Input in VC7) or you haven't really built QuantLib-vcX-xx-xxx-a_b_c.lib yet. Note that each build configuration produces a different library.<p>
<b> <a class="anchor" name="faq_using_darwin"></a> Programs linking QuantLib fail to run correctly under Mac OS X. </b><p>
This is the same problem reported in the '<a class="el" href="faq.html#faq_testing">Testing QuantLib</a>' section; the same workaround applies.<h2><a class="anchor" name="faq_features">
QuantLib features</a></h2>
<b> <a class="anchor" name="faq_features_missing"></a> Why is feature X missing from QuantLib? It would be a very useful one. </b><p>
See the section '<a class="el" href="faq.html#faq_contributing">Contributing to the project</a>' above.<h2><a class="anchor" name="faq_extensions">
QuantLib features</a></h2>
<b> <a class="anchor" name="faq_addin_trouble"></a> I'm having trouble building/using QuantLibAddin. </b><p>
The QuantLibAddin project has its own FAQ; see &lt;<a href="http://quantlib.org/quantlibaddin/faq.html">http://quantlib.org/quantlibaddin/faq.html</a>&gt;.<h2><a class="anchor" name="faq_lists">
QuantLib mailing lists</a></h2>
<b> <a class="anchor" name="faq_lists_new_topic"></a> How do I start a new topic? </b><p>
Use the "New message" command on your mail client; do not reply to another post and change the subject. Although seemingly more convenient for you, replying will cause your message to appear in the wrong thread in the mailing list archive, in the newsgroup interface at Gmane, and in mail clients that support threads. This brings a whole lot of inconvenience on a number of people---possibly including you, as your message might be overlooked by people not interested in the original topic.<p>
<b> <a class="anchor" name="faq_lists_disable"></a> How do I prevent my auto-responder from posting to the list while I'm away? </b><p>
It might be possible to configure the auto-responder so that it ignores posts to the mailing list. However, this depends on the particular software you are using.<p>
If that is not possible, you can temporarily prevent the list from posting to your account. It is a bit more of a hassle, but the other list members will appreciate.<p>
Go to your mailing-list configuration page (its direct address is sent to you monthly by SourceForge; alternatively, go to &lt;<a href="http://lists.sourceforge.net/lists/listinfo/quantlib-users">http://lists.sourceforge.net/lists/listinfo/quantlib-users</a>&gt; and insert your mail address in the last form in the page.)<p>
From there you can enable the "Disable mail delivery" option, causing the posts to the list not to be forwarded to your account.<p>
The mail delivery can be re-enabled later in the same way; you'll have to check the list archives at &lt;<a href="http://sourceforge.net/mailarchive/forum.php?forum=quantlib-users">http://sourceforge.net/mailarchive/forum.php?forum=quantlib-users</a>&gt; to catch up on the posts you missed.<h2><a class="anchor" name="faq_platforms">
QuantLib cross-platform support/extensions</a></h2>
<b> <a class="anchor" name="faq_dot_net"></a> Does QuantLib support .NET? </b><p>
C# has never been officially supported by the QuantLib team. Both &lt;<a href="http://www.quantlib.net">http://www.quantlib.net</a>&gt; and &lt;<a href="http://www.capetools.net">http://www.capetools.net</a>&gt; have been "external" attempts which now look like abandoned projects. As such nobody but their authors could help you.<p>
<b> <a class="anchor" name="faq_fpml"></a> Does QuantLib support FpML? Serialization? </b><p>
Not yet. The subject has been discussed in the mailing lists and a high level design was sketched out:<p>
<a href="http://sourceforge.net/mailarchive/forum.php?thread_id=6507779&forum_id=4300">6-Feb-2005</a><br>
 <a href="http://sourceforge.net/mailarchive/forum.php?thread_id=6539684&forum_id=4300">9-Feb-2005</a><br>
 <a href="http://sourceforge.net/mailarchive/forum.php?thread_id=6540997&forum_id=4300">9-Feb-2005</a><br>
 <a href="http://sourceforge.net/mailarchive/forum.php?thread_id=6543552&forum_id=4300">9-Feb-2005</a><br>
 <a href="http://sourceforge.net/mailarchive/forum.php?thread_id=6700844&forum_id=4300">27-Feb-2005</a><br>
<p>
No further work has been done and help is needed in this area. The next step would be to formalize and document the proposed design, perhaps as a <a href="http://quantlib.org/quep.shtml">QuEP</a>. 
</div>

<div class="footer">

<table align="top" width="100%">
<tr>
<td align="middle" width="33%">
<strong>QuantLib.org</strong><br>
<a href="http://quantlib.org/">
<img src="QL-small.jpg" alt="QuantLib" align="middle" border=0>
</a>
</td>
<td align="middle" width="33%">
<strong>Hosted by</strong><br>
<a href="http://sourceforge.net"><img src=
"sfnetlogo.png" width="88" height="31"
border="0" alt="SourceForge.net Logo"></a>
</td>
<td align="middle" width="33%">
<strong>Documentation generated by</strong><br>
<a href="http://www.doxygen.org">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 width=110 height=53>
</a></td>
</tr>
</table>
</div>

</div>

</body>
</html>