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...
What is maybe useful to know is that I personally mentor/supervisor the students with queries etc. As an added value (if the student has time, I realize they have a busy life) there is an option to do a (mini) project related to finance, at no extra cost. In the last 8 years I have supervised...
Over a period of 40 years I stuck to Fortran, C/C++ and C#. Lately Python but it's easy. So, 1 language per 10 years :)
I dabbled in other languages but many were culled before they wasted my time. e.g. I ditched Java in 1997.
I am not a CS language fan as such, as languages for me must fit into...
Technical debt (also known as design debt[1] or code debt, but can be also related to other technical endeavors) is a concept in software development that reflects the implied cost of additional rework caused by choosing an easy (limited) solution now instead of using a better approach that...
For sure. I have seen dozens drop in their steps..
Care to draw up a shortlist (C++ excluded)?
I started on Fortran IV/66 for semiconductors and Boltzmann radiation problems in a large multinational Dutch company, then in CAD. The Achilles heel was no contact with the underlying hardware. Enter...
A friend of mine in Ireland works remotely on Cobol and JCL code in insurance.
Python and Java are the front-ends.
Cough, I was a certified COBOL programmer in 1981.
Anyone remenber Y2K? (BTW my code used YYYY-MM-DD, not YY-MM-DD!) At the time they took the pensioners out of the homes and put...
At moments like this we are reminded of the fact that COBOL is most important language in the world.
https://www.theregister.co.uk/2020/04/05/new_jersey_seeks_cobol_volunteers/
COBOL-coding volunteers sought as creaking mainframes slow New Jersey's coronavirus response
Thinking out loud; a very good way to learn, use and apply mathematical skills is described in this excellent paperback
https://en.wikipedia.org/wiki/How_to_Solve_It
Is has 'handles' for solving maths problems and is a way of thinking about maths. Could be useful reading for those with an...
You're welcome, Ken.
At this stage some brash marketing :) to show off my online ODE/PDE course
https://www.datasim.nl/onlinecourses/97/distance-learning-ordinary-and-partial-differential-equations
It's my 2 cents to bridge the gap.
Students take it as preparation for MFE/MSc...
I think it's easier to teach stats to PDE people than it is to teach PDEs to stat people.
Each discipline has its own ways of working and skill sets, A more friendly way to teach PDEs is to start with ODEs and focus on building analysis skills around them. For ODE we have A) dV/dt initial...
Related to this; some of us are working on several mathematical/finance related models
https://forum.wilmott.com/viewtopic.php?f=34&t=102255&p=856216#p856216
Apologies for my brusque answer. It is important to keep the definitions clean.
I know Python has buckets of stuff and is free. (check out numpy, scipy).
Here's a nice ODE intro + Python.
https://hep1.phys.ntu.edu.tw/~kfjack/lecture/python/2016/11/lecture-11.pdf
As we speak I have just...
It's 'divided differences'. Finite difference is different and talking about coefficients is nonsense in that case.
Have you checked numpy, scipy
https://docs.scipy.org/doc/numpy/reference/generated/numpy.diff.html
These techniques are highly unstable and ill-posed in general. Better not to...
Yes! I use solely C++ for my maths work. Go for it.
Last but not least, it's got to be said that TA is top notch (see testimonials).
Actually, learning to read, understand and resolve compiler/linker errors is essential. C++ is not R or Python in this regard...
Good luck!
Learning syntax is like learning how to breakfall in judo.
Maybe take a different approach to confronting syntax (there's a right way and a wrong way). I gave a course to 22 MFE students few weeks and they all had syntax problems.
Semi-colons are a way to tell the compiler when to stop and take a break. Comes with the territory.
Have you read the last chapter of James Joyce's Ulysses? not a single comma or semi-colonial in sight.
C++ is actually "Applied Chomsky"
https://www.youtube.com/watch?v=IhC7sdYe-Jg
Go for it! It is 16 weeks and students have lots of time. QN C++ is a skill.
I am the originator of this course and a numerical analyst. And C++ is super for maths!
I've gotten a lot of recommendations to pursue a PhD in some kind of physics. Astrophysics comes up a lot. I'm wondering if a PhD in pure math would make more sense for a quantitative role.
Maybe, maybe not. Astrophysics and physics (not enough maths) sounds Cold War at this stage. "pure" maths...
My ODE/PDE endorsed by UCB online course is taken by students going to UCB.
https://www.datasim.nl/onlinecourses/97/distance-learning-ordinary-and-partial-differential-equations
There is student discount price. (dduffy@datasim.nl).
The model from Imperial College is a set of 7 coupled mildly nonlinear ordinary differential equations (ODEs) and it seems to be an extension of tbe 1927 SIR model of Kermack and McKendrick.
https://arxiv.org/abs/2003.06967
The full model does not seem to public domain, so it is not possible...
yes, it's ancient, but updating it is a time-consuming project.
On an off-topic: much of the Fortran cod embedded in Python libraries was written in the 1970s. Production systems create wrappers around legacy code. One client in offshore in Rotterdam still uses Microsoft VC++ 6.0 for their...
Before that 1) people thought tulip prices would keep going up, 2) dot com shares.
Same old story.
For the record, it was clear to me by 2006 that property crash was on its way out, big time. People getting rich by selling property to each other. aka 'irrational exuberance'.
The C function scanf is deprecated/not safe
https://stackoverflow.com/questions/30577519/error-c4996-scanf-this-function-or-variable-may-be-unsafe-in-c-programming
Why the obsession with analytical closed-form solutions?
No errors or approximation assumptions I suppose. But it can be an unhealthy obsession indeed (what if NO closed solution can be found???) Better to be approximately right than exactly wrong.
Pure mathematicians tend to search for...
3. Most problems don't have an analytical solution, so numerical methods needed.
Here is a detailed treatment of 6 methods to compute greeks for use in finance and Machine Learning.
https://www.datasim.nl/application/files/5915/7045/5027/Matt_Robinson_Thesis_.pdf
ML ->...
Make sure that your Boost library version (VS2019, 64 bit library) etc. is compatible.
You can just post questions with "precise error messages".
BTW does QL support VS2019?
etc.
They don't write well-researched books like this any more.
R.G. Dromey How to Solve it by Computer Prentice-Hall 1982
It discusses how to write well-structured modular programs and deep discussions of algorithms and data structures and code in Pascal.
For example, this is a good front-end to...
They don't write well-researched books like this any more.
R.G. Dromey How to Solve it by Computer Prentice-Hall 1982
It discusses how to write well-structured modular programs and deep discussions of algorithms and data structures and code in Pascal.
Most books (e.g. in Python) seem to...
The 2nd edition of my book has C++ code for purchasers.
https://www.datasim.nl/blogs/13/summary
https://www.datasim.nl/blogs/17/sample-chapter
I have binomial, Monte Carlo, PDE/FDM and exact solutions.
Sure, its like when the Quantnet C++ course made us write our own implementation of resizable arrays in the exercises. It was challenging and gave a glimpse of how its implemented in real world without getting into the weeds with amortization analysis etc. But we all use the std::vector object...
Writing a library with bells and whistles takes knowledge and experience. On the other hand, I think it is useful if you can code up simple algorithms to 1) double check others' work, 2) reverse engineer to a certain extent what is going on in ML libraries, 2)avoiding becoming deskilled, e.g...
Well said.
In my case I am using stuff (e.g. PDE) that I learned, starting in 1972. And I now teach it to MSc/MFE students.
Stochastics are important.
No one can say if ML -as we know it Jim - will be around in 5 years time. AI has had a very checkered history..
But this is not any old C++ course but the QN/Baruch C++ course and is exciting and not scary at all, especially with all the great support from the QN team 😁
Good question. A given topic has a begin(), middle and end(), So new C++11 stuff needs to be motivated before jumping into code, for example chapter 3 on modelling functions is vital
1. What kinds of functions
2. Functional programming
3. FP in C++11, what, how, why, when
4. Examples
For...
Thank you. One goal is to get the reader up to speed as quick as possible. In training sessions, it is similar to 20 minutes lecturing and then 30 minutes practice. This is the optimal mix imho.
Ooompfh 1168 pages, you guys really want to keep me unemployed
My book is really several books in 1:
1168 pages??? It's only 1142 pages, what?
1. C++11 syntax A-Z without being a copy of the reference manual. Syntax alone + silly examples I am allergic to (sorry, I am not a CS).
2. New...
Anyone not a mathematician would tacitly assume Shape to be simply connected...
Nothing got to do with maths, it's no insurance again not understand CAD and good design.
And design patterns are great for CAD, esp. Factory, Composite, Bridge, Strategy and above all. VISITOR (multiple dispatch)...
The demo!
1. GetPerimeter(), Area() do not belong in Shape ... not all shapes are closed
2. He did not delete the array of Shape* in main()
See the C++ code from boost. Best in class.
Wow, this thread is almost as lengthy as your book, took two years to develop it.
But I agree - or, at...
A follow-on and related discussion on C++11 and using it in applications
1. Pareto rule: 20% of C++ syntax delivers 80% of its efficacy.
2. Some developers wax lyrical on super-cool syntax such as constexpr, too much emphasis on auto, generic lambdas. Determine why you want to use them and what...
The late Mark Joshi's C++ book with Design Patterns + basic examples in finance might be a good place to get some initial exposure. It dates from 2005 (same time as 1st edition of my own book), so much has changed.
@Daniel_Duffy too reports in the opening of paragraph 2.2.1 of his Financial Instrument Praising using C++ (2nd ed.) , that the main issue here is not as much about elegance, but more prosaically about dangling pointers and memory leaks caused by error-prone bookkeeping of 'raw' pointers. This...
Rust is a new and a particularly influential systems programming language taking on C++ and fixing its flaws
C++ has no flaws, just features :)
Rust is probably another 'quiche' language? It is mainstream?
If anything, Julia looks very exciting for finance, but I have not used it...
I loved the C++ book "Thinking in C++" by Bruce Eckel. That's where I started end 80s.
On a more general rant/note, most of the new fancy syntax is premature optimization (some CS developers do like it nonetheless) and it cannot be implemented in the short term. They try to optimize even...
Actually, C++17/C++20 is the current standard! BTW C++14 is essentially bug fixes for C++11.
My main issue is the examples in Meyers' book .. everything is a vanilla Widget class which is not to everyone's taste. From there my somewhat nasty remark on syntax. Many application developers consult...
You don't need money, just time and drive.
Not Meyers for you. It's syntax only and outdated.
This one does C++11 for Finance
https://www.datasim.nl/blogs/13/summary
https://quantnet.com/threads/blog-articles-on-c-11-and-computational-finance-by-daniel-j-duffy.32237/
Indeed. Writing code in a PhD environment is a million miles away from the same endeavours in Industry.
An overhaul is needed IMO. Things have moved on. But that's only what I think.
“A little learning is a dangerous thing. Drink deep, or taste not the Pierian Spring; There shallow draughts...
Most of the Python libraries are user-friendly fancy wrappers for Fortran and C++ libraries, e.g. LAPACK, QUADPACK etc. etc.
On a general note
1. Subtype inheritance has fallen out of fashion somewhat which means less pointers to base class.
2. C++11 has a new memory model...
I qualify my remarks on GOF is that they are very good but _not_ to implement them in style OOP C++98 style as is done in the GOF book. And many patterns are directly supported in C++11 and Boost.
Don't throw the baby out with the bathwater.
Not the punctuation, but what you are trying to say is not clear to me.
So, GOF == old hat? It's analogies I have difficulties with ... so many possible interpretations.
(I applied GOF to many technical apps (CAD, Risk, Process) since 1992. Now I have developed multiparadigm OOP-GP-FP patterns).
Yes, Franco Brezzi was there. Nice, friendly man. The head of Analisi Numerica was the legendary Enrico Magenes. At the time I was researching FEM for 1st order hyperbolic systems of Friedrichs type.
Regarding C++, your approach _seems_ rather archaic and misunderstanding of what smart pointers...
For C++, Quantnet/Baruch are very popular.
Gang of Four patterns are severely outdated and are a snapshot of C++ in 1992. Things have moved on.
C++ 98 is also outdated in a sense.
The Baruch courses are up to date.
I like the numerical analysis background, it's not everyday you meet someone...
I find online code questions very silly.
The best way is to have an interviewer who knows what programming is.
For C++, I reckon it takes 10-15 minutes to test the interviewee.
Rule #1; don't try to bluff your way through the tests.
Sure :)
ML and computational finance is also a hot topic and could be a good source.
Two very good theses here 1) ML for SABR, 2) computing option sensitivities.
https://www.datasim.nl/blogs/26/msc-theses-on-machine-learning-and-computational-finance
Hard one to answer. There are so many factors, not the least of which is if you really like C++ and are good at it.
Knowing Python can be a disadvantage, really. It is much sloppier syntax than C++. You can get into bad habits.
Two types of people: those who like C++ and them that don't.
I see AI (and is very fuzzy and it's very early days IMHO) as an application area based on more fundamentals skill such as (numerical) mathematics, statistics and certain areas of computer science. Once you know these then I reckon life becomes easier.
It is not necessary to have a PhD to do...
Sadly, Mark Joshi passed away a few years ago.
https://fbe.unimelb.edu.au/newsroom/obituary-for-professor-mark-joshi
MJ had contacts with Quantlib, so maybe inquire there.
Found this
http://www.maths.usyd.edu.au/u/UG/SM/MATH3075/r/Joshi_2008.pdf
In spite of having a heavy STEM background, I'm pretty decent with people and I'm a strong communicator
That's a cliché.
The two are uncorrelated IMO. Richard Feynman and John von Neumann.
Why are they doing this? My guess:
A Law of Software 'Gravity' is that maintainability (costs) takes the upper hand as a software product evolves and mature.s It can be an asset or a liability.
Boost C++ Histogram library.
https://www.boost.org/doc/libs/1_72_0/libs/histogram/doc/html/index.html
This library provides a histogram for multi-dimensional data. In the multi-dimensional case, the input consist of tuples of values which belong together and describing different...
Can you give an example of a 'verbal puzzle', please?
IMHO your success in life is not determined solely by 'puzzles' :) Still, I suppose puzzles must be learned.
Some on the board of directors, because of this, were lobbying to remove Watson as IBM's President. He needed these inventories sold.
A very large government bid, approaching a million dollars, was on the table. The IBM Corporation—no, Thomas J. Watson Sr.—needed every deal. Unfortunately, the...
Good luck!
The C++ syntax etc. takes a bit of getting used to. So, if you get stuck really, take a break and /or ask the TAs.
Training/study blocks of 2 hours is not a bad strategy.
Here are the maths Boost guys. In the past I found John Maddock was friendly and I know Thijs vd Bergh who does quant and ML.
Maybe have another go? Disclaimier: I don't know the inner workings of how Boost is organized..
Having a header-only public AAD library would be good...
Thanks for the feedback, Anttoine Found a good definition from risk.net
Adjoint algorithmic differentiation is a mathematical technique used to significantly speed up the calculation of sensitivities of derivatives prices to underlying factors, called Greeks. It is widely used in the risk...
I googled "AAD" and it did not give any hits. My feeling is AD has been promoted to emphasise the adjoint (reverse) aspects of the 2 modes of AD. I am confused by the rationale.
Making up new names confuses people no end (it's rampant in ML, those guys make up names for things that already...
Small remark on grammar:
The singular of 'alumni' is 'alumnus'
https://en.wikipedia.org/wiki/Alumnus
In accordance with the rules of grammar governing the inflexion of nouns in the Romance languages, the masculine plural alumni is correctly used for groups composed of both sexes: the alumni...
Antoine,
You might be interested in two excellent theses on ML and finance that discusses a number of related methods.
https://www.datasim.nl/blogs/26/msc-theses-on-machine-learning-and-computational-finance
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.