数据收集技术

做交易如果仅仅依靠成交价数据,很难长期大幅跑赢市场。前面的例子,如果不做深层次的嵌套,获取一个简单的收益系统,收益是非常有限且不稳定的。如何提高收益,往往需要结合更多的市场数据,本文介绍笔者常用的获取网络数据的方法。

1.对于市场公开的API系统,我们需要掌握基本的网络编程能力。著名的curl库是API交互的利器,对于我这样的c++程序员而言,重要性不言而喻。
2.python的爬虫系统。这类资料比较多,不过我用得很少。我一般是用第三种方法。
3.基于浏览器的插件系统。主流的是chrome或者firefox,我一般使用firefox。

编写浏览器插件的最大好处在于,可以完美模拟浏览器的行为,很难被采集对象屏蔽。而且获取数据基本不需要去深入分析什么ajax,框架之类的结构。获取流数据也是杠杠的。具体来说就是利用native message的技术,使得插件可以不断post数据到后台程序,后台程序可以把数据保存到数据库。

由于我一般使用远程服务器完成这些操作,所以我会给服务器安装桌面linux,然后安装vncserver。firefox user版对自定义插件支持不够自动化,因此可以改用developer版,这样每次重启firefox后可以自动完成加载插件,打开网址等一系列操作。需要编写脚本来定时重启vncserver以便释放firefox占用的内存。这些问题解决后就等着数据源源不断的收集到数据库中了。

Leave a Reply