Python爬取万只基金,发现了这些秘密

读完本篇文章,你可能会收获以下几点:

  • 基金是买老基还是新基

  • 买混基还是股基?

  • 跟谁买能赚钱?

  • 买哪些侧重板块的基?

先大致介绍一下,本文分为三部分:

  • ① 4 种基金的大致介绍

  • ② 爬取已发行的 14455 个基金数据

  • ③ 从 7 个维度进行基金数据分析

1. 基金介绍

只想看分析的同学可以 直接滑到第三小节

只想看结论的同学可以 直接滑到文末

首先,对于基金,大致可以分为:货币型基金、债券型基金、混合型基金、股票型基金等等

主要说一下这几个各自是什么,后面我们针对性的用数据去分析。

货币型基金

只投资于货币市场,例如像银行存款,国家或者企业发行的短期债券等,因为波动性较小、风险较低,所以可以等同于储蓄产品一样。

类似的像余额宝就是货币型基金,评价这种货币型基金主要看:七日年化收益率和万份收益。

这个比较容易理解,风险也很低,个人要选择货币型基金就直接余额宝完事,T+0,简简单单。


债券型基金

相比货币型基金,债券型基金投资的债券期限比较长,除了债券,也可以投资股票。

债券基金相对于货币基金有一定的风险,但从长期来看,收益也会更高点。


混合型基金

相比债券型基金,混合型基金除了债券,还可以投资不同风格的股票。

混合型基金根据股票和债券的占比,又细分为 偏股型基金 和配置型基金等等。

相比前两者,混合型基金实现投资的多元化,无需去分别购买风格不同的股票型基金、债券型基金和货币基金。


股票型基金

股票型基金是指投资于股票市场的基金,其中股票仓位不能低于80%。

股票型基金可以细分为主动型和被动型(指数型基金)等,相比主动型,指数型会更稳健些,紧跟大盘指数波动

相比前三者,股票基金属于 高风险高收益类 的基金。


真要细说基金的区别,几千字可能都写不完,后面有空再说吧

下面来看今天的核心:爬虫+分析


2. 基金数据爬取

爬虫部分的核心代码比较简单,比起上次的租房数据爬取简单了x倍,今天主要 说一下流程就行

基金数据的爬取选择了天天基金网,首页长这样的:

可以看到,对于基金类型:偏股、股票、混合、债券和指数都分的一清二楚,采集字段的时候将每个基金所有的收益率情况拿下来。

ok,那就直接用官网定的标签去爬,采集上图圈出的数据字段。

第二步就是每个基金的详细持仓情况,看图:

主要包括基金的成立时间、规模、基金经理以及每个季度的详细持仓情况。


爬虫大致思路
  1. 爬取每个基金标签下的所有基金以及收益率情况

  2. 根据基金代码爬取每个基金得到详细指标

  3. 根据基金代码爬取每个基金的季度持仓情况

需要说明一下,第 2 步和第 3 步的数据不在一个页面下,第 2 步的数据通过页面解析可以拿到,第 3 步的数据是动态加载后呈现在页面上的,可以通过接口拿到数据。

限于篇幅,主要代码如下:

# 爬取每个基金的数据
rank_detail_data = []
position_data = []
error_funds_list = []
for row_index, data_row in data_rank.iterrows():
    fund_code = str(data_row['基金代码'])
    try:
        '''爬取页面,获得该基金的详细数据'''
        position_title_url = "http://fundf10.eastmoney.com/ccmx_" + str(fund_code[1:]) + ".html"
        print('正在爬取第 {0}/{1} 个基金 {2} 的详细数据中...'.format(row_index+1, len(data_rank), fund_code[1:]))
        response_title = requests.get(url=position_title_url, headers={'User-Agent': get_ua()}, timeout=10)
        # 解析基金的详细数据
        rank_detail_info = resolve_rank_detail_info(fund_code[1:], response_title)

        """爬取页面,获取该基金的持仓数据"""
        position_data_url = "http://fundf10.eastmoney.com/FundArchivesDatas.aspx?type=jjcc&code=" + \
        str(fund_code[1:]) + "&topline=10&year=&month=&rt=" + str(random.uniform(0, 1))
        print('正在爬取第 {0}/{1} 个基金 {2} 的持仓情况中...'.format(row_index + 1, len(data_rank), fund_code[1:]))
        # 解析基金的持仓情况
        response_data = requests.get(url=position_data_url, headers={'User-Agent': get_ua()}, timeout=10)
        fund_positions_data = resolve_position_info(fund_code[1:], response_data.text)

        # 保存数据
        rank_detail_data.append(rank_detail_info)
        position_data.extend(fund_position_data for fund_position_data in fund_positions_data)
 except:
  error_funds_list.append(fund_code)
        print("{0} 数据爬取失败,稍后会进行重试,请注意!".format(str(fund_code[1:])))
 # 随机休眠2-4 秒
 time.sleep(random.randint(2, 4))

爬取完成后,数据是这样的:

3. 基金数据分析

对于五种类型的基金数据,下面主要对 股票型基金混合型基金 做对比分析

首先,股票型基金共 1459 个,混合型基金共 4208

后面分析和排序的依据均是针对 近一年收益率 这个指标进行的,大家注意下

1. 收益率分布

1459 个股票型基金中 1160 个近一年收益率不为空;4208 个混合型基金中 3060 个近一年收益率不为空,针对其进行分析:

股票型基金近一年 收益率>0 的有 1119 个,占比 96.5%;整体近一年平均收益率为 47.8%

混合型基金近一年 收益率>0 的有 3047 个,占比 99.6%;整体近一年平均收益率为 48.9%

如下图:

再来看下整体的收益率分布情况:

股票型基金的收益率主要分布在 20%-70% 之间,30%-60% 的居多

混合型基金的收益率主要分布在 10%-80% 之间,除 10%-20% 之外,其他主要区间分布较均匀


小结:

混合型基金的收益率较稳定,99.6% 的基金近一年都是盈利的,且整体平均收益率为 48.9%


2. 资产规模分布

对于资产规模:大资产的基金在收益稳定的同时也会出现船大难掉头的情况,小规模的资金收益波动会较大,但也可以及时规避风险

因为基金较多,本节只选取近一年收益率的 Top300 的基金分析其资产规模。

另外,资产规模均是截止到 2020-12-31 日的资金资产规模。

一起看图:

股票型基金的资产规模集中在 0.1亿元-15亿元 区间,其中,大于100亿元 的基金有 7个,占比为 2.3%

混合型基金的资产规模集中在 0.02亿元-17亿元 区间,其中,大于100亿元 的基金也有 7个

小结:

不论是股票型还是混合型,10 亿元以下规模的基金占比 55%以上,占比较高


3. 干货!收益率前10!

基本面看完了,下面来点干货

股票型基金近一年收益率的最高是 180.3%Top10 的平均收益是 142.3%

混合型基金近一年收益率的最高是 157.3%Top10 的平均收益是 144.9%

可以看到,前10 收益率的基金差距比较明显,其中股票型基金差距达到 57.8%

从图中看,混合型基金的近一年收益率与资产规模有关,排名前5 的似乎是个不错的选择

供参考:


4. 买老基 or 买新基?

买老基金好还是新基金好?

想必这个问题对于大家的帮助更大,这一步小一筛选了收益率较高的 前50名 基金进行分析,毕竟抄作业也要抄好学生的作业

绘制其上市时间的分布散点图,如下:

可以发现,近一年收益率较高的前 50 个股票型基金上市时间集中在 2014-2019 年,对应的混合型则集中在 2015-2019年

没有想到的是,2020 年整体收益率前 50 的基金中 上市时间在 2019 年的 只有 3 个

也就是从数据上可以发现:新成立的基金收益率普遍跑不过老基金

这是不是意味着 21年初买入新基金的都是.....

不乱说话,还是继续分析数据吧


5. 干货!基金经理选谁?

对于基金经理的数据我有找过相关资料,明星经理似乎不太能对得上本节的结论

但是从数据来看,又没有问题,所以还是辩证的去看比较合适

买基金要看对基金经理,所以这一步是分析基金经理

同样的,我们取收益率较高的 前50名 基金进行分析,根据基金经理 持有基金的平均收益率 为标准,选取排名 前15 的经理,如下图:

股票型基金经理的平均收益集中在 110%-120% 之间,而混合型基金经理的平均收益集中在 120%-130% 之间

像混合型基金经理 罗世峰、赵诣 平均收益率可以达到 150%+,遥遥领先其他基金经理,妥妥的基金一哥


小结:

基金经理的分化也比较严重,但找对人保持年收益率在 120% 以上 也不是很困难的事情

另外,对于近期大家追捧的基金经理张坤,可能是今天分析的类型不符合?或者数据缺失?

又或者盲目跟风?


6. 干货!重仓哪些?

再来说一个大家更感兴趣的内容:基金持仓情况

每一个基金的前 10 大持仓股都可以作为该基金的代表,这个毋庸置疑,所以在爬虫部分我们也就直接爬了前十大持仓数据。

ok,在上一节的范围上我们继续缩减,取近一年收益率排名 前30 的股票型基金和混合型基金

每个基金都有前 10 大持仓股,所以对应的就有 300  个持仓股代表,筛选 持仓股累计占比排名前 30 个 持仓股作为重点观察对象,如图:

需要说明的是,加粗表示同时出现在股票型基金和混合型基金中。

可以看到,前 15 持仓股基本两边都有持有,且占比很高,主要涉及方向:喝酒+吃药+开车


小结:

个人觉得这份清单相当有分量,2020 年下半年的行情主要就是 白酒饮料板块、新能源板块和医疗板块

现在说这些确实有些马后炮,2021 年究竟怎么样谁也说不准,下次持仓数据更新应该是在1季度末,到时小一会继续跟踪分析

大胆预测一下:2021 的行情是新能源板块的细分领域


7. 抄作业!明星经理的持仓

最后,我们继续抄作业,抄优等生的优秀作业

上面分析了明星基金经理,也分析了收益率较高基金的持仓情况,下面结合这两者来一个综合

选择股票型明星基金经理 5 人,分别是:李游、孙迪、何肖颉、卢纯青和王伟

选择混合型明星基金经理 5 人,分别是:赵诣、罗世锋、何肖颉、刘彬和曲扬

对应的选择他们管理的基金,过滤近一年收益率在 120% 以下的,如下图:

其中:标红的表示收益率 低于 120%,对应的基金 不属于我们要抄的最优秀作业

选取 7 个股票型基金和 14 个混合型基金进行再次分析:

看到这幅图,不知道你有没有一些感触?

股票型基金的明星经理在 2020 年末已经 不再继续看好 白酒饮料和医药,比较关注 新能源+科技

而混合型基金的明星经理 则是 一如既往的稳健,依旧是 白酒饮料+医药+新能源


小结:

稳健点的,可以继续选择混合型基金,继续:喝酒+吃药+新能源

激进点的,可以主要关注:新能源细分,次要关注:科技

防守的:白酒+医药


本文总结

首先说明,对于基金经理了解不深,所以第 5 小节大家用辩证的眼光去看,除此之外,其他小节的观点也仅为个人的观点

至于到底 2021 年行情怎么样,大家都是在猜,我也只不过是用 2020 年的数据在猜,仅此而已。

1 月份确实有很多同事、朋友在讨论基金,也有跑步进场的人,究竟是 买老基还是新基?买混基还是股基?跟谁买? 等等问题,希望看完本文能够对你有所帮助

财经大佬有一句名言:以上观点仅供交流讨论,不构成任何投资建议,这里同样适用。

-----------------
长按识别下方二维码,并关注公众号

1.回复“PY”领取1GB Python数据分析资料

2.回复“BG”领取3GB 名企数据分析报告
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值