如何在youquant.com优宽量化交易平台上查询股票证券所有正股股票代码呢?通过Futu API的原生SDK可以很方便的查询。
部署托管者 首先在优宽上实盘、模拟盘运行使用富途证券接口的股票策略,必须部署一个托管者(如果还不了解托管者概念的同学可以查询平台社区置顶的教程)。
下载运行FutuOpenD软件 FutuOpenD是作为托管者和富途证券服务器通信的中间件程序,在社区有详细文章描述:https://www.youquant.com/bbs-topic/6270。
托管者所在设备系统必须已经安装python,只能是python哦!其它语言无法自由导入使用的包,也就没法使用futu API这个SDK软件包了。
python上已经安装了futu的SDK软件包
futu API 文档:https://openapi.futunn.com/futu-api-doc/quote/get-static-info.html#9555
只传入查询的市场,不传入股票列表参数即可查询所有股票。
返回数据的格式
接下来就可以在youquant.com上编写策略了,策略代码十分简单:
youquant.com上的查询范例代码:
#!python3
from futu import *
import json
exDict = {
"Market.HK" : Market.HK
}
def getExStocksInfo(exName):
global exDict
quote_ctx = OpenQuoteContext(host='127.0.0.1', port=11111)
ret, data = quote_ctx.get_stock_basicinfo(exDict["Market.HK"], SecurityType.STOCK)
if ret == RET_OK:
Log("获取数据成功!")
else:
Log('error:', data)
# 构造数据
stocksInfoTbl = {
"type" : "table",
"title" : "股票信息",
"cols" : ["股票代码", "股票名称", "每手股数", "股票类型", "是否退市", "上市时间", "股票 ID"],
"rows" : []
}
arrKey = ["code", "name", "lot_size", "stock_type", "delisting", "listing_date", "stock_id"]
arrKeyWithColor = []
for key in arrKey:
arrKeyWithColor.append(key + " #FF0000")
stocksInfoTbl["rows"].append(arrKeyWithColor)
for i in range(len(data["code"])):
arrRow = []
for key in arrKey:
arrRow.append(str(data[key][i]))
stocksInfoTbl["rows"].append(arrRow)
# 结束后记得关闭当条连接,防止连接条数用尽
quote_ctx.close()
return stocksInfoTbl
def main():
Log("开始查询")
ret = getExStocksInfo("Market.HK")
# 表格展示
LogStatus('`' + json.dumps(ret) + '`')
Log("结束查询")
代码ret = getExStocksInfo("Market.HK")
,可以看出只查询了港股,查询一共有几千只股票…
报错信息可以忽略,只是返回了一些接口信息。