• 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!

How do I start with QuantLib for some basic introduction to talk about it?

Joined
11/1/15
Messages
14
Points
11
I will give some background. I am finishing my PhD in computer engineering and have done a lot of programming in C++ and Matlab. My research involved mostly mathematical optimisation and statistical analyses.

Now, I am a noob to the quant community, although have keen interest in it. Have basic knowledge of finance, Black-Scholes, Stochastic calculus, some terminologies of interest rate derivative/swap etc.

So I have this Goldman Sachs Strats interview coming up soon for which I applied following a campus event. Will getting some understanding of QuantLib help? Should I spend time on it? Or should I focus more on general problem-solving?

Also any other tip?
 
If you say you know a lot of C++ on your CV I suppose you can be grilled on that subject.
 
I will give some background. I am finishing my PhD in computer engineering and have done a lot of programming in C++ and Matlab. My research involved mostly mathematical optimisation and statistical analyses.

Now, I am a noob to the quant community, although have keen interest in it. Have basic knowledge of finance, Black-Scholes, Stochastic calculus, some terminologies of interest rate derivative/swap etc.

So I have this Goldman Sachs Strats interview coming up soon for which I applied following a campus event. Will getting some understanding of QuantLib help? Should I spend time on it? Or should I focus more on general problem-solving?

Also any other tip?
don't waste time on learning QuanLib for an interview.
 
don't waste time on learning QuanLib for an interview.
Yes, this correct. But do you know why?
Because the probability, that your interviewers are smart enough to understand QuantLib is pretty low ;)
At least this is my personal experience: I had tons of interviews and (besides IKB, a bank that organizes QuantLib Meeting) they either tried but dropped it or even never heard about it.

Still, if you want to learn it (not for the interview but for yourself) have a look at my QuantLib notes.
 
Yes, this correct. But do you know why?
Because the probability, that your interviewers are smart enough to understand QuantLib is pretty low ;)
At least this is my personal experience: I had tons of interviews and (besides IKB, a bank that organizes QuantLib Meeting) they either tried but dropped it or even never heard about it.

Still, if you want to learn it (not for the interview but for yourself) have a look at my QuantLib notes.
That's a little bit arrogant. Your interviewer is in a position of power in this deal. He/she has all the leverage in this negotiation whether you like it or not.

The last bit you mentioned, "they never heard of it" doesn't make them unintelligent. Au contraire, they have no idea such a thing exists and they have been using one of the other libraries like Numerix or Fincad or whatever. The might still be very very smart.
 
Is your knowledge C++03? They might ask about C++11 but who knows? what's a lambda function, smart ptr, etc.
In some cases people might ask about STL, Boost.

Slang??
 
Last edited:
Your interviewer is in a position of power in this deal. He/she has all the leverage in this negotiation whether you like it or not.
Yes, this is true.
I didn't question this obvious fact, I just explain to the TS why the knowledge of QuantLib will likely add little value in context of interview.
(You just told him "don't waste time on learning QuanLib for an interview", which is per se, correct, but not enough for a curious person who wants to know why. Additionally, your message is ambiguous, a TS may think that QuantLib is a bad software, which is of course not true).

The last bit you mentioned, "they never heard of it" doesn't make them unintelligent.
Unintelligent and "not smart enough to learn QuantLib" are two different things, aren't they?!
Fact is, however, in order to understand QuantLib one should possess deeply both C++ programming and financial mathematics.
I, myself, also dislike an elegant but too complicated architecture of QuantLib.
As I told once to Luigi Ballabio: "the problem with QuantLib: you think that every potential user is as smart as you ... just like Kolmogorov was hard to understand because he talked to his students as if they were as talented as he, himself".

Au contraire, they have no idea such a thing exists and they have been using one of the other libraries like Numerix or Fincad or whatever. The might still be very very smart.
BTW, it would be interesting to discuss, whether it is really smart to rely on a proprietary closed-source software in quantitative finance, but this topic deserves a separate thread.
 
Is your knowledge C++03? They might ask about C++11 but who knows? what's a lambda function, smart ptr, etc.
In some cases people might ask about STL, Boost.

Slang??
@TS
If they want to drown you, they will. Nobody knows C++ perfectly, even Stroustrup does not.
If you feel that the interview went wrong and you have nothing to lose, slap them back and ask them what the modifier const means in C++ (Hint: it can come up up to 3 times in the method's signature).

But only if you have nothing to lose, as pingu correctly said, your interviewer is in a position of power in this deal.
 
A good strategy might be to name what you know in C++ but be prepare that they will dig deeply in this (sub)area.
At least that is what I usually did as interviewer.
 
Software technology and C++ have moved on a bit since the last 90s' when most libraries were developed. It is not necessarily a given that class hierarchies, virtual functions and traditional GOF design patterns are the way forward. It might like learning legacy code (which may be vital but that's another story).

If a pricing library were to be built these days I would probably not build on the OOP philosophy as in QL, for example. In fairness, OOP was 'hot' in the 80s and 90s.

OOP code in its current approach is very difficult to parallelise.

However, OOP and patterns are ideal for computer graphics and CAD

User Interface Design Issues for Computer Aided Design (CAD) and Computer Graphics Applications: Emerging Patterns

(1996)
 
Last edited:
Software technology and C++ have moved on a bit since the last 90s' when most libraries were developed. It is not necessarily a given that class hierarchies, virtual functions and traditional GOF design patterns are the way forward. It might like learning legacy code (which may be vital but that's another story).

If a pricing library were to be built these days I would probably not build on the OOP philosophy as in QL, for example. In fairness, OOP was 'hot' in the 80s and 90s.

OOP code in its current approach is very difficult to parallelise.

However, OOP and patterns are ideal for computer graphics and CAD

User Interface Design Issues for Computer Aided Design (CAD) and Computer Graphics Applications: Emerging Patterns

(1996)

Whoa, what a co-incidence? Just today I checked out your "Financial Instrument Pricing Using C++" from the library, and it is a surprise to see this answer here, Dr. Duffy.

Anyway, so do you think the hot area should be concurrent programming and some language like Go? In any case, right now my priority is maximising my chance at the interview at GS. Since I just started with your book, can you tell me what are the areas I should focus on?
 
Whoa, what a co-incidence? Just today I checked out your "Financial Instrument Pricing Using C++" from the library, and it is a surprise to see this answer here, Dr. Duffy.

Anyway, so do you think the hot area should be concurrent programming and some language like Go? In any case, right now my priority is maximising my chance at the interview at GS. Since I just started with your book, can you tell me what are the areas I should focus on?
The C++ book is from 2004 and the 2nd edition is out in 2017.

Chapters 2, 3 and 4 might be useful for templates. And maybe the chapters on Black Scholes.

Go is another quiche/niche language. Concurrent programming only for experienced C++ developers.
 
Back
Top