• C++ Programming for Financial Engineering
    Highly recommended by thousands of MFE students. Covers essential C++ topics with applications to financial engineering. Learn more Join!
    Python for Finance with Intro to Data Science
    Gain practical understanding of Python to read, understand, and write professional Python code for your first day on the job. Learn more Join!
    An Intuition-Based Options Primer for FE
    Ideal for entry level positions interviews and graduate studies, specializing in options trading arbitrage and options valuation models. Learn more Join!

Poll: for how much would you buy a book on "Getting Started with QuantLib"?

For how much would you buy a book on "Getting Started with QuantLib"?

  • For at most $10

    Votes: 18 30.0%
  • For at most $20

    Votes: 5 8.3%
  • For at most $30

    Votes: 5 8.3%
  • For at most $50

    Votes: 4 6.7%
  • I would also pay $100 if the book is really good

    Votes: 1 1.7%
  • I would not buy in any case

    Votes: 15 25.0%
  • What is QuantLib?!

    Votes: 12 20.0%

  • Total voters
    60
@yetanotherquant - is your book on "Getting started with Quantlib" out?

I am excited to explore the features of QuantLib in C++. I have not gained proficiency & the mathematical maturity to learn stochastic finance, but your book would be enjoyable.
 
- is your book on "Getting started with Quantlib" out?
No, I dropped writing it since (as you can see in this poll), there was little (pay-willing) interest.

As to Luigi's book, it is good but it is not for novices.
I always told to Luigi that the main problem is that he assumes that every user of QuantLib is as brilliant as he, himself :)

@Quasar Chunawala ,
As to your LinkedIn message, I will write a post on letyourmoneygrow.com , which addresses your questions
 
Quantlib is reasonably easy to use if your C++ knowledge is up to scratch. Some knowledge of design patterns is very usefil.

The main issue IMO is its lack of interoperability with new developments like C++11, C# .NET (I don't mean SWIG) and so on.
 
Last edited:
Nowadays the primary lack is that of time, not of hardware resources or ready-to-use libraries.

It only seems that way. You gotta invest in the upkeep of software products. In general, adding new features to a product takes longer and longer. That is the issue IMO, not time as such. It's a management issue.

I have seen some legacy code, which had to fit in 640K RAM => elegance and well-thought optimization.

You lucky devil. What did you do with the left-0ver memory? Used it for games. We used to write COBOL applications in 4K.

Imagine being the architect of a team of ZX80 programmers? Hardware and tools change, but humans tend to remain constant.

I was a COBOL programmer in my past life. :) I am enjoying learning about C++ templates and STL currently - new to it!

I was wondering, if I coding a tiny matrix algebra library in C++ would be a good exercise.. Of course, I am not trying to re-invent the wheel, I know there are excellent libraries out there, that can do heavy-lifting in terms of performance. My purpose is to improve my C++ fluency, while at the same time - learn some numerical algorithms.
 
Speaking of design patterns, what book do you recommend for C++? Such patterns can be used in most programming contexts right?

There's not so much C++ books on design patterns (those by the late Mark Joshi and myself being the exceptions). And there is the original Gamma best-seller.

The original Gamma patterns are frozen in time (a snapshot from C++ 1990..) and unfortunately have been superseded/subsumed/made redundant due to:


. OO, generic and functional programming models (e.g. lambdas, delegates).
. They are bottom-up, low-level implementation constructs. They do not help with top-down decomposition.
. No support for parallel design patterns.

Still, the design ideas are good and of universal applicability. The implementation details have become much easier in the last 25 years since patterns were published. I used them on many applications in CAD, process, optical technology and finance in both C++ and C#.

Boost C++ Libraries has support for Flyweight, Factory, Observer (signals2), Visitor (static_visitor), State (MSM), Interpreter (Xpressive, Spirit). etc.

There are also a number of health warnings when jumping head-first into design patterns.

I discuss these "multi-paradigm/multi-language" design patterns in my soon to appear second edition C++ {11, 14, 17} book.
 

Attachments

  • Chapter 1 A Tour of C++11 and its Environs.pdf
    493.6 KB · Views: 23
Last edited:
There's not so much C++ books on design patterns (those by the late Mark Joshi and myself being the exceptions). And there is the original Gamma best-seller.

The original Gamma patterns are frozen in time (a snapshot from C++ 1990..) and unfortunately have been superseded/subsumed/made redundant due to:


. OO, generic and functional programming models (e.g. lambdas, delegates).
. They are bottom-up, low-level implementation constructs. They do not help with top-down decomposition.
. No support for parallel design patterns.

Still, the design ideas are good and of universal applicability. The implementation details have become much easier in the last 25 years since patterns were published. I used them on many applications in CAD, process, optical technology and finance in both C++ and C#.

There are also a number of health warnings when jumping head-first into design patterns.

I discuss these "multi-paradigm/multi-language" design patterns in my soon to appear second edition C++ {11, 14, 17} book.

Eagerly awaiting the new edition. When is the launch of the new edition planned?
 
Speaking of design patterns, what book do you recommend for C++? Such patterns can be used in most programming contexts right?
There's not so much C++ books on design patterns (those by the late Mark Joshi and myself being the exceptions). And there is the original Gamma best-seller.

The original Gamma patterns are frozen in time (a snapshot from C++ 1990..) and unfortunately have been superseded/subsumed/made redundant due to:


. OO, generic and functional programming models (e.g. lambdas, delegates).
. They are bottom-up, low-level implementation constructs. They do not help with top-down decomposition.
. No support for parallel design patterns.

Still, the design ideas are good and of universal applicability. The implementation details have become much easier in the last 25 years since patterns were published. I used them on many applications in CAD, process, optical technology and finance in both C++ and C#.

Boost C++ Libraries has support for Flyweight, Factory, Observer (signals2), Visitor (static_visitor), State (MSM), Interpreter (Xpressive, Spirit). etc.

There are also a number of health warnings when jumping head-first into design patterns.

I discuss these "multi-paradigm/multi-language" design patterns in my soon to appear second edition C++ {11, 14, 17} book.
It's worth mentioning that, for hands-on experience of many practical design patterns (among other topics), the QN advanced C++ course is excellent: Advanced C++11/C++14 and Multidisciplinary

System and Design Patterns
We discuss the popular design and system patterns that are based on the object-orient model. We concentrate on approximately 20% of the patterns that account for 80% of the effectiveness in software development. We also show how to create next-generation patterns using the multiparadigm programming models that C++11 supports. Class and Component diagrams in UML, Whole-Part pattern, Object-Oriented Metrics,creational patterns, structural patterns, behavioral Patterns, next Generation Design Patterns, examples and applications.

C++ Applications
We present a defined process (based on a combination of Structured Analysis, System patterns and C++11) to architecting, design and implementation of complex software systems.Locating and bounding the Software System, System Decomposition, Presentation Abstraction Control model, Policy-Based Design (PBD) in C++, example and applications, principles of Parallel Programming and Libraries.
 
I am chroning the execution time of each of the provided examples. I am a little bit disappointed with some of the outcomes. My goodness the Python version probably takes an eternity.
 
Back
Top