2010年4月JournalofHongheUniversityApr.2010
金融仿真系统正常交易角色主体设计
朱永彬
(红河学院工学院,云南蒙自661100)
摘要:在构建反洗钱仿真实验平台的过程中,对于其中的正常Agent智能角色的行为可以采用角色行为规则进行限定;本文详细阐述了在该仿真系统中正常交易仿真角色的建立过程和使用Drools规则引擎建立其行为规则的过程;从所得到的仿真结果数据的分析来看,本文所提供的角色及其行为规则的建立方法极大的丰富了该平台内的角色内容,所得到的结果数据具有较高的可用性.
关键词:仿真;建模;Drools;规则中图分类号:TP3
文献标识码:A文章编号:1008-9128(2010)02-0080-05
0引言
在反洗钱仿真实验系统(Anti-MoneyLaundering
SimulationExperimentSystem,以下简称ALSES)中,金融仿真角色主体的行为是由智能Agent来完成的,在仿真终端存在两种Agent角色主体,分别为扮演进行正常交易行为的金融主体角色和扮演洗黑钱等异常交易行为的金融主体角色;对于其中的正常交易金融角色仿真主体,可以采用角色规则库来辅助角色A-[1]
gent进行行为决策.为力求角色Agent的行为结果更接近其仿真的角色主体的行为,以取得更趋于现实中金融主体行为结果的仿真数据,规则库中的行为规则的限定数据均采集于多个权威的统计数据,并对这些庞大的数据进行了分析和整理.
1创建金融主体角色信息库
要构建金融仿真角色Agent的行为规则库,得首
先创建角色主体信息库,然后对每一个角色主体编制行为规则;这就必须对现实中的所有金融行为主体进行统计建模.由于现实生活中的金融行为主体数量十分庞大,对所有金融角色主体进行建模是不现实的;故本文采用对角色类型进行分类统计,创建角色类型模板库,然后根据角色类型模板来构建角色主体库.这相当于对现实中的金融行为主体进行了分类抽样建模,让每一种类型的金融主体都参与到该仿真系统中来,以期得到更趋于现实的结果数据.1.1角色主体类型数据统计
由于现实生活中的金融行为主体主要分为两大类,分别是个人型角色主体和企业型角色主体,因此
[1]
在ALSES中也相应存在两大类型的角色主体;本文首先对所有个人职业类型进行了统计,包括每一种职业的中等平均收入情况,统计表截图部分如图1所示.
图1个人职业类型统计
收稿日期:2010-03-12
作者简介:朱永彬(1977-),男,四川内江人,硕士研究生,研究方向:计算机仿真与虚拟现实.
朱永彬:金融仿真系统正常交易角色主体设计
81
表中的数据主要来源于国家统计局2005年职工
[2]
平均工资表的统计结果,同时也参考了中华英才网
[3]
的第十次的不同职业的薪资调查报告的结果.对企业行业的统计主要依据新浪财经频道板块行情中各上市公司的财务统计报告中沪、深股市A股上市
[4]
公司的财务数据.所有的上市公司的行业归属基于2005初中国的官方公布结果,并按照如下原则进行样本筛选:
(1)为避免新股的影响,选取2003年12月31日
前上市的公司为原始样本.
(2)为避免异常值的影响,剔除了样本期内的ST、PT公司、一些停牌的公司和财务数据缺失的公司.
(3)为保持行业样本公司的恒定,剔除了样本期内变更主营业务的公司.
(4)为保证统计的显著性,剔除了上市公司数少于5家的行业.
企业行业统计数据部分截图如图2所示.
图2企业行业统计
1.2创建角色信息库
由于个人类型主体和企业类型主体在现实金融网络中其信息结构上的差异会很大,所以在构建角色主体信息库时,需要分别为其构建角色主体信息库.依据个人职业类型表构建的角色主体信息库截图部分如图3所示.个人型角色主体模板数据不低于万个,基本上能满足对金融网络中个人型金融行为主体的仿真数量要求.
图3个人类型角色主体信息
在个人类型角色主体信息库中,每一个角色主体在该库中主要包括的信息有:账号、职业类型、工资、工资波动范围值、周期性交易基数、周期性交易基数波动值、账号周期性流量、账号周期性流量波动范围值.账号编码参照了中国工商银行和中国建设银行账号编码方法,采用19位编码方式.为了体现角色主体工资的地区性差异以及平台仿真监测功能的需要,账
号编码中加入了6位地区码,该编码覆盖了中国所有县、区级行政单位.在创建角色主体时,相同职业工作者其工资水平、工资波动范围值、周期性交易基数、周期性交易基数波动值、账号周期性流量、账号周期性流量波动范围值,均按照国家统计局2005年职工工资地区性差异统计结果进行了调整.依据企业行业表构建的企业型角色主体信息库截图部分如图4所示.
82
红河学院学报2010.2/网络与计算机
企业类型角色主体模板数据不低于76万个,基本上
能满足对金融网络中企业型金融行为主体的仿真数
量要求.
图4企业型角色主体信息
在企业类型角色主体信息库中,每一个角色主体在该库中主要包括的信息有:账号、企业规模、行业类型、周期性资金流入量、周期性资金流入量波动范围、周期性资金流出量、周期性资金流出量波动范围、周期性交易基数、周期性交易基数波动值、企业年利率.由于在图2所示的企业行业统计表中,只能统计到上市企业的资金信息.由于缺乏更多的未上市企业其资金变化情况的权威统计数据,故在创建企业类型角色主体时,根据国有资产监督管理委员会2003年国统字17号文件中对大、中、小企业的划分标[5]
准,就企业类型角色主体参量进行了调整.
索和激发匹配规则的推论时使用.当执行完推论后,系统尝试检查主堆栈最上面的Fac,t然后要么重新开始处理过程要么继续之前被暂停的过程.
Drools主要有两种规则设置方法,一种是使用域规则语言DSL设置规则,规则的格式是IFsomethingTHENaction这样的格式.对产生式规则而言通常使用的是when和then关键字,分别包括一个左手元LHS(LeftHandSide)和一个右手元RHS(RightHandSide).规则的LHS部分跟随when关键字(when最好在单独的一行上),RHS部分跟随then关键字(最好也单独一行).规则使用end关键字结尾且不能进行嵌套.DSL支持自然语言的扩展,这可以方便的将该语言演化到与你需要解决的问题域.另一种是使用决策表的形式进行规则的编制.决策表是一种精确而简洁的表达逻辑条件的方法,非常适用于业务级的规则.Drools支持在电子表格中管理规则,支持的格式有Excel和CSV,这样可以使用多种不同的表格程序如MicrosoftExce,lOpenOffice等来进行规则的编制.2.2创建角色主体行为规则
要对ALSES系统中角色Agent建立行为规则,首先要对金融主体的业务逻辑进行分析;并总结出众多的账户交易的逻辑限定条件,再将其编制成相应的规则.有些限定条件设置的合理与否可能是在对生成的结果数据进行分析时才能发现的,这就需要回头再对规则进行修改,以期取得更为合理的结果数据.在ALSES系统中,角色Agent的行为规则都是使用域规则语言DSL进行设置的.由于所设置的角色主体业务逻辑规则数量比较多,不便逐一进行描述,以下仅列举几条典型的角色Agent的行为规则来进行说明.具体的问题描述及其规则的编制如表1所示:
2Drools规则引擎及角色行为规则创建
在ALSES系统中,角色Agent的行为规则是逐步完善的,这就要求在系统调试运行中不断的修改众多的条件判断语句,解决该问题的最好办法使用规则引擎.规则引擎允许在修改业务逻辑的同时而不用重新编译源程序.Drools是一个能很好的解决以上业务逻辑层问题的开源规则引擎.2.1Drools规则引擎介绍
Drools是基于正向推理的规则引擎.正向推理是数据驱动的,facts事实被传递到工作空间中,在那里有一个或多个规则与这些事实匹配,并由Agenda(A-genda为冲突决策策略)安排执行(即传递事实),最后得到一个结论.Drools实现了Rete和Leaps算法,标准Leap算法将所有到达主堆栈的Fact按照进入工作空间的顺序进行排序.它对每一个Fact对象进行检查,以发现每一个相匹配的规则(基于Fact的类型以及条件元素CE需要的数据类型).一旦这样的匹配被发现,系统记录当前的检索位置,以备后面重新检
朱永彬:金融仿真系统正常交易角色主体设计表1几条典型的角色Agent的行为规则设置
问题描述
账户余额少于10元不能进行取款、转账操作/**
账户余额少于10元不能进行取款、转账操作
*/
Rule\"Acc_Operate\"
ruleflow-group\"AccountOperateCheck\"
lock-on-activetrue
salience1When
currentaccount
-operatetypeiswithdraworTransfer
-balanceislessthan10
Then
SocurrentaccountwithdrawisinvalidSocurrentaccounttransferisinvalid
End
账户操作金额不大于其账面余额
ATM操作单笔取款金额不低于50元,不超过2000元
83
规则编制
/**
账户ATM操作单笔取款金额不低于50元、不超过2000元
*/
Rule\"Acc_Operate_ATM\"ruleflow-group\"AccountOperateCheck\"
lock-on-ctivetrue
salience2When
currentaccount-operatemodeisATM-operatetypeiswithdraw
-operateamountismorethan2000andislessthan50
Then
Socurrentaccountwithdrawisinvalid
End账户的累计交易次数达到周期最大交易次数或累计资金流动量达到周期最大流动量,不再进行任何交易操作/**
账户的累计交易次数达到周期最大交易次数或累计资金流动量达到周期最大流动量,不再进行任何交易操作
*/
Rule\"Acc_Operate_Cyclicalbehavior\"ruleflow-group\"AccountOperateCheck\"
lock-on-activetrue
salience4When
currentaccount
-totaloperatetimesismorethantotalcyclicaltimesortotal
operate
amountismorethantotalcyclicalamount
Then
SocurrentaccountwithdrawisinvalidSocurrentaccounttransferisinvalidSocurrentaccountdepositisinvalid
End
问题描述
规则编制
/**
账户操作金额不大于其账面余额
*/
Rule\"Acc_Operate_Balance\"ruleflow-group\"AccountOperateCheck\"
lock-on-activetrue
salience3When
currentaccount
-operatetypeiswithdraworTransfer-balanceislessthanoperateamount
Then
SocurrentaccountwithdrawisinvalidSocurrentaccounttransferisinvalid
End
将编写好的角色Agent的行为规则及其编排规则执行的规则流文件一起发布到Guvnor,通过Guvnor可以实现对规则的管理与动态编译,以快速的响应业务变化的需要.Guvnor是Drools的另一个开源项目,是一个管理大量规则的知识仓库,DroolsGuvnor提供了一个以逻辑为中心的仓库来存储你的业务知识,并且提供了一个基于web的环境,允许用户查看和在一定的约束条件下可以直接地更新业务逻辑.通过使用Guvnor提供的Eclipse-plugin可以将规则文件直接部署到Guvnor当中.
角度来考虑
[6]
.在金融网络中,对资金流动的观察和
监测可以从体现在资金流上的三个方面的特征来进行分析,即资金的流量、路径和强度.以这三个方面来构建的标准分别称为资金流动的数量标准、路径标准和强度标准(即频次标准).故现实金融主体的金融行为体现在其金融网络中可以通过其账号变化情况来进行分析,在仿真系统中,对金融个体行为的模拟则可以通过其账号体现在金融网络中的三个方面的特征来进行构建.综上所述,以上对个人类型和企业类型角色主体的信息参量的设置和角色构建方法是合理的.
在角色主体的构建与其行为参与方面,相比以前的人工模拟构建仿真数据方式,系统中角色主体的类型更加丰富,所产生的结果数据量是人工模拟无法达到的.通过对系统产生数据的分析,大部分正常交易3结论
建立资金流动异常的标准主要从共性(流量、流向、流速)和个性(来源、目的、合理与合法性等)两个
84
红河学院学报2010.2/网络与计算机
tp://www.stats.gov.cn/tjsj/ndsj/2005/indexch.htm.[3]中华英才网.第十次薪资调查结果[DB/OL].http://sala-ry.chinahr.com/result6/index.asp.[4]新浪财经板块行情[DB/OL].
cn/realstock/index.shtm.l
[5]国有资产监督管理委员会.2003-17.h-t
tp://www.sasac.gov.cn/gzjg/tjpj/cwjs/200408060083.htm.[6]薛耀文,张朋柱,范静.金融网络中资金异常流动辨识准则研究[J],经济论坛.2004,(9):1002-9753.
http://finance.sina.com.
的数据行为特征能较好的符合其自身的类型特征,这
证明角色主体的行为规则的设置很好的辅助了角色Agent完成其行为决策.对其中出现的少量的异常波动的结果数据则说明角色主体信息库数据库内的模板数据需要进行适当的修改,而且角色主体交易规则集还有待于进行进一步完善.参考文献:
[1]朱永彬,薛耀文,高慧敏.基于智能Agent的金融交易模拟终端设计与实现[J],计算机技术与发展.2008,(8).[2]中华人民共和国国家统计局.统计年签[DB/OL].2005h-t
[责任编辑张灿邦]
TheDesignforNormalTradingRoleSubjectof
theFinancialSimulationSystem
ZHUYong-bin
(SchoolofComputerScienceandTechnology,HongheUniversity,Mengzi661100,China)
Abstract:Inbuildingthesimulationexperimentplatformforanti-moneylaundering,thebehaviorrulesoftherolecanbeusedtolimitbehaviorofthenormalAgentintelligentroles.Thepaperdescribesindetailtheprocessofes-tablishingthenormaltradingsimulationrolesandtheprocessofusingtheDroolsrulesenginetoestablishthebehavior
rules.Fromtheanalysisofthesimulationresultsdatawhichobtained,themethodtoestablishtherolesanditsbehav-iorrulesprovidedbythispaperhasgreatlyenrichedtherolecontentinthisplatform.AndtheresultdataObtainedhashighusability.
Keywords:simulation;modeling;Drools;rule
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- efsc.cn 版权所有 赣ICP备2024042792号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务