{ "cells": [ { "cell_type": "markdown", "id": "167330a4-9cfe-4e11-a3e5-9b788e710b07", "metadata": {}, "source": [ "!conda activate cbpro" ] }, { "cell_type": "code", "execution_count": 1, "id": "d5b44fe7-a66c-4708-9d70-9df144e000bb", "metadata": {}, "outputs": [], "source": [ "import requests" ] }, { "cell_type": "code", "execution_count": 2, "id": "d665ee3b-259c-4733-af10-d7dc4e91bbcd", "metadata": {}, "outputs": [], "source": [ "import cbpro" ] }, { "cell_type": "code", "execution_count": 4, "id": "b0d24761-fcca-4526-ad2c-4fadaaab3320", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Collecting pandas\n", " Downloading pandas-1.4.2-cp39-cp39-macosx_10_9_x86_64.whl (11.1 MB)\n", "\u001b[K |████████████████████████████████| 11.1 MB 3.0 MB/s eta 0:00:01\n", "\u001b[?25hRequirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.9/site-packages (from pandas) (2022.1)\n", "Collecting numpy>=1.18.5\n", " Downloading numpy-1.22.3-cp39-cp39-macosx_10_14_x86_64.whl (17.6 MB)\n", "\u001b[K |████████████████████████████████| 17.6 MB 25.2 MB/s eta 0:00:01\n", "\u001b[?25hRequirement already satisfied: python-dateutil>=2.8.1 in /usr/local/lib/python3.9/site-packages (from pandas) (2.8.2)\n", "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.9/site-packages (from python-dateutil>=2.8.1->pandas) (1.10.0)\n", "Installing collected packages: numpy, pandas\n", "Successfully installed numpy-1.22.3 pandas-1.4.2\n", "\u001b[33mWARNING: You are using pip version 21.1.1; however, version 22.0.4 is available.\n", "You should consider upgrading via the '/usr/local/opt/python@3.9/bin/python3.9 -m pip install --upgrade pip' command.\u001b[0m\n" ] } ], "source": [ "#!pip3 install pandas" ] }, { "cell_type": "code", "execution_count": 5, "id": "6d1cec56-82d3-4915-b271-765bbe767bc2", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
468469470471472
idXRP-BTCXRP-USDGNT-USDCXRP-GBPXRP-EUR
base_currencyXRPXRPGNTXRPXRP
quote_currencyBTCUSDUSDCGBPEUR
base_min_size11111
base_max_size500000500000490000500000500000
quote_increment0.000000010.00010.0000010.00010.0001
base_increment10.00000110.0000010.000001
display_nameXRP/BTCXRP/USDGNT/USDCXRP/GBPXRP/EUR
min_market_funds0.0011011010
max_market_funds30100000200000100000100000
margin_enabledFalseFalseFalseFalseFalse
fx_stablecoinFalseFalseFalseFalseFalse
max_slippage_percentage0.100000000.100000000.030000000.100000000.10000000
post_onlyFalseFalseFalseFalseFalse
limit_onlyFalseFalseFalseFalseFalse
cancel_onlyFalseFalseFalseFalseFalse
trading_disabledTrueTrueTrueTrueTrue
statusdelisteddelisteddelisteddelisteddelisted
status_message
auction_modeFalseFalseFalseFalseFalse
\n", "
" ], "text/plain": [ " 468 469 470 471 \\\n", "id XRP-BTC XRP-USD GNT-USDC XRP-GBP \n", "base_currency XRP XRP GNT XRP \n", "quote_currency BTC USD USDC GBP \n", "base_min_size 1 1 1 1 \n", "base_max_size 500000 500000 490000 500000 \n", "quote_increment 0.00000001 0.0001 0.000001 0.0001 \n", "base_increment 1 0.000001 1 0.000001 \n", "display_name XRP/BTC XRP/USD GNT/USDC XRP/GBP \n", "min_market_funds 0.001 10 1 10 \n", "max_market_funds 30 100000 200000 100000 \n", "margin_enabled False False False False \n", "fx_stablecoin False False False False \n", "max_slippage_percentage 0.10000000 0.10000000 0.03000000 0.10000000 \n", "post_only False False False False \n", "limit_only False False False False \n", "cancel_only False False False False \n", "trading_disabled True True True True \n", "status delisted delisted delisted delisted \n", "status_message \n", "auction_mode False False False False \n", "\n", " 472 \n", "id XRP-EUR \n", "base_currency XRP \n", "quote_currency EUR \n", "base_min_size 1 \n", "base_max_size 500000 \n", "quote_increment 0.0001 \n", "base_increment 0.000001 \n", "display_name XRP/EUR \n", "min_market_funds 10 \n", "max_market_funds 100000 \n", "margin_enabled False \n", "fx_stablecoin False \n", "max_slippage_percentage 0.10000000 \n", "post_only False \n", "limit_only False \n", "cancel_only False \n", "trading_disabled True \n", "status delisted \n", "status_message \n", "auction_mode False " ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import cbpro\n", "import pandas as pd\n", "c = cbpro.PublicClient()\n", "\n", "data = pd.DataFrame(c.get_products())\n", "data.tail().T" ] }, { "cell_type": "code", "execution_count": 6, "id": "6092a61b-2f80-414a-87ae-8ca248a9ac82", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'bids': [['38240.18', '0.00193719', 1]],\n", " 'asks': [['38242.79', '0.62685639', 2]],\n", " 'sequence': 36891016647,\n", " 'auction_mode': False,\n", " 'auction': None}" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "c.get_product_order_book('BTC-USD')" ] }, { "cell_type": "code", "execution_count": 17, "id": "5e076bd8-498a-4570-8682-2f890db06a4c", "metadata": {}, "outputs": [], "source": [ "historical = pd.DataFrame(c.get_product_historic_rates(product_id='ETH-USD', granularity=3600*24))\n", "historical.columns= [\"Date\",\"Open\",\"High\",\"Low\",\"Close\",\"Volume\"]\n", "historical['Date'] = pd.to_datetime(historical['Date'], unit='s')\n", "historical.set_index('Date', inplace=True)\n", "historical.sort_values(by='Date', ascending=True, inplace=True)" ] }, { "cell_type": "code", "execution_count": 18, "id": "bf77ca3a-93d9-48c0-b29e-3c5c7cf93f59", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(300, 5)" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "historical.shape" ] }, { "cell_type": "code", "execution_count": 19, "id": "561ea595-3858-40f3-9803-d6d07d114105", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
OpenHighLowCloseVolume
Date
2021-07-052160.002324.442323.272197.34156103.936222
2021-07-062195.022350.002197.342321.84165693.467204
2021-07-072294.162411.192322.202316.82159702.044084
2021-07-082084.002325.462317.642116.95223830.003713
2021-07-092050.002189.282116.302147.38190883.326179
..................
2022-04-262766.773038.603007.242809.26191167.431854
2022-04-272794.232920.002809.502889.78172782.717618
2022-04-282853.832980.362889.782935.91167061.012721
2022-04-292775.512946.682935.972816.94204389.174778
2022-04-302768.642842.082816.772791.0470115.714811
\n", "

300 rows × 5 columns

\n", "
" ], "text/plain": [ " Open High Low Close Volume\n", "Date \n", "2021-07-05 2160.00 2324.44 2323.27 2197.34 156103.936222\n", "2021-07-06 2195.02 2350.00 2197.34 2321.84 165693.467204\n", "2021-07-07 2294.16 2411.19 2322.20 2316.82 159702.044084\n", "2021-07-08 2084.00 2325.46 2317.64 2116.95 223830.003713\n", "2021-07-09 2050.00 2189.28 2116.30 2147.38 190883.326179\n", "... ... ... ... ... ...\n", "2022-04-26 2766.77 3038.60 3007.24 2809.26 191167.431854\n", "2022-04-27 2794.23 2920.00 2809.50 2889.78 172782.717618\n", "2022-04-28 2853.83 2980.36 2889.78 2935.91 167061.012721\n", "2022-04-29 2775.51 2946.68 2935.97 2816.94 204389.174778\n", "2022-04-30 2768.64 2842.08 2816.77 2791.04 70115.714811\n", "\n", "[300 rows x 5 columns]" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "historical" ] }, { "cell_type": "code", "execution_count": null, "id": "c340ff84-d379-42e3-b791-e9076bcd439e", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.5" } }, "nbformat": 4, "nbformat_minor": 5 }