ccxt-python
CCXT cryptocurrency exchange library for Python developers. Covers both REST API (standard) and WebSocket API (real-time). Helps install CCXT, connect to exchanges, fetch market data, place orders, stream live tickers/orderbooks, handle authentication, and manage errors in Python. Use when working with crypto exchanges in Python projects, trading bots, data analysis, or portfolio management. Supports both sync and async (asyncio) usage.
DeepseekModel
官方收录技能
质量 优秀 · 90
v1.0.0
获取
https://deepseekmodel.com/api/download.php?id=ccxt-ccxt-claude-skills-ccxt-python-skill-md&format=skill
下载 .skill
标准格式,含 system_prompt 与 model_config,导入任意 Agent 框架即可使用
.skill 文件中 system_prompt 字段的实际内容。
name ccxt-python description CCXT cryptocurrency exchange library for Python developers. Covers both REST API (standard) and WebSocket API (real-time). Helps install CCXT, connect to exchanges, fetch market data, place orders, stream live tickers/orderbooks, handle authentication, and manage errors in Python. Use when working with crypto exchanges in Python projects, trading bots, data analysis, or portfolio management. Supports both sync and async (asyncio) usage. CCXT for Python A comprehensive guide to using CCXT in Python projects for cryptocurrency exchange integration. Installation REST API (Standard) pip install ccxt WebSocket API (Real-time, ccxt.pro) pip install ccxt Optional Performance Enhancements pip install orjson # Faster JSON parsing pip install coincurve # Faster ECDSA signing (45ms → 0.05ms) Both REST and WebSocket APIs are included in the same package. Quick Start REST API - Synchronous import ccxt exchange = ccxt.binance() exchange.load_markets() ticker = exchange.fetch_ticker( 'BTC/USDT' ) print (ticker) REST API - Asynchronous import asyncio import ccxt.async_support as ccxt async def main (): exchange = ccxt.binance() await exchange.load_markets() ticker = await exchange.fetch_ticker( 'BTC/USDT' ) print (ticker) await exchange.close() # Important! asyncio.run(main()) WebSocket API - Real-time Updates import asyncio import ccxt.pro as ccxtpro async def main (): exchange = ccxtpro.binance() while True : ticker = await exchange.watch_ticker( 'BTC/USDT' ) print (ticker) # Live updates! await exchange.close() asyncio.run(main()) REST vs WebSocket Import For REST For WebSocket Sync import ccxt (WebSocket requires async) Async import ccxt.async_support as ccxt import ccxt.pro as ccxtpro Feature REST API WebSocket API Use for One-time queries, placing orders Real-time monitoring, live price feeds Method prefix fetch_* (fetch_ticker, fetch_order_book) watch_* (watch_ticker, watch_order_book) Speed Slower (HTTP request/response) Faster (persistent connection) Rate limits Strict (1-2 req/sec) More lenient (continuous stream) Best for Trading, account management Price monitoring, arbitrage detection When to use REST: Placing orders Fetching account balance One-time data queries Order management (cancel, fetch orders) When to use WebSocket: Real-time price monitoring Live orderbook updates Arbitrage detection Portfolio tracking with live updates Creating Exchange Instance REST API - Synchronous import ccxt # Public API (no authentication) exchange = ccxt.binance({ 'enableRateLimit' : True # Recommended! }) # Private API (with authentication) exchange = ccxt.binance({ 'apiKey' : 'YOUR_API_KEY' , 'secret' : 'YOUR_SECRET' , 'enableRateLimit' : True }) REST API - Asynchronous import ccxt.async_support as ccxt exchange = ccxt.binance({ 'apiKey' : 'YOUR_API_KEY' , 'secret' : 'YOUR_SECRET' , 'enableRateLimit' : True }) # Always close when done await exchange.close() WebSocket API import ccxt.pro as ccxtpro # Public WebSocket exchange = ccxtpro.binance() # Private WebSocket (with authentication) exchange = ccxtpro.binance({ 'apiKey' : 'YOUR_API_KEY' , 'secret' : 'YOUR_SECRET' }) # Always close when done await exchange.close() Common REST Operations Loading Markets # Load all available trading pairs exchange.load_markets() # Access market information btc_market = exchange.market( 'BTC/USDT' ) print (btc_market[ 'limits' ][ 'amount' ][ 'min' ]) # Minimum order amount Fetching Ticker # Single ticker ticker = exchange.fetch_ticker( 'BTC/USDT' ) print (ticker[ 'last' ]) # Last price print (ticker[ 'bid' ]) # Best bid print (ticker[ 'ask' ]) # Best ask print (ticker[ 'volume' ]) # 24h volume # Multiple tickers (if supported) tickers = exchange.fetch_tickers([ 'BTC/USDT' , 'ETH/USDT' ]) Fetching Order Book # Full orderbook orderbook = exchange.fetch_order_book( 'BTC/USDT' ) print (orderbook[ 'bids' ][ 0 ]) # [price, amount] print (orderbook[ 'asks' ][ 0 ]) # [price, amount] # Limited depth orderbook = exchange.fetch_order_book( 'BTC/USDT' , 5 ) # Top 5 levels Creating Orders Limit Order # Buy limit order order = exchange.create_limit_buy_order( 'BTC/USDT' , 0.01 , 50000 ) print (order[ 'id' ]) # Sell limit order order = exchange.create_limit_sell_order( 'BTC/USDT' , 0.01 , 60000 ) # Generic limit order order = exchange.create_order( 'BTC/USDT' , 'limit' , 'buy' , 0.01 , 50000 ) Market Order # Buy market order order = exchange.create_market_buy_order( 'BTC/USDT' , 0.01 ) # Sell market order order = exchange.create_market_sell_order( 'BTC/USDT' , 0.01 ) # Generic market order order = exchange.create_order( 'BTC/USDT' , 'market' , 'sell' , 0.01 ) Fetching Balance balance = exchange.fetch_balance() print (balance[ 'BTC' ][ 'free' ]) # Available balance print (balance[ 'BTC' ][ 'used' ]) # Balance in orders print (balance[ 'BTC' ][ 'total' ]) # Total balance Fetching Orders # Open orders open_orders = exchange.fetch_open_orders( 'BTC/USDT' ) # Closed orders closed_orders = exchange.fetch_closed_orders( 'BTC/USDT' ) # All orders (open + closed) all_orders = exchange.fetch_orders( 'BTC/USDT' ) # Single order by ID order = exchange.fetch_order(order_id, 'BTC/USDT' ) Fetching Trades # Recent public trades trades = exchange.fetch_trades( 'BTC/USDT' , limit= 10 ) # Your trades (requires authentication) my_trades = exchange.fetch_my_trades( 'BTC/USDT' ) Canceling Orders # Cancel single order exchange.cancel_order(order_id, 'BTC/USDT' ) # Cancel all orders for a symbol exchange.cancel_all_orders( 'BTC/USDT' ) WebSocket Operations (Real-time) Watching Ticker (Live Price Updates) import asyncio import ccxt.pro as ccxtpro async def main (): exchange = ccxtpro.binance() while True : ticker = await exchange.watch_ticker( 'BTC/USDT' ) print (ticker[ 'last' ], ticker[ 'timestamp' ]) await exchange.close() asyncio.run(main()) Watching Order Book (Live Depth Updates) async def main (): exchange = ccxtpro.binance() while True : orderbook = await exchange.watch_order_book( 'BTC/USDT' ) print ( 'Best bid:' , orderbook[ 'bids' ][ 0 ]) print ( 'Best ask:' , orderbook[ 'asks' ][ 0 ]) await exchange.close() asyncio.run(main()) Watching Trades (Live Trade Stream) async def main (): exchange = ccxtpro.binance() while True : trades = await exchange.watch_trades( 'BTC/USDT' ) for trade in trades: print (trade[ 'price' ], trade[ 'amount' ], trade[ 'side' ]) await exchange.close() asyncio.run(main()) Watching Your Orders (Live Order Updates) async def main (): exchange = ccxtpro.binance({ 'apiKey' : 'YOUR_API_KEY' , 'secret' : 'YOUR_SECRET' }) while True : orders = await exchange.watch_orders( 'BTC/USDT' ) for order in orders: print (order[ 'id' ], order[ 'status' ], order[ 'filled' ]) await exchange.close() asyncio.run(main()) Watching Balance (Live Balance Updates) async def main (): exchange = ccxtpro.binance({ 'apiKey' : 'YOUR_API_KEY' , 'secret' : 'YOUR_SECRET' }) while True : balance = await exchange.watch_balance() print ( 'BTC:' , balance[ 'BTC' ]) print ( 'USDT:' , balance[ 'USDT' ]) await exchange.close() asyncio.run(main()) Watching Multiple Symbols async def main (): exchange = ccxtpro.binance() symbols = [ 'BTC/USDT' , 'ETH/USDT' , 'SOL/USDT' ] while True : # Watch all symbols concurrently tickers = await exchange.watch_tickers(symbols) for symbol, ticker in tickers.items(): print (symbol, ticker[ 'last' ]) await exchange.close() asyncio.run(main()) Complete Method Reference Market Data Methods Tickers & Prices fetchTicker(symbol) - Fetch ticker for one symbol fetchTickers([symbols]) - Fetch multiple tickers at once fetchBidsAsks([symbols]) - Fetch best bid/ask for multiple symbols fetchLastPrices([symbols]) - Fetch last prices fetchMarkPrices([symbols]) - Fetch mark prices (derivatives) Order Books fetchOrderBook(symbol, limit) - Fetch order book fetchOrderBooks([symbols]) - Fetch multiple order books fetchL2OrderBook(symbol) - Fetch level 2 order book fetchL3OrderBook(symbol) - Fetch level 3 order book (if supported) Trades fetchTrades(symbol, since, limit) - Fetch public trades fetchMyTrades(symbol, since, limit) - Fetch your trades (auth required) fetchOrderTrades(orderId, symbol) - Fetch trades for specific order OHLCV (Candlesticks) fetchOHLCV(symbol, timeframe, since, limit) - Fetch candlestick data fetchIndexOHLCV(symbol, timeframe) - Fetch index price OHLCV fetchMarkOHLCV(symbol, timeframe) - Fetch mark price OHLCV fetchPremiumIndexOHLCV(symbol, timeframe) - Fetch premium index OHLCV Account & Balance fetchBalance() - Fetch account balance (auth required) fetchAccounts() - Fetch sub-accounts fetchLedger(code, since, limit) - Fetch ledger history fetchLedgerEntry(id, code) - Fetch specific ledger entry fetchTransactions(code, since, limit) - Fetch transactions fetchDeposits(code, since, limit) - Fetch deposit history fetchWithdrawals(code, since, limit) - Fetch withdrawal history fetchDepositsWithdrawals(code, since, limit) - Fetch both deposits and withdrawals Trading Methods Creating Orders createOrder(symbol, type, side, amount, price, params) - Create order (generic) createLimitOrder(symbol, side, amount, price) - Create limit order createMarketOrder(symbol, side, amount) - Create market order createLimitBuyOrder(symbol, amount, price) - Buy limit order createLimitSellOrder(symbol, amount, price) - Sell limit order createMarketBuyOrder(symbol, amount) - Buy market order createMarketSellOrder(symbol, amount) - Sell market order createMarketBuyOrderWithCost(symbol, cost) - Buy with specific cost createStopLimitOrder(symbol, side, amount, price, stopPrice) - Stop-limit order
Agent 识别该技能的关键词,点击任意一个即可复制。
该技能未提供触发词。
下载的 .skill 包内含以下字段。
| 字段 | 说明 |
|---|---|
| format | 格式标识(skill/v1) |
| skill_id | 技能唯一 ID |
| name | 技能名称 |
| version | 版本号 |
| description | 技能描述 |
| category | 所属分类(数组) |
| trigger_words | 触发词列表 |
| tags | 标签列表 |
| source | 来源标识 |
| source_url | 来源链接(本页地址) |
| exported_at | 导出时间(每次下载生成) |
| system_prompt | 系统提示词正文 |
| model_config | 模型参数:provider / model / temperature / max_tokens / top_p |
| examples | 示例 |
| install_guide | 各平台导入说明(Coze / Dify / Claude / 自定义框架) |