名    称: 人工模拟股市
开    发:Santa Fe Instutive(Swarm版),jake(java版)
源程序下载: asm_java.zipasm_swarm.zip

 

·程序简介
 

    人工股市(Artificial Stock Market,简称ASM)是模拟股市运作的一个程序。在这个电脑中的虚拟市场中,若干被称为交易者的人工智能程序(Agent)通过观察它们所在的数字世界中股价和股息的不断变换而做出预测,并且根据这些预测做出购买股票与否以及购买股票数量的决策。反过来,所有的交易者的决策又决定了股票的价格,这样,整个的股票交易市场就构成了一个自我封闭的计算系统。同时,这些交易者都具有学习的能力,可以根据以前预测的成功或者失败对自己的决策进行调整,并且通过一种被称为遗传算法的方法产生创新能力。总之,ASM是一个电脑中不断进化的虚拟股票市场!通过研究ASM,我们可以更好的理解现实世界的行为,并且它提供了一个很好的现实股市的隐喻。

·程序运行说明:
      点击下排的开始按钮,则股市开始运作。首先,程序需要对每个Agent和整个世界进行初始化,然后才进入ASM的实际运行阶段,这个时候,你可以点击曲线图柱状图等按钮察看世界运行的情况,得到价格、股息等信息的直观显示。当点击结束的时候,股市停止运行,这个时候你可以设置一些参数,再次点击开始可以在新的参数下运行程序。察看规则部分可以让你看到每个Agent的内部规则,并且可以看到它们与真实世界价格、股息、编码的对比情况。点击暂停按钮后,你还可以单步运行股市
·详细说明
 

1、参数说明:
· 遗传算法概率:每隔多长周期执行一次遗传算法。
· 变异率:执行遗传算法的时候,变异操作的概率。
· 交叉率:执行遗传算法的时候交叉操作的概率。
· Agent的数量:进行股票交易的交易者数量。
· 规则的数量:每个Agent所拥有的预测规则的数量。

2、图形说明:
     世界的状态显示的是有关整个股市的状况,包括股价、股息等等,风险中性价格即股息/利息的值。Agent的状况则显示了每个Agent的变量的变化趋势。曲线图画出了单一变量与时间的关系,柱状图主要显示了各个变量的Agent之间的对比情况。

3、关于图形操作:
     曲线图,可以在一个坐标系下察看两种变量的情况。蓝色表示一个变量,红色表示另一个,可以从下面的选择框选择不同的变量。关于柱状图,可以变换不同的变量察看情况。

4、关于规则察看的操作:
     在上面列表中显示了当前的Agent拥有的所有的规则,选择最下方的Agent编号,可以察看不同的Agent的规则,选择中间的察看方式:全部规则还是激活规则则可以分别察看当前Agent的所有规则和被激活的规则。点击列表框中的一个规则,则在下面的文本框中显示了该规则的具体对应的条件部分的编码,和代表的预测意义。世界状态则表示了当前世界股票价格、股息等变量的二进制编码。下面显示的价格和股息都是当前股市的股价和股息。

·关于本程序
 

    该程序是作者对SFI的ASM2.2版本运用java进行重写和改造。其中有不少对源程序的改动,可能会造成一些运行结果与源程序的不同,也可能存在着一些bug,所以我们提供了该java版本程序的下载以及Swarm源程序的下载。