智慧金融-数据可视化

智慧金融-数据可视化

导入所需的库

import numpy as np
import numpy_financial as npf
import matplotlib.pyplot as plt
from pylab import mpl
mpl.rcParams['font.sans-serif']=['FangSong']
mpl.rcParams['axes.unicode_minus']=False

单图曲线图

r = 0.05  # 贷款的年利率
n = 30 # 贷款的期限(年)
principle = 8e6 # 贷款的本金
pay_month=npf.pmt(rate=r/12, nper=n*12, pv=principle, fv=0, when='end') # 计算每月支付的本息之和
print('每月偿还的金额',round(pay_month,2)) 

每月偿还的金额 -42945.73

T_list=np.arange(n*12)+1 # 生成一个包含每次还款期限的数组prin_month=npf.ppmt(rate=r/12,per=T_list,nper=n*12,pv=principle,fv=0,when='end') # 计算每月偿还的本金金额
inte_month=npf.ipmt(rate=r/12,per=T_list,nper=n*12,pv=principle,fv=0,when='end') # 计算每月偿还的本金金额pay_month_list=pay_month*np.ones_like(prin_month) # 创建每月偿还金额的数组plt.figure(figsize=(9,6),frameon=False)
plt.plot(T_list,-pay_month_list,'r-',label=u'每月偿还金额',lw=2.5)
plt.plot(T_list,-prin_month,'m--',label=u'每月偿还本金金额',lw=2.5)
plt.plot(T_list,-inte_month,'b--',label=u'每月偿还利息金额',lw=2.5)
plt.xlabel(u'逐次偿还的期限(月)', fontsize=14)
plt.yticks(fontsize=13)
plt.ylabel(u'金额',fontsize=13)
plt.title(u'等额本息还款规则下每月偿还的金额以及本金利息', fontsize=14)
plt.legend(loc=0, fontsize=13)
plt.grid()
plt.show()

在这里插入图片描述

多图曲线图

import pandas as pd
import matplotlib.pyplot as pltSZ_Index = pd.read_excel('data/深证成指每日价格数据(2018-2020年).xlsx',sheet_name='Sheet1',header=0,index_col=0)
SZ_Index.index # 显示行索引的格式

Index([‘2018-01-02’, ‘2018-01-03’, ‘2018-01-04’, ‘2018-01-05’, ‘2018-01-08’,
‘2018-01-09’, ‘2018-01-10’, ‘2018-01-11’, ‘2018-01-12’, ‘2018-01-15’,

‘2020-12-18’, ‘2020-12-21’, ‘2020-12-22’, ‘2020-12-23’, ‘2020-12-24’,
‘2020-12-25’, ‘2020-12-28’, ‘2020-12-29’, ‘2020-12-30’, ‘2020-12-31’],
dtype=‘object’, name=‘日期’, length=730)

SZ_Index.index=pd.DatetimeIndex(SZ_Index.index) # 将数据框的行索引转换为 Datatime 格式
SZ_Index.index # 显示更新后的行索引的格式,由原来的 object 格式转换为了 datatime 格式

DatetimeIndex([‘2018-01-02’, ‘2018-01-03’, ‘2018-01-04’, ‘2018-01-05’,
‘2018-01-08’, ‘2018-01-09’, ‘2018-01-10’, ‘2018-01-11’,
‘2018-01-12’, ‘2018-01-15’,

‘2020-12-18’, ‘2020-12-21’, ‘2020-12-22’, ‘2020-12-23’,
‘2020-12-24’, ‘2020-12-25’, ‘2020-12-28’, ‘2020-12-29’,
‘2020-12-30’, ‘2020-12-31’],
dtype=‘datetime64[ns]’, name=‘日期’, length=730, freq=None)

plt.figure(figsize=(11,9))
plt.subplot(2,2,1)
plt.plot(SZ_Index['开盘价'],'r-',label=u'深证成指开盘价',lw=2.0)
plt.xticks(fontsize=13,rotation=30)
plt.xlabel(u'日期',fontsize=13)
plt.yticks(fontsize=13)
plt.ylabel(u'价格',fontsize=13)
plt.legend(loc=0,fontsize=13)
plt.grid()plt.subplot(2,2,2)
plt.plot(SZ_Index['最高价'],'b-',label=u'深证成指最高价',lw=2.0)
plt.xticks(fontsize=13,rotation=30)
plt.xlabel(u'日期',fontsize=13)
plt.yticks(fontsize=13)
plt.ylabel(u'价格',fontsize=13)
plt.legend(loc=0,fontsize=13)
plt.grid()plt.subplot(2,2,3)
plt.plot(SZ_Index['最低价'],'c-',label=u'深证成指最低价',lw=2.0)
plt.xticks(fontsize=13,rotation=30)
plt.xlabel(u'日期',fontsize=13)
plt.yticks(fontsize=13)
plt.ylabel(u'价格',fontsize=13)
plt.legend(loc=0,fontsize=13)
plt.grid()plt.subplot(2,2,4)
plt.plot(SZ_Index['收盘价'],'k-',label=u'深证成指收盘价',lw=2.0)
plt.xticks(fontsize=13,rotation=30)
plt.xlabel(u'日期',fontsize=13)
plt.yticks(fontsize=13)
plt.ylabel(u'价格',fontsize=13)
plt.legend(loc=0,fontsize=13)
plt.grid()plt.show()

在这里插入图片描述

堆叠直方图与并排直方图

SH_SZ_Index = pd.read_excel('data/上证综指和深证成指的日涨跌幅数据(2019-2020年).xlsx',sheet_name='Sheet1',header=0,index_col=0)
SH_SZ_Index # 显示行索引的格式

在这里插入图片描述

SH_SZ_Index = np.array(SH_SZ_Index) # 将数据框格式转换为数组格式
SH_SZ_Index

在这里插入图片描述

plt.figure(figsize=(9,6))
plt.hist(SH_SZ_Index,label=[u'上证综指日涨跌幅',u'深证成指日涨跌幅'],stacked=True,edgecolor='k',bins=30)
plt.xticks(fontsize=13)
plt.xlabel(u'日涨跌幅',fontsize=13)
plt.yticks(fontsize=13)
plt.ylabel(u'频数',fontsize=13)
plt.title(u'上证综指和深证成指日涨跌幅堆叠直方图')
plt.legend
plt.grid()
plt.show()

在这里插入图片描述

plt.figure(figsize=(9,6))
plt.hist(SH_SZ_Index,label=[u'上证综指日涨跌幅',u'深证成指日涨跌幅'],edgecolor='k',bins=30)
plt.xticks(fontsize=13)
plt.xlabel(u'日涨跌幅',fontsize=13)
plt.yticks(fontsize=13)
plt.ylabel(u'频数',fontsize=13)
plt.title(u'上证综指和深证成指日涨跌幅并排直方图')
plt.legend
plt.grid()
plt.show()

在这里插入图片描述

综合条形图与折线图的双轴图

M2 = pd.read_excel('data/我国广义货币供应量M2的数据(2019-2020年).xlsx',sheet_name='Sheet1',header=0,index_col=0)
M2 # 显示行索引的格式

在这里插入图片描述

fig, ax1 = plt.subplots(figsize=(9,6)) # 运用左侧纵坐标绘制图形
plt.bar(x=M2.index,height=M2.iloc[:,0],color='y',label=u'M2 每月余额')
plt.xticks(fontsize=13,rotation=90)
plt.xlabel(u'日期',fontsize=13)
plt.yticks(fontsize=13)
plt.ylim(0,250)
plt.ylabel(u'金额(万亿元)',fontsize=13)
plt.legend(loc=2,fontsize=13)ax2 = ax1.twinx()
plt.plot(M2.iloc[:,-1],lw=2.5)
plt.yticks(fontsize=13)
plt.ylim(0,0.13)
plt.ylabel(u'增长率',fontsize=13)
plt.title(u'广义货币供应量 M2 每月余额和每月同比增长率',fontsize=13)
plt.legend(loc=1,fontsize=13)
plt.grid()
plt.show()

在这里插入图片描述

散点图

ICBC_CCB = pd.read_excel('data/工商银行与建设银行A股周涨跌幅数据(2016-2020年).xlsx',sheet_name='Sheet1',header=0,index_col=0)
ICBC_CCB.describe()

在这里插入图片描述

ICBC_CCB.corr()

在这里插入图片描述

plt.figure(figsize=(9,6))
plt.scatter(x=ICBC_CCB['工商银行'],y=ICBC_CCB['建设银行'],c='r',marker='o')
plt.xticks(fontsize=13)
plt.xlabel(u'工商银行周涨跌幅',fontsize=13)
plt.yticks(fontsize=13)
plt.ylabel(u'建设银行周涨跌幅',fontsize=13)
plt.title(u'工商银行与建设银行周涨跌幅的散点图',fontsize=13)
plt.grid()
plt.show()

在这里插入图片描述

饼图

currency = ['美元','欧元','人民币','日元','英镑']
perc = [0.4173,0.3093,0.1092,0.0833,0.0809]
plt.figure(figsize=(9,7))
plt.pie(x=perc,labels=currency,textprops={'fontsize':13})
plt.axis('equal')
plt.title(u'特别提款全中不同币种的权重',fontsize=13)
plt.legend(loc=2,fontsize=13)
plt.show()

在这里插入图片描述

雷达图

company = ['中国人寿','中国人保','中国太保','中国平安','新华保险']
indicator=['营业收入增长率','净利润增长率','净资产收益率','偿付能力充足率']
ranking = np.array([5,4,3,2])
N_company=len(company)
N_indicator=len(indicator)ranking_new=np.concatenate([ranking, [ranking[0]]]) # 在中国太保各项指标排名的数组末尾增加一个该数组的首位数字,以实现绘图的闭合
angles = np.linspace(0, 2*np.pi, N_indicator, endpoint=False)
angles_new = np.concatenate([angles,[angles[0]]])plt.figure(figsize=(8,8))
plt.polar(angles_new,ranking_new,'--')
plt.thetagrids(angles*180/np.pi,indicator,fontsize=13)
plt.ylim(0,5)
plt.yticks(range(N_company+1),fontsize=13)
plt.fill(angles_new, ranking_new, facecolor='r',alpha=0.3)
plt.title(u'中国太保各项指标在 5 家A股上市保险公司中的排名',fontsize=13)
plt.show()

在这里插入图片描述

K 线图

import pandas as pd
import mplfinance as mpfSH_Index=pd.read_excel('data/2020年第3季度上证综指的日交易数据.xlsx', sheet_name="Sheet1", header=0,index_col=0)
SH_Index.index = pd.DatetimeIndex(SH_Index.index) # 数据框的行索引转换为 Datatime 格式SH_Index.columns # 显示列名

Index([‘开盘价’, ‘最高价’, ‘最低价’, ‘收盘价’, ‘成交额(万亿元)’], dtype=‘object’)

SH_Index=SH_Index.rename(columns={'开盘价':'Open','最高价':'High','最低价':'Low','收盘价':'Close','成交额(万亿元)':'Volume'})
mpf.plot(data=SH_Index,type='candle',mav=5,volume=True,figratio=(9,7),style='classic',ylabel='price',ylabel_lower='Volume(trillion)')

在这里插入图片描述

color=mpf.make_marketcolors(up='r',down='g')
style_color=mpf.make_mpf_style(marketcolors=color)
mpf.plot(data=SH_Index,type='candle',mav=(5,10),volume=True,figratio=(9,6),style=style_color,ylabel='price',ylabel_lower='Volume(trillion)')

在这里插入图片描述

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

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

相关文章

字符串哈希详解,单hash,双hash,滚动哈希

一、字符串哈希 1.1 基本概念 字符串哈希 将不同的字符串映射成不同的整数。 思想:将字符串映射成一个 p进制数字。 我们定义如下哈希函数: h a s h ( s ) ∑ i 1 n s [ i ] p n − i ( m o d M ) 其中 s 为长度为 n 的字符串,下标从…

【考研408操作系统】最容易理解的知识体系-文件管理-面向人类管理

苏泽 “弃工从研”的路上很孤独,于是我记下了些许笔记相伴,希望能够帮助到大家 我将以全新的视角用两篇文章梳理完考研计算机当中关于“文件管理”这个部分的考点的所有内容 以下是我整理的知识点思维导图 目录 我将以全新的视角用两篇文章梳理完考研…

代码随想录算法训练营第三十天

56. 合并区间 这道题跟452. 用最少数量的箭引爆气球 (opens new window)和 435. 无重叠区间 (opens new window)都是一个套路。 回了上面两个这道题并不难 这题主要就是发现重叠后更新一下当前元素的起始范围 if (intervals[i][0] < intervals[i-1][1]) {intervals[i][0…

和鲸101计划夏令营火热进行中!北中医助阵医学数据探索

上周&#xff0c;和鲸社区 2024 夏令营已经正式开营&#xff01; 从 2021 年开始&#xff0c;和鲸社区在每年暑假期间都会为大家提供集中化、系统化的数据科学相关的技能实践和培训&#xff0c;每年都有几千名同学借此机会积累宝贵的实战经验&#xff0c;丰富个人简历作品&…

DR模式介绍

DR模式 lvs的三种模式 nat&#xff1a;地址转换 DR模式&#xff1a;直接路由模式 tun&#xff1a;隧道模式 DR模式的特点 调度器在整个lvs集群当中是最重要的&#xff0c;在nat模式下&#xff0c;即负责接受请求&#xff0c;同时根据负载均衡的算法转发流量&#xff0c;响…

2025 百度提前批校招内推

百度2025校园招聘内推开始啦&#xff0c;被推荐人可以免笔试直接面试&#xff0c;提前批结果不影响校招&#xff0c;机会1&#xff0c;还可直推心仪部门&#xff0c;可扫描下面二维码或点击链接进行投递&#xff0c;快来投递你心仪的职位吧&#xff08; 网申链接地址 &#xff…

Linux 04:进程概念

1. 操作系统(Operator System) 概念 任何计算机系统都包含一个基本的程序集合&#xff0c;称为操作系统(OS)。笼统的理解&#xff0c;操作系统包括&#xff1a; 内核&#xff08;进程管理&#xff0c;内存管理&#xff0c;文件管理&#xff0c;驱动管理&#xff09;。其他程序…

微信小程序毕业设计-高校校园交友系统项目开发实战(附源码+论文)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;微信小程序毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计…

仕考网:公务员考试面试时间一般多长?

公务员考试主要分为笔试与面试两个阶段&#xff0c;其中面试是笔试通过的下一关&#xff0c;面试的具体安排通常由相关考试机构或招录单位负责发布并通知考生。 公务员面试的持续时间一般在30分钟至1小时之间&#xff0c;具体时长可能因地区和招录单位的不同而有所变化。常见的…

分布式锁理解

介绍分布式锁&#xff0c;我觉得从项目的背景入手把 在伙伴匹配系统中&#xff0c;我创建了一个定时任务&#xff0c;做为缓存预热的手段 这个具体原因在Redis-CSDN博客 接下来切入正题&#xff1a; 想象每个服务器都有一个定时任务&#xff0c;都要对数据库或者缓存进行操…

Coze触发器:触发任务的Python接口源码

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 Coze触发器 📒📝 触发器接口源码⚓️ 相关链接 ⚓️📖 介绍 📖 自动化,一个在现代软件开发中不可或缺的概念,它让我们的生活和工作变得更加高效。Coze也支持定时任务/触发任务,通过触发器,我们可以更自由的控制Bot去…

【cocos creator】2.x,伪3d拖拽,45度视角,60度视角,房屋装扮

伪3d拖拽&#xff0c;45度视角,60度视角 工程下载&#xff1a;&#xff08;待审核&#xff09; https://download.csdn.net/download/K86338236/89530812 dragItem2.t s import mapCreat2 from "./mapCreat2";const { ccclass, property } cc._decorator; /*** 拖拽…

【web]-信息收集-空白页面

打开是一张图 查看源码&#xff0c;发现就一个链接是有用信息&#xff0c;用目录扫描工具&#xff0c;没有发现有价值的信息。 F12&#xff0c;查看请求和相应信息&#xff0c;在响应头中发现了信息。 还有一个小技巧&#xff1a;点击手机图标&#xff0c;可以切换到手机模式中…

Spring相关的面试题

1、spring中bean的生命周期 spring bean的生命周期主要分为三大类 &#xff0c;分别是创建-》使用-〉销毁。 在三大类下面又可以分为5个小类。分别是 实列化-〉初始化-》组册destruction回调-〉使用-〉销毁 这这其中 初始化也可以细分为 设置属性值&#xff0c;前置处理&#…

UDP协议介绍和作用

什么是UDP? UDP是User Datagram Protocol的简称&#xff0c;中文名是用户数据报协议&#xff0c;是OSI参考模型中的传输层协议&#xff0c;它是一种无连接的传输层协议&#xff0c;提供面向事务的简单不可靠信息传送服务。 UDP的正式规范是IETF RFC768。UDP在IP报文的协议号是…

手撸俄罗斯方块(四)——渲染与交互

手撸俄罗斯方块&#xff08;四&#xff09;——渲染与交互 如何渲染游戏界面 我们知道&#xff0c;当我们看到页面先呈现图像时&#xff0c;实际上看到的是一张图片&#xff0c;多张图片按照一定的刷新频率进行切换&#xff0c;则变成了动态的视频。当刷新频率超过24Hz时&…

DWG文件发布至IIS后无法下载和预览解决办法

问题描述 DWG文件发布至IIS后无法下载和预览 原因分析&#xff1a; iis里面需要添加扩展 解决方案&#xff1a; 在服务器端IS属性的HTTP头下的MIME内容中添加扩展名“.dwg” MIME类型填入application/acad

29.PLL(锁相环)-IP核的调用

&#xff08;1&#xff09;PLL IP核的简介&#xff1a; Phase Locked Loop&#xff0c;即锁相环&#xff0c;是最常用的IP核之一&#xff0c;其性能强大&#xff0c;可以对输入到FPGA的时钟信号进行任意分频、倍频、相位调整、占空比调整&#xff0c;从而输出一个期望时钟。锁相…

JVM学习(day1)

JVM 运行时数据区 线程共享&#xff1a;方法区、堆 线程独享&#xff08;与个体“同生共死”&#xff09;&#xff1a;虚拟机栈、本地方法栈、程序计数器 程序计数器 作用&#xff1a;记录下次要执行的代码行的行号 特点&#xff1a;为一个没有OOM&#xff08;内存溢出&a…

C语言:指针详解(4)

作者本人由于大一下学期事情繁多&#xff0c;大部分时间都在备赛&#xff0c;没有时间进行博客撰写&#xff0c;如今已经到了暑假时间&#xff0c;作者将抓紧每一天的时间进行编程语言的学习&#xff0c;由于目前作者已经进行到了C的学习&#xff0c;C语言阶段的学习与初阶数据…