python之股票财务分析

#import akshare as ak
import pandas as pd
import matplotlib.pyplot as plt
symbol1="资产负债表"
symbol2="利润表"
symbol3="现金流量表"
#df1=ak.stock_financial_report_sina(stock="601633",symbol=symbol1)
#df2=ak.stock_financial_report_sina(stock="601633",symbol=symbol2)
#df3=ak.stock_financial_report_sina(stock="601633",symbol=symbol3)
#df1.to_csv(f'{symbol1}.csv')
#df2.to_csv(f'{symbol2}.csv')
#df3.to_csv(f'{symbol3}.csv')
data1=pd.read_csv(f'{symbol1}.csv')
data2=pd.read_csv(f'{symbol2}.csv')
data3=pd.read_csv(f'{symbol3}.csv')
data1.index = pd.to_datetime(data1['报告日'], format='%Y%m%d')
data2.index = pd.to_datetime(data2['报告日'], format='%Y%m%d')
data3.index = pd.to_datetime(data3['报告日'], format='%Y%m%d')
data1=data1.fillna(0)
data2=data2.fillna(0)
data3=data3.fillna(0)
#有息负债率=(短期借款+1年内到期的长期负债+长期借款+应付债券+长期应付款)/总资产×100%
yxfz=data1['短期借款']+data1['一年内到期的非流动负债']+data1['长期借款']+data1['应付债券']+data1['长期应付款']
ibdr=yxfz/data1['资产总计']*100
#生产资产/总资产
sz=(data1['固定资产净值']+data1['在建工程合计'])/data1['资产总计']*100
#应收/总资产
yz=(data1['应收票据及应收账款']+data1['应收款项融资']+data1['应收股利']+data1['应收利息']/10000+data1['应收保费']+data1['应收分保账款']+data1['应收分保合同准备金']+data1['应收出口退税']+data1['应收补贴款']+data1['应收保证金']+data1['内部应收款']+data1['其他应收款']+data1['长期应收款'])/data1['资产总计']*100
#货币资金/有息负债
hy=data1['货币资金']/(data1['短期借款']+data1['一年内到期的非流动负债']+data1['长期借款']+data1['应付债券']+data1['长期应付款'])*100font1 = {'family': 'SimHei', 'weight': 'normal', 'size': 10}
clist=['blue','red','green','black','slategray','lime','gold','purple','green','cyan']
markerlst=['o','*','x','>','<','^','D','d','1','2','3','4']
linestylelst=['-','--','-.',':','-','--','-.',':','-','--','-.',':']
fig=plt.figure(1)
plt.rcParams['xtick.direction'] = 'in'  # 将x周的刻度线方向设置向内
plt.rcParams['ytick.direction'] = 'in'  # 将y轴的刻度方向设置向内
# plt.rcParams['font.family'] = ["Times New Roman"]  # 字体设置为Times NewRoman
plt.rcParams['font.sans-serif'] = ['SimHei']plt.plot(data1['报告日'],ibdr,c=clist[0], marker=markerlst[1], markersize='10', linewidth='3', linestyle=linestylelst[1], label='有息负债率')
plt.plot(data1['报告日'],sz,c=clist[1], marker=markerlst[2], markersize='10', linewidth='3', linestyle=linestylelst[2], label='生产资产/总资产')
plt.plot(data1['报告日'],yz,c=clist[2], marker=markerlst[3], markersize='10', linewidth='3', linestyle=linestylelst[3], label='应收/总资产')
#plt.plot(data['报告日'],hy,c=clist[3], marker=markerlst[4], markersize='10', linewidth='3', linestyle=linestylelst[4], label='货币资金/有息负债')# 图例展示位置,数字代表第几象限
plt.legend(bbox_to_anchor=(0.5,1.1),loc=9,prop=font1,ncol=3,framealpha=0.5)
#plt.xticks(xs)
#plt.yticks(np.linspace(0,0.16,11))
plt.grid(True, linestyle='--', alpha=0.5)
plt.xlabel("报告期", fontdict={'size': 16})
plt.ylabel("百分比(%)", fontdict={'size': 16})
fig.autofmt_xdate()fig=plt.figure(2)
plt.rcParams['axes.unicode_minus']=False
plt.rcParams['xtick.direction'] = 'in'  # 将x周的刻度线方向设置向内
plt.rcParams['ytick.direction'] = 'in'  # 将y轴的刻度方向设置向内
# plt.rcParams['font.family'] = ["Times New Roman"]  # 字体设置为Times NewRoman
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.plot(data3['报告日'],data3['经营活动产生的现金流量净额'],c=clist[0], marker=markerlst[1], markersize='10', linewidth='3', linestyle=linestylelst[1], label='经营活动产生的现金流量净额')
plt.plot(data3['报告日'],data3['投资活动产生的现金流量净额'],c=clist[1], marker=markerlst[2], markersize='10', linewidth='3', linestyle=linestylelst[2], label='投资活动产生的现金流量净额')
plt.plot(data3['报告日'],data3['筹资活动产生的现金流量净额'],c=clist[2], marker=markerlst[3], markersize='10', linewidth='3', linestyle=linestylelst[3], label='筹资活动产生的现金流量净额')
plt.plot(data2['报告日'],data2['净利润'],c=clist[3], marker=markerlst[4], markersize='10', linewidth='3', linestyle=linestylelst[4], label='净利润')
# 图例展示位置,数字代表第几象限
plt.legend(bbox_to_anchor=(0,1),loc=2,prop=font1,ncol=1,framealpha=0.5)
#plt.xticks(xs)
#plt.yticks(np.linspace(0,0.16,11))
plt.grid(True, linestyle='--', alpha=0.5)
plt.xlabel("报告期", fontdict={'size': 16})
plt.ylabel("元", fontdict={'size': 16})
fig.autofmt_xdate()fig=plt.figure(3)
plt.rcParams['axes.unicode_minus']=False
plt.rcParams['xtick.direction'] = 'in'  # 将x周的刻度线方向设置向内
plt.rcParams['ytick.direction'] = 'in'  # 将y轴的刻度方向设置向内
# plt.rcParams['font.family'] = ["Times New Roman"]  # 字体设置为Times NewRoman
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.plot(data3['报告日'],data3['期末现金及现金等价物余额'],c=clist[0], marker=markerlst[1], markersize='10', linewidth='3', linestyle=linestylelst[1], label='期末现金及现金等价物余额')
plt.plot(data1['报告日'],yxfz,c=clist[1], marker=markerlst[2], markersize='10', linewidth='3', linestyle=linestylelst[2], label='有息负债')
plt.plot(data3['报告日'],data3['销售商品、提供劳务收到的现金'],c=clist[2], marker=markerlst[3], markersize='10', linewidth='3', linestyle=linestylelst[3], label='销售商品、提供劳务收到的现金')
plt.plot(data2['报告日'],data2['营业收入'],c=clist[3], marker=markerlst[4], markersize='10', linewidth='3', linestyle=linestylelst[4], label='营业收入')
plt.plot(data3['报告日'],data3['现金及现金等价物净增加额']+data3['分配股利、利润或偿付利息所支付的现金'],c=clist[4], marker=markerlst[5], markersize='10', linewidth='3', linestyle=linestylelst[5], label='现金及现金等价物净增加额')
# 图例展示位置,数字代表第几象限
plt.legend(bbox_to_anchor=(0,1),loc=2,prop=font1,ncol=1,framealpha=0.5)
#plt.xticks(xs)
#plt.yticks(np.linspace(0,0.16,11))
plt.grid(True, linestyle='--', alpha=0.5)
plt.xlabel("报告期", fontdict={'size': 16})
plt.ylabel("元", fontdict={'size': 16})
fig.autofmt_xdate(bottom=0.2, rotation=30, ha='right')
plt.show()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/146485.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构刷题(三十三):完全背包最小值情况。322. 零钱兑换、279. 完全平方数

题目一&#xff1a; 322. 零钱兑换https://leetcode.cn/problems/coin-change/ 思路&#xff1a;完全背包问题&#xff0c;求解最小组合数。dp[j]&#xff1a;凑足总额为j所需钱币的最少个数为dp[j]。同时需要确保凑足总金额为0所需钱币的个数一定是0&#xff0c;那么dp[0] 0…

001 Python开发环境搭建

1、下载python 2023/10 python-3.11.5-amd64.exehttps://www.python.org/ftp/python/3.11.5/python-3.11.5-amd64.exe 2、下载Visual Studio Code 2023/10 VSCodeSetup-x64-1.82.2.exehttps://code.visualstudio.com/docs/?dvwin64 3、安装python 双击打开python-3.11.5-a…

SpringCloud Alibaba - Sentinel 授权规则、自定义异常结果

目录 一、授权规则 1.1、什么是授权规则 1.2、授权规则的配置 1.2.1、配置信息介绍 1.2.2、如何得到请求来源 1.2.3、实现步骤 a&#xff09;给网关过来的请求添加请求头信息 b&#xff09;在 订单微服务 中实现 RequestOriginParser 接口中的 parseOrigin 方法 c&…

排序:外部排序算法分析

1.外存与内存之间的数据交换 1.外存&#xff08;磁盘&#xff09; 操作系统以“块”为单位对磁盘存储空间进行管理&#xff0c;如:每块大小1KB 各个磁盘块内存放着各种各样的数据。 2.内存 磁盘的读/写以“块”为单位数据读入内存后才能被修改修改完了还要写回磁盘。 2.外…

Jmeter分布式压力测试

目录 1、场景 2、原理 3、注意事项 4、slave配置 5、master配置 6、脚本执行 1、场景 在做性能测试时&#xff0c;单台机器进行压测可能达不到预期结果。主要原因是单台机器压到一定程度会出现瓶颈。也有可能单机网卡跟不上造成结果偏差较大。 例如4C8G的window server机…

2023-10-01 LeetCode每日一题(买卖股票的最佳时机)

2023-10-01每日一题 一、题目编号 121. 买卖股票的最佳时机二、题目链接 点击跳转到题目位置 三、题目描述 给定一个数组 prices &#xff0c;它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票&#xff0c;并选择在 未来的某一…

[NOIP2012 提高组] 国王游戏(贪心,排序,高精度)

[NOIP2012 提高组] 国王游戏 题目描述 恰逢 H 国国庆&#xff0c;国王邀请 n n n 位大臣来玩一个有奖游戏。首先&#xff0c;他让每个大臣在左、右手上面分别写下一个整数&#xff0c;国王自己也在左、右手上各写一个整数。然后&#xff0c;让这 n n n 位大臣排成一排&…

Mac程序坞美化工具 uBar

uBar是一款为Mac用户设计的任务栏增强软件&#xff0c;它可以为您提供更高效和更个性化的任务管理体验。 以下是uBar的一些主要特点和功能&#xff1a; 更直观的任务管理&#xff1a;uBar改变了Mac上传统的任务栏设计&#xff0c;将所有打开的应用程序以类似于Windows任务栏的方…

xilinx的原语的使用

xilinx的原语的使用 在学习FPGA实现千兆网时需要GMII转RGMII&#xff0c;这就涉及了原语的使用&#xff0c;特此记录&#xff01; 一、原语 与RGMII接口相关的原语&#xff1a; BUFG:全局时钟网络 BUFIO&#xff1a;只能采集IO的数据&#xff0c;采集IO数据的时候延时是最低的…

浅谈OV SSL 证书的优势

随着网络威胁日益增多&#xff0c;保护网站和用户安全已成为每个企业和组织的重要任务。在众多SSL证书类型中&#xff0c;OV&#xff08;Organization Validation&#xff09;证书以其独特的优势备受关注。让我们深入探究OV证书的优势所在&#xff0c;为网站安全搭建坚实的防线…

【自定义类型】--- 位段、枚举、联合

&#x1f493;博客主页&#xff1a;江池俊的博客⏩收录专栏&#xff1a;C语言进阶之路&#x1f449;专栏推荐&#xff1a;✅C语言初阶之路 ✅数据结构探索&#x1f4bb;代码仓库&#xff1a;江池俊的代码仓库&#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐ 文…

React18+Ts项目配置husky、eslint、pretttier、commitLint

前言 我的项目版本如下&#xff1a; React&#xff1a; V18.2.0Node.js: V16.14.0TypeScript&#xff1a;最新版工具&#xff1a; VsCode 本文将采用图文详解的方式&#xff0c;手把手带你快速完成在React项目中配置husky、prettier、commitLint&#xff0c;实现编码规范的统…

使用sqlmap获取数据步骤

文章目录 1.使用sqlmap获取所有数据库2.使用sqlmap获取当前连接数据库3.使用sqlmap获取当前数据库下所有表名4.使用sqlmap获取当前数据库下某个表下所有列名5.使用sqlmap获取当前数据库下某个表下指定字段的数据6.测试当前用户是否是管理员7.使用burpsqlmap批量检测8.脱库命令9…

算法竞赛备赛之贪心算法训练提升,贪心算法基础掌握

1.区间问题 905.区间选点 给定N个闭区间[ai, bi]&#xff0c;请你在数轴上选择尽量少的点&#xff0c;使得每个区间内至少包含一个选出的点。 输出选择的点的最小数量&#xff0c;位于区间端点上的点也算作是区间内。 将每个按区间的右端点从小到大排序 从前往后依次枚举每…

记录:Unity脚本的编写

目录 前言添加脚本到unity编写c#脚本查看效果 前言 在学习软件构造这门课的时候&#xff0c;对unity和c#进行了 一定程度的学习&#xff0c;包括简单的建立地形&#xff0c;添加对象&#xff0c;添加材质等&#xff0c;前不久刚好学习了如何通过c#脚本对模型进行操控&#xff…

五、2023.10.1.C++stl.5

文章目录 65、请说说 STL 的基本组成部分?66、请说说 STL 中常见的容器&#xff0c;并介绍一下实现原理&#xff1f;67、请说说 STL 中常见的容器&#xff0c;并介绍一下实现原理&#xff1f;68、请你来介绍一下 STL 的空间配置器&#xff08;allocator&#xff09;&#xff1…

分布式并行训练(DP、DDP、DeepSpeed)

[pytorch distributed] 01 nn.DataParallel 数据并行初步 数据并行 vs. 模型并行 数据并行&#xff1a;模型拷贝&#xff08;per device&#xff09;&#xff0c;数据 split/chunk&#xff08;对batch切分&#xff09; 每个device上都拷贝一份完整模型&#xff0c;每个device分…

密码技术 (5) - 数字签名

一. 前言 前面在介绍消息认证码时&#xff0c;我们知道消息认证码虽然可以确认消息的完整性&#xff0c;但是无法防止否认问题。而数字签名可以解决否认的问题&#xff0c;接下来介绍数字签名的原理。 二. 数字签名的原理 数字签名和公钥密码一样&#xff0c;也有公钥和私钥&am…

字符串函数(一)

✨博客主页&#xff1a;小钱编程成长记 &#x1f388;博客专栏&#xff1a;进阶C语言 字符串函数&#xff08;一&#xff09; 0.前言1.求字符串长度的函数1.1 strlen&#xff08;字符串长度&#xff09; 2.长度不受限制的字符串函数2.1 strcpy&#xff08;字符串拷贝&#xff0…

直播协议 python 常见直播协议

1. 推流、直播 和 点播分别是什么意思&#xff1f; 推流 主播将本地视频源和音频源推送到云服务器&#xff0c;也被称为“RTMP发布”。 直播 即直接观看主播实时推送过来的音视频数据。 点播 视频源已经事先存储于云服务器之上的音视频文件&#xff0c;观众随时可以观看。 目…