python分析财务报表
2018-03-25 18:17
746 查看
前言
其实这也是老师要求我们分析的一个项目,所以记录下分析的过程。财务大数据作为大数据方向的一个热门方向,如果能学好,对于我们的今后工作是会有很大帮助的,同时目前市场人才需求也是很大的。
实验目的
利用python构建财务报表,并进行一些财务分析。实验过程
利用python爬虫爬取A股数据报表这一步是同学做的,写的还不错,实验步骤参考如下链接:
Requests批量下载巨潮资讯网12-17年A股数据报表
基于python+selenium+Chrome自动化爬取巨潮资讯网A股财务报表
构建A股报表
import os,re,csv,math years=[2017,2016,2015,2014,2013] tot_retain_profits_ratio=[0,0,0,0,0] #----------------------------------------打开文件夹中对应的三张Excel表----------------------------------- path_root = 'F:\\data\\A股报表大全' dirs = os.listdir(path_root) for dir in dirs: path_stock=os.path.join(path_root,dir) path_fzb=os.path.join(path_stock,'fzb') path_llb=os.path.join(path_stock,'llb') path_lrb=os.path.join(path_stock,'lrb') ls=dir.split('_') file_count = 0 for fn in os.listdir(path_fzb): #部分公司上市少于5年,目录下的文件数少于5个,获得具体数量,为以下循环提供数据 file_count = file_count + 1 if file_count<len(years): years_cnt = file_count else: years_cnt=len(years) for i in range(years_cnt): if ls[0].startswith('6'): #沪市A股代码以数字6打头 path_fzb_year=os.path.join(path_fzb,'sh_fzb_'+ls[0]+'_'+str(years[i])+'.csv') path_llb_year=os.path.join(path_llb,'sh_llb_'+ls[0]+'_'+str(years[i])+'.csv') path_lrb_year=os.path.join(path_lrb,'sh_lrb_'+ls[0]+'_'+str(years[i])+'.csv') else: path_fzb_year=os.path.join(path_fzb,'sz_fzb_'+ls[0]+'_'+str(years[i])+'.csv') path_llb_year=os.path.join(path_llb,'sz_llb_'+ls[0]+'_'+str(years[i])+'.csv') path_lrb_year=os.path.join(path_lrb,'sz_lrb_'+ls[0]+'_'+str(years[i])+'.csv') file_llb=csv.reader(open(path_llb_year, 'r')) file_lrb=csv.reader(open(path_lrb_year, 'r')) #----------------------------------------取出想分析的数据列进行分析---------------------------------------------------- for j,row in enumerate(file_lrb): if j==4: tot_revenue=float(row[8])#总营业收入 tot_retain_profits=float(row[33])#归属母公司净利润 if tot_revenue>0: tot_retain_profits_ratio[i]=tot_retain_profits/tot_revenue#净利润率 #print(tot_revenue,tot_retain_profits) elif j==3 and years[i]==2017: tot_revenue=float(row[8]) tot_retain_profits=float(row[33]) if tot_revenue>0: tot_retain_profits_ratio[i]=tot_retain_profits/tot_revenue #print(tot_revenue,tot_retain_profits) else: pass #and math.median(tot_retain_profits_ratio)> 0.15 if math.fsum(tot_retain_profits_ratio)/5 > 0.15 : print(dir,tot_retain_profits_ratio)
这样就可以获取不同公司A股报表数据了,并进行一些财务分析。
最后我构建了3000多家公司的财务分析表,类似财报说(这是一个财务分析有名的网站)网站效果:
这里的0是由于一些报表信息的确实无法计算,所以统一用0代替。计算公式参考财报说的FAQ公式
具体代码被我放到github上:https://github.com/1qweasdzxc/python
财务数据分析
这一块可以进一步分析是否为重资产企业、财务杠杆高低、毛利率高低、周转率(翻桌率)等。
财务知识记录
这些知识都源自于《不懂财报也能轻松选出赚钱绩效股-李明樟》,有兴趣可以看看。三张财务报表必须一起看(资产负债表、损益表、现金流量表),而且最好看最近五年变化情况。
资产=负债+股东权益
财务杠杆越高代表公司状况好,肥水不流外人田。
毛利率:这是不是一门好生意。
营业利润率:这家公司是不是失去赚钱能力。
现金流量:长久发展的基础,越多越好。
经营能力:翻桌率,越高越好。
获利能力:这是不是一门好生意?
负债能力:你欠我的能还吗?
假交易会增加营收,但无法变成现金。
存货周转完整周期=存货在库天数(平均销货日数)+平均收现日数
相关文章推荐
- Python分析A股市场财务报表经验总结
- 会计学原理与财务报表分析
- 财务报表分析公式
- 财务报表开发实例分析:几个通用维度介绍与关键点
- 财务报表分析二三事(2)
- 第四讲财务报表的逻辑架构(财务分析与决策)
- SAP财务报表不平之分析
- KNIME + Python = 数据分析+报表全流程
- 财务报表开发实例分析:几个通用维度介绍与关键点
- 从BUG工具redmine上获取数据后借助python模块pycha 画出BUG分析类报表
- Web报表系统葡萄城报表:财务报表分析
- 投资银行业务财务报表分析
- 一张图看懂财务报表分析
- 财务分析中三张财务报表计算公式
- 第四讲财务报表的逻辑架构续(财务分析与决策)
- Excel VBA高效办公应用-第七章-VBA财务报表分析-Part2 (资产负债表分析)
- SAP财务报表不平之分析
- 当前企业财务报表分析存在的问题
- 对上市公司虚假财务报表的分析
- 如何用java报表工具Style Report 制作财务分析:杜邦分析