Skip to content

Alaneel/mini-project

SC1015 B126 Group 3 Mini-Project

Done by: Wang Yangming, Wang Anqi, Yang Ziyu

================================

Our Motivation:

  • Cryptocurrency is a decentralized digital currency designed to work as a medium of exchange through a computer network that is not reliant on any central authority, such as a government or bank, to uphold or maintain it. While the working mechanism of cryptocurrency differs from traditional currencies, its stock prices are still determined by the combination of supply, demand, competition, regulations, etc.
  • As prices of cryptocurrencies fluctuate strongly with time, it is interesting to know whether ML models can identify some hidden patterns in the prices time series and use them to predict future prices with decent accuracy.

Project Goal:

  • This project aims to evaluate and compare different ML models on their performence of predicting future Bitcoin prices by fitting them to the past Bitcoin prices time series.

Dataset Used:

We used the Bitcoin time series dataset from Yahoo Finance Crypto to obtain Bitcoin prices from 2014 to 2023, cleaned and processed it for Exploratory Data Analysis and Machine Learning.

Note: Some datasets of other cryptocurrencies are scraped but are not included in the final project

Jupyter Notebooks:

Note: Some Jupyter Notebooks are used but are not included in the final project (e.g. XGBoost Model)

Slide Deck:



Overview of DataScience Pipeline

Used Bitcoin price time series data from Yahoo Finance Cryptocurrency from 2014 to 2023 (a total of 3108 days)

  • Removing useless features, handling missing values
  • Export data as csv
  • Generating time-series data

Explored, visualized, and generated insights for the following:

  • 'close' price time series over the last 8 years, the last 1 year and the last 1 month
  • 'close' price 50-day and 200-day moving average

4. Machine Learning

Metrics:

  • Augmented Dickey-Fullet Test Score
  • Akaike Information Criterion
  • Root Mean Squared Error (RMSE)

Metrics:

  • Root Mean Squared Error (RMSE)

5. Data-driven Insights

Conclusions:

  • LSTM and GRU have better performance on the Bitcoin time series forecasting than ARIMA
  • LSTM and GRU are less dependent on the stability of the time series
  • ARIMA is only restricted to cases where the time series follow some seasonality or stable temporal patterns
  • There still a considerable amount of error in the prediction solely with ML models

Market traders should:

  • Be vigilant when using ML models in predicting stock prices
  • Conduct also the fundamental analysis considering the updates from regulatory departments, mass media and authoritative market agencies
  • Reasonably predict the fast-changing stock prices of cryptocurrencies


What we learnt from this project:

Data Collection:

  • Collecting data from Yahoo Finance Website or from third-apart agent API calls

Data cleaning and preprocessing:

  • Removing useless features, handling missing values
  • Generating time-series data

EDA & Visualization:

  • Visualization plots with fluctuating values
  • 'close' price time series EDA

Machine Learning:

  • Machine Learning Models:
    • SARIMAX, LSTM, GRU
  • Performance Metrics:
    • Root Mean Squared Error (RMSE)


Contributions

Data Collection: Wang Anqi and Yang Ziyu
Data Cleaning and Preprocesing: Wang Anqi and Yang Ziyu
EDA and Visualization: Wang Anqi and Yang Ziyu
ARIMA: Wang Anqi and Yang Ziyu
LSTM and GRU: Wang Yangming
Presentation Script: Wang Yangming
Presentation Voice Over + Editing: Wang Yangming
Slides Deck: Wang Yangming, Wang Anqi, and Yang Ziyu
GitHub ReadMe: Wang Yangming

Did but not included in the final product:
XGBoost: Wang Yangming

References

About

mini-project

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors