QMT量化交易攻略20-get_hkt_statistics获取指定品种的持股统计
发布时间:7小时前阅读:10
有人问我,怎么知道一只票近期是散户在增还是在减。他手上有个想法:把持股人数的变化当成一个观察维度,接进自己的选股流程里。想法没问题,卡住的地方在于数据从哪来。QMT 的 xtquant 里有个 get_hkt_statistics 接口,就是干这个用的——按指定品种取回持股统计类数据。
先说清楚它给的是什么。这类接口返回的是交易所或数据源整理过的统计结果,通常包含持股数量、持股户数一类的字段,按品种和日期组织。它不是逐笔成交,也不是实时盘口,更新节奏跟着数据源走,可能是按日。理解这一点很重要,否则你会拿它当实时信号用,然后发现数据一整天没动。
调用前有两个前置动作别漏。一是确认客户端的行情或数据服务已经登录并且完成了当天的数据下载,本地没落地数据,接口大概率返回空。二是把品种代码写完整,市场后缀不能省,写错后缀查不到东西,返回的还是一个看起来正常的空结构,很容易误判成没有数据。
通用步骤是这样:先把 xtquant 里的数据模块导入,用品种代码加日期范围去请求;拿回结果后不要急着塞进 DataFrame,先打印一下类型和字段名,确认你猜的字段真的存在;字段确认了再做清洗,把空值、零值、重复日期处理掉;最后按日期排序落盘成一张本地表,让策略只读这张表,而不是每次都去请求接口。
工程上有几个细节值得花十分钟处理。第一,请求要限速,别在循环里对几百个品种连续打,加上间隔,失败重试最多两三次就放弃。第二,把原始返回和清洗后的表分开存,出问题时能回溯。第三,给每张表加一列抓取时间,将来发现数据源改口径,你能定位是哪天开始变的。第四,空结果也要记录,不然你分不清是没数据还是接口挂了。
还有一个心态问题:这类统计字段口径固定、更新慢,适合做中期观察,不适合做日内触发。如果你发现自己频繁刷新它,说明用错了地方。
判断标准给你一条:连续五个交易日,每天都能稳定落盘、字段非空、日期不重复,并且你随手抽两天用手工核对过的数值对得上,这套流程才算通了。通了之后再谈怎么进策略,顺序别反过来。
股票/量化开户欢迎找我!满足条件股票佣金万0.854、etf 可转债佣金万0.5、国债逆回购一折(百万分之一)!期权1.8元一张全包价!量化软件QMT+ptrade免费使用!还有888、999资金靓号等你选!
温馨提示:投资有风险,选择需谨慎。
QMT量化交易支持期货和期权吗,品种全吗?



问一问
从业认证

+微信
分享该文章
