结合金融场景的Scipy模块编程

发布于:2024-07-24 ⋅ 阅读:(139) ⋅ 点赞:(0)

结合金融场景的Scipy模块编程

数据链接:https://pan.baidu.com/s/1VMh8-4IeCUYXB9p3rL45qw
提取码:c6ys

import numpy as np
import pandas as pd
import statsmodels
import matplotlib.pyplot as plt
from pylab import mpl
mpl.rcParams['font.sans-serif']=['FangSong']
mpl.rcParams['axes.unicode_minus']=False
P_BoComm=pd.read_excel('data/交通银行A股和H股每日收盘价数据(2018年至2020年).xlsx',sheet_name='Sheet1',header=0,index_col=0)

P_BoComm.plot(figsize=(9,6),grid=True, fontsize=13) # 股票可视化

在这里插入图片描述

R_BoComm=np.log(P_BoComm/P_BoComm.shift(1)) # 计算交通银行股票的对数收益率
R_BoComm.describe()

在这里插入图片描述

R_BoComm.isnull().any()

在这里插入图片描述

Index_dropna = R_BoComm.dropna()  # 直接删除
Index_dropna

在这里插入图片描述

import statsmodels.api as sma

Y = Index_dropna.iloc[:,-1]
X = Index_dropna.iloc[:,0]

X_addcons = sma.add_constant(X)

model = sma.OLS(endog=Y, exog=X_addcons)

result=model.fit()
result.summary()

在这里插入图片描述

plt.figure(figsize=(9,6))
plt.scatter(X,Y,c='b',marker='o')
plt.plot(X,result.params[0]+result.params[1]*X,'r-',lw=2.5)
plt.xticks(fontsize=13)
plt.xlabel('交通银行A股日收益率',fontsize=13)
plt.yticks(fontsize=13)
plt.ylabel('交通银行H股日收益率',fontsize=13)
plt.title('交通银行A股日收益率的散点图和线性拟合',fontsize=13)
plt.grid()
plt.show()

在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到