Skip to content

silvermete0r/Oraclus-CryptoPappy-Web-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Astana IT University: Blockchain Hack 2023

Project name

Oraclus CryptoPappy WebApp

Platform: oraclus-cryptopappy.streamlit.app

Kaggle Notebook: https://www.kaggle.com/code/armanzhalgasbayev/eda-how-crypto-news-affects-on-cryptocurrencies

Link to used datasets and resources menitioned in the end of document.

Selected problem

  • Crypto Market News Impact Analyzer: Correlation of News Sentiment with the Movement of Token Prices

  • Task: To develop a tool that effectively correlates the mood of cryptocurrency-related news with the corresponding changes in token prices, eliminating the current discrepancy between the impact of news and market trends.

Team name

AIturbo 🚀

Participants

Abstract

CryptoPappy is an interactive application that provides detailed market analysis of cryptocurrencies in the form of charts, visualizations, metrics, tables, etc. The main feature of the program is to receive current news on bitcoin in real time. Depending on the quality and quantity of news, the platform provides a forecast of the bitcoin price for the next day.

image

The ML model was trained using Tensorflow on architecture:

model = tf.keras.Sequential([
    tf.keras.layers.Dense(512, activation='relu'),
    tf.keras.layers.BatchNormalization(),
    tf.keras.layers.Dense(256, activation='relu'),
    tf.keras.layers.Dropout(0.3),
    tf.keras.layers.Dense(128, activation='relu'),
    tf.keras.layers.BatchNormalization(),
    tf.keras.layers.Dense(64, activation='relu'),
    tf.keras.layers.Dense(32, activation='relu'),
    tf.keras.layers.Dropout(0.2),
    tf.keras.layers.Dense(1)
])

My Kaggle Notebook: https://www.kaggle.com/code/armanzhalgasbayev/eda-how-crypto-news-affects-on-cryptocurrencies

Demo video

YouTube video link: https://www.youtube.com/watch?v=jlSpKFdp27I

How to run

Prerequisites:

  • pandas<=2.0.2
  • Requests<=2.31.0
  • streamlit<=1.23.1
  • tensorflow<=2.15.0.post1
  • transformers<=4.36.2
  • yfinance<=0.2.33

Running

Basic example:

# Clone the repository
git clone [repository-link]

# Navigate to the project directory
cd [project-directory]

# Install Prerequisites
pip install -r requirements.txt

# Run Streamlit App
streamlit run app.py

Inspirations

Since the beginning of 2023, I am engaged in Data Science and Machine Learning. I really enjoy doing this and I improve my skills on the Kaggle platform every day. I had a goal to become an expert at Kaggle, and within a year, I became an expert on Notebooks.

I liked the fact that interesting DS/ML tasks came to the Blockchain Hackathon, it was difficult for me to choose which task to do. But after analyzing all the options, I decided to do a task from Oracle to identify the relationship between the news and the current price of cryptocurrencies.

Technology stack and organization

  • Programming Language: Python;
  • Frameworks used: streamlit, tensorflow;
  • Libraries used: yfinance, pandas, numpy, matplotlib, seaborn;

Solutions and features implemented

While solving this problem several options for the implementation of this project came to my mind at once. But after testing different options, I decided to focus on semantic text analysis using HuggingFace transformers for sentimental analysis. The data collection and processing took a sufficient amount of time. Fortunately, we found a good dataset on the Kaggle platform, in which everything was quite structured. We took historical price data from the official Yahoo Finance resource.

The logic of the model is simple, we parse all reliable resources by the keyword bitcoin, then check them by sentimental analysis. Depending on the ratio of negative, neutral and positive news, the ML model predicts how much the price of bitcoin will fall or rise.

As a result of all the work, we have trained a fairly good model for predicting the price of bitcoin the next day and we have developed a whole platform for analyzing cryptocurrencies and news, as well as for predicting the price of bitcoin the next day.

Challenges faced

The main work was to develop a machine learning model to predict the price of bitcoin depending on the news. In the process, there were problems with analyzing this data, how to train the model better in order to improve the quality of the model. I tested different options, it turned out to be the best to conduct a semantic analysis of the news around the world for each day and make an analysis of the ratio of the number of positive, negative and neutral news per day. We tried to do Named Entity Recognition, but it didn't help, but on the contrary, it worsened the quality.

Lessons learned

  • Data Science / Machine Learning Practice (Tensorflow/Keras, NLP Techniques);
  • Hackathon practice, gaining new experience and knowledge;
  • Increasing competitiveness;

Future work

  • To work on improving the model, it is definitely possible to make an even better model based on word2seq & The seq2seq architecture.

Additional sources

About

Oraclus - CryptoPappy. Cryptocurrency Analysis App based on Streamlit framework.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages