同花顺iFinD接口获取股票数据到底分几步

企业微信

同花顺iFinD接口获取股票数据到底分几步

很多做股票和期货的朋友都听过同花顺iFinD的大名,知道它数据全、更新快。但一提到用接口把数据拉到自己电脑上,不少人就卡住了,感觉那是程序员才能干的事。其实把这件事拆开看,跟把大象装进冰箱一样,就是几个固定动作。今天我把这套流程掰开揉碎,用大白话讲清楚,哪怕你之前没写过一行代码,照着做也能把数据拿到手。

第一步 把账号和终端准备好

iFinD的数据不是直接飘在网上的,它需要一个身份验证。你得先有一个能正常登录的同花顺iFinD账号,这个账号一般是机构或者付费用户才有的。拿到账号之后,在电脑上安装并启动iFinD金融数据终端。这个终端就像是数据仓库的大门,只有它开着,你的代码才能进去搬东西。登录之后,终端界面不用一直盯着,最小化就行,但别关掉。很多新手代码写得没问题,就是忘了开终端,结果一直报连接失败,白白折腾半天。

第二步 让Python和iFinD握手

现在量化投研普遍用Python,iFinD也提供了对应的Python包。你需要在电脑上装好Python环境,版本建议用3.7以上。装好之后,打开命令行,输入pip install iFinDPy,等进度条走完,这个包就装好了。这一步相当于给Python装了一个翻译官,让它能听懂iFinD的数据请求。装完之后,在你的Python脚本开头加上import iFinDPy as ths,后面所有取数据的动作都靠它。

第三步 登录接口 拿到通行证

包装好了,还得在代码里登录一次。调用ths.thsLogin(你的账号, 你的密码)这个函数,终端那边会弹出一个确认或者直接返回登录成功的信息。登录成功后,你的代码就相当于拿到了仓库的临时通行证,后面才能调用各种数据函数。这里有个细节,登录函数返回的代码如果是0,代表成功;如果是别的数字,就去查一下错误码,常见的就是账号密码错、终端没开、或者账号没有接口权限。

同花顺iFinD接口获取股票数据到底分几步

第四步 选对函数 知道自己要什么数据

iFinD的接口函数很多,刚上手容易眼花。获取股票数据最常用的是THS_DS和THS_HQ这两个函数。THS_DS偏向于取基本面、财务、估值这类截面数据,THS_HQ偏向于取历史行情序列。你得先想清楚自己要什么。想要全部A股的市盈率、市净率、ROE,就用THS_DS,把股票代码列表、指标代码、日期参数传进去。想要某只股票过去一年的日线开高低收,就用THS_HQ,参数里填上股票代码、指标如open,high,low,close,再填开始日期和结束日期。指标代码在iFinD的帮助文档里都能查到,文档里搜一下“指标代码”就能找到完整列表。

第五步 写代码取数 处理返回结果

参数填对之后,运行代码,函数会返回一个数据框。这个数据框就是你要的东西,但别急着直接用。先看看列名对不对,行数够不够,有没有空值。iFinD返回的数据格式比较规整,但有时候日期列是字符串,需要转成日期格式;有时候股票代码带后缀,需要自己拆分。把数据框保存成CSV或者Excel,后面的回测、分析就能直接用了。如果是取全市场数据,注意分批取,一次取太多容易超时,把股票代码分成每批几百个,循环调用,稳当得多。

第六步 把期货数据也顺手拿下

iFinD不只覆盖股票,期货数据同样能取。取期货行情用THS_HQ,代码换成期货合约代码,比如螺纹钢主力连续、沪深300股指期货当月连续。取期货基本面数据用THS_DS,指标换成持仓量、成交量、基差这些。期货和股票在接口调用逻辑上完全一样,区别只在于你填的代码和指标不同。把股票那套流程跑通,期货数据就是换几个参数的事。

几个容易踩的坑

终端版本太旧会导致接口连不上,定期更新iFinD终端。账号权限不够的话,有些数据函数会直接报错,提前跟你的客户经理确认好接口权限范围。Python包版本和终端版本不匹配也会出问题,装完包之后跑一个最简单的取数测试,能返回数据就说明环境没问题。取历史行情时注意复权方式,iFinD的THS_HQ函数有复权参数,填不对的话价格序列对不上,回测结果会差很远。

整套流程走下来,核心就是终端登录、Python环境、接口登录、选函数填参数、保存数据这五件事。把这几步固定成一个模板脚本,以后换股票代码或者换指标,只改参数就行。股票和期货的数据获取逻辑相通,学会一个,另一个自然就会了。

转载请注明出处:https://www.lianghuajiaoyi.top/wenzhang/tonghuashun-iFinD-1254.html