Put Me Some Excel Knowledge

I’m not sure that learning R is easier than learning SAS, since both have a data model that is unusual. If people already understand Matlab, then R isn’t such a jump, but if they don’t, then it’s more or less a similar learning curve.

The main advantage of R is that you can use it without forking out megabux for a license, the way SAS requires. In that way, it’s easier to learn.

Also, R documentation has been getting better in recent years, which may mean that it’s not as challenging to learn R today as when I first did.

That kind of code is gross, but sometimes there isn’t much choice.

Excel is not an environment that facilitates what programmers would call “elegance” in calculation. Its main advantage is that it’s not as challenging to learn and do productive stuff with it, but when you have unusual output needs, you often get gross stuff like that, or have to resort to macros.

That’s one reason why there’s extra admiration for people who are able to do complex tasks simply in excel; so often it’s not really possible, or it takes a very clever insight not to do it the ugly way.

I believe R is impractical for large data sets because of the method in which it stores the data?

There have been a lot of improvements to how R manages data, avoiding memory copies unless absolutely necessary (e.g. if you make one variable equal to another, it will just point to the same spots in memory until you change one variable).

It depends on what you consider a large data set and on what equipment you are running. Newer versions of R have been designed to take advantage of multiple processors, and the cost of RAM has been dropping considerably. I’ve rarely had issues with R’s ability to stomach the data I throw at it. Occasionally it has been slow (meaning I had to wait 20-60 seconds for an answer), but usually there are things I can do to speed it up.

Truly enormous datasets (e.g. tick data for Russel 3k constituents over 40 years) are likely too big for R, as they will be for nearly any analysis package that isn’t specially designed for them. I do believe that there are some modules in R that are designed to handle data that won’t fit in memory all at one time and swaps parts in and out. I don’t know how well they work, since I have never needed them.

I like R a lot but am exploring Python and Pandas as an alternative, partly because the market for Python coders is larger than the market for R coders. But I really do enjoy working with R now that I’ve put in the effort to be good at it.

@Greenman My point was more to illustrate that a lot of stuff can be done in Excel without macros. I probably wouldn’t put that code on something that higher ups would need to understand every line, but I regularly have excel formulas that are much uglier than that.

@bchad I brought up R mainly as an alternative to SAS. As you note, R is a lot like Matlab, which itself is a lot like C and Fortran. SAS and other potential statistical languages like Stata and Eviews all have very different syntax from each other and languages more in the C tradition. I recommend R mainly in that it’s easier to transfer those skills to other languages than the others (being free helps too, as you note).

I’m a fan of Python as well. I especially like the ease with which you can import packages and set up a hierarcy of stuff to import. Nevertheless, like R and Matlab, it has its issues. If Python were as fast as Matlab (getting Julia to run in Python might be a better solution here than cython or autojit), had better parallel processing abilities, and had the level of community support of R (I have spent a significant amount of time getting ipopt to work for Python to no avail), then I would probably use it exclusively.

errr… actually it was mandatory to learn in highschool.

i just find it these days Excel is integrated usually with other reporting system via add-in so i don’t see the need to record macros anymore at least in the few places i’ve worked at.

Macros aren’t limited to the macro recorder…you can write very dynamic procedures if you know the language.

A lot of good points have already been made.

API understanding is clutch (Bloomberg, Morningstar, etc).

Basic understanding of how Excel works in terms of cell formatting, ie. knowing how to troubleshoot when your formula doesn’t work will be a life saver.

VBA programming or just recording Macros can make routine tasks very easy.

Text to columns can be useful when you’re copy / pasting something that isn’t in excel format.

Solver is cool and can do histograms which is helpful for looking at populations.

Can I ask what you use SNL for? It seems like its got a ton of info and some neat templates, but I haven’t had the time to dig into it.

They store tons of data on various industries. You can then use their templates to do industry specific analysis or you can use their Excel plugin to pull in the data to an Excel tab to transform into analysis. I use it for banking related Call Report data

Stupid is a bad word.

It’s a 4-letter word for people who can’t count! :wink:

dont feed the … lol

this is what excel is really good for

http://www.clickonf5.org/6251/14-cool-games-play-microsoft-excel/

VLOOKUP and HLOOKUP are for Excel n00bs. Real Excel users use VBA.

Ah, one of the 10 kinds of people in the world.

Thank you for encouraging your students to learn Excel. I wish more schools would take the same approach. I’ve suggested to many professors that a financial modeling class should be required for an undergrad finance degree. I’ve seen too many college graduates with finance degrees struggle with Excel.

We don’t currently have a modeling class, but we’re developing a specialized masters. And once it’s up and running, I’ll be teaching the modeling class. Can’t wait.

So much fail in this thread… learn statistics and what a good process should look like, then they can USE excel as a medium.

  • Data Analysis toolpack- esp regression and descriptive statistics
  • Solver w/ constraints & etc
  • maybe some random number generation?

Teach them to check their work and be smart enough to know what their answers roughly SHOULD look like. Because while they may be idiots, its important not to look like one- else they’ll value a sexting app at at $3B because they dont understand the assumptions and limitations of their models.

Python is go to for numerical for me.

Otherwise i would use Java just because it is the easiest language to use (or maybe Scala)