Case Studies


Back Case Studies

Client: Internal Project
Project Duration: 4 months (ongoing)
Goal: Product which will be used by traders for making better informed decisions for entering particular position in trade. This product should be powered with sentiment analysis of influencers, machine learning algorithms for price prediction and trading strategies.
Tech: Python, Airflow, Superset
Demo: Bitcoin trade signals (user: guest/guest)


One of the biggest disruptors these days, besides artificial intelligence is blockchain technology and its pioneer cryptocurrency, bitcoin. Many people believe that bitcoin and other cryptocurrencies will help in making most sustainable and transparent economy. But its constant fluctuations in price is bringing out the question: “Should I invest now?”.

We want to help in understanding price fluctuation, predict the future movement and quantify risks  as well as potential profits for potential investors.

This project started as price prediction problem, but it evolved into the tool which should be helpful to short-term traders. First challenge was to train, test and tune machine learning models with diverse data in order to predict the price or a movement of price. Next, we wanted to integrate outputs from various machine learning models into existing trading strategies in order to maximize portfolio profit and hedge the risks of investing.


The project can be divided into several stages and two approaches (sentiment and fundamental analysis):

Senti Bitko (sentiment analysis):

This approach relies on hypothesis that market movement can be captured from news and opinion of important individuals and organizations (influencers). We have chosen Twitter as source of data for analysing influencer’s opinion.

  1. Collecting data: identifying the influencers and collecting data with relevant content.
  2. Feature engineering and labeling: creating set of features which use assessment of sentiment score and historical price of bitcoin and creating various labels.
  3. Training and testing: train several models and tune the parameters for better metrics.

Fin Bitko (historical data analysis):

This approach uses historical data from blockchain in order to capture movement of price. We are researching the value of fundamental factors like Number of Transactions or Bitcoins Mined per Block together with public sentiment analysis and their effectiveness for prediction outcomes.

  1. Collecting data: identifying appropriate resources for data and collecting the data.
  2. Feature engineering and labeling.
  3. Training and testing: train several models and tune the parameters for better metrics.

Integration of Senti and Fin Bitko into Trader

This phase uses data (features) from both sentiment and historical analysis as an input to train more accurate machine learning model. Predictions given by the model can power trader with new signals so more informed investments could be made.

  1. Feature selection: detecting set of features which yields best metrics.
  2. Ensemble models: combine models with goal of maximizing metrics.
  3. Integrating signals from models into trader platform: use predictions from models for creating profitable strategy.
  4. Testing, tuning and comparing with baselines: determine best period for retraining models, determining best parameters for trading strategies (number of MA period) and comparing profit of strategy fueled with our signals with profit of strategies fueled with different baselines signals.


Our final models output results as classification (uptrend and downtrend) and regression (the price and the change of price) and use those signals for making the strategies. We focused on simple trading strategies as our goal is to have reliable estimate of how better system works with our signals than without our signals.


Using approach described above, we delivered two parts: qualitative and quantitative results. First part in a form of dashboard represents summation of many signals like positive and negative score in tweets, sentiment metrics that proved to be correlated with price and predictions from classification and regression models.

Second part represents analysis of quantitative report of returns when we apply our signals to trader. When we backtested our trading strategy, we introduced improvement of 16.5% in returns, in average, compared to simple trading strategy used as baseline.

Previous post Next post