mirror of
https://github.com/OpenBB-finance/OpenBB.git
synced 2026-10-30 05:52:23 +00:00
* Started new tests * Added special function * Improved dict * Finished new test * Got bad functions to 75 * Got bad func to 73 * Bad func down to 60 * Bad func down to 50 * Bad func down to 35 * Got bad func to 30 * No more bad functions * Added tests * Added fix * Fixed some tests * Fixed some tests * Fixed some tests * Fixed some tests * Added tests to CI * Fixed CI tests * Fixed CI tests * Imrproved CI tests * Fixed reports * Fixed reports * Added stuff * Removed CI * Fixed * Fixed some typing' Co-authored-by: minhhoang1023 <40023817+minhhoang1023@users.noreply.github.com>
62 lines
1.4 KiB
Python
62 lines
1.4 KiB
Python
"""Coinbase model"""
|
|
__docformat__ = "numpy"
|
|
|
|
import logging
|
|
import pandas as pd
|
|
from openbb_terminal.cryptocurrency.coinbase_helpers import make_coinbase_request
|
|
from openbb_terminal.decorators import log_start_end
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
PAIRS_FILTERS = [
|
|
"id",
|
|
"display_name",
|
|
"base_currency",
|
|
"quote_currency",
|
|
"base_min_size",
|
|
"base_max_size",
|
|
"min_market_funds",
|
|
"max_market_funds",
|
|
]
|
|
|
|
|
|
@log_start_end(log=logger)
|
|
def get_trading_pairs(
|
|
limit: int = 50, sortby: str = "quote_increment", ascend: bool = True
|
|
) -> pd.DataFrame:
|
|
"""Get a list of available currency pairs for trading. [Source: Coinbase]
|
|
|
|
base_min_size - min order size
|
|
base_max_size - max order size
|
|
min_market_funds - min funds allowed in a market order.
|
|
max_market_funds - max funds allowed in a market order.
|
|
|
|
Parameters
|
|
----------
|
|
limit: int
|
|
Top n of pairs
|
|
sortby: str
|
|
Key to sortby data
|
|
ascend: bool
|
|
Sort descending flag
|
|
|
|
Returns
|
|
-------
|
|
pd.DataFrame
|
|
Available trading pairs on Coinbase
|
|
"""
|
|
|
|
columns = [
|
|
"id",
|
|
"display_name",
|
|
"base_currency",
|
|
"quote_currency",
|
|
"quote_increment",
|
|
"base_increment",
|
|
"min_market_funds",
|
|
]
|
|
pairs = make_coinbase_request("/products")
|
|
df = pd.DataFrame(pairs)[columns]
|
|
df = df.sort_values(by=sortby, ascending=ascend).head(limit)
|
|
return df
|