If you are going to practice and learn automated trading with python, the first step is to setup your environment and get comfortable with it.
Before you choose your platform and tools, there are some considerations you have to make regarding your requirements.
Here is the list of my main requirements;
- I need a state-of-the-art python environment that includes some kind of IDE.
- The environment must be ready to be deployed to some kind of cloud provider. An automated trading system should not be hosted on my PC that would need to be online 24/7 standing on my desk at home.
- I need a cloud provider who grants a maximum flexibility to me - no restrictions regarding outbound requests, no restriction regarding python modules that can be installed.
- I want to inspect my code and manage my trading from anywhere, if possible even with my mobile or a tablet computer.
- My main broker is Oanda - luckily Oanda provides a RESTful API and really good developer documentations.
Having these points in mind, my technology stack looks like this:
To bring this to the cloud, you would need a cloud service provider that gives you access via remote desktop connections or via ssh. There are a lot of python/ IPython service provider that offer free or paid Jupyter notebooks - I tried a lot of them, but most of them are too restrictive.
One option would be to setup a micro instance in the Amazon cloud and then install the Python/ anaconda/Jupyter stuff manually which is no big deal. If you register a developer account at AWS you can use the service free for one year.
I made a different choice - I registerd a Data Science Virtual Machine at the Microsoft Azure cloud.
This VM has everything pre-installed and there is not only the python-stuff, there is a lot of other fancy stuff that can be used for automated trading and quantitative analytics:
- Microsoft R Server Developer Edition
- Anaconda Python
- Julia Pro developer edition,
- Jupyter notebooks for R, Python and Julia
- Visual Studio Community Edition with Python, R and node.js tools
- and many many more ...
In my next blog post I will show how to install the oandapy package and use it with IPython to connect to the Oanda API.