(7)经营者行为主体的经营活动风险收益riskIncome(随机生成)。经营者在实际的经营活动中,除了其自身能力限制外,还有可能受到外部环境和其他因素的影响,对其生产活动产生重大影响,这里我们用随机数来归结所有的外部影响的总和。这样我们就能够得到经营者行为主体除开初始预定的固定收入fixSalary外的风险收益riskIncome。
(8)经营者行为主体的死亡。当经营者行为主体的自身资源消耗完、manageResource=0时,我们认为此时的经营者行为主体死亡了。在现实中,可以认为是经营者无法获得契约进行生产,最终被淘汰出局。在整个Swarm系统中间,我们设计了监控经营者行为主体个数的程序,这样在整个系统中经营者行为主体死亡的时候,程序会生成新的经营者行为主体补充到系统中去。
9.2.3定义行为主体的各种行为规则
在环境中生存的行为主体有许多可能的行为规则,规则选择的不同,系统的结果将会有很大的差别,在整个建模和仿真过程中,最关键的就是行为主体规则的选择。在这里由于存在着两种不同类别的行为主体,所以我们也要为不同的行为主体制定相应的规则。
一、所有者行为主体
所有者行为主体对相遇的经营者判断规则:
由于信息的不对称,导致经营者的行为产生逆向选择和道德风险,因此所有者会选择决定是否雇用经营者行为主体。
由所有者加环境产生一定的选择条件,然后对遇到的经营者行为主体进行判断符合条件的,才有可能与其进行合作。
所有者行为主体的委托代理规则:
银行所有者自然会占有银行的收入,但同时也必须支付给经营者以报酬,所以银行所有者通过商业银行所有权在t时期可以获得的收益πt等于t时期的银行收入yt减去支付给经营者的报酬wt(添加其他成本变量不会影响我们最后的分析结果,为简化和集中分析,在此仅考虑支付给经营者报酬和其他经营成本和开支)。
二、经营者行为主体
经营者行为主体的移动规则:
经营者行为主体在系统空间范围内自由地移动搜寻所有者行为主体,它的移动范围为二维空间八个方向之一,步长则根据其移动能力决定。
经营者行为主体的委托代理规则:
经营者根据合约可以取得报酬w,但他必须付出努力采取有效的行动,而这种努力行动是有代价的。我们把这种代价或成本记为c,c=c(a)。成本c是行动a的增函数,c′(a)大于0,c″(a)大于0,表示经营者越努力,付出的代价越高,而且随着努力程度的增加,经营者的代价递增。如果经营者偷懒,不采取任何行动,则a=0,那么此时成本c(0)=0。
经营者t时期在商业银行努力工作得到的收益等于他的报酬扣除他付出的成本。
实际经营者的资金资源除开本期收入,还要减去经营者在经营过程中的成本。
9.2.4行为主体的行为时间表
在行为主体的一个行动周期内,行为主体的行为由时间表来决定执行顺序,这里我们用流程图来表示。
9.3商业银行激励约束机制模拟Swarm程序
在完成上面的分析后,开始商业银行激励约束机制Swarm仿真模型的程序编写过程。由于Java平台的类库尚不完善,无法实现程序所需功能,这个模型是用ObjectC平台编写。
9.3.1定义行为主体的行动和模型Swarm
这一部分主要有两个对于主体行为进行描述的方法(程序中可以多次调用的一个代码块),一个是描述经营者在系统中移动并寻找商业银行的过程,一个是描述所有者和经营者相互选择的行为和签订合约后经营者经营银行的行为,其中包括形成两类主体最终利润和它们之间进行利润分配的过程。
模型Swarm部分主要实现根据第一步建好的行为主体的类,即按照所有者和经营者的两种类别,实际生成在一定空间内活动着的许多所有者和经营者个体,并根据时间表来安排和控制它们的运动。我们用的行动流程图来表现程序的时间安排。
建立所有者和经营者两者类的方法是:因为银行激励约束机制中的每个个体尽管各自条件、状态和行为不同,但是它们都具有一定的目标、任务、属性和实现目标的行为集合。这就给了我们有机会在共性的基础上描述个体的差异。也就是根据所有者和经营者的类对其中的属性方法赋予不同的数值就可以得到状态和行为迥异的各个所有者和经营者个体了。
引入行为主体类库程序设置一个循环,让空间按顺序生成i个行为主体,为每个行为主体分别生成对应的属性,安装好输入输出端口等内容,这段程序结束后,每个个体和相关的属性就生成好了。
这部分是根据行为主体类库生成对象的方法。具体来说,就是会在上面生成了不同的行为主体的基础上进一步地安排它们各自的行为,这样银行激励约束机制Swarm模拟仿真环境中,就出现了许多的有不同属性和不同行为的所有者和经营者行为主体。
9.3.2观察站Swarm程序
ModelSwarm的程序完成后,仿真的环境和环境内发生交易活动的各个所有者和经营者已经建立好了,正如一个真实的商业银行体系一样,它们之间的运行情况是什么样的,整个系统又呈现何种发展演变?要回答这些问题我们就必须要设置一些探测器(Probe)来观察和调控个体和环境的状态。在ObserverSwarm程序里面我们可以安排这些探测器与前面完成好的行为主体Swarm和ModelSwarm联系在一起,记录相关的数据和控制供分析用的图表和图形的产生。程序中所生成的这些图表和图形都可以认为是一种GUI界面,GUI可以让程序使用者通过图形界面来观察程序的运行过程,同时可以直接方便地通过对图形界面进行调整来控制程序的运行。它是一个良好的交互平台。我们在研究商业银行激励约束机制Swarm过程中,GUI实现了系统初始化和在程序的运行过程中能够随时观察行为主体的行为,人为地调控个体的各种属性,同时将一些反映整个商业银行激励约束机制体系的数据汇总加工,生成对应图表供进一步的分析。
设置好一些观察器的参数,包括刷新频率,交互图形加入探测器(Probe),探测器是Swarm工具集里面最重要的也是最有趣的一部分,它是Objectbase类库中的一个部分。探测器既可以实现对行为主体和行为的有关参数进行交换,它也可以和其他的图形组件相联系生成对应的GUI界面。这种监视、控制数据和图形的过程都是完全实时动态的。探测器主要有四种类型:
1.VarProbes:可以改变行为主体对象的变量参数;2.MessageProbes:可以激活对象的行为,并给行为赋值,观察行为的结果数据;3.ProbeMaps:它也是Map类库的一种实例,它是赋予特点主类的多信息和探测器的集合;4.ProbeLibrary:GUI的工具,可以跟踪已经在仿真模拟中建立好的类中所包含的Probe或者ProbeMap,并允许我们借助它进行调控;5.在ObserverSwarm中加的探测器主要是控制GUI,而在前面的ModelSwarm和行为主体Swarm中其实也安放有探测器。
我们还要选取关键的变量生成对应的时间序列二维图,这里是调用Swarm类库中的Ezgraph库直接生成。
9.3.3Swarm的主引导程序
其主引导程序的流程框图见图98。在Java里面则是含有:
publicstaticvoidmain(String[]args)语句的那个程序。
9.3.4Swarm程序界面
程序开始运行时,跳出三个窗口:一个是程序控制窗口(图99),第二个是ModelSwarm的初始值GUI窗口(图910,通过这个窗口,我们对这个仿真模型中的Swarm行为主体的初始状态进行赋值),最后一个是ObserverSwarm设置窗口(图911)。
初始化好参数后,我们可以开始运行Swarm模型。根据Swarm内置图库Ezgraph,我们可以很方便地生成每个周期内的银行平均收入图和每个周期发生经营的经营者数目两个图形(图912)。它们都是时间序列图像横坐标表示程序运行周期,而纵坐标表示银行的平均收入或者发生经营的经营者数目,这样我们就可以观察到每个时期银行的收入和参与经营的经营者数目,反映整个银行系统的运行规模和其稳定性,为我们后面的分析提供基础。
另外,程序会生成资源、空间、行为主体运动图。在这个图形中,整个黑色的部分表示资源分布的空间和行为主体的运动范围;分布在黑色空间上的红色的点表示银行所有者行为主体的分布,这里的银行行为主体上本身具有资金资源,程序生成以后它是不可以移动的;而绿色的点则标记着经营者行为主体,它们可以在空间中移动,当遇到所有者行为主体后则可以和经营者行为主体根据条件发生反应。另外在上用鼠标右键点击绿色的经营者时,会弹出银行经营者属性面板和行为主体活动数目图,我们就可以得到进一步详细的每个经营者行为主体的相关属性和整个系统的所有活动行为主体数目图。
在银行经营者行为主体的属性面板上我们可以得到行为主体所处的位置(x,y坐标)、资金资源数、步长、活动能力、移动成本、经营成本、努力程度、激励系数、风险系数、固定收入、变动收入范围等属性的具体数值。
9.4商业银行激励约束机制的Swarm模拟分析
在完成了商业银行激励约束机制的Swarm编程建模后,一个简单的商业银行激励约束机制Swarm模拟系统就建立起来了。在这个系统中包含了:所有微观行为主体和它们与其他行为主体交易的一个场所。这就为我们模拟分析各种商业银行激励约束机制对微观主体行为和商业银行绩效的影响提供了一个有用的工具。
9.4.1基本均衡分析
商业银行激励约束机制的Swarm程序建立以后,在可以给定一些初始值的情况下,模拟分析系统的基本均衡变化,作为以后模拟分析一些参数值变动影响的基础。
一、时段模拟
为了排除模拟时段长短对模拟结果的影响,我们分别选择T=500,1000,2000和3000四个时间段进行模拟,观测系统变化动态,确定较好的模拟时段。
我们从四个时间段的银行平均收入图可以看出:
到T=500时,随着时间的推移,银行的收入从0迅速地上升到250,并在其附近上下波动;从T=500到T=1000阶段,均衡的位置由原来的250开始慢慢地爬升到300左右;从T=1000到T=3000阶段,银行收入的波动幅度开始逐步地减小,均衡位置也缓慢地上升,上升的速度也开始放慢。
从整个周期看来,我们可以得到,整个银行的平均收入处于一种较稳定的减速上升过程,到T=3000时刻,平均收入一度超过了400的水平。
经营者行为主体在这个系统中比较稳定,经营者行为主体保持在120—170个附近波动,整个系统中经营者数目较为稳定。
从以上分析可见,整个系统在T=1000—3000模拟时段内都较为稳定。为了便于从图形上观察系统变化动态,我们选择T=1000作为后面模拟分析的基本时段,其模拟结果作为参数变动分析的基础。
二、基本环境参数设置影响
商业银行经营是在一定的具有环境下展开的,为了模拟分析激励约束机制对商业银行经营绩效的影响,需要输入一些基本参数。
前面任意确定了一些参数的初始值进行模拟,这些初始值的设置是否合理?它的改变是否会对系统均衡产生较大影响呢?对此我们需要必要的模拟测试。
1.银行分布范围
商业银行经营活动是在一定的空间范围内展开的。模拟方案的银行分布空间大小(worldXSize、worldYSize)是否对其激励约束机制下的经营业绩产生影响?在此,模拟当保持其他因素不变,单单增加银行分布空间大小,worldXSize,worldYSize由80增加到200时,商业银行经营业绩的变化动态。
从图919和改变属性前的图914、图915比较可见,银行的平均收入没有太多的变化,但是每个周期的经营者数目的均衡位置从变化前的140个左右,上升到了160个左右,增加了20个参与经营者。整个银行系统的总体规模(=平均收入×活动的经营者数目)相应增加。