[摘要] 本文根據基于Agent建模的系統仿真思想,通過分析股票市場交易者行為和決策行為并對其建立模型,通過模型仿真結果得出投資者行為對股票市場的價格波動的影響。
[關鍵詞] 多Agent 股票市場仿真 仿真交易
一、引言
基于Agent的建模(ABM)思想自從提出以來,廣泛應用于復雜適應性系統的研究領域,在生態系統、社會系統、經濟系統的研究中發揮著重要的作用。而基于Agent的仿真平臺的研究和使用使得這種研究方法可以更直觀和方便地得到應用。傳統的金融證券分析大多基于數學計量方法和規則分析,缺乏系統性的分析方法。本文旨在根據證券交易市場的特征,以系統仿真的觀點,通過智能Agent來抽象和描述證券市場中的組成要素行為,在虛擬的市場進行運轉,對行為產生的數據進行挖掘和分析,為證券投資和市場分析提供支持。
二、多agent模型理論
霍蘭(John Holland)于1994年提出復雜自適應系統(Complex Adaptive System,CAS)理論,為人們研究經濟系統提供了一種重要的思路和方法。CAS理論認為經濟系統不是確定的、可預測的和機械的,而是基于過程的、自組織的和不斷演進的。CAS理論的核心就是把系統的成員看作具有適應性的、主動的個體,簡稱主體,引進宏觀狀態變化的“涌現”,使之從簡單中產生復雜。主體在環境中持續不斷地相互交換、學習、積累經驗,在此基礎上繼續優化自己的機構和行為規則,整個宏觀系統由微觀主體構成,其演變和進化都是在這個基礎上逐漸產生的。整個系統的變化被看成一種伴隨隨機事件和自然正反饋的動態過程。
在我們將系統看作是主體組成的之后,傳統的線性和非線性的數學結構很難對系統結構進行描述,而傳統經濟學傾向于忽略主體的有限理性,遵從理性期望和市場有效性的假定,因此,在這種環境下的所有主體都有一種相同決策制定系統。但是這與實際的市場情況不相符,這時候,就需要基于Agent的仿真建模方法對其進行研究。
不同于傳統的“自上而下”看待系統的方法,基于Agent的仿真建模方法是“自下而上”基于過程的,通過分析復雜適應性系統中不同層次上多個適應性主體的行為和相互之間的關系,以及由多主體之問的相互作用而引發的一些突發性的現象,來研究整個系統的演進過程,以便于從整體上把握整個系統的活動。
三、Swarm仿真模型
目前,國外已有許多實現基于Agent仿真模型的軟件工具,如桑塔費研究所的Swarm 平臺、芝加哥大學的Repast平臺、布魯金斯的Ascape 等。其中最著名的是Swarm 平臺,本文的模型將采用Swarm模型的基本思想實現一個類Swarm模型證券仿真交易平臺的實現,以研究個體行為對股票市場股價的影響,以及股價波動趨勢。
Swarm仿真程序主要包括三類對象:ModelSwarm(模型Swarm)、ServerSwarm(觀察者Swarm)以及從所要模擬的真實系統中抽象出來的有代表性的微觀個體和這些個體活動的環境,稱之為代理人(Agent)。其中的模型Swarm類和觀察者Swarm 類都是Swarm 類的子類,它們二者建立了Swarm 仿真程序的框架結構。代理人則都是SwarmObject類的子類。模型Swarm 對象是Swarm 仿真程序的核心。首先它是一個代理人對象的容器,定義了模型中出現的代理人的種類和每一類代理人的數目,并持有這些對象的引用。當用戶定義好全部的代理人對象并為它們建立起相互之間的邏輯關系后,通過模型Swarm 對象的buildObjects 方法來創建這些對象。其次,模型Swarm 還定義了模型中代理人行為執行順序的動作序列表,動作序列表實現了代理人之間的交互。觀察者Swarm 的作用是監測模型的運行過程、記錄模型運行時各個Agent 狀態的變化并以圖形化的方式輸出結果。
四、基于Swarm的證券市場建模
用Swarm 編寫仿真程序一般有以下步驟:1)定義模型Swarm;2)定義仿真代理人及其代理人行為時間序列表;3)創建觀察者Swarm。
1.定義證券市場模型Swarm。在證券市場中模型Swarm可以定義為市場交易機制和市場規則。假設市場中只有一支股票,其數量固定且不產生股利,并假設現金的利息收入不用于股票投資,因此,市場上的總現金和股票數量保持不變。假設市場中有N名交易者,每個交易者在初始時被賦予一定的現金Ci和一定數量的股票Si。股票市場是連續競價市場,交易者可以提交市價訂單或限價訂單進行交易。訂單匹配的原則為價格優先和時間優先的原則。仿真時鐘以離散的方式推進,在時刻t,隨機選擇一個交易者。該交易者首先決定是買、賣還是不交易以及最大交易數量。然后查看訂單薄,尋找是否有匹配的訂單;如果有匹配的訂單,就與下單者進行交易;如果該交易者無法找到匹配的訂單或匹配訂單的交易數量小于其意愿交易數量,則根據當前的市場價格和所擁有的資源提交一個限價訂單。然后處理下一個交易者直至所有的交易者都進行了一次交易,最后清空訂單簿,至此一個時刻t仿真完畢,時鐘推進到t+1。當仿真時鐘等于結束時間時仿真結束。
2.定義仿真代理人及其行為時間表。證券市場中交易者分為基本分析者和技術交易者,在模型中將依據一定的給定的時間表做出一定的決策,決策的模型可用下面的數學模型來描述。
基本分析者買人、賣出股票和不交易的決策模型條件分別為公式1~公式3表示:
(1)
(2)
(3)
其中為銀行利率,為t時刻股票的價格,為基本分析者i對股票基本價值的估計,是基本分析者i對股票風險溢價的估計,為了簡化模型假設對所有基本分析者都相同并且始終不變。
模型中的技術交易者的交易規則為簡單移動平均規則。其含義是:若短期移動平均線從下方穿過長期移動平均線,則是買人信號;反之若短期移動平均線自上而下穿過長期移動平均線,則是賣出信號。模型中短期移動平均線為日線,長期移動平均線為日平均線。一般的,兩條移動平均線的穿越需要一個有效突破,才可觸發買賣信號,以過濾無效的突破信號。避免頻繁的不必要的交易。即假定t時刻價格為Pt ,移動平均價格為MA,若滿足:
在t-1時刻,,
在t時刻,,
則t時刻就是買人信號,若滿足
在t-1時刻,,
在t時刻,,
則t時刻就是賣出信號。
其中,b為有效突破因子,模型中將技術交易者分為若干種類型,每種類型的技術交易者的長期移動平均線的移動平均步長和有效突破因子b不同,以此增加趨勢追蹤者群體的多樣性。
3.創建觀察者Swarm
觀察者Swarm 的作用是監測模型的運行過程、記錄模型運行時各個Agent 狀態的變化并以圖形化的方式輸出結果,在本實驗中主要以圖表形式輸出數據。
五、仿真結論
給定初始參數,通過模型的運行可以輸出股票價格、價格的移動平均、交易量、各交易者的資金和股票頭寸等時間序列數據。下圖是模型某一次運行價格的時間序列圖,圖中橫坐標為仿真時鐘,縱坐標為價格。
通過下圖可以看出在定義好參與交易者的行為模型后,在一定時間內,股價隨著交易行為的發展而產生波動。
通過調整描述交易者行為的參數可以方便地研究微觀的交易者的行為對宏觀的市場價格、交易量等指標,以及市場中各項制度的實施效果的影響。這樣就自底向上地通過模擬微觀的投資者行為而得到市場運行的宏觀結果,這對于宏觀控制和把握股市提供了必要的決策支持。
參考文獻:
[1]羅批等:Swarm及其平臺下建特定民意模型的探討[J].系統仿真學報,2004 (1):21-25
[2]應尚軍魏一鳴范英等:基于元胞自動機的股票市場復雜忤研究——投資者心理與市場行為.系統丁程理論與實踐,2001 23(12):18-24
[3]宣慧玉高寶俊:管理與社會經濟系統仿真[M].武漢:武漢大學出版社, 2002, 115-179
[4]呂新明:基于行為金融學視角的股票市場價格仿真研究[J].計算機仿真,2007 24(11):266-270