新人,记录一下每一个经手的方法模型
背景
本文从4个维度选取9个主要财务指标对7家公司进行因子分析,主要采用因子分析对目前公司进行综合排名,进而对公司的授信额度进行考核。
注:本文是针对指定业务进行分析,因子分析过程有部分删改,请注意结合其他参考文献使用,因数据涉及隐私,故不公布,如需数据请按照样本数量及维度数量自行编写
指标
评估公司基本状况最为核心的财务指标就是公司的偿债能力、营运能力、盈利能力和发展能力。由此本文选取9个指标作为最能反映这些能力的指标进行分析(净资产收益率 总资产报酬率 速动比率 流动比率 存货周转率 应收账款周转率 总资产增长率 销售利润率 资产负债率)
因子分析流程
- 获取数据
- 数据标准化
- 充分性检测(Adequacy Test)
- 协方差矩阵(相关系数矩阵)
- 特征值&特征向量
- 主成分个数(因子个数)
- 方差,贡献率,累计贡献率
- 因子分析
所需python函数库
#导入python所需要的库及函数包
import numpy as np
import pandas as pd
from sklearn import preprocessing
from sklearn.decomposition import PCA
from sklearn.preprocessing import MinMaxScaler,StandardScaler
import math as math
from numpy import *
import numpy.linalg as nlg
from factor_analyzer import factor_analyzer,Rotator
from factor_analyzer import FactorAnalyzer, calculate_kmo, calculate_bartlett_sphericity
获取数据
由于本人使用的文本文件里面是以逗号分隔符形式存储的,因此直接使用read_csv读取文件
#打开指定路径的文件(文件名可以包含中文字符)
file = open(r'C:\Users\file.txt', encoding = 'utf-8')
#添加列名
names = []
#读取数据,以数据框的形式展现数据
DF1 = pd.read_csv(file , names = names , sep = ' ')
#将数据框形式的数据 转换成以列表的形式 展现 , 便于计算
#将公司名称去除,便于建模
DF2 = DF1.drop(['公司名称'],axis = 1)
#将数据框形式的数据 转换成以列表的形式 展现 , 便于计算
data = DF2.values
#数据以非科学计数法展示
np