Giter Club home page Giter Club logo

cb-advanced-trade-fix-websocket's Introduction

cb-advanced-trade

Coinbase Advanced Trade API client library.


Installation:

python -m pip install [--upgrade] cb-advanced-trade

Endpoints:

INFO:

Advanced Trade endpoints require authentication using an API Key authentication scheme. You can generate API keys here.

  • Accounts
  • Orders
  • Products
  • TransactionSummary

Required parameters:

  • key: str - The API key;
  • secret: str - The API secret.

Optional parameters:

  • cache: bool - Use caching (defaults to: True);
  • retries: int - Total number of retries to allow (defaults to: 3);
  • backoff: int - A backoff factor to apply between attempts after the second try (defaults to: 1);
  • timeout: int - How long to wait for the server to send data before giving up (defaults to: 30);
  • debug: bool - Set to True to log all requests/responses to/from server (defaults to: False);
  • logger: Logger - The handler to be used for logging (defaults to: None).

Any of the endpoints can be instantiated or used as a context-manager:

from cb_advanced_trade import Accounts

credentials: dict = {
    "key": "KEY",
    "secret": "SECRET",
}  # be careful where you keep your credentials!


if __name__ == '__main__':

    endpoint = Accounts(**credentials)
    account = endpoint.get_account("2ca72458-ade9-45fd-83f2-e1f468b70026")
    endpoint.close()

    # or

    with Accounts(**credentials) as endpoint:
        account = endpoint.get_account("2ca72458-ade9-45fd-83f2-e1f468b70026")

Resources:

For each mapped resource you must read the documentation. All the parameters these resources can take are described in the official documentation.

Accounts

  • get_accounts()

    Get a list of authenticated accounts for the current user.

  • get_account()

    Get a list of information about an account, given an account UUID.

Orders

  • create_order()

    Create an order with a specified product_id (asset-pair), side (buy/sell), etc.

    Maximum Open Orders Per Product

    The maximum number of OPEN orders you can have for a given product_id is 500. If you have 500 open orders for a product_id at submission, new orders placed for that product enter a failed state immediately.

  • del_order()

    Initiate cancel requests for one or more orders.

  • get_orders()

    Get a list of orders filtered by optional query parameters (product_id, order_status, etc).

    Maximum Open Orders Returned

    The maximum number of OPEN orders returned is 1000.

    CAUTION

    If you have more than 1000 open, is recommended the WebSocket User channel to retrieve all OPEN orders.

  • get_fills()

    Get a list of fills filtered by optional query parameters (product_id, order_id, etc).

  • get_order()

    Get a single order by order ID.

Products

  • get_products()

    Get a list of the available currency pairs for trading.

  • get_product()

    Get information on a single product by product ID.

  • get_product_candles()

    Get rates for a single product by product ID, grouped in buckets.

  • get_market_trades()

    Get snapshot information, by product ID, about the last trades (ticks), best bid/ask, and 24h volume.

TransactionSummary


Websocket client:

Required parameters:

  • key: The API key;
  • secret: The API secret;
  • channel: The channel to subscribe to;
  • product_ids: Product IDs as list of strings.

Optional parameters:

  • debug: Set to True to log all requests/responses to/from server (defaults to: False).
  • logger: The handler to be used for logging. If given, and level is above DEBUG, all debug messages will be ignored.

Note:

For information about Websocket feed channels visit the documentation.

Examples:

MarketData

from cb_advanced_trade import MarketData

credentials = {
"key": "YOUR KEY",
"secret": "YOUR SECRET",
}  # be careful where you keep this!


if __name__ == '__main__':

    client = MarketData(
        **credentials,
        channel="ticker",
        product_ids=["BTC-USD"],
        debug=True
    )

    client.listen()

    try:
        for tick in client.queue:
            print(tick)
    except KeyboardInterrupt:
        client.close()


cb-advanced-trade-fix-websocket's People

Contributors

claudiudrug avatar hidude562 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.