Here are the steps I recommend for getting started with python on a Mac (OS X), particularly if you are fairly new to the language.
- The Mac comes with python installed, and you can run this directly from the terminal application with the command “python”. However there is a very nice python interpreter called the “ipython notebook” which I strongly recommend using too. Installation instructions are available here - specifically, I downloaded Enpackage Canopy and typed two commands into the terminal. You should now be able to get an ipython notebook running in your internet browser with the terminal command:
cd somewhere/sensible/ ipython notebook --pylab=inline
The last part of this means that plots get drawn inside the notebook, which is handy. If you forget to add that, you can type into the notebook itself:
Note you use shift-Enter to run all the python commands in a cell.
- Install pip. This lets you easily download python packages and will be very handy later. This is easy – from the terminal type:
sudo easy_install pip
- More advanced users may want to install virtualenv, so that different projects you work on can use different versions of packages. If you’re planning on putting any of your code in production, this is a must. But if you’re just getting started, ignore it for now.
- Advanced users will also want to install git so you can incrementally save your own versions of code. If you’re just starting out, leave this for later too.
OK, now let’s dive in the deep end by loading some financial data from Quandl, then manipulating it with Pandas and plotting it with matplotlib. You’ll need Pandas and the Quandl package, which you can get by typing into the terminal:
pip install pandas pip install Quandl
Now in your ipython notebook type (I recommend doing each group of statements in its own cell, so that you can run them separately; remember it’s shift-enter to run the statements):
import numpy import pandas import Quandl assets = ['OFDP.ALUMINIUM_21.3', 'OFDP.COPPER_6.3', 'OFDP.LEAD_31.3', 'OFDP.GOLD_2.3', 'OFDP.ZINC_26.3'] data = Quandl.get(assets) data.head() data['2012':].plot()
This link gives ways you can develop the plot further.
To give an example of how to manipulate the data, you could try:
# show recent daily returns, normalised by asset volatility (ie. z-scores) data = data.sort_index() # ensure oldest comes first returns = (data/data.shift(1)) log_returns = numpy.log(returns) vols = pandas.ewmstd(log_returns,span=180) # daily vol, exp weighted moving avg z = (returns-1)/vols # calc z-scores z[z>50] = numpy.nan # remove very bad data z[z<-50] = numpy.nan z.tail() # take a look at the most recent z-scores
That’s a very quick introduction to installing and using python on the Mac. I hope it’s helpful!
If you want more info about writing in Python itself, this link looks like a comprehensive site.
Let me know if you have any comments or improvements.