股票分析及利用tushare查看股票部分数据
观前提示:本文面向和我一样不懂炒股的投资小白
本文涉及:
-
利用python调用tushare最基础的少量操作(查看股价及可类推的基本数据、将多支股票数据放到一个DataFrame并作图)
-
可能存在逻辑错误、涉及权益投资基本知识的股价分析
-
来源于财经网站的股价截图以及参考了其他一些优秀作者的观点(文中有水印或标注)
-
不构成任何购买建议的理论分析(虽然写完当天就15块买了杭州银行的股票)
本文写于2021年的一月份
初学Python,然后事实上这篇文章是根据学校布置的作业改编的,发表这篇文章一方面是可以在tushare社区赚取积分啦,另外期末辛苦写的东西虽然很幼稚但比起烂在电脑里还是想着发出来吧。
如果你也在纠结于有关股票分析的期末作业,或者对股票分析感兴趣,想看看我调用的tushare代码,那么这篇文章或许能有一点点帮助。另外这也是第一次把自己写的东西发布出来,那么文中的代码随意参考,关于文章中的逻辑错误或者是代码问题欢迎在评论区指正~
正文部分(作图的Python代码在下方贴出)
公司简介
杭州银行成立于1996年9月,总部位于杭州。目前,全行拥有200余家分支机构,网点覆盖长三角、珠三角、环渤海湾等发达经济圈。此外还发起设立了杭银消费金融股份有限公司,全资设立了杭银理财有限责任公司,并投资入股了石嘴山银行。2016年10月27日,首次公开发行A股在上海证券交易所成功上市,股票代码600926。
历史走势
#用tushare获取股价并直接调用pandas自带的图片生成画图
import tushare as ts#393575
import pandas as pd
pro=ts.pro_api()
df=pro.daily(ts_code='600926.SH')
df.index=pd.to_datetime(df.trade_date)
df.close.plot(title='600926.SH')
#有关tushare的调用语法可以在tushare官网中找到
股价分析
首先根据传统的股利贴现模型对股票走势进行分析,根据股利贴现模型,一家公司的股票价格等于其未来所有返还给股东的现金流的贴现值。因为股东可以得到的回报等于公司的盈利减去各种成本,那么公司经营的情况及融资结构会对股东的潜在收益产生巨大影响,从而影响投资者对于该股票的需求,进而影响股票的价格。
所以,从公司的经营情况和融资结构两方面进行分析。
首先考察经营情况。
一个简单的方法来看公司的盈利程度就是用收入减支出。考虑到营业外收入与支出的不可持续性导致投资者对股票未来盈利能力的预期判断与其关系不大,所以将其刨除。那么可以考察一下杭州银行每年的营业收入减去营业支出的变化对于股票价格的影响。鉴于公司财务数据随财报的发布定期披露更新,假设市场不是强势有效市场,则实时的财务数据属于内幕信息,对股价的影响可忽略不计,所以主要看财务数据在该期财报发布日及以后与股价的关系。
import tushare as ts
import pandas as pd
pro=ts.pro_api()
df=pro.income(ts_code='600926.SH')
df.index=pd.to_datetime(df.ann_date)
pic=df.operate_profit.plot(title='600926.SH')
fig=pic.get_figure()
fig.savefig('fig.png')
#如果想要放大的话可以在第四行加入时间
从tushare导入该股票的财务数据用Python作图得,可以发现财报反应公司的主营业务盈利能力在2016年上市之前有一个十分明显的上升阶段。在上市之后其波动较以前变大,主营业务盈利从最低的1.5亿到最高的7.3亿。
将股票上市(2016.10.27)后的部分放大与股票数据进行对比。
从左图来看,杭州银行的盈利能力具有季节性波动的特点,但整体呈上升趋势。反观股价趋势并没有与左图有十分密切的联系。
显然,这样单看杭州银行一只股票没有多大意义。所以,再选取同类型的城商行进行对比。由于杭州银行主营业务主要在浙江地区,所以也选取同地区的在沪市上市的南京银行(601009.SH)和上海银行(601229.SH)进行对比。
#将三家银行的数据进行对比
x=pd.DataFrame()
a={'HZYH':'600926.SH','NJYH':'601009.SH','SZYH':'601838.SH'}
for code,number in a.items():#循环将各支股票数据导入df
df=pro.income(ts_code=number,fields='operate_profit,ann_date')
x.insert(column='op',value=df['operate_profit'],loc=len(x.columns))
x.rename(columns={'op':code},inplace=True)
x['date']=df['ann_date']#导入时间序列
x.index=pd.to_datetime(x['date'])#转换格式后将时间序列设成索引
pic=x.plot(title='industry comparation by operate income')#作图
fig=pic.get_figure()
fig.savefig('fig5.png')
可以看出这三家银行的大致走势基本保持一致,在近两年有所上升且波动较大。前期也基本都有较稳定的上升,上海银行和南京银行的波动相较于杭州银行来说大了许多,但它们的主营业务盈利特别是上海银行相比之下也在大部分时间内显著高于杭州银行。而杭州银行的主营业务的盈利相比这两家银行增长速度较慢,波动幅度相对较小。
如果说上述数据真实有效,那么按照这样趋势可以推断出杭州银行的主营业务盈利能力并不突出。然而现实与上述表现有较大差异,虽然上海银行的股价与其在上述分析中表现出的盈利能力都排在三家银行之首,但杭州银行的股价一直高于南京银行。
通过同样的方法对比三家银行的ROE可以发现,杭州银行的这项指标并不一直低于南京银行,说明杭州银行利用资本的效率并不差。盈利较少可能是总资本较小导致的。
从财经网站上查看A股银行股的股指可以发现,在2020年7月和12月各有一个明显上涨的阶段,虽然随后有所回落,但2020年下半年银行股指还是比上半年回升了很多。不过,2020年银行股整体低迷,不同的银行股表现在2020年表现参差不齐。
据Wind数据显示,截至12月29日,A股37家上市银行中,有26家的股价相比年初有所下跌,其中5家银行跌幅超过20%,19家跌幅超过10%。除年内完成IPO的厦门银行(601187.SH)外,涨幅超过10%的银行仅有5家(分别是平安银行、招商银行、宁波银行、杭州银行和成都银行)。
摘自《银行股年终盘点:承压与期待》 https://finance.sina.com.cn/stock/hkstock/ggscyd/2020-12-30/doc-iiznctke9231579.shtml 作者:“大摩财经”
通过前面的股价图也可以发现,杭州银行在2020年中开始了一波逆势上扬(年初至今涨幅66.83%)的行情。那么,是什么因素在影响呢?
我认为中国抗击疫情的成果给了市场很大的信心。若中国在未来继续引领世界经济的复苏,市场预期可能更会偏向于乐观。银行股作为金融行业也可能会因此而继续复苏。
另外由于疫情期间央行为了刺激经济实行了宽松的货币政策与财政政策,在刺激消费之余也一定会导致投资的数量增加。在“房住不炒”与去杠杆的号召下,可能继续会有资金流向股市。当股市泡沫化程度逐渐上升时,稳定且有发展潜力的部分银行股可能会受到投资者的青睐。
个人认为2020年为数不多的大型商业银行与城商行的逆势上行就是一个很好的证明。那么顺着这样的思路,经营状况良好且估值较低的银行在2021年可能会继续上涨。对于经营状况的粗略分析已在上面展开,虽然结果不显著,但很有可能是分析方法过于原始,可以从不良资产率、利差和资产拨备率的角度出发以及用更为细致的Residual income analysis进行分析。
将目光转向市值方面。这里继续用tushare导入数据,对银行股的P/B进行行业横向对比和历史纵向对比。
x=pd.DataFrame()
a={'HZYH':'600926.SH','NJYH':'601009.SH','SHYH':'601229.SH'}
for code,number in a.items():df=pro.daily(ts_code=number,fields='close,trade_date')x.insert(column='price',value=df['close'],loc=len(x.columns))x.rename(columns={'price':code},inplace=True)x['date']=df['trade_date']
x.index=pd.to_datetime(x['date'])
pic=x.plot(title='industry comparation by price')
fig=pic.get_figure()
fig.savefig('fig6.png')
#下面的图换一下股票代码就可以了
由于杭州银行上市较晚,将从2017年初至今杭州银行和南京银行和上海银行这两只银行的市净率进行对比,还是可以发现从2017年到现在其市净率在不断下滑,虽然杭州银行由于近期股价的上升市净率快速回升,但也只在1.5左右,还未达到其刚上市的水平。
再将杭州银行的市净率与上面提到的2020年涨幅最大的另外四家银行进行对比。
这四家银行分别是平安银行,招商银行,宁波银行和成都银行。相较于这些银行的市净率,杭州银行目前的市净率显得就没那么高了。当然像招商银行的规模与杭州银行不是一个量级的,但宁波银行、平安银行和成都银行相对来说就更有可比性。这些银行的市盈率都普遍高于杭州银行,其中平安银行的市净率一直在2-3的范围徘徊,说明杭州银行目前的股价还可能有很大的上涨空间。
投资建议
总结来说,杭州银行的股价虽然在近期快速上扬,但其估值相较于业界同类还有上升的空间。具体的未来趋势从总量的数据出发不太好判断,需要深入研究。但市面上的投资研报几乎全部都给出了买入或增持的评级。在公募基金持仓方面,新进和增持的数量也占了绝大部分的交易,这说明机构对于这支股票还是比较看好的。所以综上来看,现在投资这支股票或许是一个不错的选择,看好未来A股行情的话不妨持有这支股票。
—结尾—
接触Python时间不久,很多东西还需要以后一步步的探索。不过个人感觉用tushare来看金融数据还是非常舒服的,因为教育优惠基本上用得着的大部分端口现在都免费,不过得主动说明你的学生身份。
如果你有Python基础,可以直接去官网看调用的语法和接口,贴一下官网链接:Tushare大数据开放社区。