【python量化】批量从pdf中提取基金年报观点

发布于 2021-04-17 02:08 ,所属分类:知识学习综合资讯

上篇,我们已经爬下来了所有的基金年报。这篇我们来说明怎么通过python批量获取全部基金经理的观点,用到的数据就是所有的基金年报,还没爬或者还不知道怎么爬的可以看看上一篇。

我这里只把所有的混合型和股票型基金的年报爬下来了,不嫌慢的话,也可以考虑把其他债券、货币、ETF等等类型的都搞下来。

# 保留股票型和混合型
allpdf['ifstock'] = allpdf.announcementTitle.map(lambdax:'股票型'inx or'混合型'inx)
allpdf1 = allpdf.loc[allpdf.ifstock].reset_index(drop = True)
getFundReportpdf(allpdf1,fpath)

爬下来大概需要一小时吧,1425份,还是挺快的。


先说下我们要干啥,免得有的童鞋云里雾里。

基金年报里有一大章是管理人报告,我们主要针对里面的两小节:管理人对报告期内基金的投资策略和业绩表现的说明、管理人对宏观经济、证券市场及走势的简要展望。

这两节里,前一节基金经理会对过去这一整年的投资逻辑和业绩情况给一个说明,分析赚钱或者赔钱的原因。后一节里投资者会对未来的市场做一个展望。有的基金经理很懒,每年都是复制粘贴上一年的话不变,有的很勤奋,洋洋洒洒写个一两页。总之关注这两节,有助于我们快速了解基金经理的投资逻辑,对基金风格有一个整体的了解。随便贴一个基金的样例。


这次我们做的事情就是把前面爬的1425份报告所有的这两小节都提出来到excel里,方便查看,毕竟只看一两份可能有偏,看得多了才能慢慢有一些自己的体会。

截止目前所有公募基金的年报都已经公布完了,感兴趣可以自己把全部的都爬下来,我这个是前两天爬的,肯定是不全的。最后整理出来到EXCEL里大概是下面这个样子,总共3列,第一列是基金名称,后面两列见下,需要EXCEL和python代码的可以在后台回复“年报观点”获取。1425份年报观点都已经整理到位。




下面来说怎么获取,简单来说,就是先读到python里,然后根据标题去切割,只保留对应部分的内容。基金年报最好的一点就是每一节标题都是一模一样一字不差的标准格式。也就不需要正则表达式之类的复杂操作。


我们需要的是4.4节管理人对报告期内基金的投资策略和业绩表现的说明下面的内容,以及4.6管理人内部有关本基金的监察稽核工作情况上面的内容。所以些代码的时候就直接判断获取到的文字里是不是包含这两部分就可以了,不包含的都踢掉。

唯一需要处理下的就是,目录里有这两段,后面正文里也有这两段,因此第一次出现的时候不要做任何处理,第二次出现的时候再操作。

用python读pdf,因为基金年报都是文本没有图片,直接用pdfplumber就可以了。这部分代码如下

res= []
forfname in tqdm(allf):

with pdfplumber.open(fpath + fname) aspdf:
page_count = len(pdf.pages)
alltext = ''
n = 0
forpage in pdf.pages:

texts = page.extract_text()
if'管理人对报告期内基金的投资策略和业绩表现的说明'in texts:
n += 1
ifn==2:
alltext += texts
if'管理人内部有关本基金的监察稽核工作情况'in texts:
res.append([fname,alltext])
break

res= pd.DataFrame(res,columns =['fname','text'])

这部分因为要解析pdf,比较慢,用了两小时。


这部分搞完之后就已经是比较清晰的文本了。

text里是两部分文本合在一起,用函数分开就可以了。另外text里有一些特殊字符,空格之类的,一起删掉。
def getstrategy(x):
res= re.split('管理人对报告期内基金的投资策略和业绩表现的说明|管理人对宏观经济、证券市场及行业走势的简要展望|管理人内部有关本基金的监察稽核工作情况',x)
returnres[1]

def getmacrodes(x):
res= re.split('管理人对报告期内基金的投资策略和业绩表现的说明|管理人对宏观经济、证券市场及行业走势的简要展望|管理人内部有关本基金的监察稽核工作情况',x)
returnres[-2]

res['text'] = res.text.map(lambda x:re.sub('[\n ]','',x))

res['管理人对报告期内基金的投资策略和业绩表现的说明'] = res.text.map(getstrategy)
res['管理人对宏观经济、证券市场及行业走势的简要展望'] = res.text.map(getmacrodes)
res= res.drop(['text'],axis = 1)

这部分处理完就是我们上面看到的样子了。

直接存excel就完事。


最后,挑一些展望未来的观点分享一下吧,需要全部观点excel的后台回复“年报观点”获取。

- 展望2021年,疫情依然是影响经济发展状况以及货币或财政政策的一个重要因素。先看国内,2020年底开始国内疫情再次反复,但由于我们应对疫情的手段和方法越来越科学有效,整体看疫情将会有效地控制在局部范围内,并且是阶段性的。对国内经济影响预期主要集中在一季度,随着海内外疫苗使用率提升后续疫情对经济的影响将会逐步降低。以目前情况看,2021年影响资本市场的主要矛盾是经济恢复与流动性之间的矛盾。如果疫情影响降低,海内外经济尤其是海外经济复苏势头将会明显提升,通胀将会是一个潜在不利因素,为了应对疫情国内外都释放了大量的流动性将会面临收紧,市场利率将会面临提升,这必将对资本市场产生影响。对于国内来说,国内经济2020年下半年开始已经逐步恢复到较好水平,只有一些跟疫情强相关行业还处于低迷之中,比如航空、影视、旅游尤其是涉外旅游等行业依然较为困难。展望2021年,由于基数效应,2021年上半年虽有疫情反复因素影响,但经济增长依然会十分亮眼。从流动性角度看,2020年下半年已经开始边际收紧,只是年底前为了应对信用债问题而再次宽松。今年1月中下旬再次有收紧现象,预计2021年全年国内流动性方面还是会逐步呈现收紧状态,但收紧幅度不会太剧烈。对于海外来说,由于疫情依然处于较为严重阶段,预计流动性收紧将会在疫情明显缓解后出现,如果疫苗推广顺利可能会在年中左右看到收紧信号,预计届时对资本市场来说将会产生一定的影响。对于A股市场来说,2020年国内A股市表现出色,但分化及其严重,表现出色主要是成长龙头股,很多价值龙头以及中小股票表现较差。2021年由于国内经济依然处于较好的发展环境当中,有利于企业盈利的提升。但同时预计流动性环境较2020年会边际收紧,对部分估值较高板块会有不利的影响,尤其是业绩增速预期较为充分的行业和个股,而对于业绩预期较低依然有较好增速的价值板块相对更为有利。2021年我们对A股市场整体还是谨慎乐观,相对来说更看好具有估值优势以及一定盈利增长的行业和个股的投资机会,比如银行、非银和地产以及其他顺周期板块,同时一些具有明显估值优势的中盘价值股也值得去深度挖掘。长期看,我们还可以继续关注科技和消费领域的投资机会。本基金计划在2021年继续采取偏乐观仓位策略,密切关注市场风格的变化,紧跟经济形势、政策动向及流动性走势,采取灵活应对措施,在契约规定的范围内进一步优化持仓结构,挖掘优质个股以争取获取好的业绩。

- 展望2021年,政策宽松已见拐点,核心关注EPS上行幅度对PE下行的弥补程度。政策方面,2019年年初持续宽松,叠加2020疫情冲击再度宽松,随着经济持续复苏,国内乃至全球疫情走向可控,宽松拐点已然出现,核心在于宽松的幅度如何演绎。流动性方面,供给端推动宽货币逐布走向需求端拉动信用扩增,无风险利率及风险利率均呈上行态势,叠加经济景气推动PPI向CPI的传导已现端倪,流动性存在成为2021年风险因素的可能。经济形势方面,经历2018年的风险释放、2019-2020年的宽货币支持,2020Q2数据已经呈现企稳回升迹象,同时PPI见底回升趋势也较明显,整体推动企业盈利持续上行,同时有望弥补部分PE下行压力。海外市场方面,随着疫苗推广和新的管控措施,疫情逐步走向宽松,流动性释放的进度及幅度有望逐步回归正常化,经济复苏存在超预期的可能,不过节奏滞后国内半年左右。综上来看,2021年市场将进入货币逐步收紧、企业盈利持续提升的中后阶段,PE持续提升的难度加大、但业绩有望逐步兑现,整体投资主线将由PE主导转为EPS主导,基本面选手将重获优势。本基金计划在2021年将采取谨慎乐观的操作思路,维持中性略高仓位,持续重视结构调整,并在契约规定的范围内持续挖掘业绩兑现度高、估值匹配度不错的成长股。

- 展望2021年,国内经济将呈现出企业主动补库存、盈利扩张,中性温和再通胀叠加信用环境收紧的格局;海外由于疫苗接种加速展开,将逐渐呈现疫后修复爬坡叠加全球通胀上行的格局。但由于疫情反复,经济复苏仍显脆弱,国内外政府对宽松的货币政策退出都将持缓慢渐进(“不急转弯”)的策略,因此对风险资产总体而言,仍不失为相对有利的环境,只需关注生产资料价格再通胀之下,对上中下游行业利润分配格局的影响,从而带来不同板块股价表现的分化。当然,相对于去年市场整体,特别是行业龙头享受估值快速扩张的阶段而言,择时和选股的重要性对投资第13页共58页华富量子生命力混合2020年年度报告策略的要求更高。2021年我们将依然遵循量化选股的基本投资方法基础上,适当增加行业及风格的主动选择配置的因素,加强了对个股的研究,以规避市场不利状况下的波动风险,不断优化我们的投资组合,为投资者提供更稳健增长的收益。我们更看中的是资产的回报率,业绩成长性和确定性必然是最重要的筛选条件。从行业配置角度来看,前期重点配置的金融、电子、机械、氢能源产业链等板块依然是我们未来配置的主要方向。金融板块尽管受短期政策扰动影响股价出现一定波动,但不改变之前的大逻辑,同时在全球再通胀预期下有利于利率水平上行,利好金融企业,因此,我们会继续维持此前的配置比例。从电子子板块来看,随着海外疫苗接种展开,消费电子此前的悲观需求预期料有所修复;半导体芯片等相对高估值水平有所调整,则增加了对投资者的配置吸引力。另外,随着全球疫苗接种加速展开,经济复苏进程可能超市场预期,乐观估计在3月底趋势就会比较明朗,因此,顺周期板块,例如化工、有色、家居建材、机械等行业的中龙头企业具有阶段性的投资机会,也可以予以关注。


相关资源