Bitcoin Dominance – Are Shitcoins Really Shit Coins? πŸ’©

The purpose of the graph is to visually represent and compare the historical performance of Bitcoin with other major cryptocurrencies since their inception, particularly focusing on how these cryptocurrencies have performed relative to Bitcoin from the year they entered the top five in market capitalization.

By adjusting the starting values of each cryptocurrency to align with Bitcoin’s price at their respective entry points into the top five, the graph provides a clear comparative view of their growth trajectories.

The graph indicates that, except for Ethereum, all top five cryptocurrencies in all years between 2013 and 2023 underperformed compared to Bitcoin:

This suggests that diversifying into these top five cryptocurrencies each year would have resulted in losses against Bitcoin, with the sole exception of Ethereum.

Ethereum couldn’t outperform Bitcoin since beginning of 2018

Only if you caught the one big bull run in 2017, you’d have outperformed BTC with ETH:

And this is for the 18 altcoins that have reached the top 5 among all tens of thousands of cryptos.

The data supports the argument that, in the long term, altcoins tend to lose value against Bitcoin.

This could be seen as evidence of the inherent value of Bitcoin as a decentralized, deflationary monetary system over the Internet, with a capped supply of 21 million BTC.

Other than Ethereum, the use cases for altcoins appear limited, often resembling negative-sum trading games or “pump and dump” schemes. While the possibility of finding another significant application for cryptocurrencies exists, the opportunity cost of not investing in Bitcoin might be too high to justify diversifying into altcoins.

This is not investment advice although it could save you from costly mistakes.

Check out the following related article:

πŸ§‘β€πŸ’» Recommended: Injecting Life Energy Into AIs with Bitcoin, LLMs, APIs, & Lightning βš‘πŸ€–

If you want to reproduce the data, here’s what we did to generate the graph:

Technical Reproducibility: Code and Data

Let’s break down what we did with the graph in simple terms:

  1. Goal of the Graph: Our objective was to create a graph that shows how the value of Bitcoin and the top five cryptocurrencies has changed over time. We wanted to compare these cryptocurrencies’ growth relative to Bitcoin’s value.
  2. Data Preparation: We started with a table with yearly data for Bitcoin and other cryptocurrencies. For each year, we added the top 5 cryptocurrencies in that year by market capitalization. Then, we added the whole price history for all following years. In the year 2023, we didn’t use the January values but the November values as we had more recent data.
  3. Plotting Bitcoin: We first plotted Bitcoin’s value over the years. This line acts as a reference point since we’re comparing other cryptocurrencies against Bitcoin. We made this line bold and orange for easy visibility.
  4. Adjusting Other Cryptocurrencies: For each of the other top cryptocurrencies, we adjusted their values. We did this so their starting point on the graph aligns with the value of Bitcoin in the year they became top five cryptocurrencies. This adjustment helps in comparing their growth relative to Bitcoin from the point they became popular.
  5. Special Treatment for Ethereum: Ethereum got a special highlight. We made its line bold and black, and ensured it also starts at the Bitcoin value of the year it entered the top five.
  6. Variation in Lines: To make the graph less cluttered and more readable, we used different line styles, colors, and markers for each cryptocurrency. This helps to distinguish each one easily.
  7. Logarithmic Scale: We used a logarithmic scale for the y-axis (which shows values). This is particularly useful when dealing with data that spans a wide range of values, as it is common with cryptocurrency prices. It makes the graph easier to read and understand, especially when comparing the growth rates of different cryptocurrencies.
  8. Cleaning Up the Graph: Finally, to make the graph clearer, we increased its height and reduced the number of horizontal grid lines. This made the graph less cluttered and more visually appealing.

In summary, our graph visually represents how Bitcoin and other top cryptocurrencies have grown over the years, with a special focus on comparing their growth relative to Bitcoin since the year they became top five in market cap.

import pandas as pd
import matplotlib.pyplot as plt

# Load the dataset
file_path = 'path_to_your_csv_file.csv'  # Replace with your actual file path
crypto_data = pd.read_csv(file_path)

def plot_optimized_crypto_chart(data):
    fig, ax = plt.subplots(figsize=(12, 10))  # Increased height for better clarity

    # Plot Bitcoin price over the years with even bolder and orange line
    ax.plot(data['Year'], data['Bitcoin'], label='Bitcoin', linewidth=4, color='orange', linestyle='-')

    # Line styles and dot styles for other cryptocurrencies
    line_styles = ['--', '-.', ':', '-', '--']
    dot_styles = ['', 'o', 'v', '^', '<', '>']
    color_palette = plt.cm.tab20.colors  # Using a wider color palette for distinct colors

    # Iterate through other cryptocurrencies with different line styles and colors
    for i, column in enumerate(data.columns[2:]):
        # Filter out the non-NaN values for the cryptocurrency
        crypto_data = data[['Year', column]].dropna()
        # Adjust the cryptocurrency prices relative to the Bitcoin price at the time they entered the top 5
        adjusted_prices = crypto_data[column].div(crypto_data[column].iloc[0]) * data[data['Year'] == crypto_data['Year'].iloc[0]]['Bitcoin'].values[0]

        if column == 'Ethereum':
            # Special treatment for Ethereum: even bolder and black line
            ax.plot(crypto_data['Year'], adjusted_prices, label='Ethereum', linewidth=4, color='black', linestyle='-')
        else:
            # Plot the adjusted cryptocurrency prices
            ax.plot(crypto_data['Year'], adjusted_prices, label=column, linestyle=line_styles[i % len(line_styles)], color=color_palette[i % len(color_palette)], marker=dot_styles[i % len(dot_styles)])

    # Set plot title and labels
    ax.set_title('Relative Performance of Top Cryptocurrencies Compared to Bitcoin (Log Scale)')
    ax.set_xlabel('Year')
    ax.set_ylabel('Adjusted Price in USD (Log Scale)')
    ax.set_yscale('log')  # Set the y-axis to logarithmic scale
    ax.legend()

    # Adjust the grid to have fewer horizontal lines (10x intervals)
    ax.grid(True, which="both", ls="-")
    ax.yaxis.set_major_locator(plt.LogLocator(base=10, numticks=10))  # 10x intervals for major ticks

    return fig, ax

# Generate the optimized chart
fig, ax = plot_optimized_crypto_chart(crypto_data)
plt.show()

We used the following data:

The yellow markers mark the maximum column value in each column to show how many coins never recovered to their old all-time highs (ATHs).