Muschamp Rd

More Professional Development

November 12th, 2026
CQF Books

I was originally going to title this post “40% Finished the CQF” because I’m either 40% finished that professional development program or even half done depending on how you measure and whether you’re an optimist. In 2026, I did complete the Certificate in Python for Finance, but that does not seem to have moved the needle at work, so I doubled down and enrolled in the Certificate in Quantitative Finance. After all these years spend doing professional development I have some thoughts.

Others have done more professional development than I, some have even blogged about it, but having maintained this blog for over twenty years now and having really struggled at times including recently when security issues were discovered in PHP. I am long overdue for a new blog post and of course instafame.

Certificate in Quantitative Finance

The Certificate in Quantitative Finance is also known as the CQF. Yves who is behind the Certificate in Python for Finance and who has also taught at the CQF Institute would like his program to be known as the CPF. While chatting to our AI chatbot at work about professional development, I swear it got confused and when I said I was considering doing the Certificate in Python for Finance aka the CPF the chatbot enthusiastically endorsed my decision to do the CQF the Certificate in Quantitative Finance!

AI continues to improve and artificial intelligence, machine learning, and Python are part of the curriculum in both programs. We are strongly being encouraged to adopt AI and leverage AI and of course to use our professional development budget at work. The CQF however is not cheap, nor is it easy. It represents a major commitment on my part to both professional development but also to doubling down on Finance, Python, AI, ML, and data science. I never seriously considered it at first, I was so glad to finish calculus and differential equations while an undergrad, returning to doing math problems late at night with a pencil and paper was not what I was thinking about doing when we entered 2026.

Why not do the CFA® Program instead?

You must be new here.

I completed the CFA Program and earned the CFA Charter years ago, of course I was a CFA Candidate before that. I blogged extensively about that program and eventually even managed to get contacted by the CFA Institute about my blog. I never committed any violations of the CFA Institute of Code of Ethics and now many years later still have not, but I do have a footer they personally selected at the bottom of every blog post even the ones not about the CFA program.

When I was doing the Certificate in Python for Finance there was one or two people in our group chat who had already finished the CQF and maybe one or two who had done the CFA program, even one person who had done both but it wasn’t TheFinanceNerd. His was one of the few accounts about doing the CQF that I could find online. He has also done the CFA, the FRM, and even the CAIA but I don’t know who he is, however it could probably be found out. He seems to enjoy professional development more than me, probably derivatives and stochastic calculus too.

What about doing an MBA?

Been there, done that, got the t-shirt.

This blog was actually started while I was an MBA student. So although I wrote extensively on my experience as an MBA student at the Sauder School of Business it was probably ultimately not well received and now according to Google those blog posts go unread, whereas my study advice for the Level 1 CFA® exam is literally the most popular thing I’ve ever written now that it is 2026.

Having had twenty years to think about it, my advice for anyone considering an MBA is to shop around. There are a lot of programs, a lot of rankings, a lot of new specialized programs, a lot of alternatives like the CQF or the CFA program if you want to do professional development.

I used to get asked about getting into an MBA program, and rereading that advice I still advise consulting the 300hours blog. I do know who started that blog. I’m becoming an OG of the finance professional development blogosphere.

Other Professional Development Programs

There are so many now , that is why my number one piece of advice is to shop around. Maybe there is some acronym I haven’t even heard of that could be perfect for you. There are more and more online courses, I’ve done several, I got the badges to prove it. At some point I became a Professional Scrum Master™ I even flew to Hong Kong to take a course from Lorenz Cheung who I may have partially inspired to do the CFA Program.

I have done a course on Udemy, which I did blog about. I’ve also done multiple Microsoft certifications, those can have very strict online test conditions, much stricter than any other online course I’ve ever taken. There is no blog post detailing that, but you do earn a badge you can display on LinkedIn. Finally we come to the Certificate in Data Science for Investment Professionals which is no longer even being offered by the CFA Institute. That earned me five online badges and a digital certificate. That certificate was the majority of my 2024 professional development budget making both my boss at the time and the CFA Institute happy.

Some of these online courses are short and linear. Some have proctored online exams. Others are non-linear and you can choose which videos to watch even giving you some choice over what your final project is about. The Certificate in Python for Finance is done this way. Some earn you fancy online badges and an acronym you can put after your name, some just become a footnote in your year end employee review. This is why I think you really need to shop around or you’ll end up spending months of your life, all your weekends, all your evenings, up late watching video after video, reading PDF after PDF about stuff no one including yourself actually cares about.

What is the CQF all about then?

They have a website. It is the second hyperlink in this blog post. These professional development programs are not for the lazy. Some of them are harder than others, the CQF is considered harder than most. It is supposedly graduate level, so an alternative to doing a Masters of Business Administration or some other Masters degree. On their website in November 2026 they list as the top three reasons to choose the program:

  1. Gain practical quant skills online
  2. Learn from world-leading practitioners
  3. Stay competitive throughout your career

It is the last bullet point that may have the most appeal to me. I’ve given the Sauder School of Business, the CFA Institute, and now the CQF Institute a lot of my money. The CFA Institute will gladly sell you another course as most likely would the Sauder School of Business, but I get lifetime access to the materials that exists now and will ever exist in the CQF program. Obviously this is aspirational, but hopefully they continue to add more materials I can use in my future professional development, should I choose to do any. I still have access to the Python Quants online learning platform too, so I could read a preview of Yves latest book for example. Apparently a lot of other people are upskilling in 2026 with the rise of AI.

Hopefully I do not get in trouble from the CQF Institute for taking a screenshot of their website, because it was a screenshot containing part of the logo of the CFA Institute that was the original reason Lisa Kellerman contacted me about my blog. As a result, I spent a lot of time adding ® symbols behind the first “CFA” in every blog post I’ve ever made both back in 2016 and ever since.

What do you actually learn during the CQF?

Stochastic calculus and derivatives, there is so much stochastic calculus and derivative pricing. You also must write a lot of Python code. I spent considerable time during the program making graphs, so I included one below. Definitely start early and do the primer courses, especially if it has been a long time since you’ve done any calculus like me.

The problem facing the CQF Institute and educators in general is almost any math, finance, or computer science problem they can pose, AI can answer. One of the people in my cohort said the first assignment contained “AI traps”, I’d never heard of such a thing. The second assignment the instructors were almost deliberately vague about what you should do. Obviously the faculty doesn’t want their assignments and the solutions to their assignments all over the Internet, but I think that horse has left the barn.

As a compromise and because I wanted to see if I could get all the LaTeX or Markdown from my Jupyter notebook into WordPress I’m going to include the introduction to my assignment and then the resource section below. To complete the assignment all you have to do is write the middle bit. Getting the Markdown from my Jupyter notebook into WordPress is going to be work, none-the-less I persisted. There is no Markdown or LaTeX block built into to WordPress by default but there is a Math block which is basically LaTeX compatible and definitely didn’t exist when I started using WordPress over twenty years ago.

Tables of formulae are apparently hard for WordPress. Google/Gemini may be able to help, you do a lot of Googling during the CQF Program. It is difficult for an online class to ban the entire Internet while students work on their assignments.

The introduction to my second CQF assignment

In the beginning there were randomly generated numbers. These numbers were carefully chosen to follow a standard normal distribution. They are then used to simulate the path an asset price may take through time using Geometric Brownian Motion. The terminal value of the paths is then averaged to get an expected future price of an asset. Armed with this price, combined with estimates for the interest rate and volatility it is possible to price a variety of options.

This report details the pricing of vanilla options aka European puts and calls as well as Binary options aka Digital puts and calls. The techniques employed include Euler-Maruyama and the Milstein method with and without antithetic variates. These can be contrasted with the closed form solution which exists for Vanila and Binary options. Finally an analysis of the sensitivity of option prices to a variety of inputs can be undertaken.

Financial Problem

One of the primary purposes of options is hedging risk such as the risk of interest rates increasing or a foreign currency pair diverging further apart. The options analyzed in this report serve no specific purpose other than educational. If you have a strongly held opinion about the future price of an underlying asset increasing, you could buy some calls. If you were then concerned about the effect an increase in interest rates would have on your calls you could then examine Rho. This report focused on breadth and completeness rather than analyzing an extremely specific scenario. However it does illustrate the effect of higher interest rates for longer on Vanilla calls a scenario we are now living under.

The default values used to price an option are shown in the table below.

ParameterSymbolValue
Today’s Stock Price𝑆0100
Strike Price𝐾100
Time to Expiry𝑇−𝑡1 year
Volatility𝜎20% (0.20)
Constant Risk-Free Interest Rate𝑟5% (0.05)

A European call given the above data has an expected value of 10.45 and a put would have an expected value of 5.73 using the following given equation:

V(S,t)=e−r(T−t)𝔼ℚ[Payoff]V (S, t) = e^{-r(T-t)}\mathbb{E}^{\mathbb{Q}} [\text{Payoff}]

Numerical Procedures

The primary technique used to value options using Geometric Brownian Motion is the Euler-Maruyama technique. The Milstein method adds an additional second order term which improves the convergance. Using antithetic variates reduces the number of random numbers you need to generate in order to achieve a comparable level of accuracy. Those were the results that were expected to be produced by the Python code to be written. 

Calculating the Greeks (Delta, Gamma, Rho, Theta, and Vega) required additonal formulae and code. Finally considerable code was required to demonstrate success and illustrate relationships and findings.

From Python Lab 8 we were given:

The Black-Scholes Formula

The Black–Scholes equation describes the price of the option over time as:

∂V∂t+12σ2S2∂2V∂S2+rS∂V∂S−rV=0 \frac{\partial V}{\partial t} + \frac 1{2}{\sigma^2 S^2} \frac{\partial^2 V}{\partial S^2} + r S \frac{\partial V}{\partial S} – rV = 0


Solving the above equation, we know that the value of a call option for a non-dividend paying stock is:

C=SN(d1)−Ke−rtN(d2)C = SN(d_1) – Ke^{-rt}N(d_2)

and, the corresponding put option price is:

P=Ke−rtN(−d2)−SN(−d1)P = Ke^{-rt}N(-d_2) – SN(-d_1)

where,

d1=1σt[ln⁡(SK)+(r+σ22)t]d_1= \frac{1}{\sigma \sqrt{t}}\left[\ln{\left(\frac{S}{K}\right)} +{\left(r + \frac{\sigma^2}{2}\right)}t\right]
d2=d1−σtd_2= d_1 – \sigma \sqrt{t}
N(x)=12π∫−∞xe−12x2dxN(x)=\frac{1}{\sqrt{2\pi}} \int_{-\infty}^{x} \mathrm e^{-\frac{1}{2}x^2} dx

𝑆 is the spot price of the underlying asset
𝐾 is the strike price
𝑟 is the annualized continuous compounded risk free rate
𝜎 is the volatility of returns of the underlying asset
𝑡 is time to maturity (expressed in years)
𝑁(𝑥) is the standard normal cumulative distribution

Greeks

Description Greeks for Call Option Greeks for Put Option
Delta ∂V / ∂S — Sensitivity of Value to changes in price N(d1) −N(−d1)
Gamma ∂2V / ∂S2 — Sensitivity of Delta to changes in price N′(d1) / (Sσ√t)  
Vega ∂V / ∂σ — Sensitivity of Value to changes in volatility SN′(d1)√t  
Theta ∂V / ∂t — Sensitivity of Value to changes in time −[SN′(d1)σ / (2√t)] − rKe−rtN(d2) −[SN′(d1)σ / (2√t)] + rKe−rtN(−d2)
Rho ∂V / ∂r — Sensitivity of Value to changes in risk-free rate Kte−rtN(d2) −Kte−rtN(−d2)

The Greeks for digital options require the following formulas with (T-t) being replaced as just t to match Python Lab 8 but I confirmed them online and from Paul Wilmott introduces Quantitative Finance:

Digital Greeks

Description Greeks for Digital Call Greeks for Digital Put
Delta ∂V / ∂S — Sensitivity of Value to changes in price e−rtN′(d2) / (Sσ√t) −e−rtN′(d2) / (Sσ√t)
Gamma ∂2V / ∂S2 — Sensitivity of Delta to changes in price −e−rtd1N′(d2) / (S2σ2t) e−rtd1N′(d2) / (S2σ2t)
Vega ∂V / ∂σ — Sensitivity of Value to changes in volatility −e−rtd1N′(d2) / σ e−rtd1N′(d2) / σ
Theta ∂V / ∂t — Sensitivity of Value to changes in time re−rtN(d2) + e−rtN′(d2)[d1 / (2t) − r / (σ√t)] re−rtN(−d2) − e−rtN′(d2)[d1 / (2t) − r / (σ√t)]
Rho ∂V / ∂r — Sensitivity of Value to changes in risk-free rate −te−rtN(d2) + [e−rt√t N′(d2)] / σ −te−rtN(−d2) − [e−rt√t N′(d2)] / σ

I consulted “Numerical Analysis of Euler and Milstein Schemes with Applications to Multi-Asset Heston Models and Exotic Option Pricing” by Paul Stephen Orovwuje, Sunday Amaju Ojobor, Tolulope Olamide Adeloye, Ubon Akpan Abasiekwere and Sunday Aremu Awoyemi for guidance and inspiration as well as an explination of the Milstein method. It details how the convergance should be better under Milstein than Euler-Maruyama.

the Euler-Maruyama scheme has strong order γ = 0.5 and weak order β = 1.0 (Kloeden and Platen, 2011).

the Milstein scheme has strong order γ = 1.0 and weak order β = 1.0 (Milstein and Tretyakov, 2020).

The discrete update rule detailed in the paper for Euler-Maruyama is:

X^n+1=X^n+a(X^n,tn)Δtn+b(X^n,tn)ΔWn\hat{X}_{n+1} = \hat{X}_n + a(\hat{X}_n, t_n)\Delta t_n + b(\hat{X}_n, t_n)\Delta W_n

The discrete update rule for the Milstein scheme is:

X^n+1=X^n+a(X^n,tn)Δtn+b(X^n,tn)ΔWn+12b(X^n,tn)∂b∂x(X^n,tn)((ΔWn)2−Δtn)\hat{X}_{n+1} = \hat{X}_n + a(\hat{X}_n, t_n)\Delta t_n + b(\hat{X}_n, t_n)\Delta W_n + \frac{1}{2}b(\hat{X}_n, t_n)\frac{\partial b}{\partial x}(\hat{X}_n, t_n)\left((\Delta W_n)^2 – \Delta t_n\right)

Their conclusion was:

Results unequivocally show that the Milstein method achieves higher accuracy and faster convergence, yielding more reliable prices for exotic options and reducing inherent simulation errors.

I should get similar results for my vanila and binary options.

I think I prefer this notation for Euler-Maruyama:

St+Δt=St+rStΔt+σStΔWtS_{t+\Delta t}=S_t+rS_t \Delta t+\sigma S_t \Delta W_t

Then add the Milstein correction:

12σ2St(ΔWt2−Δt)\frac{1}{2} \sigma^2 S_t (\Delta W_t^2-\Delta t)

The Plan

My plan was to modify the code from Python Lab 8 and 9 first adding support for binary options including their closed form Greeks. I also had to add the Milstein error correcting term and support for antithetic variates. Then I set out to demonstrate success and illustrate the following concepts:

  • Accuracy and standard error
  • Convergence
  • The effect of varying strike price
  • The effect of higher interest rates
  • The effect of time to maturity
  • The effect of volatility
  • Accuracy of my Greeks
  • The effect of strike price on Delta
  • The effect of interest rates on Rho
  • The effect of volatility on Vega
  • How Gamma and Theta are related

References

Books

  • Hilpisch, Y. (2018). Python for Finance: Mastering Data-Driven Finance (2nd ed.).
  • Wilmott, P. (2007). Paul Wilmott Introduces Quantitative Finance (2nd ed.).

Websites & Online Resources

Lecture Notes & Class Slides & Labs

  • Ahmad, R. (2026, 8 14) JU26P5 Black Scholes Option Pricing
  • Singaravelu, K. (2026, 8 19) JU26P6 Monte Carlo Simulation

In Conclusion

Professional development is a lot of work. There is a law of diminishing returns. Whether you should do an MBA or the CFA Program or the CQF Program or some other acronym you read about online is ultimately up to you. I wrote extensively about doing an MBA then enrolling in the CFA Program because recruiters/firms wanted me to. Just because you do what a firm wants or suggests, doesn’t mean a firm will do what you want or suggest. I really do recommend you shop around. In 2026, there are so many professional development programs online and offline, there could be one that is just right for you, or you could just spend thousands of dollars and hundreds of hours hate studying, remember the biggest cost of all is opportunity cost.

I swear some of the links I collected and included in my Jupyter notebook a few months ago are already not working, I despise busted links and will remove them as they die. It also seems rogue characters such as %5D or worse were added to the URLs somewhere along the way, no wonder I didn’t get a perfect score on my assignment. I also made some embarrassing spelling mistakes, I should learn how to spellcheck a Jupyter notebook. Did I mention there will be a lot of lonely late nights hunched over during professional development?

Always remember kids, blogging is hard, blogging for twenty plus years about technical topics is harder. Comments are open until the spammers grow fond of this blog post.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Posts on Muskblog © Andrew "Muskie" McKay.
CFA Institute does not endorse, promote or warrant the accuracy or quality of Muskblog. CFA® and Chartered Financial Analyst® are registered trademarks owned by CFA Institute.