CBBI icon indicating copy to clipboard operation
CBBI copied to clipboard

📊 The official Python implementation of the ColinTalksCrypto Bitcoin Bull Run Index (CBBI)

ColinTalksCrypto Bitcoin Bull Run Index (CBBI)

GitHub Pipenv locked Python version GitHub GitHub Repo stars

The official Python implementation of the ColinTalksCrypto Bitcoin Bull Run Index (CBBI).

The CBBI is a Bitcoin index that utilizes advanced, real-time analysis of 10 metrics to help us understand what stage of the Bitcoin bull run and bear market cycles we are in. The CBBI is time-independent and price-independent. It simply indicates whether it believes we are approaching the top/bottom of a Bitcoin cycle.

If you want to learn more, check out this video.

Visit our website

Bookmark it to receive latest CBBI updates.

Script demo

asciicast

Docker usage

Execute the script

$ docker run --rm --pull=always zaczero/cbbi --help

$ docker run --rm --pull=always zaczero/cbbi

Manual usage

Recommended Python version: 3.10

Install pipenv

Pipenv: Python Dev Workflow for Humans

Install required packages

NOTE: The pipenv commands shall be executed within the project directory.

$ pipenv install

Execute the script

$ pipenv run python main.py --help

$ pipenv run python main.py

or

$ pipenv shell

$> python main.py --help

$> python main.py

Metrics table

The current CBBI version (March 2022) includes the following metrics:

Name Link
Pi Cycle Top Indicator Visit page
RUPL/NUPL Chart Visit page
RHODL Ratio Visit page
Puell Multiple Visit page
2 Year Moving Average Visit page
Bitcoin Trolololo Trend Line Visit page
MVRV Z-Score Visit page
Reserve Risk Visit page
Woobull Top Cap vs CVDD Visit page
Google Trends for "Bitcoin" Visit page

Environment variables

This project supports .env files which provide a convenient way of setting environment variables.

GOOGLE_PROXY

Defines a requests-supported proxy string used during Google Trends metric calculation. If unset or empty, a direct connection will be made. It can be used to resolve the Google returned a response with code 429 issue.

Example usage

  • GOOGLE_PROXY=https://host:port
  • GOOGLE_PROXY=https://user:pass@host:port

GLASSNODE_API_KEY

Defines an API key to be used during GlassNode fallback requests. If unset or empty, a cache fallback will be used instead (via CBBI.info).

Example usage

  • GLASSNODE_API_KEY=REPLACE_ME

TELEGRAM_TOKEN, TELEGRAM_CHAT_ID

Define both variables to receive Telegram notifications about metric errors that occur during the execution.

Example usage

  • TELEGRAM_TOKEN=REPLACE_ME
  • TELEGRAM_CHAT_ID=123456

Footer

Contact