Cryptocurrency Index Fund

Turn your cryptocurrency portfolio into a personal index fund.

What to hold

Don't try to hold all of the 5000+ cryptocurrencies. Focus on the top 10, as they represent about 80% of the market.

# Name Symbol Price Market Cap Change (1d) Change (7d)
{{ crypto.id }} {{ crypto.name }} {{ crypto.symbol }} {{ formatPrice(crypto.price) }} {{ formatCap(crypto.cap) }} {{ formatPercent(crypto.change1d) }} {{ formatPercent(crypto.change7d) }}

Amounts to hold

What amounts of the top 10 cryptocurrencies should be held? The portfolio allocation should be proportional to market capitalization. This means more of the top cryptocurrencies, while maintaining exposure in the smaller cryptocurrencies.

Market capitalization weighted portfolios like this require very little rebalancing. If one of the smaller cryptocurrencies becomes more valuable, the portfolio allocation will still be market weighted and not require rebalancing. If done right, rebalancing is only needed when a new cryptocurrency enters the top 10. It's simple even in that case to sell the coin that left the top 10 and buy the new coin, with little or no adjustment needed for the other 9.

Use the table below to calculate your trades to reach a market capitalization weighted portfolio. Enter how much of each cryptocurrency you already own, along with additional US dollars you want to invest.

# Name Symbol Current Amount Current Balance Target Allocation Target Amount Target Balance Buy Amount Buy Balance
0 US Dollars USD {{ formatPrice(current_balances[0]) }} {{ formatAllocation(0) }} {{ formatNumber(target_amounts[0], 2) }} {{ formatPrice(target_balances[0]) }} {{ formatNumber(buy_amounts[0], 2) }} {{ formatPrice(buy_balances[0]) }}
{{ crypto.id }} {{ crypto.name }} {{ crypto.symbol }} {{ formatPrice(current_balances[index + 1]) }} {{ formatAllocation(crypto.allocation) }} {{ formatNumber(target_amounts[index + 1], 6) }} {{ formatPrice(target_balances[index + 1]) }} {{ formatNumber(buy_amounts[index + 1], 6) }} {{ formatPrice(buy_balances[index + 1]) }}
Total: {{ formatPrice(current_balances_total) }} {{ formatAllocation(allocations_total) }} {{ formatPrice(target_balances_total) }}