back to portfolio

Cylons

Jan 2016, 18 months

Position

Maintainer, Python Developer

Responsibilities

Work within a lean software process to design and develop new product features
Acquiring skills enabling the creation of scalable functionality with Python
Documenting new features
Writing unit tests
Writing functional tests
Writing performance tests
Resolve errors and performance issues
Creating design specifications based on requirements for new and existing products
Share knowledge and support
Constant evaluation, optimization and enhancement of existing functionalities
Leading the backend team

Technologies

Project description

Cylons was created as an PoC for the certain me and partners had regarding trading the classical trading instruments. The platform was intended to fully automated trade midday on american trading session on NASDAQ.

The best fitting framework at the time was pyalgotrade. It offers different methods of technical analysis, yet enables trading modeling on different time frames. Date time trading series was saved in mongodb and integrated inside the web interface based on django admin and django-suit using the mongoengine.

tesla trading modeling results

The central idea was to build the calculating infrastructure based on celery and evaluate the possiblity to use modern data science analysis tools like scipy and sciki-learn for predicting the instrument prices as it were a purely scientific task. The historical data was requested and stored using the interactive brokers api - the low cost trading broker for non professional traders.

In order to speed up the calculations we tried to minimize the transport overhead using disco - python based map-reduce framework and its distributed file system for preparing and storing the historical trading data.