I find EMACS too much complex for me. I want to concentrate on the analysis of data with Pyhton, so I have looked for and alternative IDE for Python: Pydev.
The steps I have followed are:
- Download and install Eclipse (in reality I had it on my computer).
- Then, download, install and test Phyton.
- Once done, download and install Jython.
- Download and install IronPython.
- Install PyDev.
- Create a new PyDev project.
- I have created a hello.py file with print(“hello world”), then I have debugged it and it worked.
- Create a package to gather all the information.
- The set-up of the environment is very well explained. You first have to configure the interpreter
, then you can develop all you need. In my case I’m starting importing some finance data from Yahoo Finance.
- Using Windows>Properties>Python Interpreter , install library “numpy” using “pip” as installer. This step is crucial to me as Python interpreter just work on PyDev in my computer.
I’m sure EMACS runs faster and it’s more efficient than Eclipse, but the point is that now I can concentrate on the development of the scripts I want to implement. 🙂
Zipline is an open-source algorithmic trading simulator written in Python.
I have installed Zipline library with pip, in my case, as I’m using PyDev I went to Window>Preferences>Python Interpreter>Install/Uninstall with pip
Once I have tried to use it, I was not able to find the quick way to build the basic code I wanted, so I finally has uninstalled it as with numpy and pandas I have enough.
So I was not able to understand the power of this library, by the moment I do not need it.
What IDE should I start with?
I have asked about some different IDEs for Python and this was the short list: EMACS, jupyter, syder and anaconda.
Then, I asked my friend: what is the more convenient for a basic learner as me? EMACS.
So this is the one I have installed. The basis of how to use EMACS can be read here
. The guidelines recommends the installation of Elpy so this is the next step I have done.
Elpy – Python Development
Emacs is distributed with a python-mode (python.el), but if we want to have a more sophisticated IDE you can install Elpy (Emacs Lisp Python Environment) package.
Before to install Elpy, you have to install these 2 packages:
- Flake8: flymake-python-pyflakes.
The document I used to install it is this one.
The issue I’m finding is that the these 2 packages are legacy and they seem to not work properly. I’m sure that in reality the issue is that I’m not able to enable them in the right way or to enable python properly. I’m stuck here by the moment.
Some basic notes about the python files extensions:
.py: This is normally the input source code that you’ve written (the basis).
.pyc: This is the compiled bytecode. If you import a module, python will build a
*.pyc file that contains the bytecode to make importing it again later easier (and faster).
.pyo: This is a
*.pyc file that was created while optimizations (
-O) was on.
.pyd: This is basically a windows dll file. http://docs.python.org/faq/windows.html#is-a-pyd-file-the-same-as-a-dll
EMACS basic commands I have learned today.
- M-x list-packages: list the available packages you have in EMACS
- M-x customize-group: enable you to customize a package (in my case: “package”. I have added Melpa
packages to the list so these packages can be installed.
- M-x package-install: to perform the installation of a package.
This video shows you how to install a package: .Emacs #3 – Installing Packages and Extensions. The series of videos are useful for new users as me.
Family traveling, me preparing the vacations to the Pyrenees mountains, and suddenly the possibility to ride this race. For sure I’m still far away of the shape I need for the Pyrenees, but this was a good check point to know how I was.
The total distance, taking into account the launched start was 62.17 km that I covered in 4:22 hours. The majority of the route was a wide path with a lot of stones in the middle.
I was making well till the km 50 where a steep slope told me: “you should save some energy for the other 12 kms”.
The roads closed to the coast have really nice view of the coast. The fog did not let me see Africa.
The strong wind from east was present the whole ride and it made the day a little bit difficult.
This book contains basic concepts and approach (step by step) for does that want to initiate themselves on Quantitative trading. The focus is on statistical arbitrage trading, that deals with the simplest financial instruments: stocks, futures, and sometimes currencies.
The chapters cover the steps a trader should take:
- The Whats, Whos, and Whys of Quantitative Trading,
- Fishing for Ideas,
- Setting Up Your Business,
- Execution Systems,
- Money and Risk Management,
- Special Topics in Quantitative Trading, (reading it now)
You can follow the author blog
that contains further valuable information and some nice examples.
A short list of common pitfalls related to how the back-test program is written:
- Survivor-ship bias: data does not contain companies that have fallen bankruptcy.
- Look-Ahead Bias
: this phenomenon happens when you are using information that was available only at a time ahead of the instant the trade was made. For instance, “Buy when the stock is within 1 percent of the day’s low”.
- Data-Snooping Bias: the use too much parameters that make you build an over-optimized model. A rule of thumb: 5 parameters.
- Sample size: you need enough data to back test, how much? As a rule of thumb, let’s assume that the number of data points needed for optimizing your parameters is equal to 252 times the number of free parameters your model has. For instance, you define a daily trading model with three parameters, then you should have at least three years’ worth of back-test data with daily prices.
- Out-of-Sample Testing
: divide your historical data into 2 parts. Use the first part for training, and keep the second part to test the resulting model.
DataCamp offers a set of courses oriented on programming and da
ta scientist. I found some basic courses about python that have helped me to understand how the language works and practice with a good balance of theory and exercise.
I have also done a couple of chapters related to data import and data visualization that helped me to understand how to work on it.
Closing a chapter
This year, after so many years without PMP certification, I decided to take it, so I have invested 4 months to study, practice and obtain it. After the achieving the PMP certification I though about the next project I would like to focus, so I was thinking about it.
What do I want to do?
After thinking about so many things, I have defined 3 basis of learning that combined should let me learn, these are:
- Block chain,
- Quantitative trading,
- Rescue programing skills.
The overall learning path should be around 2 years.
The first step is defined for the next 3 months, where the main goal is to perform the “hello world” of quantitative trading.
Following the V2MOM model:
- Vision: perform a strategy based on moving average cross over: including backtesting analysis and comparision with the standard ratio (Sharpe Ratio).
- Values: have fun, learn a lot, build a team with Dani, do practices and more practices.
- Method: learn python, learn about quantitative trading principles and patterns, understand the basis of how blockchain markets work.
- Obstacles: Time.
- Measures: have an environment where I test a strategy with real time data from an external source. Have a list of learned lessons and experiences for blockchain, quantitative trading and python.
Death line = December 2017
Results (22 December 2017)
- We created a set of different scripts in Python for testing specific
- We have a script with a specific strategy that has been tested in different periods. It’s not a good strategy by the way 🙂
- We have reviewed basic concepts as basic indicators, basic strategies, how to combine indicators, the importance of the habits…
- We have done an analysis of the different market for crypto-currencies and this enable us to make a list of things to learn for next quarter.
- Learns about how to manage a portfolio, manage risks and understand the level of exposure.
- Learn about Python, how to install it, add libraries, code, visualize data, understand how powerfull is the language.
- We not just did the “hello world” of quantitative trading, we went far beyond.
Now defining the V2MOM for Q1 !!