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

Customized Excel

alain

Older and Wiser
Here is one of my latest pet peeves. Since XLS files are binary, I can't use source control. One more, VBA is a horrible language.

I'll be back with more.

PS - The windows discussion is for another day. I have say it before, you should use whatever OS you are happy with.
 
Main reason I don't like VBA is that the code looks like a poem. C-based languages' code is more mathematical visually (not to mention the power comparisons). Have to write English words while coding in VBA.
 
Main reason I don't like VBA is that the code looks like a poem. C-based languages' code is more mathematical visually (not to mention the power comparisons). Have to write English words while coding in VBA.
Off all the millions of reasons to hate VBA, you pick this!?!?
 
Off all the millions of reasons to hate VBA, you pick this!?!?

Hah I actually took safeguard when wrote the above phrase in parenthesis. Of course this is not the only reason. I used to be a frequent user of VBA. I agree with all who don't like it for thousands of reasons I personally have experienced. I don't think VBA is worth learning or employing at all. There are many downsides. For example:

The absence of classical inheritance,
Has no intrinsic support for parameterized object construction,
Doesn’t provide the ability to build multithreaded applications unless you are willing to drop down to low-level API calls,
No flexible method overloading,
etc.
etc
 

alain

Older and Wiser
The absence of classical inheritance,
Has no intrinsic support for parameterized object construction,
Doesn’t provide the ability to build multithreaded applications unless you are willing to drop down to low-level API calls,
No flexible method overloading,
etc.
etc

Some of these are features from OO languages. There are multiple non OO languages out there that don't have any of that stuff and they are still great languages to work with.
 
VBA is not fully OO but can be considered as such since it supports some of OO's many characteristics. The lack of above stuff is from the point of OO. I agree, there are functional languages with no above features and are still great. I still prefer OOL.
 

SYau

Ting Ting
I am not a big fan of Excel. Unfortunately, my company is stuck in stoneage (with Excel 03), so I can't even take advantage of the newer versions. Hey, maybe we will move into pre-bubble days with Excel 07 next year.
 
I am not a big fan of Excel. Unfortunately, my company is stuck in stoneage (with Excel 03), so I can't even take advantage of the newer versions. Hey, maybe we will move into pre-bubble days with Excel 07 next year.

Actually I personally (from my use of excel) see quite a significant change from Excel 03 to 07, but almost no change to Excel 10. Some inverses of discrete distribution functions have been added and some other optimization algorithms have been added to solver. That's all changes I use.
 
Hey Guys, as a person who programs on VBA for about 7 years I will defend it a little bit. VBA as I see it, is just part of VB 6 to use with different applications in Microsoft Office Package; it is not OO language and was not intended to be despite ability to create classes which in any case almost nobody using while coding in VBA :)

As I see, Excel is the tool to visually present an info on a screen in a way that preferred by the person, put aside all statistical analysis or any other additional functions that go with Excel, it short it just simple and very easy to manipulate grid environment that you easily can change with a few lines of code.

Simple example:
Let's say every morning you store some market data (prices, rates, etc) in the DB for Deposits, ED Futures, Treasuries, Swaps and trader ask you to create the forward curve given that MD so he would be able to price some of his own instruments on that curve. And of course he want to be able to do all of that in Excel. In this case VBA let's you put different parts of assignment together within minutes. First we grab the data from DB using ADO or DBQuery or something else, I would say around 10 lines of code depending how complex is the ad-hoc SQL or if we have a store procedure on DB side it would take even less time. Then we call for one of the add-inn (which is C++ or C# implemented) to build the forward curve and return us the curve object, after that we can price whatever we want. The key thing here to use the VBA only for combining all pieces together and present them in the grid.

Jokes aside, VBA could be very power development tool, I saw how my friend wrote a very good firewall using only Excel and VBA back in 2003 :) So give it a chance, use it properly and you might be surprised :)
 
Indeed. I myself have used several powerful firewalls made on Excel+VBA only. All of the above mentioned languages are powerful. It seems an infinite argument which is better over another. All are good, if not, they wouldn't exist at all.
 
Actually I personally (from my use of excel) see quite a significant change from Excel 03 to 07, but almost no change to Excel 10. Some inverses of discrete distribution functions have been added and some other optimization algorithms have been added to solver. That's all changes I use.
This is true, and is also true if you develop excel add-ins/plug-ins/etc. The ribbon really changed things.
 
Particularly for Excel I prefer writing numerical algorithms in C mainly rather than C++/C#. For large amounts of data analysis it seems faster. It is not very noticeable with small data though. When you create a C library and add(in) Excel you gain more than writing your algos in other languages I think. That's actually why C is for - good mainly for numerical calculations.
 
Top