Did anyone self taught Python

Hey Monkeys,

I feel insecure being a liberal arts chimp. I wanna learn python and was wondering if any of you knew of a great source or class. Also, are there any other programming languages that you think are better than Python?

Some of the options that I have considered: code academy, edx, part time classes at a uni


Comments (7)

Oct 15, 2018

You'll be far better served learning to use R. Sign up for some courses on Datacamp and give it a go. R is made for people who aren't software engineers and has a massive academic and open source community cranking out new packages and maintaining existing source code. Just last night I was able to pull World Bank data using an API wrapper that someone else built and put on github. In python, this would have first required me to build a package to interact with WB. That should be your yardstick: if you want tactical programmatic data analysis, use R. If you need to build production software, use Python.

    • 1
Oct 15, 2018

Hey man. Really appreciate the insight. I haven't looked into R at all so excuse my ignorance. I have read that Python has a lot of packages that people built out over time as well. Are you referring to a different type of package when you talk about R packages?

Most Helpful
Oct 15, 2018

A "package" is just software written by another coder to accomplish some purpose. For example, the site Quandl (which provides free market price data) has R and Python packages that allow you to easily pull data from the site, which normally would require a decent amount of coding to get all the necessary queries, data request formats, data storage formatting, and delivery options put together.

Ultimately, data acquisition is the biggest hurdle you'll face when using code to analyze data. You need mountains of data to get any meaningful results from your analysis, and unless you're at your day job at GS, you likely won't have Bloomberg or a 200TB KDB+ database that you can query, so you'll need to connect to external data to do that.

Packages solve quite a few other challenges as well. What if you want to fit a time-series regression model, or would like to see how a recurrent neural network performs on a given data set? You'd need to spend time first writing a function in your language of choice that can properly process the data for that task.

All of this is to say that packages are just pre-built software that you can get for a programming language. The advantage of R is that it's very easy to code in and thus many, many developers write software in the language. It's often the first to have support for new data API's, since literally anyone can spend a day writing a new package and put it on Github. To achieve the same quality product in Python might require a more skilled coder.

The downsides of R don't really apply to you: the interpreter is not "fast", and the language itself isn't designed to take advantage of low-level customization options that C++ developers in, for example, a high-frequency trading setting might.

So no, I'm saying the same thing, same kind of package, but it will be much easier for you in R. Download R and Rstudio, fire up Rstudio, and run "install.packages(c("Quandl", "xts"))", read some documentation, do a few datacamp courses, and you'll be up and running in no time.

    • 4
Oct 15, 2018

Awesome advice. Thanks a lot man. Do you run data sets for your own analysis often? Also, are you proficient both in R and Python?

Oct 15, 2018

I work in S&T as a desk quant, so yes. Our traders and analysts are pretty good doing nominal analysis in Excel, but that tool is quite limited when you're looking for production-ready statistical work. It's one thing to pull 3000 data points into Excel, it's another to pull 3000 data points of 30 different variables for 300 tickers and come up with a broad market analysis.

And yeah - in this type of role, you need to be multi-skilled. Python, R, SQL, Java, Q, and many other tools are handy when working in a large enterprise environment. The tools aren't what's difficult to wrap your head around - anyone can learn a programming language given some time. The difficulty comes with effectively choosing the right tools and being able to deploy the right solutions. If I could go back and re-learn everything, I'd have learned R first so I could quickly get moving with statistical analysis. Python is very useful, but it's much more useful in the hands of a software engineer than a quantitative analyst.

    • 2
Learn More

Side-by-side comparison of top modeling training courses + exclusive discount through WSO here.

Oct 15, 2018

What do you want to do with it? codecademy is good for dipping your toes into the programming world, but really if you've any sort of passion for computing in general just find Stanford's latest course program, download all the info online for free and run through it. You'll get tangled in the weeds a little studying the history and mathematics behind it all, but the courses move fast and in a few months you'll understand the basics (which span all languages and systems) way better than any shit code camp grad who's been taught the latest in Swift and javascript libraries for WEB3.0 and pumps out verbose code for the chance to work in an office with a bean bag chair

    • 1
Oct 15, 2018