金融小白两周完成一个量化系统 (二)项目进度以及数据获取
前言
这几天边写代码边思考,初期的想法现在有了点变化。上一篇提高,功能上分四个模块,现在我还需要再加一个方便个人查看股票实时动态的窗口。比如分时趋势图,实时行情,成交明细等
不得不吐槽下,vnpy 的K线图十分简易,也有点难看。这几天在K线图上花了不少时间去做美化,甚至花了一个大晚上,只为了实现在K线图显示的文字可以用不同的颜色,最后还是改不了。
项目进度
1 行情模块基本上开发完成, 简易版的K线图也已经画上了,但还需要更全面的版本。
大盘指数,行业板块,区域板块,概念板块,股票行情,快速上涨行情均已完成,也可以查看日K线图,和保存股票的相关基础信息,
2 股池分析模块 已经实现历史数据日K线存储。和分时趋势,tick,成交明细数据的监听。关于数据存储,现在只考虑存储日K线数据。每分钟线数据,数据量太大,硬盘吃不消暂不考虑。
当前的设计,都是参考同花顺,通信达等知名软件去写的。觉得有用就挂上去,相当于把东方财富网的网页版,拿下来修改下,变成PC版的。
关于获取数据接口
我找了很久,网上有很多开源的接口,都是要积分,收费,限时,限次数等等,我还未看到过有免费自由可用的数据接口。所以选择网页版的数据, 还是很好取的,不会太难找,主要是需要对取回来的数据,要与网页上显示的对照,做好格式化等等。烦琐一点。
需要注意一点的就是,request headers 请求头,尽量不要用,不要修改。
分时趋势图,实时行情,成交明细等数据用的是SSE。服务端主动推送的,十分便利。
本篇也只是大概唠叨下,没涉及什么技术上的东西。可能会让人有点失望。本来是想展开写的,但有想到毕竟是别人的网站。说得太明显就不好了。
行情模块上显示的数据,我是主动请求,再刷新页面的,大概是五秒刷一次,考虑到要请求的数据太多,太频繁,对系统性能有影响, 我这边是通过 tab visible 去判断的,只获取和刷新当前tab visible 为Ture的数据。这样可以大大降低请求频率。后续会把主动请求的多线程管理起来,只运行当前界面的线程。
未来几天的主要工作任务,还是在K线图上,窗口显示和整合vnpy框架上。还有策略编写和回测,交易盘处理等等, 两周时间似乎有点勉强。