• 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 PDE is applied in FE?

Joined
9/25/06
Messages
4
Points
11
Hey Guys, I am not sure if I am posting in the right place;) I am so glad that I can ask question regarding to FE stuff here. Thank you in advance for your reply.

I am studying PDE by myself before getting into FE program. My math background is that I took Calculus 1 2 3, linear algebra, Probability and ODE. Luckily, I got good grades for all these courses.Right now, I found that I am having a hard time studing PDE. I found a lot of physics involved in PDE. My question is that do I have to understand all these physics inside the PDE textbook? Or I just need to know how to solve PDE. I guess I am really asking how PDE is applied in FE? how deep should I dip into PDE. I am just taking math courses with undergraduates while I am in MBA in Finance program. Because I think I am not really math or physics student, I just need that basical knowledge to study FE. Your thoughts would be very helpful to me.:smt006

Thank you very much. Really appreciate your help.
 
We study PDE in the finance context so unless you have a Physics background, it's hard to understand the gritty nitty of everything.
For example, the Black Scholes model is derived from heat diffusion equation in physics. We learn how to derive the Black Scholes PDE and use that PDE to price options using finite difference methods in C++.
Much of the work we've done in MFE program is wrapped in a Black Scholes world where PDE is an important part. You need to learn how to derive PDE, solve PDE and apply those PDE to your code. Ultimately, those PDE are just means to our end namely obtaining a method to produce approximately correct price to various financial instruments.

Have fun PDEing.
 
Finite differences are discrete approximations to differentials -- instead of going all the way to the limit case of infinitely small changes dx, you only have to consider a small finite change.
Consider the definition of the derivatives [ f(x+h) - f(x) ] / h -- instead of letting h go down to zero (infinitely small), you only have to let h go down to .1 or .01, and consider what is happening at that level. This would be like a forward difference method. How small you have to go is part of the discussion of finite difference methods.
 
Does anybody got a good online or PDF ressource on PDE. I am looking for something that covers the basics first, I'll check more advanced topics later.

Thanks

;)
 
i found that some MFE program's lecture note is open online, espcially those on math.
 
I have some questions on this article:

1. ADI is a MOS (multiplicative operator scheme) which makes it difficult to parallelise. It is possible to parellise the Thomas LU algo but it takes less operations and is easier to parallelise the tridiagonal matrix with Godunov's double sweep ('balayage') method.

2. Speedup: this seems to be for option portfolios. I have not seen where speedup is mentioned for single ADI scheme. I reckon it might be less than 1.

3. Speedup is more like a marketing term. The Quinn book defines Efficiency = speedup/#processors and this is a more accurate metric IMO.

4. ADI has competitors Soviet Splitting and ADE (btw ADE is 40% faster than ADI in sequential mode).
 
I have some questions on this article:
[...]

I suggest you get in touch with the article author for all the clarifications, I'm not particularly familiar with GPU implementation of ADI method. I cited the article mainly as you questioned the possibility of an ADI implementation on GPU, basing your reasoning only on SIMD/MIMD/... classifications.

(BTW, I agree that discussing of various things GPU was badly off-topic on thread on first programming language, but instead of pasting this discussion into a 5 years old thread, I guess it would be better idea to maybe start new thread to discuss aspects of interaction between HPC technology and quant finance.)
 
Depends if the focus is PDE or HPC. It's a combination so this thread was not a bad place to put it.
 
Oh, and:
3. Speedup is more like a marketing term. The Quinn book defines Efficiency = speedup/#processors and this is a more accurate metric IMO.

This formula is applicable for calculating speedups between configurations with one or more processors of the same type. Between completely different processors, it doesn't make sense - one just have to use absolute timings ratio; but I agree that in these cases speedup numbers are not usable in isolation, and that other factors (cost of configurations, power usage, etc.) should be also taken into account.

It is indeed true that speedup numbers reported by GPGPU community are oftentimes inflated, measured against unoptimized single-core CPU code for the same algorithm. There is an older but good paper summarizing these issues (but it is also instructive to examine rebuttals from GPGPU community).

In my work, I typically start from peak GFLOPS/sec advertised for different architectures (albeit even these numbers are sometimes inflated by vendors). Typically, GPUs are order of magnitude (10x) more powerful in that regard than CPU configurations. So 100x speedup numbers are unrealistic; because of quirks of GPU programming, getting to 5x speedup vs. optimized multi-core CPU code is quite a feat, and when I sometimes get to 7-8x speedup, this is excellent. Still, for number of cases in industry, getting even 2x speedup over your competitors can give you significant advantage. This is why there is so much interest and investment in GPGPU developments.
 
Back
Top