Hello Simon,
I echo your sentiment -- thanks to Quantopian for the free tools and workshop space!
You might also check out Spyder, which is a scientific IDE for Python. I've only used it for debugging some code for Quantopian, but it appears to be sophisticated. Regarding the IPython notebook, it is described in Wes McKinney's book, Python for Data Analysis. I haven't tried IPython yet, but one attractive feature is that it can be set up to embed plots inline with the code. Regarding MATLAB, my sense is that you'll be able to do more with Python, since there are lots of free, relevant Python modules available (e.g. see the Quantopian help page). With MATLAB, to get the same functionality, you'd have to buy various toolboxes. Also, you'd end up having to port your code over to Python to run it on the backtester.
Regarding the lack of "reflexivity" in using the Quantopian backtester, I agree that it is not so user-friendly in this area. Having been involved as a user/member for awhile, as I understand the situation, one of the fundamental constraints facing the Quantopian engineers is that unfortunately they can only provide limited access to the backtest data set (perhaps Fawce can comment on the agreement they have with their vendor). Under more typical circumstances, a chunk of the data would be available for free-wheeling exploration. As a side note, my understanding is that universities and institutions sometimes have access to CRSP data sets. I wonder how they handle the licensing and restricted access problem?
More directly responding to your question, I am realizing that it would be more efficient and effective for me to do some data exploration, algorithm development, and coding in Python outside of Quantopian, and then copy-and-paste into the online backtester. For a backtest idea, I need to write a basic function (utilizing a fast Fourier transform, or FFT), and I think that I'll try the IPython notebook to get it up and running first. Then, I'll paste it into the Quantopian backtester...stay tuned...eventually I'll post the algorithm to this forum.
To Fawce and all, in my mind, down the road, it would make a lot of sense to be able to to submit backtest jobs to an efficient and flexible Quantopian online "engine" that would be accessible via a few lines of code in a Python program running locally on my pc, and have the results returned in a file for analysis and display. This would be a complement to the online, browser-based backtester (which is very clever and fun to use, but not so flexible and scalable).
Cheers,
Grant