上市公司透明度综合评价

1.

# -*- coding: utf-8 -*-

# 读取反映上市公司透明度相关指标数据"data.xlsx",字段如下:

# 股票代码、会计期间、收益率、负债率、增长率、两权分离度、实际控制人性质、

# 高管持股数量、股东总数、兼任情况    、董事人数(规模)、独立董事人数

# 读取上市公司股票基本信息表"TRD_Co.xlsx",字段如下:

# 股票代码(Stkcd)、股票简称(Stknme)

# 任务如下:

# 1.对指标数据进行均值-方差标准化、主成分分析(累计贡献率在95%以上)并提取主成分

# 2.基于提取的主成分计算综合得分,综合得分=提取的主成分与其累计贡献率乘积之和、

# 3.返回综合排名,用序列Fscore2来表示,index为股票简称、值为综合得分

def return_values():

    import pandas as pd

    data=pd.read_excel('data.xlsx')

    data2=data.iloc[:,[0,2,3,4,5,6,7,8,9,10,11]]

    #data2=data2[data2>0]

    data2=data2.dropna()

    from sklearn.preprocessing import StandardScaler  

    X=data2.iloc[:,1:]

    scaler = StandardScaler()

    scaler.fit(X)

    X=scaler.transform(X)  

    from sklearn.decomposition import PCA

    pca=PCA(n_components=0.95)      #累计贡献率为95%

    Y=pca.fit_transform(X)            #满足累计贡献率为95%的主成分数据

    gxl=pca.explained_variance_ratio_   #贡献率

    import numpy as np

    F=np.zeros((len(Y)))

    for i in range(len(gxl)):

        f=Y[:,i]*gxl[i]

        F=F+f

       

    co=pd.read_excel('TRD_Co.xlsx')

    Co=pd.Series(co['Stknme'].values,index=co['Stkcd'].values)

    Co1=Co[data2['股票代码'].values]

    fs2=pd.Series(F,index=Co1.values)

    Fscore2=fs2.sort_values(ascending=False)   #降序,True为升序

    return Fscore2




 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JS74110

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值