购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

0.9 数学、金融、统计相关

(66)有没有直接计算峰度和偏度的函数?

使用kurtosis函数和skewness函数可以直接计算峰度和偏度。

(67)如何构建线性回归模型?

使用lscov函数(或左除“\”运算)可以直接求解线性回归模型。lscov函数的简要用法如下:

img

lscov函数的返回值 x 是线性系统 A × x = b 的最小二乘解,即 x = A \ b ,见下例:

img

运行结果为:

img

(68)如何使用逐步回归?

参考Stepwise Regression函数,或者在MATLAB命令窗口中输入“stepwise”开启逐步回归GUI界面,如图0-10所示。

(69)如何做聚类分析?

K均值聚类算法可以用kmeans函数实现,具体算法过程在这里不详述,可以参考相关书籍,见下例:

img
img
img

图0-10 逐步回归GUI界面

运行结果为:

img

kmeans函数实现的效果图如图0-11所示。

img

图0-11 kmeans函数聚类样例

模糊C均值聚类算法可以用fcm函数实现,其语法格式如下:

img

用法如下:

img

输入变量:

img

输出变量:

img

具体实例如下:

img

运行结果为:

img
img

以上实例形成的效果图如图0-12所示。

img

图0-12 fcm函数聚类样例

(70)如何做主成分分析?

princomp函数可以进行主成分分析,具体过程可以参看下例:

img

运行结果如图0-13所示。

img

图0-13 ratings数据的box图

这里使用的是MATLAB自带的城市(cities)数据,里面的ratings数据是一个329×9的矩阵,表示329个城市的数据,每个城市有9个属性描述。上面是ratings数据的箱式图,下面使用princomp函数进行主成分分析。

img
img

代码运行结果如图0-14所示。

图0-14中的线表示累积变量解释程度,可以看出前7个主成分可以表示出原始数据的90%,所以在90%的意义下只需提取前7个主成分即可达到主成分提取的目的。下面进行一些结果的可视化:

img

图0-14 累积变量解释程度

img

运行结果如图0-15所示。

(71)如何对样本数据进行正态检验?

参考jbtest函数。MATLAB统计工具箱中主要的分布检验函数如下。

• jbtest:正态性的Jarque-Bera检验。

• kstest:单样本Kolmogorov-Smirnov检验。

• kstest2:双样本Kolmogorov-Smirnov检验。

• lillietest:正态性的Lilliefors检验。

(72)如何做配对t检验?

参考ttest、ttest2函数。MATLAB统计工具箱中主要的假设检验函数如下。

• ranksum:秩和检验。

• signrank:符号秩检验。

img

图0-15 主成分分析结果可视化

• signtest:符号检验。

• ttest:单样本t检验。

• ttest2:双样本t检验。

• ztest:z检验。

(73)多项式回归应该用什么函数?

使用polyfit函数可以进行多项式拟合,见下例:

img

运行结果为:

img

即最后求出的拟合多项式为-0.0931× x 3 -0.002× x 2 +0.8557× x +0.0041,拟合结果如图0-16所示。

img

图0-16 polyfit函数多项式拟合样例

(74)如何使用方差分析(ANOVA)?

方差分析的目的是确定在因素的不同处理(方法、变量)下,相应变量(类别、结果)的均值是否有显著差异。MATLAB提供了适用于单因素方差分析的函数anova1及双因素方差分析的函数anova2。

(75)logistic回归相关函数是什么?

logistic回归是关于相应变量为0-1定性变量的广义线性回归问题。在MATLAB中广义线性回归模型可以用glmfit函数实现,将广义线性回归模型的分布族设为二项分布(binomial)即可实现logistic回归,具体参看glmfit函数。

(76)如何做Decision Tree?

决策树(Decision Tree)学习是以实例为基础的归纳学习算法。该算法从一组无序的、无规则的事例中推理出决策树表示形式的分类规则,决策树也能表示为多个If-Then规则。一般在决策树中采用“自顶向下,分而治之”的递归方式,将搜索空间分为若干互不相交的子集,在决策树的内部节点(非叶子节点)进行属性值的比较,并根据不同的属性值判断从该节点向下的分支,在树的叶子节点得到结论。

MATLAB统计工具箱中的ClassificationTree.fit函数可实现基于训练集数据创建一个决策树分类器。

(77)Box-Cox如何变换?

参考boxcox函数。

(78)如何使用MATLAB进行生存分析?

参考coxphfit函数。

(79)如何利用MATLAB获取免费的金融数据?

MATLAB有一个数据获取工具箱(Datafeed Toolbox),用于从主要的金融数据提供商处获取当天、历史和实时的金融数据。将金融数据与MATLAB集成起来,用户可开发实时模型反映当前金融市场行为。这个工具箱也提供导出MATLAB数据到数据服务提供商的函数,用户可建立从MATLAB到数据服务提供商提供的历史数据或者预定实时数据流的连接。证券查找对话框可以使工程师在MATLAB环境中查找指定证券的代码(仅针对Bloomberg)。工程师可以使用证券的简要缩写码和代码来表示一只证券。

Datafeed Toolbox支持如下的金融数据服务提供商:

• Bloomberg ®

• eSignal。

• Factset ®

• Federal Reserve Economic Data(FRED)。

• Haver Analytics。

• Interactive Data。

• Kx Systems ®

• Reuters ® Market Data System。

• Thomson ® Datastream。

• Yahoo! ® Finance。

其中,雅虎财经(Yahoo! Finance)的数据接口是完全免费的,可以从雅虎财经下载全球的股票与期货数据进行建模测试。比如下载中国股市的数据,只需知道相应股票的代码(在Yahoo! Finance中上海证券交易所股票代码后需要加一个“.SS”,深圳证券交易所股票代码后需要加一个“.SZ”)。见下例,获取三友化工(600409.SS,Sanyou Chemical)在某一时段的股票日收盘数据:

img

运行结果为:

img

上述操作也可以在Datafeed Toolbox GUI界面上完成。在MATLAB命令窗口中输入“dftool”可以调出Datafeed Toolbox GUI界面,如图0-17所示。

img

图0-17 Datafeed Toolbox GUI界面

(80)利用MATLAB可以实现支持向量机(SVM)模型吗?

较新版本的MATLAB中有svmtrain、svmclassify等函数可以实现SVM,但笔者推荐使用LibSVM工具箱,其能更方便、自由地实现SVM模型。

更多关于SVM的理论和应用方面的知识可以查看下面的免费视频链接进行学习:

《支持向量机(SVM)相关免费学习视频集锦》,MATLAB技术论坛。

(81)如何计算一个资金流的最大回撤?

根据最大回撤的定义,设Equity为资金流,在索引(下标)Index处可以找出之前的资金流的最大值,设该最大值为Max。如果Index处的资金流为最大值,则Index处的最大回撤为0;否则Index处的最大回撤为(Equtity(Index)-Max)/Max。

下面的RetraceRatio.m函数可以实现最大回撤的计算:

img

下面使用该函数计算某一资金流(权益)的最大回撤,见下例:

img
img

运行结果如图0-18所示。

img

图0-18 最大回撤图形展示 ihBtwg3SQp1HQIaX+fIOVjbJZsNhEeY/Pelk7W2vtbKHobr9ioNvLYZhB97WE5EW

点击中间区域
呼出菜单
上一章
目录
下一章
×