发布时间:2026/7/2 9:32:28
股票代币实时行情接口接入教程:从 REST 查询到 WebSocket 订阅 2021 年 1 月GameStopGME逼空行情在美股盘后继续发酵。交易所已收盘散户只能盯着隔夜期货猜测走势而持有 GMEUSDT 股票代币的交易者却能在链上继续买卖捕捉盘后的价格发现机会。这就是股票代币的核心价值把传统股票搬到区块链上让它像加密货币一样 24 小时不间断交易。对于想要构建全天候行情监控或交易系统的开发者来说股票代币行情接口是一个值得关注的新数据品类。一、什么是股票代币股票代币Tokenized Stocks是由链上机构发行的、锚定真实上市公司股价的数字资产。每枚代币对应一定比例的真实股票价格在美股交易时段与标的股票高度联动盘后则由链上供需决定。与传统股票行情接口相比股票代币行情有几个显著特点7×24 小时连续交易不受交易所开盘时间限制盘前、盘后、节假日均有成交USDT 计价价格以 USDT 结算无需换汇盘口为一档股票代币的买卖盘口只提供最优一档买一/卖一不同于 A 股、港股的五档或十档覆盖股票 ETF 贵金属除个股外还包括 SPYUSDT标普 500 ETF、QQQUSDT纳斯达克 100 ETF、XAUUSDT现货黄金等二、股票代币品种Infoway API 目前支持64 个股票代币覆盖科技、金融、能源、消费等主要板块同时包含主流 ETF 和贵金属科技股AAPLUSDT苹果、NVDAUSDT英伟达、MSFTUSDT微软、GOOGLUSDT谷歌、METAUSDTMeta、TSLAUSDT特斯拉、AMDUSDTAMD、INTCUSDT英特尔、QCOMUSDT高通、TSMUSDT台积电、ASML阿斯麦…金融股JPMUSDT摩根大通、BACUSDT美国银行、BRKBUSDT伯克希尔 B 类、COINUSDTCoinbase、HOODUSDTRobinhood…能源 / 消费CVXUSDT雪佛龙、OXYUSDT西方石油、AMZNUSDT亚马逊、COSTUSDT好市多、NFLXUSDTNetflix…ETFSPYUSDT标普 500、QQQUSDT纳斯达克 100、SOXLUSDT三倍做多半导体、EWJUSDTMSCI 日本、EWYUSDTMSCI 韩国贵金属XAUUSDT现货黄金、XAGUSDT现货白银、XCUUSDT现货铜、XPTUSDT铂金、XPDUSDT钯金通过接口获取完整列表importrequests API_KEYyour_api_keyBASE_URLhttps://data.infoway.ioresprequests.get(f{BASE_URL}/common/basic/symbols,headers{apiKey:API_KEY},params{type:CRYPTO})all_symbolsresp.json()[data]# 股票代币的 symbol 均以 USDT 结尾过滤即可token_stocks[sforsinall_symbolsifs[symbol].endswith(USDT)]print(f股票代币品种数量{len(token_stocks)})三、REST API 快速上手股票代币与加密货币共用同一套接口路径businesscrypto即可访问。3.1 实时成交明细defget_token_trades(symbols:list[str])-list[dict]:查询股票代币最新成交明细codes,.join(symbols)resprequests.get(f{BASE_URL}/crypto/batch_trade/{codes},headers{apiKey:API_KEY})resp.raise_for_status()returnresp.json()[data]tradesget_token_trades([TSLAUSDT,NVDAUSDT,AAPLUSDT])fortintrades:direction{0:中性,1:买入,2:卖出}.get(t[td],未知)print(f{t[s]}: 价格{t[p]}USDT 成交量{t[v]}股 方向{direction})注意v字段单位为股票份额数股而非手。v6.251表示成交 6.251 股 AAPL 代币。3.2 实时买卖盘口一档股票代币的盘口只有最优一档返回结构与多档盘口相同但数组长度为 1defget_token_depth(symbols:list[str])-list[dict]:查询股票代币一档买卖盘口codes,.join(symbols)resprequests.get(f{BASE_URL}/crypto/batch_depth/{codes},headers{apiKey:API_KEY})resp.raise_for_status()returnresp.json()[data]depth_listget_token_depth([TSLAUSDT,PDDUSDT])foritemindepth_list:ask_priceitem[a][0][0]# 卖一价ask_volitem[a][1][0]# 卖一量bid_priceitem[b][0][0]# 买一价bid_volitem[b][1][0]# 买一量spreadfloat(ask_price)-float(bid_price)print(f{item[s]}: 卖一{ask_price}({ask_vol}股) 买一{bid_price}({bid_vol}股) 价差{spread:.5f})3.3 K 线数据importtimedefget_token_kline(symbol:str,kline_type:int1,num:int100)-list[dict]: 获取股票代币 K 线 kline_type: 11分钟, 51小时, 8日K resprequests.post(f{BASE_URL}/crypto/v2/batch_kline,headers{apiKey:API_KEY},json{klineType:kline_type,klineNum:num,codes:symbol})resp.raise_for_status()dataresp.json()[data]returndata[0][respList]ifdataelse[]# 获取特斯拉代币最近 50 根 1 小时 K 线klinesget_token_kline(TSLAUSDT,kline_type5,num50)forkinklines[:5]:tstime.strftime(%m-%d %H:%M,time.localtime(int(k[t])))print(f{ts}| O:{k[o]}H:{k[h]}L:{k[l]}C:{k[c]}涨跌:{k[pc]})四、WebSocket 实时订阅含断线重连股票代币使用businesscrypto的 WebSocket 地址wss://data.infoway.io/ws?businesscryptoapikeyYOUR_API_KEY以下是完整 Python 客户端同时订阅 TSLA、NVDA、AAPL 三只代币的成交明细 盘口 1 分钟 K 线importos,asyncio,json,uuid,loggingfromtypingimportOptionalimportwebsocketsfromwebsockets.asyncio.clientimportClientConnectionfromwebsockets.exceptionsimportConnectionClosed logging.basicConfig(levellogging.INFO,format%(asctime)s - %(levelname)s - %(message)s)loggerlogging.getLogger(tokenstock-ws)REQ_TRADE10000REQ_DEPTH10003REQ_KLINE10006REQ_HEARTBEAT10010PUSH_TRADE,PUSH_DEPTH,PUSH_KLINE10002,10005,10008ACK_CODES{10001,10004,10007}SUBSCRIBE_SYMBOLSTSLAUSDT,NVDAUSDT,AAPLUSDTclassTokenStockWSClient:股票代币行情 WebSocket 客户端指数退避重连def__init__(self,api_key:str):self.ws_urlfwss://data.infoway.io/ws?businesscryptoapikey{api_key}self.ws:Optional[ClientConnection]Noneself.runningTrueself.reconnect_base,self.reconnect_max5,60self.heartbeat_interval30self.heartbeat_task:Optional[asyncio.Task]Noneasyncdef_send(self,msg:dict)-None:awaitself.ws.send(json.dumps(msg))asyncdef_subscribe_all(self)-None:tlambda:str(uuid.uuid4())awaitself._send({code:REQ_TRADE,trace:t(),data:{codes:SUBSCRIBE_SYMBOLS}})awaitself._send({code:REQ_DEPTH,trace:t(),data:{codes:SUBSCRIBE_SYMBOLS}})awaitself._send({code:REQ_KLINE,trace:t(),data:{arr:[{type:1,codes:SUBSCRIBE_SYMBOLS}]}})logger.info(已订阅股票代币%s,SUBSCRIBE_SYMBOLS)def_start_heartbeat(self)-None:self._cancel_heartbeat()asyncdef_loop():try:whileTrue:awaitasyncio.sleep(self.heartbeat_interval)ifself.wsisNoneorself.ws.close_codeisnotNone:breakawaitself._send({code:REQ_HEARTBEAT,trace:str(uuid.uuid4())})except(ConnectionClosed,asyncio.CancelledError):passself.heartbeat_taskasyncio.create_task(_loop())def_cancel_heartbeat(self)-None:ifself.heartbeat_taskandnotself.heartbeat_task.done():self.heartbeat_task.cancel()self.heartbeat_taskNonedef_on_message(self,raw:str)-None:try:msgjson.loads(raw)exceptjson.JSONDecodeError:returncode,datamsg.get(code),msg.get(data,{})ifcodePUSH_TRADE:direction{1:买入,2:卖出}.get(data.get(td),中性)logger.info([成交] %s 价格%s USDT 量%s股 方向%s,data.get(s),data.get(p),data.get(v),direction)elifcodePUSH_DEPTH:# 股票代币只有一档取 [0][0] 即可ask1data[a][0][0]ifdata.get(a)elseN/Abid1data[b][0][0]ifdata.get(b)elseN/Alogger.info([盘口] %s 卖一%s 买一%s,data.get(s),ask1,bid1)elifcodePUSH_KLINE:logger.info([K线] %s 收%s USDT 涨跌%s,data.get(s),data.get(c),data.get(pfr))elifcodeinACK_CODES:logger.info(订阅确认 code%s,code)asyncdef_connect_once(self)-None:asyncwithwebsockets.connect(self.ws_url)asws:self.wsws logger.info(WebSocket 连接成功)awaitself._subscribe_all()self._start_heartbeat()try:asyncformessageinws:self._on_message(message)finally:self._cancel_heartbeat()self.wsNoneasyncdefstart(self)-None:backoffself.reconnect_basewhileself.running:try:awaitself._connect_once()backoffself.reconnect_baseexceptConnectionClosedase:logger.warning(连接关闭: %s,e)exceptExceptionase:logger.error(连接异常: %s,e)ifnotself.running:breaklogger.info(%.0f 秒后重连...,backoff)awaitasyncio.sleep(backoff)backoffmin(backoff*2,self.reconnect_max)asyncdefmain():api_keyos.environ.get(INFOWAY_API_KEY,YOUR_API_KEY)awaitTokenStockWSClient(api_key).start()if__name____main__:try:asyncio.run(main())exceptKeyboardInterrupt:print(退出)五、使用注意事项5.1 盘口只有一档股票代币的深度数据中a卖盘和b买盘数组长度均为1直接取[0][0]即可无需像股票接口那样遍历多档。5.2 美股交易时段 vs 盘后时段的行为差异美股开盘期间北京时间 21:30–04:00夏令时提前 1 小时代币价格与标的股票联动紧密价差极小盘后时段流动性下降价差可能扩大。构建策略时建议用时间段过滤importdatetime,pytzdefis_us_market_open()-bool:判断当前是否处于美股正式交易时段含夏令时自动切换ny_tzpytz.timezone(America/New_York)now_nydatetime.datetime.now(ny_tz)ifnow_ny.weekday()5:# 周末returnFalsemarket_opennow_ny.replace(hour9,minute30,second0,microsecond0)market_closenow_ny.replace(hour16,minute0,second0,microsecond0)returnmarket_opennow_nymarket_close5.3 跨接口联动获取标的公司财报数据股票代币的底层是真实上市公司可通过财报接口查询对应股票的基本面数据Symbol 格式切换回标准股票代码即可defget_underlying_financials(token_symbol:str)-dict:通过代币 Symbol如 TSLAUSDT查询标的股票财务数据tickertoken_symbol.replace(USDT,)# TSLAUSDT → TSLAus_symbolf{ticker}.US# → TSLA.USresprequests.get(f{BASE_URL}/common/basic/financial/statistics,headers{apiKey:API_KEY},params{symbol:us_symbol,type:STOCK_US})resp.raise_for_status()returnresp.json()[data]statsget_underlying_financials(NVDAUSDT)foriteminstats[:3]:print(f{item[itemName]}:{item.get(currentValue)})5.4 ETF 和贵金属代币的特殊性SPYUSDT、QQQUSDT等 ETF 代币没有对应的个股财报接口XAUUSDT黄金、XAGUSDT白银等贵金属代币同样不支持财报查询但可通过/common/batch_trade/获取实时报价逻辑与黄金现货行情一致。

相关新闻

2026/7/2 9:32:28

从空间转录组到PCF80:口腔组织研究如何补充蛋白层证据?

空间转录组让研究者能够在组织原位观察基因表达分布,但在口腔组织微环境研究中,转录信号并不能完全替代蛋白证据。免疫检查点分子、细胞表面标志物、MHC分子、基质重塑蛋白和多种功能状态指标,最终都需要在蛋白层面获得验证。PCF80基于80抗体…

2026/7/2 9:32:28

如何5分钟让Zotero拥有智能参考文献管理能力

如何5分钟让Zotero拥有智能参考文献管理能力 【免费下载链接】zotero-reference PDF references add-on for Zotero. 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-reference 你是否曾经在阅读学术论文时,为了查找某个参考文献而反复翻页&#xff1f…

2026/7/2 10:32:28

MIC1557与dsPIC33EP的高精度定时系统设计

1. 定时系统设计背景与核心需求在工业控制、仪器仪表和嵌入式系统中,可靠的定时功能往往是整个系统稳定运行的基础。传统555定时器虽然经典,但在高精度、低功耗和抗干扰方面存在明显短板。MIC1557作为新一代微型CMOS RC振荡器,配合dsPIC33EP5…

2026/7/2 10:32:28

Ubuntu下MySQL5.7安装步骤

1**、更新软件包列表** apt-get update2**、查看系统默认安装的数据库版本** apt-cache policy mysql-server3**、需要安装mysql5.7的版本就需要换源** 养成习惯,先备份文件: cp /etc/apt/sources.list /etc/apt/sources.list.back 然后更换apt源&#x…

2026/7/2 10:32:28

PIC18F46K20与MC74HC165A实现GPIO扩展方案

1. 为什么需要输入扩展方案在嵌入式系统开发中,我们经常会遇到一个经典矛盾:微控制器的GPIO引脚数量有限,但实际项目需要监测的输入信号却很多。以PIC18F46K20为例,这款40引脚封装的MCU虽然功能强大,但除去电源、晶振、…

2026/7/2 0:32:22

基于LARA-R6001与PIC18LF46K42的VoLTE通信平台开发指南

1. 4G LTE VoLTE平台开发概述在物联网和移动通信技术快速发展的今天,构建自主可控的4G LTE VoLTE通信平台成为许多开发者的需求。LARA-R6001是一款高性能的4G LTE Cat 1模块,而PIC18LF46K42则是Microchip公司推出的低功耗8位单片机,两者的结合…

2026/7/2 0:32:22

AI 辅助:UI 色彩层级设计:颜色不是越多越有表现力

AI 辅助:UI 色彩层级设计:颜色不是越多越有表现力 一、色彩系统先解决层级,再表达情绪 UI 色彩设计的关键不是使用更多颜色,而是建立清晰层级。颜色承担品牌、状态、反馈和信息分组等职责。如果每个区域都使用高饱和色&#xff0c…

2026/7/2 0:32:22

ASM330LHH与TM4C123GH6PZ运动跟踪系统设计

1. 运动跟踪技术的现状与挑战在当今的智能设备领域,运动跟踪技术正经历着前所未有的变革。从智能手机到可穿戴设备,从工业机器人到虚拟现实系统,精确的运动感知能力已成为这些设备"理解"物理世界的基础。然而,要实现高精…

2026/7/2 1:27:35

3个高效策略:快速掌握Axure中文界面配置

3个高效策略:快速掌握Axure中文界面配置 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP的英文界面感…