原来数据爬虫这么简单!|量化入门宝典

在整个量化研究过程中,除了需要量化研究员具备编程和金融素养之外,还有一个十分重要,且不可或缺的部分——数据。

数据是一切分析的开端,本文将通过研报复现的方式,带着大家学习如何通过Python爬虫获取数据(内含代码)。

市值因子择时

在本文的最开始,将先简单阐明文章中所涉及到的研报内容。

文章中所用到的研报来自中信建投证券研究发展部发布的《因子深度研究系列:市值因子择时》。研报中主要针对小市值选股策略进行了优化,其优化思路主要是根据不同的因子,对市值进行风格判断,找出适合何时适合小市值选股,何时适合大市值选股,以此进行风格轮动,避免单一的小市值选股在某些时段的巨大回撤。

优化思路

文中的市值因子择时策略主要如下:

:本文将聚集因子的获取及构造过程,优化回测过程将于后续文章中讲解。

网络爬虫

数据的分析永远是从数据开始,根据优化思路,我们需首先确定所需数据,包括:

房地产开发投资完成额、CPI、PPI、沪深300、中证500、A股市场所有股票日线数据。

在1月上线的新课程《Python量化专题:金融数据、择时及选股策略》中为大家讲解了股票及指数数据的爬虫方法,因此,本文将以宏观数据为例,为大家简单讲解爬虫。

何为网络爬虫

网络爬虫,指自动提取网页内容的程序。从功能上去理解,就是能够通过编写爬虫脚本,获取网页上我们所浏览的内容。

因此,当我们决定通过网络爬虫的方法获取数据时,就和我们平时找数据的过程一样:先知道在哪能看到数据,编写爬虫脚本,利用程序下载数据。

那么,在哪能找到我们所需的宏观经济数据呢?

找啊找啊找数据

本次策略过程中所用到的数据均可在东方财富网的**「数据中心」**中找到:

(具体数据来源可扫对应二维码查看)

  • 房地产开发投资完成额

  • CPI

  • PPI

找到数据后,我们就可以进入到后续写代码等环节了~

才!怪!

你以为我们找数据的任务就结束了吗?

在正式进入写代码环节前,进行一步“抓包”,也就是找到真正存储数据的url(如图所示)

那么,如何找到这个神秘的url呢?

这里就需要用到Chrome浏览器的**「开发者工具」**这一爬虫神器 ,具体操作如下(以房地产开发投资完成额为例):

Step 1. 在当前网页

(http://data.eastmoney.com/cjsj/hyzs_list_EMI00120219.html)

下点击快捷键【F12】,打开开发者工具的network;

Step 2. 进行“抓包”。选中【JS】后,点击网页中不同页数,找到出现的js文件,观察其Preview内容是否与目标内容符合;

Step 3. 找到存储数据的js文件后,观察Headers内容,找到Request URL,解析其中参数。

通过以上3步,我们便顺利找到了真正存储数据的网址,其实我们的爬虫大业已经完成了一大半,对其简单解析后将结果整理成代码:

10行代码搞定爬虫

接下来只需借助Requests模块,用2行代码(第6、7行)即可获取网页内容。

df返回值(部分)

如果需要获取更多的数据,将参数ps设置为甚至更高的数字去获取所有历史数据;或构造for循环去遍历不同页数(参数p)数据,以此获取所有数据。

本文中,小编采用的是第一种方法。

就这样,小编一共用了不到10行Python代码,就搞定了所需历史数据的网络爬虫。

爬虫复盘

在上述爬虫讲解过程中,我们不难发现,其实网络爬虫的一大部分工作都是在寻找「存储数据的网址」(即抓包),而其中需要代码实现的部分却并不复杂。只要掌握了抓包技巧,网络爬虫将会成为一件十分轻松的事情。

当然了,这并非代表爬虫就是一项简单的工作,在遇到较为复杂的网页,如微博、知乎等反爬较强、网页结构较为复杂、框架时常发生变动的网页,则需要其他技巧去解决网络爬虫任务。

但是,对于大部分网页来说,我们所面临的爬虫问题其实与本文中提及的案例并无太大区别,而本文也希望通过这一十分具有代表性的经典案例,为大家揭开爬虫的神秘面纱。

最后:

Python学习资料

如果你想学习Python帮助你实现自动化办公,或者准备学习Python或者正在学习,下面这些你应该能用得上,有需要可以领取。

① Python所有方向的学习路线图,清楚各个方向要学什么东西
② 100多节Python课程视频,涵盖必备基础、爬虫和数据分析
③ 100多个Python实战案例,学习不再是只会理论
④ 华为出品独家Python漫画教程,手机也能学习
⑤历年互联网企业Python面试真题,复习时非常方便

文末有领取方式哦

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

在这里插入图片描述

二、Python课程视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

在这里插入图片描述

三、Python实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述 四、Python漫画教程

用通俗易懂的漫画,来教你学习Python,让你更容易记住,并且不会枯燥乏味。

在这里插入图片描述
在这里插入图片描述

五、互联网企业面试真题

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述
这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要也可以扫描下方csdn官方二维码或者点击主页和文章下方的微信卡片获取领取方式,【保证100%免费】

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值