system: [SYSTEM]

user: 2. 数据预处理 2.1. 数据来源 本文选用的数据来自锐思数据库，选择上海交易所从2002年12月31号到2019年12月31号的200家公司季度财务数据和交易数据。文章选取了32个变量，其中31个候选因子，选取股票的市场投资的季收益率作为目标变量，即预测变量。所选的候选因子包括8类指标，有每股指标，盈利能力，偿债能力，成长能力指标，营运能力指标，现金流量指标，资本结构指标和价值指标。具体候选因子见表1： Table 1 Candidate factor 类型 因子名称 每股指标 每股净资产、每股营业收入、每股收益、每股营业利润 盈利能力指标 资产报酬率、资产净利率、净利润/营业收入、营业利润率、营业利润/营业总收入、 营业总成本/营业总收入 偿债能力指标 流动比率、速动比率、产权比率、现金流动负债比 成长能力指标 每股经营活动现金流量增长率、净资产收益率、营业收入增长率、营业利润增长率、净利润增长率 营运能力指标 存货周转率、应收账款周转率、非流动资产周转率、总资产周转率 现金流量指标 总资产现金回收率 资本结构指标 资产负债率、流动资产/总资产、权益乘数 价值指标 成交量、市盈率、市净率、市销率 表1. 候选因子 2.2. 数据处理 在获取数据中存在空缺值，数据量纲不统一等问题，为此对其进行预处理，以便模型的预测。数据预处理的方法包括缺失值处理和归一化处理。缺失值处理是用前后两个值的平均值进行填充。归一化处理的公式如下： x i j ¯ = x i j − x i min x i max − x i min 其中 x i j 是第i行第j列的真实值， x i min ， x i max 分别是这一列的最小值和最大值。 2.3. 因子得分 由Fama和French的多因子模型，因子得分是根据因子收益率沿着一个或者多个因子的维度，将股票分成不同的部分，根据这些维度计算出整个市场不同部分的收益率，其差值即为因子得分。 2.3.1. 五因子得分 Fama和French五因子的因子得分计算过程如下(以市值因子SMB t 为例)： 根据Fama-French [ 2 ] 中所使用的2 × 3方法构建因子，沿着两个因子维度，将股票分为2 × 3 = 6个组合。其中一个因子固定为规模，按照中位数分为两层，另外一个为BP (账面市值比)、OP (营运利润率)或者INV (投资风格)，按照30%、70%分位点分为3层。具体构建步骤如下： 1) 按股票市值的中位数把全体股票分成小市值(S)和大市值(B)两组。 2) 按账面市值比的30%和70%分位点把样本分成高(H)、中(N)、低(L)三组，将两个指标交叉，可把全体分成SH，SN，SL，BH，BN，BL共6个组合。 3) 用同样的方法，以营运利润率和投资风格代替账面市值比，用稳健(R)、集中(N)、较弱(W)来划分盈利能力、用保守(C)、居中(N)、激进(A)来划分投资风格，可把全体分为12个组合。SR，SN，SW，BR，BN，BW和SC，SN，SA，BC，BN，BA。 4) 计算上述各组合每一期的市值加权平均季收益率，接着计算因子得分，具体公式如表2。 估值因子HML t 、盈利因子RMW t 和投资因子CMA t 构建方法类似市值因子，公式如表2。 Table 2 Five-factor calculation metho 因子名称 计算方法 市值因子SMB t S M B B M = S H + S N + S L 3 − B H + B N + B L 3 S M B O P = S R + S N + S W 3 − B R + B N + B W 3 S M B I N V = S C + S N + S A 3 − B C + B N + B A 3 S M B t = S M B B M + S M B O P + S M B I N V 3 估值因子HML t H M L t = B H + S H 2 − B L + S L 2 盈利因子RMW t R M W t = B R + S R 2 − B W + S W 2 投资因子CMA t C M A t = B C + S C 2 − B A + S A 2 表2. 五因子计算方法 2.3.2. 本文选取的31个因子得分 与Fama-French五因子得分计算原理相似，不同之处是五因子是从两个或两个以上维度来计算因子得分，而这31个因子的得分是从一个维度来计算的，下面以净资产收益率(ROE)为例说明因子得分的具体计算步骤： 1) 按净资产收益率的30%和70%分位点把样本分成高(H)、中(N)、低(L)三组，可把全体公司分成H， N， L共3个组合。 2) 计算上述各组合每一期的市值加权平均季收益率，高组的市值加权平均季收益率减去低组的市值加权平均季收益率，具体公式如下： R O E t = H − L 同样的步骤和方法计算每一季度的其他30个因子的得分。计算公式如下： E L S E t = H − L 2.4. 筛选因子 为减轻模型的复杂度，根据Fama-French多因子分析方法 [ 15 ] [ 16 ]，按照规模–估值，规模–盈利，规模–投资三种维度将所有股票分成3个5 × 5宫格的资产组合，每一个宫格内股票的季收益率都会形成一个时间序列，把它作为回归的因变量，由2.3.2计算出来的31个因子得分也是时间序列，以它们分别作为回归的自变量，做一元回归，利用回归的t，p值筛选因子。 1) 按照规模–估值筛选 我们构造了规模–估值的5 × 5宫格的资产组合，其时间序列作为因变量，构造的31个因子的得分时间序列作为自变量，对25个宫格的时间序列分别对每一个因子进行单因子回归，会得到p值和t值，如果25个宫格的时间序列和某个因子回归得到的p值大于0.05的宫格个数大于90%，则保留该因子，否则剔除该因子，按照规模–估值分组回归得到的t值和p值如表3： Table 3 The t and p values of factor regressio 第1个因子的t值(左)和p值(右) Small 2 3 4 Big Small 2 3 4 Big Low −8.371 −10.378 −8.544 −7.888 −10.044 Low 0.000 0.000 0.000 0.000 0.000 2 −6.528 −5.725 −7.177 −8.566 −8.303 2 0.000 0.000 0.000 0.000 0.000 3 −6.063 −8.168 −7.050 −5.338 −7.292 3 0.000 0.000 0.000 0.000 0.000 4 −5.377 −4.533 −6.799 −5.440 −6.994 4 0.000 0.000 0.000 0.000 0.000 High −0.997 −2.407 −3.231 −1.953 −3.773 High 0.322 0.018 0.002 0.055 0.000 第2个因子的t值(左)和p值(右) Small 2 3 4 Big Small 2 3 4 Big Low −3.896 −4.431 −4.424 −4.799 −4.241 Low 0.000 0.000 0.000 0.000 0.000 2 −4.735 −4.989 −3.991 −5.584 −4.645 2 0.000 0.000 0.000 0.000 0.000 3 −3.071 −4.104 −3.468 −3.195 −4.622 3 0.003 0.000 0.000 0.002 0.000 4 −2.408 −2.279 −4.298 −3.001 −4.082 4 0.018 0.025 0.000 0.003 0.000 High −0.810 −1.165 −1.632 −0.975 −1.771 High 0.420 0.247 0.107 0.333 0.080 …… …… 第31个因子的t值(左)和p值(右) Small 2 3 4 Big Small 2 3 4 Big Low 0.333 0.816 0.778 1.501 −0.604 Low 0.739 0.417 0.438 0.138 0.547 2 0.664 0.917 1.122 0.194 −0.469 2 0.508 0.362 0.265 0.846 0.640 3 1.276 −0.092 3.907 2.252 0.375 3 0.206 0.926 0.000 0.027 0.708 4 2.437 2.251 2.141 1.702 1.672 4 0.017 0.027 0.036 0.093 0.099 High 3.227 2.968 4.753 4.374 4.186 High 0.001 0.001 0.000 0.000 0.000 表3. 因子回归的t，p值 由于因子比较多，表2仅列举了三个因子，根据因子筛选规则，第一个因子给与保留，第二个因子舍去，第三十一个因子也舍去。按照规模–估值筛选最终保留了每股净资产、资产报酬率、资产净利率等12个因子。 2) 按照规模–盈利筛选 同1) 按照规模–估值的筛选方法一样，按照规模–盈利筛选最终保留了营业利润/营业总收入、每股净资产、资产报酬率等13个因子。 3) 按照规模–投资筛选 同1) 按照规模–估值的筛选方法一样，按照规模–投资筛选最终保留了每股营业收入、营业利润/营业总收入、每股净资产、资产报酬率等14个因子。 综上，选取1) 2) 3) 中筛选之后的共同因子作为预测因变量。见表4： Table 4 Selected factor 类型 因子名称 每股指标 每股净资产 盈利能力指标 资产报酬率、资产净利率、净利润/营业收入、营业利润/营业总收入、 营业总成本/营业总收入、营业利润率、 偿债能力指标 产权比率 成长能力指标 营业收入增长率 营运能力指标 总资产周转率 价值指标 成交量、市盈率 表4. 选取的因子 2.5. 因子分析 为了进一步降低模型复杂度，这里选择因子分析继续降维.因子分析是通过减少因子之间的相关性，将高维变量变成低维变量，因子分析的具体步骤如表5： Table 5 Factor analysis step 因子分析步骤 1) 输入原变量x的观测数据阵并对其标准化，记之为X； 2) 求x的子样相关阵 R = 1 N X ′ X ； 3) 求R的特征值 λ 1 ≥ ⋯ ≥ λ m 及相应的单位特征向量 u 1 ， ⋯ ， u m ； 4) 确定公共因子的个数k值； 5) 计算初始因子载荷阵 A = ( a 1 ， ⋯ ， a k ) ； 6) 计算共同度 H = ( h 1 2 ， ⋯ ， h m 2 ) ， h i 2 = ∑ a i j 2 ， i = 1 ， ⋯ ， m ； 7) 求正交(旋转)因子解—因子的正交旋转； 8) 计算因子得分，如可求 R − 1 从而得因子得分矩阵。 表5. 因子分析步骤 根据筛选后的12个因子和Fama-French的五因子，对17个因子进行因子分析，得到五个因子，本文选取因子分析后的五个因子，再添加市场因子，一共六个因子对本篇文章进行分析说明。通过因子分析方法得到的五因子旋转矩阵如表6： Table 6 Factor rotation matri 第一因子 第二因子 第三因子 第四因子 第五因子 每股净资产 0.8546 −0.1661 −0.1327 −0.0378 0.2638 资产报酬率 0.9397 −0.0602 −0.0964 −0.1717 0.1511 资产净利率 0.9275 −0.0764 −0.0082 −0.2999 0.0474 净利润/营业收入 0.9175 −0.0085 −0.1336 −0.1377 0.2643 营业利润/营业总收入 0.9194 −0.1155 −0.1628 −0.1373 0.2260 营业总成本/营业总收入 −0.8903 0.2071 0.1316 0.1059 −0.2955 营业利润率 0.9193 −0.1158 −0.1628 −0.1366 0.2266 产权比率 −0.2723 0.3215 0.0112 0.8035 −0.0221 营业收入增长率 0.7169 −0.3767 0.0865 0.1865 −0.0972 总资产周转率 −0.2014 0.0668 0.1746 0.1886 −0.8693 成交量 −0.1262 0.9099 −0.1377 0.1748 −0.1281 市盈率 −0.5514 0.0906 0.7429 0.1749 −0.0432 市场因子 −0.2784 0.6276 0.3230 0.4385 −0.3455 市值因子 −0.8721 0.0313 0.1926 −0.0184 0.2257 估值因子 0.0089 0.1075 −0.9438 0.0305 0.0561 投资因子 0.1883 −0.3221 0.1678 0.4058 0.6643 盈利因子 0.8588 −0.1425 0.0326 −0.0629 0.0866 表6. 因子旋转矩阵 表3中做标记的是权重相对于较大的因子，绝对值都超过了0.8。对于第一个因子，每股净资产、资产报酬率、资产净利率、净利润/营业收入、营业利润/营业总收入、营业总成本/营业总收入、营业利润率、等对应的因子权重较大，由于这些因素跟盈利能力指标关联较大，因此可以称之为盈利能力因子，同样的道理可以称第二因子为价值指标因子，第三因子就称为估值因子，第四因子称为偿债能力因子，第五个因子就称为营运能力因子。由此得到五个新的市场特征(因子)，它们和市场因子(指数)一起将作为预测模型的选择特征。 2.6. 模型评估 为了对模型的预测结果进行评估，本篇文章选用了MAPE和RMSE来评价模型的预测能力： MAPE = 1 N ∑ i = 1 N | real − predict real | RMSE = 1 N ∑ i = 1 N ( real − predict ) 2 其中real是真实值，predict是预测值。