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.
I have been external MSc supervisor at the University of Birmingahm since 2014 (~50 theses to date). My own focus is students with good grounding in finance, maths and C++. I am hands-on coach. It takes 3 months to get my students in top form :)
In particular, the combination Maths/C++ is...
OpenMP is certainly good for the concepts but is getting a bit long in the tooth (VS only supports v 2.0). C++ 11 has thread and tasks/futures. Just saying.
And a C++ developer who is afraid of pointer sounds a bit odd.
Design Patterns == GOF
https://en.wikipedia.org/wiki/Software_design_pattern
18 years ago., not it was 4 months ago and it exposed a white lie. You obviously don't know what went on.
A rally with 400,00 bikers is crazy,
200K people have died in USA.
Next you'll be saying is it only a virus and only old people contract it. But it has been politicised, how did it get that...
@ApolloChariot
I don't do straw man arguments as you seem to be inferring. As early as March 2002 I analysed the much-touted COVID-19 software from Neil Ferguson which was used by UK and US governments. It is discussed in excruciating detail...
What a great memory you have! 1918.
I find the above reasoning in your post is quite logically fallacious, a bit like the No True Scotsman.
It's what is not being said needs to be addressed.
Me condescending, never!! More like shoot-from-the-hip.
Anyways, nice try..
If you really want to be constuctive you could review that article instead of attacking me.
If this is how far you are, then there is little hope. Denial is not a river in Egypt.
HEALTH AND SCIENCE
Fauci says a coronavirus vaccine is ‘unlikely’ by U.S. election
https://www.cnbc.com/2020/09/08/coronavirus-vaccine-dr-fauci-says-its-unlikely-it-will-be-ready-by-us-election.html
He called the coronavirus outbreak in the U.S. a “mixed bag” as new cases fall in the southern...
While programming in MATLAB, Python and C++ can be more of an art
Not exactly.
The scientific approach is to learn C++ as it is the basis for everything
And program like crazy.
In my undergrad, I have done basic programming algorithms like sorting, printing patterns, data structure. However...
So, which part is not 'fact'
http://ftp.iza.org/dp13670.pdf
Not a reason to say that large groupings _don't_ help spread COVID-19.
Denial is not a river in Egypt.
Really??? What about the second wave?
And this?
South Dakota 'super-spreader' biker rally could be linked to 250,000 coronavirus cases
More than 400,000 people are thought to have attended this year's Sturgis Motorcycle Rally over the course of 10 days
I was working as a student in NYC in summer of 1972 (Watergate, Fischer vs Spassky) . One of my most pleasant memories was the AIR_CONDITIONED New York Library where I could prepare for exams.
The city was badly run down (Central Station looked awful and Times Square was seedy), but thanks to...
'Responsibilities' are kind of on the job stuff, while "Requirements' corresponds to mathematical and financial skills.
Job ads sometimes mention product knowledge (e.g. Visual Basic 6.0) which do not have a long shelf life. The trick is to learn future-proof generic skills.
C++ -> Python -> Advan C++ can be a good choice as well. depending on your goals.
I find 'switching' between the two languages useful.
Actually, the functional paradigm (tuple, variadic params, higher-order functions, decorators) in Python could be a great step-up to Adv C++11.
QN C++ is based on many years or teaching in industry and academia, not to mention actually writing applications.
Read the lectures few times and then jump into the all_so_important exercises.
Data structures are language-independent.
20 years ago there no libraries. Things have moved on.
A full course on data structures is not what would do in 2020. It is an STL module in Baruch Adv C++ coiurse.
I have just coined a new term: (Programming) Language Silo
In many cases, developers and quants' monolog interiors seem to be driven by their fascination/obsession with a single programming language (Sapir-Whorf again). This is caused by idiosyncratic views 1) efficiency, 2) elegance, 3)...
Anyone can write a book. That's the easy part.
60% of my time in a book/courses is exercises A-Z.
Don't just read it; fight it! Ask your own question, look for your own examples, discover your own proofs. Is the hypothesis necessary? Is the converse true? What happens in the classical...
Ah, OK.
Over here in Europe we call it 'Algebra'.
My school teacher was PhD and I Iearned group theory at 17. It does not have may applications in finance AFAIK.
Very impressive list of programming languages.
I used Prolog in 1987 when the world thought it was the future. At the time the West was scared of the Japanese 5th Gen that was fueled by Python .. a paper tiger.
https://en.wikipedia.org/wiki/Fifth_generation_computer
Anonymous message
Professor Duffy, just one question do you any chance offer possibility of buying some book concerning Python with code as for Financial Instrument Pricing. I am in desperate need of professional python code [..]
@APalley
@Andy Nguyen
This is 100% correct.
After all these years Computer Science still does not understand that software development is more of an engineering+ design discipline.
Anyone can write a program that prints '42'. And unfortunately, the situation is exacerbated in ML. The real risk in the future is...
An interesting follow-on remark is that all the numerical linear algebra code in Python is all Fortran.
https://en.wikipedia.org/wiki/Fortran
Standing on shoulders of giants.
An interesting follow-on remark is that all the numerical linear algebra code in Python is all Fortran.
https://en.wikipedia.org/wiki/Fortran
Standing on shoulders of giants.
Traditionally, "linear algebra" tends to be taught in academia without dealing with "numerical" part. A better name is Vector (or Linear) spaces. To this stuff into a computer we have "Numerical Linear Algebra" and has algorithms for a wide range of problems and applications all over the place...
It takes years before you become any good at writing. Or any good at anything for that matter.
And you need to know your readers.
And take concrete examples that readers can check and generalise. Quite simple. actually.
The source of all great mathematics is the special case, the concrete...
I would say it's more in the CS academic sphere, in general.
Complexity is (was?) about searching and sorting in data structures. Financial is more about maths + algorithms with data structures as side-kick.
The heart of mathematics (and C++, red.) consists of concrete examples and concrete problems. Big general theories are usually afterthoughts based on small but profound insights; the insights themselves come from concrete special cases.”
— Paul Halmos
The books are a bit too CS and generic for my taste. Lots of syntax, very little design. No offence, but it's like reading the telephone book.
Just my personal opinion. The best way to learn C++ is to write code, brick-by-brick. And the less copy-and-paste, the better. My videos have 80% of what...
In a sense, the best background is your brain + motivation.
90% is self-contained (I think), listen hard to the videos and do the exercises will bring you a long way. And the very helpful TAs!
Of course!
C++ will be here at your retirement age (in the future == 85). Life-long learning!
Who knows, may C++ will support Quantum Computing by then.
https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0208073
There are lots! Here are two theses I supervised last year.
https://www.datasim.nl/blogs/26/msc-theses-on-machine-learning-and-computational-finance
Initially, you first need to walk (learn the design process on a generic/non nitty-gritty cases) before running (actually applying design...
Will the course teach good software principles that are often neglected by Python users?
1. Not so much neglect, more like no one out there (yet) to tell them how. I have several Python books but most are anaemic at the design level IMHO.
2. Universities have their strengths for sure, but in...
Oops, sorry, I missed that.
One of the ways I could think of now is to start learning to backtest a strategy from quant reports.
I would say that the next skills are to independently design and implement a program from scratch based on some requirements document?
This is not a skill that you...
How many students know the chain rule, let's say transforming from (x,t) to (z, tau)
z = z(x,t) = x/s(t)
tau = t
Now transform heat equation
u_t = u_xx for 0 < x < s(t)
to a PDE in z and tau for 0 < z < 1.
// 95% get it wrong first time.
Hint; use the chain rule and z is a function of TWO...
Historically, the ex-Cold War quants tended to be physicists. Physics uses a lot of mathematical symbols (and a bit of PDE/FDM)l to be sure but that's not the same as mathematical insights and methodology. TBH, I'm not sure how useful it is in the ML/Data era..
The big jump from {Java, Python, Matlab, <whatever>} to C++ immersion is huge. Do some C first. Believe me, otherwise 2 steps forward and 1 step backwards.
Someone on QN once wrote that they learned more from QN C++ than 4-year CS degree programme.
Saw this random observation...
If you do not...
Looking back, I am very glad that the QN C++ course has 2 modules on C (you really learn what a compiler is). Of course, there's a lot of deprecated C code not to use but
1. you learn necessary structure
2. get close to the hardware.
3. C++ _is_ a better C
Jumping into C++ w/o C foundations...
I do Optimisaton as part of a numerics course
https://www.datasim.nl/onlinecourses/101/distance-learning-applied-numerical-methods
and its implemntation in Python
https://www.datasim.nl/onlinecourses/106/distance-learning-applied-numerical-methods-with-python-and-python-libraries
It is as an...
There are many good female quants but are you looking for those in the 'limelight' as it were?
The ambiguity here is there is no agreed definition of what "quant". Each has her own internal model. On thing is sure: quant these days is all about progarmming. And Quantnet/Baruch has an impressive...
There was a time when people in industry could do both maths and programming (the word 'code' means nothing). Writing reliable software is a skill that takes years to learn.
Computer Science doesn't have enough hard maths contents. This is not news. And numerical analysis is more useful than applied maths (whatever that means..) here.
What do I know.
1- Coders
PHP developers good enough? BTW the modern word is programmer or developer.
I would need 3-4 Quantnet/Baruch C++ developers. They would have it done before lunch.
This report undertakes a critical examination of the by now well-discussed open-source software based on an epidemiological model from a team from Imperial College London led by Dr. Neil Ferguson.
I've been pontificating about good software project management for years but this high-profile...
First, get rid of the lawyer. Second, read this report
https://quantnet.com/threads/analysis-of-covid-19-mathematical-and-software-models-or-how-not-to-set-up-a-software-project.44438/
3. Project leader to keep group 1 from spinning out of control 🤕
That's 2 questions, one for ODEs, one for SDEs. I'm referring to ODEs (doesn't let Euler-Maruyama off the hook), Well-known issues, lots of them.
Euler is no good for stiff ODEs, for example.
Anyways, Euler is the least of their worries.
https://www.datasim.nl/blogs/27/analysis-of-covid-19-mathematical-and-software-models
I've been pontificating about good software project management for years but this high-profile adventure exposes all the warts and all. The chickens have come home to roost.
I would say sections B, C, D, E correspond subsume calculus
https://www.datasim.nl/application/files/1315/5947/7165/DL_Pure_Mathematics_Foundations.pdf
Calculus is not analysis; the latter teaches differentiability while the former just 'does it'.
Calculus == HOW
Analysis == WHEN,WHY,WHAT...
It depends on the target/reader group. I work backwards to the books that satisfy the needs.
I still don't know the precise definition of "Advanced Calculus"..
You mean, the Joshi book or my book (2018 2nd edition is the most uptodate C=+11). The former is outdated. And traditional design patterns have been given a facelift in my courses.
https://www.datasim.nl/application/files/5615/3778/5054/Chapter1Watermark.pdf
The best way to learn C++11 etc...
From AMS Classification, 'calculus' on its own is ambiguous, so many 'calculusses' to choose from.
https://mathscinet.ams.org/msc/msc2010.html?t=&s=calculus&btn=Search&ls=s
Maybe 'calculus' is a common name in USA. In Europe calculus is what we learn(ed() at school. More accurate names imo are math methods (calculus on steroids, working things out like Stokes stuff) and real/complex analysis (epsilon/delta, hard core stuf). There again, I haven't looked in 47...
I think the N:M:R:T question is too big to answer.
"Paul Wilmott on Quantitative Finance" Vols 1 to 3 is a good place to start.
Maybe start with 1 factor BS and take it from there.
I don't of any. Since you know C++, a VBA course is too simple for you, so plan B
book on VBA syntax
Jackson and Staunton on VBA for finance (Wiley)
A site with VBA code for quants
http://www.axelvogt.de/axalom/
and Haug's book...
Since you ask. here is what I offer (rigorous, practical and hands-on)
https://www.datasim.nl/onlinecourses
BTW I am also the originator of the Quantnet C++ course.
General topology, stochastic analysis, mathematical finance primarily stuff about Levy processes, lots of PDE including advanced stuff like sobolev spaces and somewhat beyond, lots of measure theory, lots of functional analysis including advanced stuff like C*-algebras.
All this in Two years...
Should be fine. Many students have never even programmed before.
The course contents/style has been influenced by the mathematical/engineering-style background of the course's originator.
C++ is the best foundation for many reasons.
e.g. knowing C++ means learning Python, C#, Java is a piece of cake.
Knowledge of Python doesn't really help if you wish to learn C++. The best way to learn C++ is to learn C++.
You're welcome :) It was good advice and I advise many people. It was not meany to cause offence (or offense in the States), per se.
In my day we had no Grammarly and our teachers were very strict
Using modules and packages for program deccomposition.
The "Pythonic way" should not be a straightjacket/Procrustean bed. I think a Pytonic++ way deserves attention. These style guidelines transcend a given programming language.
A single style is not useful for all application domains...
From "Python in a Nutshell"
"Sometimes, however, you need a deep copy .... fortunately, this need is rare, since a deep copy can take a lot of memory and time."
I don't agree
1. Many applications need deep-fried-copied object
2. Deep copy can be more thread-safe than shallow copy. (replicated...
Here is a quote with which I disagree completely. It is very, very bad:
"I hate anything that asks me to design on the spot. That's asking to demonstrate a skill rarely required on the job in a high-stress environment, where it is difficult for a candidate to accurately prove their abilities. I...
Here's a thought: Compare how (the process) mechanical engineers design and manufacture physical products with how software products are made. create. Big difference.
For one, lack of design blueprints.
If you build a house, do you first buy a bag of bricks?
Factories and other patterns are directly supported in Boost.
I've stopped using Singleton pattern 20 years ago. Factory Method pattern is OK but limited to toy examples.
I can see an implicit, conceptual link between the two.
The Gang of Four 1994 book tells the precise mapping, as does...
I also have the 'Effective Modern C++' book on C++11/14 by the same author, which I guess will present the best 'design patterns', and in what specific situations it is useful to take advantage of these improvements in the language.
What's your definition of a design pattern? Meyer's approach...
The authors assume background in measure theoretic probability
This excludes > 90% of readers! To have a have a background in measure theoretic probability the necessary foundation are
real analysis
measure theory / Lebesgue integration
Some Functional Analysis, really
The beginner should...
Linear algebra is needed in so far that it is (only) a supporting mechanism for approximation and optimisation algorithms.
Most problems here are nonlinear and are solved as iterations of linear problems (enter linear algebra!).
What is missing IMHO in general is more precision on
. function...
Since this is a finance site, the real interesting thing for people here IMHO is how to do it for finance, really. To mamy examples now on character and baboon derriere recognition :)
I'm biased but this is how I feel ML work should be written up...
I find Geron's book just OK. And boring.
It reads like a cook book pressing the right buttons for TensoFlow and Sklearn.
On a follow on, most of the O'Reilly books IMO are 90% tables, screen shots and plots and 10% maths/insights.
Each to his own; what do I know.
The constructive message is...
Here's a bunch of useful C++ examples from Boost.
Caveat: I haven't done much after the posts but you may find it useful nonetheless.
http://www.datasimfinancial.com/forum/viewtopic.php?f=22&t=111
What I see a lot is linear algebra as pure maths which is essential, indeed. The other side of the coin is Numerical Linear Algebra which is more common in daily work.
(Same holds with ODEs .. it not enough to know just the analytics; Python odeint and Boost odeint are needed,)
Many (almost all...
Everybody is a student lifelong, so it's not all bad.
1. Certified C++ developer (you learn a skill and how to write decent code)
2. First kyu (brown belt/judo/karate/ju-jutsu). (next black belt).
(The judo belt analogy is very accurate; you can 'map' each course level to a given colour).
Alright then, I downloaded the revamped Imperial Covid C code, built the project and got it running in console mode (it uses GDI which I haven't used since 1992 ... it is deprecated big time and is impossible to find GDI drivers),
I will write up a precise and detailed report in the coming days...
Alright then, I downloaded the revamped Imperial Covid C code, built the project and got it running in console mode (it uses GDI which I haven't used since 1992 ... it is deprecated big time and is impossible to find GDI drivers),
I will write up a precise and detailed report in the coming days...
https://www.businessinsider.nl/trumps-coronavirus-team-relies-on-stupid-model-by-controversial-economist-2020-5?international=true&r=US
"Lies, damned lies and cubic spline interpolation".
I agree with pingu. Baddest model ever. They never bootstrapped the 30-year forward rates curve.
You should read a bit more, especially what software developers say. Don't be fooled by cute reports.
The wording 'derivative' is a misnomer (a better word is 'clone'); it is an attempt to remove the bugs. It could be called a second version in C++ (12 years too late). The software is the...
One exhibit from the report
“Stochastic” is just a scientific-sounding word for “random”. That’s not a problem if the randomness is intentional pseudo-randomness, i.e. the randomness is derived from a starting “seed” which is iterated to produce the random numbers. Such randomness is often used...
How one Covid-19 Software model (Neil Ferguson/Imperial College) was developed.
A damning report
https://lockdownsceptics.org/code-review-of-fergusons-model/
Matt, I have known the friendly people of QN and Baruch for almost 15 years now and I am the originator of the 2 C++ online courses here.
So, I like to have a look to see how everyone is doin', say hello and hopefully be useful :)
Welcome to Quantnet, Matt!
I have taken the liberty to place a link to your MSc thesis here :)
https://www.datasim.nl/application/files/5915/7045/5027/Matt_Robinson_Thesis_.pdf
Learning more hard (applied) maths does no harm I would say. And lots of hands-on doing maths.
Advanced C++, is that the Baruch course you are referring to?
With your knowledge of C++ you could solve them using odeint
https://www.boost.org/doc/libs/1_72_0/libs/numeric/odeint/doc/html/index.html
(BTW most models are toys)
Aerospace Engineering is a good background to have from what I have experienced. Certainly the maths part.
Matlab is fine but maybe look out for Python and C++.
You can use simulated/synthetic data (i.e. analytic solution) as training data for the ANN (3-layers?)
FDM == finite difference method
FEM = finite element (more advanced)
Here'a a possible, doable project: take the problem as in McGhee's article, make it more clear (better 'flow') and use the approach taken by Dalvir Mantara in the thesis I posted. For training data, use Heston exact and then maybe move to FDM/FEM.
BTW Dalvir's thesis is extremely well-written...
Yes, especially at MSc level and limited time resources you want to take an incremental approach.
Like life, we must walk before we can run. So, some time to learn ML before applying it to finance.
aka how to scope your thesis and a project estimation. I always ask student to write up a 1/2 A4...
Your background may be too diffuse, as you say yourself.
For economics stuff, more hard mathematics/analytic thinking in maths is probably _very_ necessary.
As regards programming, R is easy to learn but C++ is a real skill. Python is a useful side-kick.
There's certainly no shortage of fancy buzz words in ML. The proposal is high-risk and there's no guarantee that useful results will be obtained. I could be wrong but a Plan B does no harm.
For MSc I recommend benchmarking existing methods and integrating/improving them with ML. Avoid the...
Sanskrit is very useful for students of Indo-European languages.
https://upload.wikimedia.org/wikipedia/commons/0/05/Indo-European_isoglosses.png
I always wanted to learn Icelandic.
My C++ Boost code gives
262537412640768743.999999999999250072597198185688879353856337336990862707537410378210647910118607313
which is correct.
This number was discovered in 1859 by the mathematician Charles Hermite.[7] In a 1975 April Fool article in Scientific American magazine,[8]...
Using Boost multiprecisin (BTW I used Archmedes' algorithm using harmonic and geometric means to compute to yuge accuracy). It looks like an integer indeed. I suspect normal double version can't handle it.
https://en.wikipedia.org/wiki/Approximations_of_%CF%80
The code is in my C++ 2018 book...
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.