基于XCS的多主体市场仿真模型的研究

(整期优先)网络出版时间:2009-06-16
/ 2

基于XCS的多主体市场仿真模型的研究

崔久延1肖勇2

基于XCS的多主体市场仿真模型的研究

崔久延1肖勇2

(1.北京航空航天大学经济管理学院,北京100191;

2.中国工商银行股份有限公司湖北省京山支行,湖北荆门431800)

摘要:本文基于ABM的思想,建立了一个多主体市场仿真模型——A-B模型,并借助MATLAB对XCS机制下的模型进行了仿真分析。最后,采用基于方差的灵敏度分析方法,对A-B模型进行了进行了灵敏度分析,以判断模型输入对输出的影响。

关键词:A-B模型;XCS;仿真分析;灵敏度分析

一、引言

学术界对金融市场有效性的争论由来已久,既包括理论层面的挑战,又有实证方面的攻击。Campbell和Shiller给出了长期可预测性的证据,而Lo和MacKinlay则给出了短期可预测性的证据。除了可预测性之外,还有很多实证金融谜题和特征性事实难以利用传统资产定价模型来解释。

可见传统方法还不能很好解释大量实证问题,金融市场的很多未解实证谜题以及大量的可得数据都为基于主体建模(Agent-BasedModeling,ABM)技术提供了广阔的舞台。由此,在金融市场研究中出现了一个新的领域,即基于主体的计算金融学(Agent-BasedComputationalFinance,ACF)。ACF研究思想将金融市场看成具有学习能力的有限理性主体的交互性群体,通过建立基于主体的金融市场模型,用计算机模拟与实验的方式复制重现真实金融市场的行为。通过基于主体的模拟,我们可以对交易者的微观行为与市场总体行为之间的关系有更深的理解。

本文以ABM的思想为基础,建立了多主体市场仿真模型——A-B模型,并分析了XCS机制下模型的性质及其灵敏度。

二、A-B模型

根据ABM的思想,我们将多主体市场抽象为图1所示模型(称其为A-B模型),通过该模型来研究多主体市场的特征。模型具体描述如下:

1.模型包括两类agent(市场参与者):A类和B类。

2.A(B)类agent生产产品a(b),所需原材料是b(a)产品,两类agent的生产与销售形成一个闭环系统。

3.两个产品市场,市场a和b,市场主要用于确定产品的出清价格,a(b)产品的价格取决于当期a(b)产品的生产和需求量。

由于A-B模型只有两类参与者:A和B,所以可以称其为A与B之间的博弈。而模型是多主体市场的抽象化表述,主要是为了研究产品a和b的产量变化及其相应期的价格变化,以分析市场情况,所以模型的研究和分析主要是围绕产品a和b的产量和价格的波动情况。

图1A-B模型

三、XCS理论基础

1995年,Wilson改进了经典学习分类器系统,将学习分类器系统中的遗传算法的适应度基于准确值进行定义,提出了分类器适应度基于回报预测准确度的学习分类器——XCS。

在XCS中,分类器采用三个参数代替经典学习分类器的强度参数:

1.预测P:估计分类器期望得到的环境回报。

2.预测误差:预测P的估计误差。

3.适应度F:预测误差的反函数,评估环境回报预测P的准确度。

图2XCS的系统结构

与LCS相似,XCS也由三个子系统组成:执行子系统、信用分配子系统和规则发现子系统。XCS的系统结构图如图2所示。

与经典学习分类器系统相比,XCS作了如下几点改进:

1.对于具有不同回报级别的环境,为了建立对环境更完整的匹配,XCS中的遗传算法基于适应度参数进行个体选择,为了保持种群的多样性,将遗传算法只应用于具有相同小环境的动作集中,形成一种小生境遗传算法而不采用经典学习分类器系统中的基本已传算法。

2.信用分配采用了近似Q-学习算法而不是桶队列算法进行分类器参数更新。

3.为了平均分配不同小生境的分类器资源,在新个体加入种群的过程中,采用了包含删除算法。

四、A-B模型仿真分析

本部分我们将借助MATLAB对A-B模型仿真分析。首先,对模型的基本博弈机制做如下设定:(1)每个个体每期的产量只有0或者1两种情况;(2)两类个体的数量随机生成且相等。(3)a和b的价格采用如下公式确定:

(1)

其中,为a(b)产品第期的价格,为第T期的价格,D为b(a)对a(b)的实际需求量,S为a(b)的实际供给量。

设模型中A和B双方各生产一次称为一次博弈,多次博弈称为一次运行,多次运行称为一次实验。

A和B两类个体在博弈过程按照如下规则进行生产决策:

1.前三期均赢利,则该期生产1。

2.前三期均亏损,则该期生产0。

3.前五其中有四期或四期以上生产1,则当期生产1。

4.前五其中有四期或四期以上生产0,则当期生产0。

5.其余情况,按照XCS规则,根据历史信息(前m期的生产和盈利情况)进行决策。

经过一定次数的实验之后,模型产生如下结果:

图3a和b产量变化图图4a和b价格变化图

如图3所示,在上述机制下,a产品和b产品产量的变化趋势为:经过一段时间的交替领先后,两种产品产量达到均衡,即两种产品的产量相等,不再变化。原因是在波动阶段,每个个体都在根据环境信息不断调整自己的决策,最终达到均衡。达到均衡后,每个个体按照均衡态进行生产,保持了均衡。

如图4所示,与产量变化趋势相似,a和b产品的价格在二者的产量达到均衡的同时也达到了均衡,这与经济学的原理相符合,即当两种产品的产量相等时,二者的价格也应相等。

五、灵敏度分析

仿真灵敏度分析并没有一个统一的定义,但是学者们的理解基本一致,指的是不断改变系统的状态、参数、结构和政策,运用仿真模型,比较该模型的输出,从而确定这些变化的影响。

假设变化参数、输出行为变量和灵敏度分别以S,Y,S表示,则根据灵敏度定义很自然地得到有关参数变化形式的定义式:

(2)

为了避免单位不一致与量纲带来的问题,最好的方法是引入百分比变化表示参数和行为变量的各自变化。因为百分比变化是与单位和量纲无关的纯数,这样灵敏度的定义式可表达为:

(3)

即:(4)

在第三部分中,我们分析了模型的价格和产量变化特征,下面我们分析模型的输参数(入个体数N和个体记忆容量m)对模型输出的影响(模型达到均衡所需的运行次数n)。

我们固定记忆容量,变化个体数N,观察n的变化。首先将两类个体的数目的标准值均设为150,然后以150为基准线,我们将N上下调整一定比例,观察n的变化情况。结果如图5所示。

图5个体数N对模型达到均衡所需博弈次数n的影响

从图中我们可以看出,随着个体数的增加,达到均衡所需博弈的次数在递增,而且是加速递增。可以想象,当个体的数目为无穷大时,模型将无法达到均衡。

我们将个体数固定为150,变化个体的记忆容量m,看其对n的影响。m的变化不能像N的变化一样,由百分比来观察,因为一般的记忆容量是有限的很小的数,所以我们将观察的是不同m值处的n的值。我们假设m最小值取到3,最大值可以为12,在每个m值处,我们都进行了大量的实验,通过求出每个m值对应的n的均值,我们得到如下如图6所示关系。

图6个体记忆容量m与模型达到均衡所需博弈次数n关系图

从图6可以看出,随着m的增加,n基本上也不断增加,且m<6时,加速增加;m>6时,缓慢增加,随着m的继续增加,n不会继续增加,基本上保持在m=12的水平。由此可见,m=6是n变化的一个拐点,也是观察模型的最好的m值点。

六、总结及下一步工作

A-B市场博弈模型虽然简单,但是却可以借以分析复杂的市场系统,解释复杂的经济现象,可以说是市场经济系统的经典模型。本文只是为多主体市场经济系统研究提出了一种研究方法,该方法能够从微观角度研究市场参与者的经济行为,关于A-B模型的研究有待进一步的研究,尤其是其应用方面值得关注。

参考文献:

[1]GrossmanSJ,StiglitzJE.OntheimpossibilityofInformationallyEfficientMarkets[J].AmericanEconomicReview,1980,70(3).

[2]钱燕翔.基于主体的金融市场超额波动性的模拟研究[J].统计与决策,2009,1:35-36.

[3]Bankes,StevenC.Agent-basedmodeling:Arevolution?[J].ProceedingsoftheNationalAcademyofSciencesofU.S.A.,2002,99,suppl.3:7199–7200.

[4]LeBaronBlake.Agent-basedComputationalFinance.WorkingPaper,March2005.http://people.brandeis.edu/~blebaron/wps.html.

[5]沈晓蓉,张海,孙先仿,范跃祖.基于遗传算法的学习分类器系统研究[J].控制与决策,2006,21(3):323-326,330.