Skills Plugins MCP Prompt Model 博客 我的中心
数据分析与咨询 #python #data #trading #api

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 / 自定义框架)
同一份技能可按不同平台格式导出。
.skill 标准格式,含 system_prompt 与 model_config,导入任意 Agent 框架即可使用 下载
.skillpro 增强格式,额外含脚本 / 工具 / 依赖 / 钩子占位 下载
.json 纯 JSON 导出,只含 system_prompt 与模型参数 下载
Coze 带 frontmatter 的 Markdown,Coze 平台导入用 下载
Dify Dify DSL,创建应用后直接导入 下载

每日精选 Skill 推荐,免费送到你邮箱

输入邮箱,每天接收一个精选 AI Agent 技能推荐。完全免费,持续更新。

验证码 --

提交后我们会发送一封确认邮件,点击邮件里的链接才会开始收信。

完全免费,取消任意时间。我们不会发送垃圾邮件。