打算在通知中心增加股票订阅,在股票每天收盘后推送这一天的相关数据。网友分享了一个 API 给我,更多 API 接口,以及指数接口。
例子,http://sqt.gtimg.cn/q=sh600519
返回下面的数据:
v_sh600519="1~贵州茅台~600519~1942.00~1982.22~1975.00~29817~13476~16340~1942.00~31~1941.85~9~1941.21~1~1941.00~4~1940.99~1~1942.50~1~1942.60~1~1943.00~3~1943.10~73~1943.88~10~~20220107160000~-40.22~-2.03~1988.88~1939.32~1942.00/29817/5831695311~29817~583170~0.24~48.66~~1988.88~1939.32~2.50~24395.36~24395.36~13.99~2180.44~1784.00~0.83~-42~1955.83~49.10~52.24~~~1.36~583169.5311~0.0000~0~ ~GP-A~-5.27~-6.41~0.99~28.76~23.70~2608.59~1525.50~-8.40~-6.93~1.62~1256197812~1256197812~-31.34~-4.23~1256197812";
######代码含义[以~分割字符串,下标从0开始]###### 0: 未知 1: 股票名字 2: 股票代码 3: 当前价格 4: 昨收 5: 今开 6: 成交量(手) 7: 外盘 8: 内盘 9: 买一 10: 买一量(手) 11-18: 买二 买五 19: 卖一 20: 卖一量 21-28: 卖二 卖五 29: 最近逐笔成交 30: 时间 31: 涨跌 32: 涨跌% 33: 最高 34: 最低 35: 价格/成交量(手)/成交额 36: 成交量(手) 37: 成交额(万) 38: 换手率 39: 市盈率 40: 41: 最高 42: 最低 43: 振幅 44: 流通市值 45: 总市值 46: 市净率 47: 涨停价 48: 跌停价
其实,因为价格信息是实时的,所以其实通知时间比收盘时间迟 1 分钟就能拿到今天收盘的价格了吧,可能有少量数据不是实时的,但不影响最关键的价格数据,而且就算不实时,也差不了多少,所以通知时间还是在收盘时间迟一点点吧,除了美股,因为美股收盘时间人们还没起床。
突然发现一个问题,上述 api 拿到的数据貌似有 15 分钟延迟,不是实时的。所以通知时间还是比收盘时间迟 20 分钟吧。
有一个问题:A 股 15 点收盘,但上面的 API 似乎是 16 点才会给出最新的数据。
用户输入关键词搜索股票,用这个 api 给出搜索建议:
const keyword = "";
const now = Date.now();
const url = `https://smartbox.gtimg.cn/s3/?v=2&q=${keyword}&t=all&_=${now}`;
A 股的交易单位是“手”,一手等于 100 股,上述 API 给出的 A 股中的交易量就是以“手”为单位的。美股没有手这个概念,最小交易单位就是一股。港股也有手的概念,但是一手多少股是由上市公司自行决定,上述 API 给出的美股和港股的交易量都是以股为单位的。
美国股票代码后缀有多种,例如 .oq、.am、.n、.ps。
美股股票代码中的后缀貌似是按照 Reuters Instrument Code 的标准制定的。
腾讯证券的美股股票代码基本是这种结构:连续的几个字母(公司简称代号)+ 后缀(oq n am ps)。但有一些特殊的例子:
ps 后缀的是特殊的代码,例如瑞幸在纳斯达克摘牌退市了,但股票依然可以交易,直接在谷歌搜索 lkncy,会看到 ADR 的字样,在腾讯证券的代码中,这类股票是以 .ps 为后缀的,谷歌 tcehy 可以找到腾讯控股的美股 ADR,中兴通信是 ztcoy,小米集团是 xiacy 等,它们在腾讯证券都是 .ps 后缀。事实上它们的上市地都不是美股,或者已经退市,它们是以 ADR 的身份在美国证券市场进行交易。
为什么瑞幸退市了还可以交易,这里提到一个粉单市场。 知乎有人解释了腾讯在港股的代码(hk_00700)和美股的代码(us_tcehy.ps)的区别。
总结的说,ps 应该代表没有正式在美股上市的股票。