孫 偉
(上海期貨交易所,上海 200122)
期貨市場通過交易保證金制度來防范履約風險。過高的交易保證金會增加交易雙方的交易成本,降低市場的活躍度。由于價格波動造成的盈虧在組合交易中會有不同程度的抵消,國際上主要的期貨市場都通過特定的組合保證金算法來減免組合交易的保證金,比如芝加哥商業交易所的SPAN系統和美國期權清算公司的 TIMS系統,但這些算法都比較復雜,運算開銷大,只能在清算時使用,交易過程中主要依靠信用保證,這在信用體系不夠成熟的發展中國家的期貨市場就失去了推廣基礎。由于在交易過程中完全通過保證金來防范履約風險,保證金算法的設計必須滿足兩個要求,一是運算效率足夠高,不能造成交易堵塞;二是收取的保證金必須足以覆蓋當日預期內價格波動帶來的風險,同時當價格波動超出預期時還可通過撤銷交易訂單和了結期貨合約持倉來釋放保證金。下文提出的大邊保證金算法既能很好地滿足這兩個要求,同時又能大幅降低組合保證金額度,在發展中國家的期貨市場有著廣泛的借鑒意義。
大宗商品和金融工具價格的大幅波動給生產者和消費者的日常經營活動帶來了巨大交易風險。期貨交易作為一種標準化集中式的遠期交易,為供需雙方提供了高效的套期保值渠道,為風險偏好者提供了投資收益,同時實現了社會生活中具有代表性的大宗商品和主要金融工具的價格發現功能。高效率的保值渠道、合理的風險收益、準確公正的價格發現,都依賴于市場活躍程度即市場流動性。除了交易標的物本身的特性之外,對市場流動性影響最大的就是交易成本和風險控制。降低交易成本和保證風險控制是一對孿生兄弟,相互制約又相互促進,只有做到適當的平衡,才能提高市場流動性。
為了確保合約履約,期貨市場引入了交易保證金制度,交易雙方按照持倉合約價值繳納一定比率的保證金,以保證期貨標的物在到期交收階段,即使約定執行價格與市場實際價格偏離時,交易雙方仍能履約。對交易雙方而言,只要繳納的保證金足以彌補價格偏離所導致的虧損,理論上就不會存在履約風險。保證金制度是期貨市場風險管理最根本、最重要的制度,起到控制市場風險的作用。
絕大多數期貨交易所實行當日無負債結算制度,釋放長期價格波動累積的履約風險,保證金只需覆蓋下一日或幾日價格波動可能造成的虧損即可。如果行情劇烈波動導致交易一方保證金不足,其需要在規定的時間內補足保證金,否則交易所可以按照交易規則對其持倉實行強行平倉,以平倉釋放的保證金來補足[1]。
交易風險既包括基礎商品價格發生偏離時帶來的風險,也包括由相關關聯資產價格發生變動、匯率波動、國際市場價格產生波動等因素所引發的風險。保證金機制的安全就是通過保證金控制住交易風險。
交易效率主要包括兩個方面:一是交易資金的使用效率,大宗商品交易的保證金數額巨大,是期貨交易成本的主要組成部分;二是機制的運行效率,指機制的復雜程度、保證金算法的難易程度,以及在實時交易中達成的難易度,特別是當交易放大時,會極大提高運行機制復雜程度,影響效率。
影響安全和效率的多個因素間需要相互平衡。幾乎所有的期貨交易所都致力于在保證交易安全的前提下提升交易效率,這是交易所的核心競爭力所在。既能做到控制風險又能降低交易成本是每個期貨市場不斷追求的目標。
保證金機制依賴于市場的信用程度。市場的信用程度指市場運作過程中市場參與各方對運作規則和約定的主動遵守情況。市場信用程度主要受市場發展程度、市場參與者情況、社會誠信體系及相關法律法規影響。相比發達國家,我國期貨市場起步較晚,市場參與者分布分散,專業機構參與度不夠,社會誠信體系不夠完善,相關法律法規也不夠健全,目前還屬于低信用市場。
市場信用程度的高低直接影響市場的運作方式。低信用市場的風險控制方案剛性高,缺乏彈性,交易雙方缺乏信用保障,要靠貫穿事前、事中、事后的風險管控措施來管理違約。具體到保證金制度上,我國期貨市場保證金設置原則為在可接受置信水平下的市場風險必須被保證金足額覆蓋,且必須覆蓋期貨合約的委托交易、持有等全過程。交易之前需要驗證并凍結保證金,任何一個環節的保證金控制不到位,都有可能導致違約的出現。
市場的效率提升方法聚焦在合理降低交易保證金,提高交易者的資金利用率方面,最主要的方法就是向交易者收取組合保證金。
單個期貨合約的保證金率由該合約的波動性決定,可以用風險價值VaR來度量,即在正常市場條件和給定的置信水平下,根據以往該合約的價格波動情況推算出在未來特定時期內該合約價值的最大可能損失。保證金應大于 VaR,才可以控制指定時期內的市場風險。如果單個合約的波動性既定,風險偏好一定的情況下(也就是置信水平給定),那么保證金率也基本確定,難有降低空間。但是在進行多種期貨合約組合交易時,由于合約間存在相關性,行情波動帶來的盈虧會對沖抵消,從而降低了組合交易的風險。因此可以針對組合交易中各投資工具的相關性和投資方向,分析組合交易的整體風險情況,計算組合保證金,降低實收保證金。
國際上針對投資組合保證金計算主要采用TIMS、STANS和SPAN這三種算法模型[2][3]。它們都能很好的做到通過產品組內和產品組間的風險對沖大幅降低交易雙方的組合保證金額度。但在低信用市場,由于必須在交易前凍結足額保證金后才能進行交易,這三種算法模型都遇到了難以解決的問題,無法得到應用。存在的問題主要有以下幾個方面:
(1)會員提交委托訂單時,由于委托訂單成交數量不確定,并隨著交易時間變化,造成組合持倉結構存在太多的可能性,而這三種算法都比較復雜,計算開銷很大,難以在交易之前計算出各種可能的保證金。
(2)持倉組合的各種可能性,降低了組合保證金算法效率和運行機制的效率。
(3)當不能依賴信用保障時,在交易過程中任意時刻都必須有足額的保證金才可以下達交易訂單,而這三種算法不能保證某個會員減少持倉后(雙向持倉結構中的平倉交易)其保證金額度不會增加,使得該會員可能無法通過平倉交易來釋放保證金。這也導致我國期貨市場實行的強行平倉制度不能充分發揮其實質作用。
我國期貨市場是發展中國家的階段性市場,沒有復雜的衍生品,投資組合相對也比較簡單。在這種情況下,經過反復論證,設計出能夠很好地克服上述問題的大邊保證金算法,即分別計算多空雙向持倉的交易保證金金額,先收取金額較大的那個方向的保證金,金額較小方向的保證金按系數折抵部分保證金后收取。在保證事前控制風險的前提下提高交易者的資金使用效率。
為了便于大邊保證金算法模型描述,定義符號如下:
MT 總保證金
ML多頭保證金
MS 空頭保證金
MNL 凈多頭保證金,當 ML>MS,MNL=ML-MS,否則MNL=0
MNS 凈空頭保證金,當 MS>ML,MNS=MS-ML,否則MNS=0
NLS 凈多頭保證金合計
NSS 凈空頭保證金合計
下標p表示產品,c表示合約,g表示組合,pi表示i產品,ci表示i合約,例如:
MTp產品的總保證金
MSc合約的空頭保證金
MTg組合的總保證金
MTpii產品的總保證金
MScii合約的空頭保證金
λ 產品或合約間相反方向保證金收取的折抵系數,由產品或合約的相關性決定,取值范圍為[0,1],例如:
λpiji,j產品間的折抵系數
λciji,j合約間的折抵系數
以產品保證金計算為例(假設該產品包含n個合約),分為以下兩步:
(1)計算合約保證金

同一合約相關系數λcii為1,上式簡化為:

(2)計算產品保證金
產品的凈多頭保證金等于產品內所有合約的凈多頭保證金之和記為NLSp,產品的凈空頭保證金等于產品內所有合約的凈空頭保證金之和記為NSSp:

如果NSSp≥NLSp則產品的大邊保證金為:

否則

當同一產品內各合約行情高度相關時,λCij可取1,即上期所現行的單向大邊法,上式簡化為:
如果NSSp≥NLSp則產品大邊保證金為:

否則

由于需要在交易過程中計算保證金,大邊保證金算法必須高效,交易過程中保證金計算分下委托訂單、委托訂單成交、委托訂單撤銷三種情況,下面以下委托訂單為例來說明算法的實現。下開倉委托訂單時,增加凍結保證金;下平倉委托訂單時,凍結保證金不變,可具體分為以下幾個步驟:
(1)計算當前持倉產品大邊保證金,記為Mp;
(2)計算新增本委托訂單后產品所有開倉委托(除去平倉)訂單全部成交情況下,形成新的持倉結構時的大邊保證金,記為Mt;
(3)那么新增本委托訂單后所有委托訂單需要凍結的全部資金為Mo=Mt-Mp;
(4)交易系統在下本委托訂單后需新增的凍結資金為Mo減去之前凍結的資金,持倉保證金不變。
交易系統在計算上述保證金值時,為了提高計算效率,需要計算和緩存一些中間值,利用儲存的中間值來減少查找與統計,檢索算法也做了一些專門的優化,例如采用hash索引來提高檢索效率,以避免遍歷客戶持倉、報單簿、成交表等記錄數大的表。以 λCij取 1時的優化為例(國內期貨市場同產品內合約間折扣系數的推薦取值,上海期貨交易所的單向大邊法就等同于折扣系數取值為1的大邊保證金算法),優化后某客戶某產品保證金計算流程圖如圖1所示。
這個算法模型在上海期貨交易所NGES2.0環境中[4],運行在PC服務器上(雙2.5G主頻處理器,144G內存),交易引擎單線程撮合,采用了高性能的內存數據庫技術和低延時的程序設計,撮合過程包括權限檢查、持倉計算檢查、資金計算檢查,買賣雙方交易匹配等,實測保證金計算對交易引擎整體撮合時間的影響在1%以內,基本上沒有降低交易系統的總體性能。
上海期貨交易所對2008年5個樣本會員的歷史數據進行了實證研究和測試[5][6]。下圖是原保證金算法(即大邊保證金算法中當λ取0時,不考慮組合交易保證金折抵,期貨合約按照買賣持倉量分別收取交易保證金算法)和單向大邊法的保證金金額對比。圖中可以看出,單向大邊算法比較原算法平均降低保證金18%(鋁)到35%(天膠),同時仍然完全覆蓋交易風險。

圖1 下委托訂單流程圖

圖2 保證金方案比較圖(圖中單位為千元)
進一步推廣到產品組合保證金(假設該產品組合包含n個產品):
產品內各月合約的凈多頭保證金之和若大于凈空頭保證金之和,則該產品的凈多頭和凈空頭保證金為:

產品內各月合約的凈空頭保證金之和若大于凈多頭保證金之和,則該產品的凈多頭和凈空頭保證金為:

產品組合的凈多頭保證金等于組合內所有產品的凈多頭保證金之和記為NLSg,產品組合的凈空頭保證金等于組合內所有產品的凈空頭保證金之和記為 NSSg:

如果NSSg≥NLSg則產品組合的大邊保證金為:

否則

如果進一步考慮產品間不同月份合約的折抵情況,則需要給出不同產品不同月份合約兩兩之間的折抵系數,雖然折抵比較準確,但折抵系數配置會比較復雜。
初級階段的期貨市場,信用體系相對不夠健全,足額的事前保證金措施可以有效地防范交易風險,但是要求交易雙方繳納更多的交易保證金。大邊保證金算法實現了在保障風險控制的前提下降低了交易保證金額度,極大地提升了市場效率,同時具有可操作性,對期貨交易所及其會員的計算機系統沖擊很小,在市場事前嚴格驗資的情況下,資金利用效率不低于國際主流保證金算法。實踐證明,其同品種各合約間折抵系數取1時的單向大邊法就是個適用性非常好的算法,目前已被上海期貨交易所、中國金融期貨交易所等所運用,在其他發展中國家的期貨和遠期交易中也有實際使用價值。
[1] 上海期貨交易所. 《章程、交易規則》. 2015.
[2] 上海期貨交易所. 《SPAN系統試用評估報告》. 2004.
[3] 馬重. 《TIMS、STANS和SPAN三種保證金模式的對比研究》. 期貨日報. 2008.
[4] 上海期貨信息技術有限公司. 《NGES2. 0交易系統建設方案》. 2013.
[5] 上海期貨信息技術有限公司. 《NGESIII結算系統建設方案》. 2009.
[6] 上海期貨交易所. 《單向大邊法保證金方案》. 2013.