Chinaunix首页 | 论坛 | 博客
  • 博客访问: 89696
  • 博文数量: 29
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 225
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-20 00:00
个人简介

一杯茶,品人生沉浮;平常心,遍万千世界。 农夫,山泉,有点田儿。

文章存档

2013年(1)

2010年(3)

2009年(1)

2007年(2)

2006年(22)

我的朋友

分类: 数据库开发技术

2006-04-28 17:00:01

一、前言
数据挖掘(Datamining)或称为知识发现已经成为许多使用者从浩如烟海般的数据中提取有用信息,并赢得竞争胜利的第一号秘密武器。数据挖掘是指在对大量的企业历史数据进行探索后,


揭示出其中隐藏着的规律性内容,并且由此进一步形成模型化的分析方法。通过数据挖掘还可以建立起企业整体或某个业务过程局部的不同类型的模型。这些模型不仅可以描述企业当前发展的现状和规律性,而且可以用来预测当条件变化后可能发生的状况。这可以为企业开发新的产品和服务、甚至于为企业机构的重组提供决策支持依据。
证券市场存在巨大的风险。证券公司应该能够给自己的客户提供大盘及各股的未来走势的信息,给客户的投资、选股提供有价值的参考,尽可能地回避风险。更何况,大多数证券公司本身就是证券的投资者。股票价格的变动受多方面因素的影响,而证券投资分析的方法很多,并且一般分为:技术分析和基础分析两类,可以说在证券行业的应用分析是一门十分庞大、复杂的研究课题。
在这个方案里,我们使用证券的数据和数据挖掘产品Open Miner 1.0.1,作为抛砖引玉,分别对客户关系管理、技术分析和基础分析三个大的应用方向给出了数据挖掘的例子,更多的内容请参考。
二、客户关系管理:利用聚类做客户行为分析
1、目标
用客户交易数据统计出每个客户的交易情况,根据客户行为进行聚类。通过对客户数据进行聚类,将客户进行分群,考察每类客户的对证券公司的贡献情况,这样可以根据客户的产生类别的交易行为等其他特点知道该类用户是否对公司最有价值,并且证券公司根据客户行为的特点对贡献度大的客户类采取相应的政策照顾,并且还能吸引某些行为类似的贡献度较低类的客户发展为较高贡献的客户。
2、数据解释
对交易数据(变量描述如表1)进行数据总结,生成客户股票交易行为数据表,变量描述如表2。使用的数据包括股民代码,买卖股票的最大、最小数量/金额,平均价格,总金额等。
3、步骤
我们使用数据挖掘的聚类算法,聚类数为4,聚类准则采用Newton。

图 1 客户聚类数据挖掘流图
4、模型结果
聚类后给数据集增加了一个新的类别变量,标志客户所属的类别。


图 2 每类之间的距离图
5、应用评估
从表4可以看出第二类客户买卖的股票种类比较多,交易频繁,成交金额大,是公司的大用户,人数虽少但需要精心对待。第四类交易次数虽然排名第二与第一相比相差6、7倍,是对公司贡献率第二大的类别,并且人数是第二多的,与贡献最多的类别相比只是交易次数少,通过提高服务等内容吸引他们多做交易,从而提高公司收益。第一类买卖股票的平均价格最低,买卖的股票种类比较少,是对公司贡献率第三大的类别,并且人数是最多的,是证券公司主要的客户群,并且由于行为特点与公司贡献第二大类的用户比较相近,只是卖的少买的多,通过提高服务等内容吸引他们往公司最有利的行为转变。第三类客户买卖的股票种类少,但买卖股票平均价格比较高,交易次数少,看来主要做高价股,需要多提供高价股的信息吸引更多的交易,从当前对公司的贡献程度看是最少的。
此外,如果我们补充对客户基本信息(如年龄,开户等)的分析,还可以得出更有效的信息。
三、股市技术分析:利用时间序列预测股票价格
1、目标
数据挖掘是对大量的历史数据进行处理和分析,提炼出有价值的信息(表现为规则、模型等模式信息)。其中的时间序列模型,可以用于股票价格的预测。
2、数据解释
我们使用的数据是东大阿尔派(600718)在半天的变动情况做短线分析,此外又使用从1996年5月-1999年5月的日交易历史数据做做日线分析。数据内容包括股价的时间和当前价格。
3、步骤
数据处理:提取中各股的历史数据,确定时间序列的窗口长度为8(经过多次试用得到效果较好)。在Open Miner 1.0.1中建立工程,流程图如下:

图 3 时间序列分析的流程图
4、模型结果
日价格预测偏差图如下(窗口长度为8):

图 4 时间序列的日价格预测图
短线价格预测偏差图如下:

图 5 时间序列短线预测图
5、应用评估
股票日价格预测的效果比较好,基本反映了实际的变化趋势。短线价格预测的效果差一些,原因之一是指标值的分布比较集中。另外的原因是由于国内股票价格有10%的停板限制,这样股价变化幅度不是很大,相对比较稳定。而我们所采用的模型实际是针对稳定模型的,故此效果比较好。对于非稳定模型(一般股价变化应是这种情况),我们可以手动做差分来解决这个问题,由于这个过程比较需要时间,在这个方案里没有做实现。
四、股市基本分析:利用决策树等预测
1、目标
基本分析家假设:任何金融资产的"真实"价值等于这项资产的所有者的所有预期收益流量的现值。具体地说,分析家不仅需要预测折现率,而且还必须预测这种证券的每股平均收益和派息率。证券的真实价值一经确定,就可以用来与这种证券的市场价格进行比较,从而鉴别这种证券的定价是否恰当。并在真实价值低于市场当前价格,那么该证券是被价值高估了,应该卖出;如果证券的真实价值高于市场当前价格,那么该证券是被价值高估了,应该买进。具体的分析策略包括宏观经济信息、产业分析与区域分析和公司分析几类。
从上面可以知道,宏观经济信息、产业、地区和公司的基本信息对股票价格有关系的。在我们的方案里,我们使用数据挖掘的办法来描述这种数据间隐藏的规律,根据证券的发行特征寻找它与实际价格的基本规律,并且我们根据这个规律对未知真实价格的股票(新发行的股票)进行预测。
2、数据解释
从统计的观点来看,股票的真实价值可以用价格的平均值来估计。在这个模型里,由于数据的问题,股票的实际价格的平均值不能得到,我们采用某一天的股票的开盘价作为估计值,这样的估计值虽然比股票年平均值差,但也是一种可以使用的估计值。另外,由于数据的问题,我们不能得到可用的行业、地域信息(板块信息),这对算法的精度造成影响。我们使用的数据信息包括发行价、市赢率、发行价、每股净资产、面值、以及每股的当前价格。
3、步骤
这个方案里我们使用数据挖掘的决策树算法。并把股票价格用等距的办法离散化,它的分布如下图。

图 6 OPEN_15I的分布图
4、模型结果
表7是决策树的训练集分类结果信息。表的首列表示实际值,冒号之前的表示类别号,冒号之后表示取值的范围;因为其中股价从44到47.667没有数据,因此没有类别号为13的类,这样共13个区间。表的首行表示预测值,其取值范围与实际值是相同的。表内的值表示预测的数目,注意对角线的值是预测正确的值的数目。从结果看,对角线上的值是同列最大的,但是最低的正确率才是39%;而如果加上临近一行的值,那最低正确率就可以到79%,这点从列的角度来看也是相同的。这可以表示为训练模型是有规律的,但是分类的情况不是很好,或者说如果我们调整分类的方法,精度是可以提高的;而且预测的误差范围是4元的话,就可以把最低正确率提高到79%。而股价超过30的精度就很差了,这是由于所谓的高科技股,而我们的数据没有这部分内容就无能为力了。

表7、决策树的训练集分类结果
表8是决策树的征实集分类结果信息,结构同表8。从结果看,最明显的是效果不如训练集,而股价超过20的精度就很差了,这同样是因为而我们的数据没有包含行业和地域信息。如果只考虑股价低于20的,训练集的特点完全保留。

表8.决策树的训练集分类结果
5、应用评估
由于数据的问题,我们不能得到可用的行业、地域信息(或者是综合而成的板块信息),这对算法的精度造成较大的影响。但是我们也可以利用股价及股价的变化情况使用聚类算法产生新的板快信息标识,而用这个标识可以较好的提高算法的精度。此外,我们可以改变一下离散化的方法,也会比较大的提高算法精度。
五、结束语
我们所用的方案只是代表几类模型,这些办法可以应用到类似地多种股票价格预测情况。例如,对预测新股上市我们还可以增加开盘大盘的指数,然后预测新股上市一周后的价格。从这些数据挖掘模型的结果分析来看,的确是有规律、有价值、有实际意义的。以上的方案都是在Open Miner的基础上实现的,东软集团中间件技术分公司还可以提供更进一步的方案。

阅读(792) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~