![金色早报 | ENS考虑推出自 金色早报 | ENS考虑推出自](/uploads/allimg/c240208/1FI5F03Z010-13460.png)
金色早报 | ENS考虑推出自
书接上回,关于《用多因子模型构建强大的加密资产投资组合》系列文章中,我们已经发布了四篇:《理论基础篇》、《数据预处理篇》、《因子有效性检验篇》、《大类因子分析:因子合成篇》。
在上一篇中,我们具体解释了因子共线性(因子之间相关性较高)的问题,在进行大类因子合成前,需要进行因子正交化来消除共线性。
一、因子正交化的数学推导
从多因子截面回归角度,建立因子正交化体系。
所以,
二、三种正交方法的具体实现
1.施密特正交
施密特正交是一种顺序正交方法,因此需要确定因子正交的顺序,常见的正交顺序有固定顺序(不同截面上取同样的正交次序),以及动态顺序(在每个截面上根据一定规则确定其正交次序)。施密特正交法的优点是按同样顺序正交的因子有显式的对应关系,但是正交顺序没有统一的选择标准,正交后的表现可能受到正交顺序标准和窗口期参数的影响。
2.规范正交
# 规范正交 def Canonical(self):
overlapping_matrix = (time_tag_data.shape[ 1 ] - 1) * np.cov(time_tag_data.astype(float))
# 获取特征值和特征向量
eigenvalue, eigenvector = np.linalg.eig(overlapping_matrix)
# 转换为 np 中的矩阵
eigenvector = np.mat(eigenvector)
transition_matrix = np.dot(eigenvector, np.mat(np.diag(eigenvalue ** (-0.5))))
orthogonalization = np.dot(time_tag_data.T.values, transition_matrix)
orthogonalization_df = pd.DataFrame(orthogonalization.T, index = pd.MultiIndex.from_product([time_tag_data.index, [time_tag]]), columns=time_tag_data.columns)
self.factor_orthogonalization_data = self.factor_orthogonalization_data.append(orthogonalization_df)
3.对称正交
免责声明:数字资产交易涉及重大风险,本资料不应作为投资决策依据,亦不应被解释为从事投资交易的建议。请确保充分了解所涉及的风险并谨慎投资。OKEx学院仅提供信息参考,不构成任何投资建议,用户一切投资行为与本站无关。
和全球数字资产投资者交流讨论
扫码加入OKEx社群
industry-frontier