• 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!

What is the next programming language you want to learn ?

VB6 is very much an Excel based language with limited form features
Correction, VB existed way before VBA... and it is not based on Excel. It's more like VB was hammered into MS Office in the shape of VBA. The form controls have existed for years so there is nothing new there.
 
ive never heard of F# before, is that very useful?

F# is a functional language based on OCaml that was developed by Microsoft Research. I think it is going to be part of Visual Studio which is a great news. OCaml is another funtional language derived from ML but extremely fast (in compiled version it is as fast or faster than C/C++).

If you are not a computer scientist functional languages might not mean anything to you but they are GREAT!!! as long as you know how to use them though.
 
F# does indeed seem very interesting. One thing that may be good about F# is that if you have a problem that can be expressed well as a functional language, you may have an easier time selling this if the rest of the shop is using C# because (I'd presume) language interoperability is a complete non-issue. Introducing a new language into the codebase is usually not an easy sell.

That being the case though, if I'm correct, F# is still a product of Microsoft's research division and still unofficial. Plus I wonder why they felt the need to invent a new language, if it's so close to OCaml; does the world need yet another proprietary computer language?
 
That being the case though, if I'm correct, F# is still a product of Microsoft's research division and still unofficial. Plus I wonder why they felt the need to invent a new language, if it's so close to OCaml; does the world need yet another proprietary computer language?

Joe, F# is going to be part of Visual Studio, I don't know if it is going to make it for VS 2008 tough... and this is Microsoft we are talking here, the always like to create their own proprietary languages (J#, C# anyone?). F# fills a nice niche... a functional language that may make it mainstream.
 
I know how to program using Matlab, VBA and some SAS.

But my next programming language will be C++ and NVidia Cuda,
to computing parallel and speed-up some financial programs like MC, etc.... by using the stream processor of your GPU.

I think that's a very usefull deal :)
 
Bastian,
You should look into MPICH2 : About MPICH2 when you learn C++. Many moons ago, when I was in grad school, I had a chance to code up a number theory problem in C++. It's called Postage stamp problem - Wikipedia, the free encyclopedia

The institution I was at that time had a grid server which they allowed me to run my script on it. Using straight C++ took me weeks to solve n=[2,10] and when I put MPICH, it took a few days. Amazing.

Cuda seems like NVidia's pet project. I'm not sure how widespread it's going to be.
 
Simple approaches and a language that helps you are great tools. A C/C++ background is a sign of a serious student of computers, but not a necessity when trying to solve a problem quickly - or test a solution quickly.

Languages like C# and Java have dynamically optimizing compilers, which will find and tune hotspots for you. Better, they will adapt that optimization from run-to-run as the data/market changes.
A well-crafted C/C++ solution, followed by days if not weeks of careful optimization, may well beat the C#/Java solution - for a given set of data. That is generally too many heartbeats wasted for me. CPU cycles are always cheaper.

Whether we are talking about hand optimizations or automated optimizations, it is always easiest to speed up simple algorithms using straightforward data structures - real CS stuff.
_________________________________________________________________________
If you think C++ is not overly complicated, just what is a protected abstract virtual base pure virtual private destructor, and when was the last time you needed one? -- Tom Cargil in the C++ Journal.

 
Languages like C# and Java have dynamically optimizing compilers, which will find and tune hotspots for you. Better, they will adapt that optimization from run-to-run as the data/market changes. A well-crafted C/C++ solution, followed by days if not weeks of careful optimization, may well beat the C#/Java solution - for a given set of data. That is generally too many heartbeats wasted for me. CPU cycles are always cheaper.

I'm don't know about C# but writing anything in Java requires vasts amounts of coding and plumbing (I know because I've been writing Java Code for the last 8 years). We need more expresive languages that let us do more with less typing i.e. functional languages :)
 
Incidentally, I wrote my first applications in C# and VB.NET today. I wrote in both to compare the easy of use. I'm glad to report that there is little different in syntax so the learning curve is the same if you are from C++ and some VBA

There is no comparison on how much I was able to do in .NET compared to VBA. Once you get the hang on how .NET handle events, forms, etc...the rest is not that difficult.

Since C#/VB.NET use the same CLR, I will go ahead with C# and skip the VB.NET altogether.
The application I wrote is one of the trading tools we build. It uses ADO.NET and Dundas Windows Chart to represent historical correlation data before we trade.

There is not much of number crunching but data representation so I thought it would make C# a perfect candidate to implement.
 
I know how to program using Matlab, VBA and some SAS.

But my next programming language will be C++ and NVidia Cuda,
to computing parallel and speed-up some financial programs like MC, etc.... by using the stream processor of your GPU.
Just happened to talk to the guys who run the option stat arb desk and they told me that they have a server with ton of NVIDIA
GPU in there and use CUDA for their real time option pricing engine.
If anyone is doing this, I'd love to see some MC benchmarks.
 
Back
Top