利用python+tushare构建财报系统
一、财报系统
如果拥有一个一辈子的事业,投资肯定是你的一个主要选择之一,投资他绝对可以陪伴你到老。
那么又如何进行正确投资呢,特别是对于普通的民众来说,消息没人快、全,资金没人多,凭什么能分的一杯羹,那只有你比熟悉行业和个股。
要想熟悉个股,特别是从芸芸众生中挑选一个,并不断的认知、熟悉他,也唯有关注经营情况和财报了。
为了坚持这个理念,我最近一直在研究如何利用python+odoo建立一个财报分析系统,目的是想从用心、专注的角度去去分析他所处的行业及个股本身。也只有熟悉了他的行业和本身才能对他进行操作,毕竟买卖股票,他不是赌博,他是投资,如果你不熟悉他,那么你终有一天会失去,赚知识的钱,不赚运气的钱,知识能陪伴你终身。
闲话不多说,先看看我目前的效果。
下面我挑了一只股票的财报数据来分析,首先从年度进行分析,看各年的增长变化,然后再看年内各期间的变化情况,这时再结合前一年的年报,可以去查阅他是否按预期在经营、发展。
利用odoo的透视表,还可以很方便的转换分析角度,下图就是先从季度再进行年度分析的
当然这只是结果,那么如果要想获得这个结果,首先你必须要先获得数据,数据的来源有两个,一个是利用人工输入,另外一个是利用工具自动进行输入。今天在这里不详细展开如何设计odoo的程序,更多是向大家介绍如何利用tushare这个python的财经数据接口包,让大家能比较快捷的获得这些财报数据,然后把财报数据存入的odoo的数据库中。
二、利用tushare获取财报数据
Tushare是一个免费、开源的python财经数据接口包。主要实现对股票等金融数据从数据采集、清洗加工 到 数据存储的过程,能够为金融分析人员提供快速、整洁、和多样的便于分析的数据,为他们在数据获取方面极大地减轻工作量,使他们更加专注于策略和模型的研究与实现上。考虑到Python pandas包在金融量化分析中体现出的优势,Tushare返回的绝大部分的数据格式都是pandas DataFrame类型,非常便于用pandas/NumPy/Matplotlib进行数据分析和可视化。当然,如果您习惯了用Excel或者关系型数据库做分析,您也可以通过Tushare的数据存储功能,将数据全部保存到本地后进行分析。应一些用户的请求,从0.2.5版本开始,Tushare同时兼容Python 2.x和Python 3.x,对部分代码进行了重构,并优化了一些算法,确保数据获取的高效和稳定。
如果想要较好的使用tushare,最好先注册(请点击注册) ,会更加的稳定和可靠。
1、利用tushare获取股票数据
importpandasaspd
importtushareasts
importmatplotlib.pyplotasplt
#设置token,,注册后就可以获得
token='*******'
pro = ts.pro_api(token)
df1=ts.pro_bar(ts_code='股票代码.SZ',adj='qfq',start_date='20190101',end_date='20191231')
'''
输入参数
名称 类型 必选 描述
ts_code str Y 证券代码
api str N pro版api对象,如果初始化了set_token,此参数可以不需要
start_date str N 开始日期 (格式:YYYYMMDD,提取分钟数据请用2019-09-01 09:00:00这种格式)
end_date str N 结束日期 (格式:YYYYMMDD)
asset str Y 资产类别:E股票 I沪深指数 C数字货币 FT期货 FD基金 O期权 CB可转债(v1.2.39),默认E
adj str N 复权类型(只针对股票):None未复权 qfq前复权 hfq后复权 , 默认None
freq str Y 数据频度 :支持分钟(min)/日(D)/周(W)/月(M)K线,其中1min表示1分钟(类推1/5/15/30/60分钟) ,默认D。对于分钟数据有600积分用户可以试用(请求2次),正式权限请在QQ群私信群主或积分管理员。
ma list N 均线,支持任意合理int数值。注:均线是动态计算,要设置一定时间范围才能获得相应的均线,比如5日均线,开始和结束日期参数跨度必须要超过5日。目前只支持单一个股票提取均线,即需要输入ts_code参数。
factors list N 股票因子(asset='E'有效)支持 tor换手率 vr量比
adjfactor str N 复权因子,在复权数据时,如果此参数为True,返回的数据中则带复权因子,默认为False。 该功能从1.2.33版本开始生效
'''
#打印结果
print(df1)
#把数据存入到指定的excel文件
df1.to_excel('f:/python_analyze/gp_股票代码.xlsx')
2、想要详细查看tushare的资料,请查阅(详细资料)
当然也可以咨询我 唐朝品鉴 mail:funsu@qq.com QQ:44953683
常用数据分析资料链接:
1、tushare:tushare官网
2、pandas:pandas官网
3、numpy:numpy中文教程
4、matplotlib:matplotlib官网