Pandas数据分析(十年期国债收益率 与 十年期国债期货价格的相关性)

一、Pandas数据类型介绍

Pandas基于numpy实现。与numpy相比,numpy更关注数据的组织,而pandas则更关注数据的表达和索引

Pandas包括两种数据类型:SeriesDataFrame

其中,Series是具有相同索引的一组数据的表示。而DataFrame是具有相同索引的多组数据的表示,各组数据具有不同的含义。

Series可通过列表、ndarray等数据来创建,可使用index、value来索引其中的值。
DataFrame可通过列表、ndarray、字典等数据来创建,可通过index、columns、value来索引其中的值。

#Series类型创建
dat = pd.Series(np.arange(5)+1)
print(dat)

0    1
1    2
2    3
3    4
4    5
dtype: int32
# DataFrame类型创建
dl = {'城市':['北京','上海','广州','深圳','沈阳'],
      '环比':[101.5, 101.2, 101.3, 102.0, 100.1],
      '同比':[120.7, 127.3, 119.4, 140.9, 101.4],
      '定基':[121.4, 127.8, 120.0, 145.5, 101.6]}
      
d = pd.DataFrame(dl, index=['c1','c2','c3','c4','c5'])
print(d)
print( d['城市'] )  #索引DataFrame中“城市”列的数据

在这里插入图片描述

二、Pandas数据分析例子

下面使用pandas分析“十年期国债收益率”和“十年期国债期货价格”的相关性。

首先,准备数据,这里使用两者在2015年7月29日至2020年7月29日五年间的数据。可在这个网址下载。

准备好数据后,读取数据,并对数据进行清洗(整理),最后求解两种数据之间的Pearson相关系数。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

#读取csv文件,取相应的“日期”与“收盘列数据”
data1 = pd.read_csv('data/中国十年期国债收益率历史数据.csv', usecols=['日期', '收盘'])
data2 = pd.read_csv('data/上证国债指数历史数据.csv', usecols=['日期', '收盘'])

#结果得到 
#data1的大小为 1312 rows× 2 columns 
#data2的大小为 929 rows× 2 columns 
#两者之间的日期并非是一一对应的,所以取数据较少的一方data2为参考,找出与其日期相应的data1数据

rate_data = pd.DataFrame() #国债收益率数据
future_data = pd.DataFrame() #期货价格数据

for i in range(len(data2)):  
    for j in range(100):  # 日期相同的数据索引可能会有差距,设置100的容错
        if (i+j) > len(data1):
            break
        if data2['日期'].iloc[i] == data1['日期'].iloc[i+j]:
            rate_data = rate_data.append(data2.loc[i])
            future_data = future_data.append(data1.loc[i+j])
            break

#对index逆序,使columns中的日期是按照时间顺序排列的
rate_data = rate_data.iloc[::-1,:]
future_data = future_data.iloc[::-1,:]

#求解两类数据的相关性
rate_data['收盘'].corr(future_data['收盘']) #结果为-0.88,表示存在极强负相关的关系

#用matplotlib绘图看看

d1 = (rate_data['收盘'] - rate_data['收盘'].mean())/rate_data['收盘'].std() #归一化
d2 = (future_data['收盘'] - future_data['收盘'].mean())/future_data['收盘'].std()

plt.plot(d1,label="rate")
plt.plot(d2, label="future")
plt.legend()
plt.savefig("走势图.jpg")
plt.show()

结果如图:
在这里插入图片描述
两者的pearson相关系数为 - 0.88 , 表示存在极强负相关的关系

相关系数相关性
0.8-1.0极强相关
0.6-0.8强相关
0.4-0.6中等程度相关
0.2-0.4弱相关
0.0-0.2极弱相关或无相关
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值