Serving the Quantitative Finance Community

 
User avatar
tigerman
Topic Author
Posts: 1
Joined: July 6th, 2007, 12:28 am

Excel/VBA and MATLAB

February 22nd, 2008, 12:59 pm

I have seen in many job postings that Excel applications (with VBA) and MATLAB are usually considered as useful.Now, I am pretty strong with C/C++ and Mathematica, in a LINUX environement, but I am an amateur in general under Windows (I have been doing research in Theoretical Physics and never used Windows). Since I have a lot of time to spend right now (I am looking for the first finance job), where would you invest it? Is it worth to spend a week or two playing with Excel and MATLAB, or it is better to go for a further step in C++?p.s.I post it under career forum, since it is a career oriented, and not software oriented question, right?
 
User avatar
topjumper
Posts: 0
Joined: November 1st, 2007, 1:30 am

Excel/VBA and MATLAB

February 22nd, 2008, 4:40 pm

I would spend some time on statistics and probability as well depends on how much knowledge you already have. You will definitely get asked on that
 
User avatar
tigerman
Topic Author
Posts: 1
Joined: July 6th, 2007, 12:28 am

Excel/VBA and MATLAB

February 22nd, 2008, 6:09 pm

QuoteOriginally posted by: topjumperI would spend some time on statistics and probability as well depends on how much knowledge you already have. You will definitely get asked on thatYes, I know, I was talking specifically about programming
 
User avatar
IronGater
Posts: 0
Joined: October 24th, 2002, 4:41 pm

Excel/VBA and MATLAB

February 22nd, 2008, 6:21 pm

QuoteOriginally posted by: tigermanQuoteOriginally posted by: topjumperI would spend some time on statistics and probability as well depends on how much knowledge you already have. You will definitely get asked on thatYes, I know, I was talking specifically about programmingI think topjumper is probably referring to programming within the statistical domain. Matlab ( and S-Plus) are tools that are used to quickly prototype, test and deploy trading strategies, so in many instances you would have to be familiar with the statistical and econometrics toolboxes.
 
User avatar
DominicConnor
Posts: 41
Joined: July 14th, 2002, 3:00 am

Excel/VBA and MATLAB

February 22nd, 2008, 8:48 pm

Learn more C++.
 
User avatar
ZmeiGorynych
Posts: 6
Joined: July 10th, 2005, 11:46 am

Excel/VBA and MATLAB

February 22nd, 2008, 9:04 pm

Learn more C++. You can pick up enough matlab to do useful stuff over a weekend, and you should avoid VB like the plague it is.
 
User avatar
Stefan79
Posts: 0
Joined: October 7th, 2007, 10:01 am

Excel/VBA and MATLAB

February 23rd, 2008, 12:48 am

What is wrong with VBA? I have never used it, but I have C++ functions for Excel (I have an .xll Add-in) and now I think VBA can do the repetitive calling of my C++ function because I want to use the same functions x-times using different input data. Is that possible? Bad idea? Better to program C++ function for that? Cheers!
 
User avatar
Yura
Posts: 1
Joined: February 11th, 2006, 11:28 pm

Excel/VBA and MATLAB

February 23rd, 2008, 3:05 am

QuoteOriginally posted by: ZmeiGorynychand you should avoid VB like the plague it is.I don't mean to argue with the statement that VB is a plague (despite the fact that I disagree with the statement), but definitely think that it's useful to be able to program VBA macros in Excel. Very useful.As for the advice to tigerman, I also suggest to concentrate on C++ at this point.
 
User avatar
TraderJoe
Posts: 1
Joined: February 1st, 2005, 11:21 pm

Excel/VBA and MATLAB

February 23rd, 2008, 3:09 am

QuoteOriginally posted by: ZmeiGorynychLearn more C++. You can pick up enough matlab to do useful stuff over a weekend, and you should avoid VB like the plague it is.Horses for courses.
 
User avatar
ZmeiGorynych
Posts: 6
Joined: July 10th, 2005, 11:46 am

Excel/VBA and MATLAB

February 23rd, 2008, 12:26 pm

Well sure, for a bit of Excel automation VBA can't be beat, and that can be useful occasionally both in interviews and in real life (and rudiments of that are well worth picking up over another weekend). I would still very strongly discourage anyone who has a choice in the matter from using Excel and/or VBA for anything that might be called 'quant work', as I believe it scales very badly - as soon as your projects get to be of nontrivial size (and they nealry always do), you're either stuck with a spaghetti salad of a spreadsheet, or have to go and re-implement the code in a more suitable language (meaning matlab/python/mathematica/R or some such, with C++ inlays where speed really is essential or you need to call it from Excel). I'm not sure what one would ever want to learn VB for (as opposed to VBA) - can someone name a couple of reasons? I've done a couple of VB6 courses once, and thought the language was an abomination - and as for VB.NET, why not learn C# instead?Also, I believe VBA is like perl in that a job where either one is a vital requirement is likely to be a not very pretty one.All of this lays no claim to final wisdom of course, just my opinion.
 
User avatar
spice
Posts: 0
Joined: March 22nd, 2006, 11:53 am

Excel/VBA and MATLAB

February 23rd, 2008, 12:32 pm

Learn C++. they love to ask this at interviews, although whether you actually use it in your job is another thing altogether. On another note, isn't C# more relevant?
 
User avatar
DominicConnor
Posts: 41
Joined: July 14th, 2002, 3:00 am

Excel/VBA and MATLAB

February 23rd, 2008, 12:39 pm

Stefan:" What is wrong with VBA? I have never used it, "The two terms are not uncorrelated http://www.regdeveloper.co.uk/2008/01/2 ... ictory/VBA is actually a great workhorse, for knocking up quick bits of Excel extension and automation.It is also an adequate programming language for small/mid scale tasks.As a headhunter, I have several, nearly inconsistent views of VBA.First up is that few quants or quant developers get asked VBA questions at interviews, even if a lot of their work is going to involve it.VBA probably is now close C++ in terms of the number of man hours Qs, and QDs spend programming in itI think VBA can do the repetitive calling of my C++ function because I want to use the same functions x-times using different input data. Is that possible? Bad idea? Better to program C++ function for that? Cheers!VBA can do loops certainly.
 
User avatar
BullBear
Posts: 0
Joined: August 18th, 2007, 8:33 pm

Excel/VBA and MATLAB

February 24th, 2008, 1:43 pm

QuoteOriginally posted by: ZmeiGorynychWell sure, for a bit of Excel automation VBA can't be beat, and that can be useful occasionally both in interviews and in real life (and rudiments of that are well worth picking up over another weekend). I would still very strongly discourage anyone who has a choice in the matter from using Excel and/or VBA for anything that might be called 'quant work', as I believe it scales very badly - as soon as your projects get to be of nontrivial size (and they nealry always do), you're either stuck with a spaghetti salad of a spreadsheet, or have to go and re-implement the code in a more suitable language (meaning matlab/python/mathematica/R or some such, with C++ inlays where speed really is essential or you need to call it from Excel). I'm not sure what one would ever want to learn VB for (as opposed to VBA) - can someone name a couple of reasons? I've done a couple of VB6 courses once, and thought the language was an abomination - and as for VB.NET, why not learn C# instead?Also, I believe VBA is like perl in that a job where either one is a vital requirement is likely to be a not very pretty one.All of this lays no claim to final wisdom of course, just my opinion.My 2 cents: There's nothing wrong with VB and VBA... You just have to use it in the right context. Everything has advantages/disadvantages. Also, I believe in some kind of "Darwinian" evolutionary process for programming languages; and as you know VB is out there for a while now... and I don't think it will disappear soon, it is surviving... Strengths:VB syntax is easier (It's a high-level language)You can code a program/prototype very fast.A lot of stuff is already done, so you don't loose time with stuff that doesn't matter for small projects/prototypes. It's "Visual" Basic you know... With a lot of objects already ready to use within a mouse clickIt's very very useful when using database projects. (ADO)Weaknesses:It's inefficient. It uses a lot of memory for variables (I never understood why, by the way) Maybe to force people to upgrade PC's So it is slower processing algorithms. It's not the kind of language for large scale projects!! (you need low-level languages for this stuff)You can't manage the consumption of resources in the machine------------------------------------That said, ZmeiGorynych:"you're either stuck with a spaghetti salad of a spreadsheet"I'm sorry to disappoint you, but this is not a problem of VB language, it is a problem with the "programmer (!?)".Don't mix good programming vs. bad programming with VB vs. C++ or other language...You can do nice pieces of code with VB. The problem is that many people using VBA doesn't know a thing about programming and code stuff in a mess. Don't mix people using "record macros" with people that can program in VB OK?"or have to go and re-implement the code in a more suitable language"Man, you can re-use code in VB What the heck... You have probably came across bad VB "programmers (!?)" VB.Net is fully OOP; and VB6, when used appropriately, can also be transformed in OOP.You can code classes, DLL's to re-use your code... you know...?Regarding VB.net vs C#.Net: Man, this is almost the same!!! Just a different syntax and some small differences. The code is compiled in the same way (Microsoft IL). Everything is almost the same here... It is these kind of nonsenses that brings down the reputation of VB Please, don't mix a bad programmer with the VB language.Also note that VB/VB.Net (or C#.net if you prefer) is very strong for database projects. Nonetheless, VB is poor for very large-scale projects due to its memory resources consumption!The question is: you need to know when to use each language!!
 
User avatar
BullBear
Posts: 0
Joined: August 18th, 2007, 8:33 pm

Excel/VBA and MATLAB

February 27th, 2008, 12:54 pm

No challenges to my arguments? great!! I hope you guys change your mind regarding VB...
 
User avatar
ZmeiGorynych
Posts: 6
Joined: July 10th, 2005, 11:46 am

Excel/VBA and MATLAB

February 27th, 2008, 3:55 pm

Well since you're asking for it:Sure, VB.net is a reasonable general-purpose programming language, and VB is probably the best choice if you want to hack up a GUI frontend to a database in Windows on the quick, or some such thing. Also since it's a programming language it might make sense for you to do numerical work in it if you're already familiar with it for some reason. My argument was (and still is) that if you're a newbie there's no good reason for you to learn VB (as opposed to a bit of VBA that's useful for hacking MS Office).Firstly, hacking up GUI front ends to databases is IMO not really one of your average quant's most pressing problems. Secondly, if you want to do numerical work on the quick you're better served by a scripting language that has been intended from the start for numerical work, such as matlab or R. Thirdly, if you care about performance and matlab/R don't cut it, you'll need C++ not VB. Finally, VB.net and C# are pretty equivalent from what I hear; but on a CV C# will be perceived as either exactly as, or more sexy than VB (depending on how clueless the CV reader is). So why should anybody setting out to become a quant bother to learn VB again?