股票相关性及归一化的涨跌幅收益率计算

1、打开数据源:

import pandas as pd
import numpy as np
df = pd.read_excel('gupiao1.xlsx')
print(df)

2、计算相关性矩阵:

df_corr = df.corr()
print(df_corr)  # 输出相关性矩阵

也可以用seaborn库输出好看的热力图::

为避免展示图的汉子出现乱码,先加上:

from matplotlib import font_manager as fm, rcParams
import matplotlib as plt
plt.rcParams['font.sans-serif']=['SimHei']

热力图:

import matplotlib.pyplot as plt
import seaborn as sns 
plt.figure(1)
sns.heatmap(df_corr, annot=True, vmax=1, square=True)  # 绘制df_corr的矩阵热力图
plt.show()  # 显示图片

 

 3、个股收益率分析;

定义函数

def show(df, axs=None):
    n = []
    drawer = plt if axs is None else axs
    for i in df.columns:  # 遍历列名
        if i != '日期':
            n.append(i)
            drawer.plot(100*(df[i]/df[i].iloc[0]-1))  # 归一化处理
    drawer.grid(True)   # 显示网格
    drawer.legend(n, loc='best')   # 图例标注

调用函数,输出图:

show(df)
plt.title('股票涨跌幅')
plt.xlabel('时间')  # x轴时间
plt.ylabel('收益率')  # y轴收收益率
plt.show()  # 显示图片

 

 

posted @ 2023-03-03 17:41  方木--数据分析与挖掘  阅读(163)  评论(0编辑  收藏  举报