专栏名称: 网易百行探秘
实用技能学习平台,帮你发现感兴趣的课程,成为更好的自己。
目录
相关文章推荐
人生研究所  ·  43岁继承500亿,她不会结婚了…… ·  昨天  
学习曾国藩  ·  戒色后的多种巅峰体验,你值得拥有! ·  3 天前  
学习曾国藩  ·  一个人烂泥扶不上墙的10种表现,你有没有? ·  2 天前  
51好读  ›  专栏  ›  网易百行探秘

我爬取了14455个已发行基金,发现了这几个规律......

网易百行探秘  · 公众号  · 学习  · 2021-02-03 20:08

正文

大家好,我 大概花了一周时间写了这篇文章,篇幅较长,读完会花 5-10 分钟。


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

  • 基金是买老基还是新基?
  • 买混基还是股基?
  • 跟谁买能赚钱?
  • 买哪些侧重板块的基?

先大致介绍一下, 本文分为三部分:
  • 4种基金的大致介绍
  • 爬取已发行的 14455 个基金数据
  • 从7个维度进行基金数据分析

鉴于本篇文章的整体基调是围绕基金所做的分析,所以对于基金是什么有必要做一个简单的介绍。

当然,也只是止步于简单的介绍,毕竟对于基金,我也是刚入门的小白。

本篇更多的是在对 近几年发行的基金收益、持仓等数据进行爬取,做一个简单的分析和预测

目前各基金公司披露的持仓数据都是截止 2020年第四季度,在 21 年第二季度初也会披露第一节度的持仓数据。

2021 年初的几个交易日,基金频繁登上热搜榜,新发行的几个基金也是直接在发行当日就售罄,基金发行市场一片火热。

投资固然没错,但是跟风的背后自己会不会成为一棵嫩韭菜,文中你可能会找到部分答案。

ok,直接开始,go!

01

基金介绍


只想看分析的同学可以 直接滑到第三小节
只想看结论和源代码的同学,可以直接滑到文末哦~

先来说说基金是什么?

对于基金,我涉猎不广,大多是自己做的功课,不过也足够了。

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

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

货币型基金

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

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

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

债券型基金

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

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

混合型基金


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

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

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

股票型基金


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

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

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

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

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

02

基金数据爬取


爬虫部分的核心代码比较简单,今天主要说一下流程就行。

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


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

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(01))
        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(24))

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


03

基金数据分析


对于五种类型的基金数据,下面主要对 股票型基金 和 混合型基金 做对比分析
首先,股票型基金共 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 日的资金资产规模。

一起看图:







请到「今天看啥」查看全文