I've been looking where I could use and improve my TPL C# skills in Finance?
I have done MCS for some path-dependent option pricing in python before. Done it again in C# TPL and improved performance almost 20 times on the same machine (8 cores). It is pleasant result but delightfully parallel fork-join implementation (I think it's most rational one in this case. minimum context switches and there is nothing to synchronise) is too simple.
I have also done Basket Defaults Swap MCS pricing in python in the past. If I'll do it with TPL I'll end up with the same approach as in previous case. Another thing that puts me off doing it is the fact that MC isn't the most efficient method compared to FFT and Hull-White Recursion anyway.
I've looked at american option pricing with MC (Boyle, Broadie and Glasserman 97). I might have just scratched the surface but my intuition whispers me that quite often MC is going to be simple to parallelise. Whereas considering my software development experience in finance I might be mistaking.
I think (but I'm not sure) that algotraiding might need more advanced parallelism solutions than MC. So my next move is to dissect pyalgotrade and try to find if I could speed it up a bit with C#, TPL and other tools. Is it reasonable plan purely for exercise? Otherwise what would you suggest for stretching my neurons and fingers?
I'm waiting for CQF results coming in September and have one month for fun before I'll throw myself back at job market.