Why am I Building a Crypto Price Predictor?

First things first: I AM NOT A FINANCIAL ADVISOR.

I'm not trained in this stuff, and I do not plan to try to convince you to invest in crypto-currencies. If you asked for my investing advice, I'd tell you to dump your savings into an all-market ETF, buy a small percentage of fixed return bonds, and set it and forget it.

I am a BogleHead.

John Bogle, founder of Vanguard
John Bogle, founder of Vanguard

This blog post was inspired by recent discussions with my boss.

He is convinced that Crypto will enter a strong bull market soon and could be a good windfall for making some money💰 (HE ALSO IS NOT A FINANCIAL ADVISOR).

After years of neglect, I decided to start looking into crypto again, and the first thing I noticed was the sweet, sweet variance.

Statistics for Digital Marketers: Descriptive Statistics Crash Course
Go beyond the default insights offered by GA4.

Don't know what variance is? Checkout this blogpost where we discuss it and other descriptive statistics!

I thought I could dedicate a small percentage of my portfolio to trading through this variance while working on my data skills.

Specifically, building a data product leveraging Google Cloud Platform (GCP).

  • The Idea: Build a price predictor tool to help me make winning trades in my crypto day trading journey.
  • The probable outcome: I'll lose some money but learn a ton in the process.

Why am I posting this before I've built the product?

I want to commit to building something, so by publishing this, I hope that you, dear reader, will hold me accountable if I don't.

So, What's the Plan?

As mentioned before, I want this project to be an opportunity to practice and develop my GCP skills.

I have started the work by planning a rough outline of what I want to do in the full scope of this project, although I will probably be doing it in parts. The MVP might be a lot less ambitious than what I present to you today.

We will probably focus on only one or two cryptocurrencies and leverage as few data sources as possible.

My idea for the back-end architecture is the following:

Quick diagram of backend architecture

Data Sources

  • CoinGecko:
    • API for cryptocurrency prices.
    • It probably will fetch prices daily.
    • Cryptos to be monitored are yet to be defined.
  • Reddit API:
    • API to retrieve data from Reddit with the hope of doing a bit of social listening and sentiment analysis.
    • I will focus on crypto-currency subreddits, which are yet to be defined.
  • Google Search Trends:
    • Get insights into the search volume of key terms related to cryptocurrencies.
  • Other Data Sources:
    • If all goes well, we may input external data into our predictor model, such as US interest rates, SP500 performance, and other signals.
😍
Dear Reader,

I would love to hear your input in the comments if you have any ideas as to what crypto I should look into or any other external data sources I could use.

Love Javi,

Data Retrieval and Transformation

We will leverage two GCP services for the data retrieval and transformation stage. We don't plan on ingesting a considerable volume of Data with higher-scale projects. You might think of using different ones, but I believe that for our purpose, the following will work:

  • Cloud Functions: We will use cloud functions written in Python to retrieve data from the APIs.
  • BigQuery: We will push that data to bigquery for storage and modeling.
  • Predicting: I'm not sure what we will do for predictions yet. We might build a model using BQML or upload a model built locally to the cloud. This is yet to be defined. We will not use VERTEX AI as the cost can be substantial.

Back-end API and Front-end Website

Honestly, this is the part I am most nervous about, as I have the least experience with it.

For the API, we will probably use Python and a framework such as FLASK to build the distinct endpoints our application will use to retrieve data.

For the front end, I literally do not know. It will be a great time to learn some React, I suppose.

Final Thoughts

I'm not sure about the timeline of this side project. It depends on too many variables. I will tell you that I'm committed to publishing a series of blog posts as I struggle to build this.

If you'd like to find out when the next post comes out, don't hesitate to subscribe 😉