About Coinbase Crypto Price Data

The Coinbase Crypto Price Data by CoinAPI provides Cryptocurrency price and volume data points. The data covers 801 Cryptocurrency pairs, starts in January 2015, and is delivered on any frequency from tick to daily. This dataset is created by monitoring the trading activity on Coinbase.


About CoinAPI

CoinAPI was founded by Artur Pietrzyk in 2016 with the goal of providing real-time and historical cryptocurrency market data, collected from hundreds of exchanges. CoinAPI provides access to Cryptocurrencies for traders, market makers, and developers building third-party applications.

Add Coinbase Crypto Price Data

Add Dataset Create Free QuantConnect Account

About QuantConnect

QuantConnect was founded in 2012 to serve quants everywhere with the best possible algorithmic trading technology. Seeking to disrupt a notoriously closed-source industry, QuantConnect takes a radically open-source approach to algorithmic trading. Through the QuantConnect web platform, more than 50,000 quants are served every month.


Algorithm Example

from AlgorithmImports import *
from QuantConnect.DataSource import *
from QuantConnect.Data.UniverseSelection import *

class CoinAPIDataAlgorithm(QCAlgorithm):

    def Initialize(self) -> None:
        self.SetStartDate(2020, 6, 1)
        self.SetEndDate(2021, 6, 1)
        self.SetCash(100000)
        self.UniverseSettings.Asynchronous = True
        # Coinbase accepts Cash account type only, AccountType.Margin will result in an exception.
        self.SetBrokerageModel(BrokerageName.Coinbase, AccountType.Cash)

        # Warm up the security with the last known price to avoid conversion error
        self.SetSecurityInitializer(lambda security: security.SetMarketPrice(self.GetLastKnownPrice(security)))

        # Requesting data
        crypto = self.AddCrypto("BTCUSD", Resolution.Minute, Market.Coinbase)
        self.btcusd = crypto.Symbol
        self.minimum_order_size = crypto.SymbolProperties.MinimumOrderSize
        self.threshold = 0.5
        
        # Historical data
        history = self.History(self.btcusd, 30, Resolution.Daily)
        self.Debug(f"We got {len(history)} items from our history request")

        # Add Crypto Coarse Fundamental Universe Selection
        self.AddUniverse(CryptoUniverse.Coinbase(self.UniverseSelectionFilter))

    def UniverseSelectionFilter(self, crypto_coarse):
        return [datum.Symbol for datum in crypto_coarse
                if datum.Volume >= 100 
                and datum.VolumeInUsd > 10000]

    def OnData(self, slice: Slice) -> None:
        if self.Portfolio.CashBook['BTC'].Amount == 0:
            free_cash = self.Portfolio.CashBook['USD'].Amount * (1-self.Settings.FreePortfolioValuePercentage)
            quantity = self.threshold*free_cash / slice[self.btcusd].Price
            quantity -= quantity % self.minimum_order_size
            if quantity > 0:
                self.MarketOrder(self.btcusd, quantity)

Example Applications

The Coinbase Crypto Price dataset enables you to accurately design strategies for Cryptocurrencies. Examples include the following strategies: