Collect Historical Data¶
Collect historical data and store it locally as csv files. There are countless 3rd party APIs and tools for collecting market data. The CoinbaseCollector is an implementation of crypto market data collection using Coinbase’s API. The collected data is then saved locally in CSV files using _database_interface
Python source code: ../../examples/collect_historical_data.py
from boatwright.Data.Collection.Historical import CoinbaseCollector, AlpacaCollector
from boatwright.Data.CSVdatabase import CSVdatabase
from datetime import datetime
start = datetime(year=2023, month=11, day=1, hour=0, minute=0)
end = datetime(year=2024, month=2, day=1, hour=0, minute=0)
# Collect data from Coinbase
collector = CoinbaseCollector()
for granularity_unit in ["MINUTE", "HOUR", "DAY"]:
data = collector.collect("BTC", start, end, granularity_unit, verbose=True) # retrieves data via Coinbase API
CSVdatabase(source="COINBASE").save("BTC", data, granularity_unit, verbose=True) # saves data as .csv files
# Collect data from Alpaca
collector = AlpacaCollector()
for granularity_unit in ["MINUTE", "HOUR", "DAY"]:
data = collector.collect("AAPL", start, end, granularity_unit, verbose=True) # retrieves data via Alpaca API
CSVdatabase(source="ALPACA").save("AAPL", data, granularity_unit, verbose=True) # saves data as .csv files
![../_images/data_structure.png](../_images/data_structure.png)