利用Python分析股票(一):数据采集与环境准备

数据采集

1. 通过公开的数据接口抓取信息,自己造爬虫轮子

这些接口并不会经常变化,并且官方似乎也没想过通过Token等手段禁止爬虫。但是实际上使用起来比较困难。
记得以前有新浪大佬讲:”加个token认证更费cpu,实际爬虫的影响不到1/1000。“

2. 包装好的开源库

三者的开源版本都是通过requests、pandas、numpy等库,对腾讯、新浪、东财接口的再封装,使用便捷。
其中Tushare包含收费版本。

免费的缺点就是缺乏实时数据、数据有反爬虫的频次限制、没有历史财务指标数据。

3. 一些小厂的实时数据

  • 好灵数据
    网址:h0.cn

类似的可能还有很多,但是我没用过,这些数据大多需要通过自写爬虫,配合api-key使用。

优点:收费较低。
缺点:稳定性较差,没有成熟的封装好的苦。

4. 大厂数据

  • 万得资讯
  • 同花顺
  • 等等….

优点:往往包含历史财务数据,实时数据到L2级别,同时都有完善的接口,适配java/python等。
缺点:贵

PS. 如果在金融企业,已购买万得的情况下,可以联系客户经理,申请试用账号用于研发。

环境准备

  • 64位的OS和Python
    64位并不是强制要求,但是强烈推荐,因为部分第三方库缺少32位的预编译版本。比如py-mini-racer

  • Anaconda
    Anaconda是一个用于科学计算的Python发行版,对于不数据python第三方库的安装和编译的同学,这是最简单的选择。

    • 使用清华Anaconda源是改善国内anaconda使用速度的方法。
    • 对于Python老手,不使用anaconda也是个好主意。因为conda和pip还是会产生一些冲突。导致conda update失败。
  • conda-forge
    conda-forge是anaconda的社区版本,anaconda存在一些商业授权问题,conda-forge则规避了这些问题。适合商业环境下使用,并且conda-forge的库更丰富。
    安装conda-forge的好办法是使用MiniForge,并修改.condarc文件如下使用清华源。

1
2
channels: [https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/]
show_channel_urls: true
  • 安装必要的第三方库
    不管使用原版Python,还是Anaconda,或conda-forge,都需要这些库:

    • ipython
    • jupyter
    • notebook
    • matplotlib
    • numpy
    • Pillow
    • mplfinance

    另外还需要:

    • 自己习惯的数据库访问库,或者把数据都保存成csv
    • 自己习惯的orm

    如果喜欢使用Django,那么还需要:

    • django-extensions
    • django-pandas