摘 要: 采用工程化設(shè)計方法,完成了證券交易模擬系統(tǒng)應(yīng)用程序和數(shù)據(jù)庫的開發(fā),實現(xiàn)了對證券交易過程完全真實的模擬。實踐證明,本系統(tǒng)運行狀態(tài)良好,提高了投資者對于證券交易的研究分析和決策能力。
關(guān)鍵詞:模擬;證券交易;數(shù)據(jù)庫
隨著證券市場的迅速發(fā)展,越來越多的人投身于證券市場。然而,很多進入證券市場的投資者具有一定的盲目性,尤其是2006年至2007年,隨著證券市場牛市行情的發(fā)展,大量對證券市場一無所知或一知半解的投資者涌入證券市場。他們只看到了證券市場可能獲得的較高利潤,卻忽視了證券市場存在的風(fēng)險。為此,中國證監(jiān)會也曾不止一次地讓證券公司加強投資者風(fēng)險教育,但由于大量的投資者對證券交易的規(guī)則不了解,對自己投資證券所承擔(dān)的費用(如傭金、印花稅等)不太清楚,且沒有切身的投資獲利或損失體驗,風(fēng)險教育往往達不到預(yù)期的效果。因此投資者需要一個仿真的環(huán)境去學(xué)習(xí)體驗。同時,投資者也需要使用一些證券投資分析方法對證券進行選擇,需要一個模擬交易環(huán)境來驗證自己的分析方法,以提升投資分析能力。
綜上所述,證券公司需要建立一個證券交易模擬環(huán)境來滿足投資者的需求,以達到為客戶提供更好服務(wù)的目的。本系統(tǒng)采用Microsoft 公司的Visual FoxPro 6.0做為開發(fā)工具,完成了證券模擬交易系統(tǒng)應(yīng)用程序和數(shù)據(jù)庫的開發(fā)。在本系統(tǒng)中,模擬者能夠完成與證券市場盡可能相同的實時性操作,如證券交易、資金查詢、證券查詢、盈虧分析、階段性投資分析等功能;同時,如使用管理員身份登錄本系統(tǒng),除可查詢普通模擬者的交易數(shù)據(jù)外,還具有開戶、系統(tǒng)參數(shù)設(shè)置、交易參數(shù)設(shè)置、結(jié)息等功能。本系統(tǒng)的核心之一是證券買賣、資金變動、證券變動三者之間的聯(lián)系,每一個表的修改都將聯(lián)動地影響其他的表,當(dāng)證券交易完成后,系統(tǒng)會自動地完成相關(guān)表的修改;本系統(tǒng)的另一核心是查詢、盈虧分析、投資分析功能,通過對這些數(shù)據(jù)的查詢,模擬者可清楚地得到自己在這段時間內(nèi)的投資結(jié)果。
1 可行性分析及系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)
證券公司營業(yè)部的交易網(wǎng)絡(luò)是一個相對特殊的網(wǎng)絡(luò),證券公司從交易所接收來的實時行情數(shù)據(jù)被存在一臺有NOVELL操作系統(tǒng)的服務(wù)器上,客戶端通過對NOVELL服務(wù)器的登錄,完成對該服務(wù)器存放文件的共享訪問。而交易所傳來的實時行情文件,是以Visual FoxPro早期版本的表文件(DBF文件)格式存放,Visual FoxPro 6.0對此有較好的支持。同時由于Visual FoxPro 6.0對數(shù)據(jù)庫的共享或獨占訪問有非常完善的機制,故非常適合這種以本地表文件(或通過目錄映射訪問文件服務(wù)器)為基礎(chǔ)的程序開發(fā)。本系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。

2 系統(tǒng)功能模塊劃分
為完成系統(tǒng)必備的功能,證券交易模擬系統(tǒng)由以下模塊構(gòu)成。
2.1 登錄模塊
該系統(tǒng)設(shè)計了一個登錄代碼為“0000”的管理員,如模擬者以其代碼登錄,則出現(xiàn)的是該模擬者的模板操作界面。管理員的操作功能有:查詢其他模擬者的資金流水、證券流水、資金證券余額、盈虧分析、排名情況等,同時還有系統(tǒng)設(shè)置、管理的一些功能。普通模擬者的操作功能有:證券買賣,查詢自己的資金流水、證券流水、資金證券余額、盈虧分析、排名情況等。
登錄模塊位于表單集中的一個單獨表單,當(dāng)模擬者登錄時,由該模塊完成用戶密碼校驗,同時根據(jù)實時行情庫生成快速查詢表。
2.2 交易模塊
根據(jù)滬深交易所交易規(guī)則,建立如圖2和圖3所示交易流程圖。


該模塊完成模擬交易的買入與賣出功能,同時,在輸入證券代碼的過程中,彈出證券快速查詢框,可快速定位在交易的證券,當(dāng)確定證券代碼后,頁面顯示實時行情,同時顯示可買數(shù)量、可賣數(shù)量等交易要素,方便操作。該模塊不支持管理員身份登錄。運行界面如圖4所示。

查詢功能完成對模擬者指定條件內(nèi)的資金流水和證券流水,以及截止查詢時的余額、明細(xì)匯總、盈虧一覽、獲利排名等。如以管理員身份登錄,可選擇查詢不同的模擬者,運行界面如圖5所示。

2.3 綜合分析模塊
該模塊完成兩項功能,一是資金明細(xì)匯總,可顯示出模擬者開戶以來的所有資金匯總項,如資金共存入、資金共取出、前臺費支出,后臺費用支出、利息、獲利等項目;二是盈虧一覽表,可顯示出自開戶以來各證券的交易盈利情況。運行界面如圖6所示。

2.4 系統(tǒng)設(shè)置模塊
該模塊完成對系統(tǒng)的綜合設(shè)置,如行情庫路徑、交易數(shù)據(jù)存放路徑、前后臺費用設(shè)置以及開戶、資金存取、結(jié)息等功能。本模塊只有管理員有此權(quán)限。運行界面如圖7所示。

2.5其他
該模塊完成修改密碼、查詢獲利排名、重新登錄等功能。運行界面如圖8所示。

3 數(shù)據(jù)庫設(shè)計
綜合系統(tǒng)功能模塊劃分,需設(shè)計客戶表 (cust.dbf),該表用于存放模擬者的基本信息,包括開銷戶日期、狀態(tài)、密碼等,其結(jié)構(gòu)如表1所示。

另外還有用于存放資金流水的資金表 (fund.dbf),用于存放證券持倉的證券表 (stock.dbf),用于進行系統(tǒng)配置的配置表(config.dbf,sfk.dbf),用于界定交易類別與收費名稱對應(yīng)關(guān)系的交易類別表(jylbmc.dbf),用于計算某證券在交易周期內(nèi)證券變動情況的證券變動表(stkchg.dbf)、由滬深交易所行情庫生成、用于買賣時快速輸入或選擇證券代碼的證券代碼表(codename.dbf),以及一些用于查詢或分析模擬者模擬交易情況的臨時表。由于篇幅有限,以上表結(jié)構(gòu)從略。
4 系統(tǒng)應(yīng)用程序設(shè)計
本系統(tǒng)由一個主程序、一個獨立表單、一個表單集、一個圖標(biāo)文件組成。主程序(main.prg)用于設(shè)置系統(tǒng)環(huán)境、公共變量以及表單調(diào)用,程序如下:
application.visible=.f.
release all
public jys_xz
jys_xz=''
do form code name mnrs2 linked
read events
do form mnrs name mnrs1 linked
read events
release events
由于篇幅有限,對于生成證券快速查詢表單(code)及表單集formset(mncg)程序說明從略,至此,證券交易模擬系統(tǒng)設(shè)計完成。經(jīng)系統(tǒng)測試,能夠滿足預(yù)定性能,效果良好。
本系統(tǒng)符合A股、基金等的交易規(guī)則,如T+1交割、費用收取規(guī)則等,可有效模擬出真實交易的情況,同時也有利于提高模擬者的證券投資水平。由于本系統(tǒng)設(shè)計為在證券公司使用,故在買賣交易時,證券價格是由系統(tǒng)自動從實時行情庫中提取,從而能更好地避免了對價格的人為干預(yù),提升了模擬交易的真實性。
由于證券市場交易品種很多,每個交易品種交易規(guī)則不盡相同,故本次只選擇了最為普遍的A股、基金等交易品種做為本次系統(tǒng)開發(fā)的重點。本系統(tǒng)不支持證券的分紅送配等非實時交易性的功能。
參考文獻
[1] Microsoft Corporation.Visual FoxPro 6.0中文版語言參考手冊[M].北京:希望圖書創(chuàng)作室,1998.
[2] 譚浩強.Visual FoxPro 數(shù)據(jù)庫實用技術(shù)[M].北京:中國鐵道出版社計算機圖書中心,2007.
[3] 丁寶康.數(shù)據(jù)庫原理[M].北京:經(jīng)濟科學(xué)出版社,2000.
[4] 陸麗娜.軟件工程[M].北京:經(jīng)濟科學(xué)出版社,2000.
