[茶思]资产的分类方法

资产类别(asset class),是指一群具有相似特性或遵循相同监管规定的投资品。这一定义中,未指明“相似”是多么相似,也未说明“特性”或“监管规定”具体指什么,因为显然按照不同角度以及不同的标准,资产类别可以有多种具体的定义和分类方法。

为什么要考虑资产分类这一问题?

资产分类是投资研究中的一个必要过程。

首先,通过聚类,对研究范围进行简化,更容易抓住主线逻辑。

第二,通过找出投资标的之间的相似性,可以对投资标的的性质以及价格驱动因素有初步的了解。

第三,进行资产分类后可以投资于每一类别中的典型品种,简化了交易过程。

由于资产分类标准的多元性,以及在投资过程中应当根据策略需求划分合适的资产类别,因此有针对性地进行资产分类是有必要的。例如,在运用宏观经济研究能力进行大类资产配置时,资产类别的划分应体现受宏观经济因素驱动的特性,而在进行中高频交易时,资产类别的划分应体现受流动性和市场博弈因素影响的特性。

资产类别划分思路

一种最为常见的大类资产划分方法,即将资产分为:权益类、固定收益类以及大宗商品,有时候还会加上“另类投资品”(可以视为“其他”类,常以房地产信托投资基金为代表)。这种分类方式既然被冠以“大类”的定语,自然十分粗糙。

回归本源,资产分类应当以资产价格走势的相似性为基准。视标准要求严格程度的不同,可分为最为粗放的“大类资产”,也可精细至每项投资品都是单独的分类。

且由于“相似性”是可以随着时间变化的,如果允许资产类别内的成份随着时间而调整,那么可以产生十分简化的分类集合。例如,一般权益类资产是根据公司所属行业进行分类的,但如果允许动态调整,那么可以根据Fama and French (1993) 或Fama and French (2015)将权益资产大致分为3类或5类,同样有很高的代表性。

进一步将思路打开,可以意识到资产分类的流程中应当允许资产重构——将资产进行组合、拆分等等操作并创造出新的资产。例如,可以通过信用债和利率债的组合创造CDS,它对企业的偿债能力有更好的代表性。

1. 基于时间序列的相似性

这是一种从数据出发的思路。

笔者本以为这种思路在机器统计学和机器学习领域有很多经典且广泛应用的算法,然而稍微查询后却发现方法并不多。有人指出,时间序列中蕴含的信息包括了每个位置上值的信息,以及序列形状的信息,因此较向量数据更为复杂。

一种常被提到的方法是用DTW(Dynamic Time Warping)定义时间序列之间距离,再用k-NN(k=1)算法做时间序列聚类,然而这种方法的算力消耗较大。

Python中用于时间序列机器学习的软件包tslearn中提供了三种聚类方法,可供参考,分别是:GlobalAlignmentKernelKMeans,KShape,以及TimeSeriesKMeans。

另一种思路是数据降维算法。典型的算法是PCA(主成分分析),应用这种算法的前提是允许资产重构。

网络博主Pulkit Sharma总结了12种常见的数据降维算法,分别是:

  1. Missing Value Ratio
  2. Low Variance Filter
  3. High Correlation Filter
  4. Random Forest
  5. Backward Feature Elimination
  6. Forward Feature Selection
  7. Factor Analysis
  8. Principal Component Analysis
  9. Independent Component Analysis
  10. Methods Based on Projections
  11. t-Distributed Stochastic Neighbor Embedding (t-SNE)
  12. UMAP

具体的算法解释以及Python代码可参考博客原文或者博客翻译

2. 基于资产价格的驱动因素

这是一种从逻辑出发的思路。

从逻辑出发,检查大类资产分类中权益、固收和大宗商品之间的差异。根据其定价原理,权益价格是企业未来收益的折现,债券价格是无风险的现金流加上违约、流动性等风险带来的溢价,大宗商品价格则是供求关系的均衡。由于价格决定机制的不同,可以出现“商品价格涨,股价跌”、“股价涨,债券跌”等任意组合的情况。例如在完全竞争市场中,企业生产原料价格上涨导致产品价格上涨,这种情况下商品价格上涨,但企业的利润空间被压缩因而股票价格会下跌。又如企业通过风险投资向新型商业模式转型的情况下,由于新模式的定价水平高,企业的股价有所提升,同时由于企业的现金流水平不确定性提高,企业的债券违约风险也有所上升。

然而很难有一种“界限分明的逻辑”。比如房地产行业和家电行业的股票,虽说是两个不同行业,但都受到所谓地产经济周期的驱动。随着经济环境的改变,不同类别资产之间的关系也会时而分明时而紧密地变化。

深究的话,无论是时间序列数据之间距离的度量,还是逻辑概念,都有本质上的模糊不清。不同资产分类方法得到的结果,可以是相似的,同时又微妙地不同。

按照稍微精细一些的产业逻辑或市场划分,则大宗商品和固定收益资产可以划分为以下类别:

  • 大宗商品,包括:贵金属、能源、黑色系金属、有色系金属、化工品、农产品
  • 固定收益证券,包括:资金市场、利率债、信用债

但权益类资产的划分远没有这样简单。行业内常采用的权益资产分类标准均是基于行业的,国际上的常用标准包括SIC/NAICS和GICS,国内的常用标准包括证监会行业分类标准、Wind行业分类标准和申万行业分类等,具体情况如下:

  • SIC的全称为Standard Industrial Classification,由美国于1937年设立。该套标准被美国政府用于对产业活动进行分类,后来被英国等其他国家广为使用。1997年美国政府推出了用于替代SIC的NAICS(North American Industry Classification System),但许多机构,包括美国的SEC(Securities and Exchange Commission)仍在使用SIC分类标准。
  • GICS全称为Global Industry Classification Standard,由MSCI公司和标准普尔公司于1999年开发。GICS的开发初衷就是供金融团体使用,实践中很多人也认为更适合应用于投资分析。
  • 证监会行业分类标准是我国的官方标准。这套标准的结构类似SIC,更偏向于从经济活动的角度进行划分。实际上做投资分析时不大使用这个标准,总是有别扭的地方,比如制造业包含的股票数量太多,导致这一大类没有代表性。
  • Wind行业分类标准由我国著名的金融讯息服务商Wind资讯开发。检视细节就会发现其主要参考了GICS,当然也是有一些区别的。鉴于Wind数据库在国内金融业的广泛使用,笔者观察Wind行业分类也是国内应用最广的一种标准。
  • 申万行业分类由申银万国研究所推出。由于申万研究所在我国证券研究领域曾经有很高地位,这套分类方法也曾得到广泛使用。笔者翻看过其分类标准的说明文件,感到还是比较严谨的。这套分类标准的特点,首先是偏向于从生产者角度出发划分产业(GICS偏向从消费者角度出发,当然这种角度没有绝对),其次一级分类的类目比较多。申万分类现在使用者比例下降,原因一是从推广渠道方面天然地难以与Wind这种数据平台相竞争,二是指标更新和平台维护相对落后(网站很丑),三是笔者认为这套分类方法还是不如Wind的标准好用(所以说,会抄,真的也可以……)

相比较而言,笔者更倾向于使用GICS和Wind标准来划分国内外上市公司的类别。但任何分类标准都是有缺点的,这取决于使用环境。例如,从产业链的角度讲,建材与房地产开发分别属于房地产行业的上下游,但在Wind行业分类中,建材属于材料行业,而房地产开发属于房地产行业,未能直接体现出其产业关系。

笔者采用的资产分类体系及代表品种

笔者采用的资产分类体系(中国)及代表品种(括号中是其Wind代码)如下:

  • 大宗商品
    贵金属:黄金(GC.CMX)
    能源:原油(CL.NYM),动力煤(ZC.CZC)
    黑色系金属:螺纹钢(RB.SHF)
    有色系金属:铜(CU.SHF),锌(ZN.SHF)
    化工品:PTA(TA.CZC),甲醇(MA.CZC),玻璃(FG.CZC)
    农产品:豆粕(M.DCE),豆油(Y.DCE),白糖(SR.CZC),鸡蛋(JD.DCE),棉花(CF.CZC)
  • 固定收益证券
    资金市场:FDR007(M0329547),DR007(M0041653),SHIBOR1W(M0017139)
    利率债:国债1Y(S0059744),国债5Y(S0059747),国债10Y(S0059749)
    信用债:企业债AAA1Y(S0059771),企业债AAA5Y(S0059774),企业债AAA10Y(S0059776)
  • 权益类证券
    能源:综合性石油天然气指数(882402.WI),煤炭与消费用燃料指数(882571.WI)
    材料:化工指数(882202.WI)
    工业:航天航空与国防指数(882420.WI),电气设备指数(882210.WI),工业机械指数(882427.WI),商业和专业服务指数(882103.WI),运输指数(882104.WI)
    消费:食品、饮料与烟草指数(882111.WI),家庭与个人用品指数(882112.WI),汽车指数(882221.WI),纺织品、服装与奢侈品指数(882224.WI),休闲设备与用品指数(882223.WI),酒店、度假村与豪华游轮指数(882457.WI),教育服务指数(882574.WI),媒体Ⅱ指数(882108.WI),零售业指数(882109.WI)
    医疗保健:医疗保健指数(882006.WI)
    金融:银行指数(882115.WI),保险Ⅱ指数(882117.WI),多元金融指数(882116.WI)
    信息技术:技术硬件与设备指数(882120.WI),软件与服务指数(882119.WI)
    电信服务:电信服务指数(882009.WI)
    公用事业:公用事业指数(882010.WI)
    房地产:房地产指数(882011.WI)

其中权益类证券的分类主要参考了Wind行业分类标准并进行了删减。

资产分类体系代表性的验证

在选用资产分类方法时,常面临两难的处境——一方面我们希望分类体系尽可能简洁,另一方面又希望分类指数或代表型品种能够尽可能地解释其他所有资产类别的价格变化。简洁是很容易做到的,这里主要举例说明如何衡量分类体系的“解释能力”。

对于单一回归方程,R2可在一定程度上作为解释能力的代表。我们对每项资产进行回归,并将R2的平均值作为资产分类体系(解释变量)的解释能力的取值。具体代码如下:

import pandas as pd

# 样本时间为2019-10-08到2020-01-21
# 被解释变量包含商品期货、债券利率和股票等共3719项资产
# 解释变量共49个变量
dfy = pd.read_excel("yvariables.xlsx")
dfx = pd.read_excel("xvariables.xlsx")
dfy = dfy.fillna(method='ffill')
dfx = dfx.fillna(method='ffill')
npy = dfy.drop('Date',axis=1).values
npx = dfx.drop('Date',axis=1).values

from sklearn import linear_model

leny=len(npy[0])
# 这里直接取超参为0.1
clf = linear_model.Lasso(alpha=0.1)
r2list = []
for i in range(leny):
    clf.fit(npx, npy[:,i])
    esty = clf.predict(npx)
    tss = sum((npy[:,i] - npy[:,i].mean())**2)
    if(tss==0):
        r2 = 0
    else:
        rss = sum((esty - npy[:,i])**2)
        r2 = 1 - rss/tss
    r2list.append(r2)

# 总体解释能力是体系指标对每个资产R方的平均值
print(sum(r2list)/len(r2list))

结果显示,样本时间内我们指标体系的代表性或解释能力为51.7%。

但需要注意的是,我们使用了Lasso,利用R2作为解释能力的指标并不完全合适。

R2的计算及其问题:

回归方程中,TSS(Total Sum of Squares)反映全部数据误差大小的平方和,ESS(Explained Sum of Squares)反映自变量与因变量之间的相关程度的偏差平方和,RSS(Residual Sum of Squares)是残差的平方和。具体公式如下:
\[
\begin{align}
TSS=\Sigma(y_i-\bar{y})^2 \ESS=\Sigma(\hat{y_i}-\bar{y})^2 \RSS=\Sigma(\hat{y_i}-y_i)^2
\end{align}
\]
R2的算式如下:
\[
R^2=1-RSS/TSS
\]
显然上式小于等于1,且如果等于1,说明方程的预测值和观测值均相等。但R2大于等于0需要一定的前提条件。
\[
\begin{aligned}
TSS &= \Sigma(y_i-\bar{y})^2 \&= \Sigma(y_i-\hat{y_i}+\hat{y_i}-\bar{y})^2 \&= \Sigma(e_i)^2 + 2\Sigma e_i(\hat{y_i}-\bar{y}) + \Sigma(\hat{y_i}-\bar{y})^2 \&= RSS + ESS +2\Sigma e_i(\hat{y_i}-\bar{y})
\end{aligned}
\]
由于在OLS回归中,残差项求和为0,且残差项与预测值线性不相关,因此有

TSS=RSS+ESS

这在Lasso或其他一般的回归模型中基本都不成立。

原文地址:https://www.cnblogs.com/teaforinvestors/p/12229574.html

时间: 2024-10-29 11:48:29

[茶思]资产的分类方法的相关文章

机器学习实战读书笔记(四)基于概率论的分类方法:朴素贝叶斯

4.1 基于贝叶斯决策理论的分类方法 朴素贝叶斯 优点:在数据较少的情况下仍然有效,可以处理多类别问题 缺点:对于输入数据的准备方式较为敏感 适用数据类型:标称型数据 贝叶斯决策理论的核心思想:选择具有最高概率的决策. 4.2 条件概率 4.3 使用条件概率来分类 4.4 使用朴素贝叶斯进行文档分类 朴素贝叶斯的一般过程: 1.收集数据 2.准备数据 3.分析数据 4.训练算法 5.测试算法 6.使用算法 朴素贝叶斯分类器中的另一个假设是,每个特征同等重要. 4.5 使用Python进行文本分类

《机器学习实战》学习笔记:基于朴素贝叶斯的分类方法

概率是许多机器学习算法的基础,在前面生成决策树的过程中使用了一小部分关于概率的知识,即统计特征在数据集中取某个特定值的次数,然后除以数据集的实例总数,得到特征取该值的概率. 目录: 一.基于贝叶斯理论的分类方法 二.关于朴素贝叶斯的应用场景 三.基于Python和朴素贝叶斯的文本分类 1.准备数据 2.训练算法 3.测试算法 四.小结 以下进入正文: 一.基于贝叶斯理论的分类方法 假设有两类数据组成的数据集如下: 其中,假设两个概率分布的参数已知,并用p1(x,y)表示当前数据点(x,y)属于类

关于 JavaFX ——我对通过代码写 UI界面的层级式分类方法

前言:在我的另一篇文章“我对 Java 标志符的命名方法”中有提到:对于返回控件的方法我是使用类似:W_borderPane() 的方式编写的. 现在我提出一种通过代码编写 UI 界面的层级式分类方法: 示例代码: // 根容器 private static BorderPane W_borderPaneBasis(){ // 创建 BorderPane _borderPaneBasis = new BorderPane(); // #自我定义 _borderPaneBasis.setBackg

第四章:基于概率论的分类方法: 朴素贝叶斯

本章内容□使用概率分布进行分类□学习朴素贝叶斯分类器□解析RSS源数据口使用朴素贝叶斯来分析不同地区的态度 前两章我们要求分类器做出艰难决策,给出“该数据实例属于哪一类”这类问题的明确答案.不过,分类器有时会产生错误结果,这时可以要求分类器给出一个最优的类别猜测结果,同时给出这个猜测的概率估计值.       概率论是许多机器学习算法的基础,所以深刻理解这一主题就显得十分重要.第3章在计算特征值取某个值的概率时涉及了一些概率知识,在那里我们先统计特征在数据集中取某个特定值的次数,然后除以数据集的

CSS规范 - 分类方法

CSS文件的分类和引用顺序 通常,一个项目我们只引用一个CSS,但是对于较大的项目,我们需要把CSS文件进行分类. 我们按照CSS的性质和用途,将CSS文件分成"公共型样式"."特殊型样式"."皮肤型样式",并以此顺序引用(按需求决定是否添加版本号). 公共型样式:包括了以下几个部分:"标签的重置和设置默认值"."统一调用背景图和清除浮动或其他需统一处理的长样式"."网站通用布局".&q

机器学习四 -- 基于概率论的分类方法:朴素贝叶斯

基于概率的分类方法:朴素贝叶斯 贝叶斯决策理论 朴素贝叶斯是贝叶斯决策理论的一部分,所以在讲解朴素贝叶斯之前我们先快速简单了解一下贝叶斯决策理论知识. 贝叶斯决策理论的核心思想:选择具有最高概率的决策.比如我们毕业选择就业方向,选择C++方向的概率为0.3,选择Java的概率为0.2,选择机器学习的概率为0.5.那么我们就把这样的一位毕业生就业方向归类为机器学习方向. 条件概率 什么是条件概率?事件A在另一个事件B已知发生条件下的发生概率,记为P(A|B),读作“在B条件下A的概率”. 例子1:

VQ结合SVM分类方法

今天整理资料时,发现了在学校时做的这个实验,当时整个过程过重偏向依赖分类器方面,而又很难对分类器本身性能进行一定程度的改良,所以最后没有选用这个方案,估计以后也不会接触这类机器学习的东西了,希望它对刚入门的人有点用. SVM比较适合高维数据的二分类,本来准备对语音特征直接用SVM进行二分类,但是发现样本数据比较多,训练的2天都没有出收敛,最后想用VQ聚类的方法先抽取出具有代表性的语音,但是用这些代表性的训练集训练SVM分类器,效果还可以,用了一个下午就收敛了.识别结果还行,比较差的情况下,也有8

详解五大分类方法及其优缺点,数据挖掘师必会!

分类算法是一种在专家指导下的,有监督的数据挖掘方法,其种类很多,包括: 传统方法:线性判别法.距离判别法.贝叶斯分类器: 现代方法:决策树.神经网络ANN.支持向量机SVM: 1.决策树 决策树学习是以实例为基础的归纳学习算法,它着眼于从一组无次序.无规则的实例中,推理出以决策树表示的分类规则. 2.贝叶斯 贝叶斯(Bayes)分类算法是一类利用概率统计知识进行分类的算法,如朴素贝叶斯(Naive Bayes)算法 这些算法主要利用Bayes定理,来预测一个未知类别的样本属于各个类别的可能性,选

基于概率论的分类方法:朴素贝叶斯算法实践学习

      关于本文说明,本人原博客地址位于http://blog.csdn.net/qq_37608890,本文来自笔者于2017年12月12日 13:03:46所撰写内容(http://blog.csdn.net/qq_37608890/article/details/78738552).             本文根据最近学习机器学习书籍 网络文章的情况,特将一些学习思路做了归纳整理,详情如下.如有不当之处,请各位大拿多多指点,在此谢过.          通过前两篇文章,我们对于k-近