在股票市场闯荡了一段时间了,慢慢懂得抓住30分钟线的一些指标来分析对于短线来说非常有效,但是通达信等股票软件不能盘中实时通过分钟线来选股,这样就比较不方便,就产生了自己搞一套数据来盘中选股的想法。
一开始想着能不能盘中通过dll来读通达信的数据,行不通,后来发现抓东方财富的实时数据,每5分钟全部股票扫一遍,再合成15、30分钟线,但是发现也不怎么好使,后来搜索发现pytdx的get_security_bars既可以读通达信的已有日线、5分钟线,又可以在线下载历史日线、5分钟线、30分钟线,但是最多是800周期,屈指算了一下,也用不着那么多周期,所以也不需要去补全拉通达信软件的k线了,最好的是这个就能获取即时的k线数据了,那就30分钟全部股票下一次两个周期的30分钟线,保存在数据库表中,下完后计算30分钟的各种指标,然后就可以进行分析了。
说起计算指标,一开始看资料talib很好,但实际装起来很难,尝试在虚拟机的黑群晖里没装成功,在装成功的机上运行发现有些指标出来的值跟通达信有些出入,后来找到另外一个MyTT的库,这个库使用简单,比较完美的复刻通达信的函数,但是通达信里面一个重要的winner函数依然没能实现。
akshare的tool_trade_date_hist_sina能获取股票日历,可以存在数据库。另外东方财富的数据里面还有股票的财务数据,包括主力成本、综合得分、关注指数等,可以用于后续的分析,也有股票列表可以抓取到。
pytdx拉30分钟线的时候发现实时的时候上午收市的那根线是13:00的,而下载历史数据的时候那根线是11:30的,因此在实盘的时候都把这根线的时间点先改了在保存到数据库,没试过其他周期的分钟线有没有这样的情况。
至此,基本可以把自己搞一套实时的系统连起来了,先抓股票列表,抓市场日历,每天开市市在东方财富拉一次股票数据判定停牌的股票做标记,然后10点后每30分钟用pytdx拉一次30分钟线,并生成30分钟的指标,然后就分析指标,合适的股票进入推荐表,用发送邮件推送或网页查询访问。
整个流程基本写出来了,但是可能是设备是虚拟机且硬件也不好的问题,拉30分钟数据和生成指标都不快,因此想了下能不能每天盘中是找较有行情的一部分股票处理,剩余股票的数据就留到盘后再处理,推送推荐股票除了邮件其实也可以通过wxauto来发微信给好友。另外如果硬件许可的话也可以错开时间下日线及60分钟线并生成相应指标,这样在分析股票时就可以多周期考虑。在分析指标的时候也可以对每个股票套用多个策略判定是否推荐,每个策略内部根据不同条件的指标匹配程度区分推荐等级。
以上是我近期的一些思路和实践体会,暂时只是python拉数据处理数据发邮件这部分搞得差不多了,网页查询还没搞。