當前位置:外匯行情大全網 - 期貨行情 - 23分析高頻交易訂單流

23分析高頻交易訂單流

點過程基礎

假設妳蹲在壹個交通站臺後面,看著人來人往。妳覺得乘客的到達似乎存在某種數學規律, 於是妳把每個人到達的時刻記錄了下來。有什麽辦法可以對這些人到達的時刻進行建模?妳漸漸進入了沈思狀態。也許提煉這些點形成的集合所具有的特征是壹個好辦法。妳想到乘客到來的速率肯定是壹個重要特征,如果是在壹個偏僻的小公交站,可能半天也看不到壹個人 ; 到了市中心的大車站,人潮湧動可能讓妳難以計數。不同人到來的間隔是另外壹個有意思的特征,乘客不是從工廠出來的產品,肯定不會乖乖地等間隔的到來,那麽不同乘客到來的間隔有什麽規律呢?要回答這些問題,必須要借助概率的語言,更確切地說,是點過程。

泊松過程

泊松過程有以下幾個性質:

不相交的時間段上到來的數量是相互獨立的;兩個點幾乎肯定不會同時到達;在某個給定的時間段到達的數量服從泊松分布,分布均值正比於時間段的長度。

從數學層面來描述具有這樣性質的過程,首先我們從第二個性質開始 , 我們用 N(a,b] 表示 a < t <= b 這段時間發生的事件數。

對於壹個趨近於0的 Δt , 我們聲明 , 對任意t

P(N(t,?t?+?Δt]=1)=λΔt

由於 λ 的含義是單位時間內事件的數量 , 所以可以定義為事件發生的強度。

由於兩個點不會同時到達 , 在小段時間裏發生兩次的概率約等於0

P(N(t,?t?+?Δt >=?2) → 0

那麽對於任意時間段 (a,b] , 我們可以先將其劃分為多個小時間段 , 然後由不同時間段的 獨立性, 用二項分布來計算概率分布 , 再用泊松分布近似:

可以看到 N(a,b] 近似服從參數為 λ(b-a) 的泊松分布。

現在我們來看壹看兩個事件的間隔服從什麽分布 , 間隔為t0 意味著這t 0 時間段沒有事件發生, 那麽可以很容易的進行計算:

我們可以利用間隔服從指數分布的性質,模擬服從泊松過程的事件,第k個事件的時刻就是第 k-1 個事件時刻加參數為λ 的指數分布的隨機變量:

舉個例子, 我們可以模擬壹個 λ 為 0.5 的泊松過程 , 總***模擬 50 個事件, 可以畫出事件與時間的關系:

還可以畫出累積事件與時間的關系 , 按照我們的估算 , 發生 50 個 λ 為 0.5 的事件大約要用 100 的時間,我們可以從圖中進行驗證。

** Hawkes過程**

在泊松過程中,強度保持恒定,事件的發生遵循“無記憶性”的原則,在現實世界中,很多情況 都不符合這樣的假定,例如犯罪行為往往具有空間上的聚集性,這是由於罪犯在得手後傾向於在附近繼續作案;而在高頻交易中趨勢交易者會跟蹤大訂單,使得市場在短時間湧入大量訂單。在這些系統中,事件發生的速率都是不均勻的。如何描述這種空間上的聚集性,或者說是正反饋的機制呢?我們需要對模型進行擴展,不再把 λ 固定為壹個確定的值,而是讓他成為壹個關於時間的函數,即 λ(t) 。

比較精確的定義是當 Δt 趨近為 0 時:

P(N(t,?t?+?Δt]=1)=λ(t)Δt

其余的假設相似 , 在小間隔內發生2次或以上事件的概率趨近為0 。

λ(t) 的定義則為:

的 λ0(t) 代表的是背景的強度 , 而 v(t - ti) 則代表發生在 t 時刻之前的事件對時刻 t 產生的正向影響 , v 函數就是核函數 , 簡單來說 , ti離t 越近 , 對t時刻造成的影響就應更大。

先使用壹個比較簡單的核函數:指數函數來看壹看 Hawkes 過程究竟有什麽特性:可以定義

模擬了 100 個事件,可以把事件和對應的強度畫在壹張圖上

可以通過數值驗算壹下我們的結果是否合理:

強度的實際平均值為 Nt / t大約為 100/150 ,而我們可以推導理論的平均值:

圖片裏的 λ0 是我們定義的 μ , 而圖片裏的 μ 代表我們要算來和實際對比的強度的平均值 E[λ(t)],註意從第壹排到第二排的變換是根據 λ(t) 的定義。

可以計算出理論值

E[λ(t)] = μ / (1 - (α/β)) = 2/3

與實際的較為接近,說明模擬是正確的。

指數核Hawkes過程模擬優化

對指數核函數的 Hawkes 過程進行模擬 , 當我們把 事件個數調大時,比如從 100 調到 1000 時,可以發現程序運行的時間大大增加了, 這是由於在算時刻對應的強度時需要調用前面所有的事件時刻,所以復雜度是 O(N^2).

Hawkes 過程參數估計

因為後面的函數 nlminb 所做的是使函數的值最小化 , 上面的似然函數中我們輸入的是負的似然函數。

經過優化得到的參數非常接近我們的真實參數(0.5,0.3,1.2) , 這說明極大似然估計非常有效。

Hawkes 過程的核函數可以指定多種形式 , 除了指數核函數以外 , 還可以使用冪律核函數 ,甚至不指定核函數的具體形式, 使用非參數的方法求取核函數 。

訂單流數據表示

在金融市場上做交易時 , 可以看到壹個委托單簿,上面陳列著買價和賣價以及它們對應的量 , 舉個例子,比特幣市場的訂單簿:

action_itme 的含義是訂單類型 , 其中 “M” 代表對 order book 的改變 , 換句話說就是限價單;而 “T” 代表的是 trade ,也可以說是市價單。 ask price 和 ask vol 分別代表最優賣價和量 , bid price 和 bid vol 分別代表最優買價和量 。 price 和 vol 分別代表訂單對應的價格和量。 time 是以 1970 年開始計算的秒數。

時間的精度 , 達到了10的負7次方 , 也就是達到了微秒級。

用函數將其轉化為 R 語言中的時間格式 , 發現首個數據的時間是下午 5 點。

由於美國標普 500 的交易時間是上午 8 點半到下午 3 點 , 我們用壹個二分搜索把交易時間內 的數據提取出來,並命名為 trade

訂單間隔分析

75 分位數和均值大約 0.02s , 這可以說明標普 500 期貨的交易非常頻繁,流動性非常好。

上面是訂單間隔的分布圖,由於大於 0.01s 的間隔較少,我們選取小於 0.01s 的間隔進行可視化,可以觀察到分布是高度有偏的,絕大多數間隔都非常小。

用指數分布去擬合小於 0.04 的訂單間隔,發現實際數據衰減的速度遠遠高於對應最優參數模擬指數分布衰減的速度。由於指數分布的衰減速度是非常快的,這更說明小間隔的比例有多麽大,可以說這是實實在在的“高頻”交易。

高頻交易中有壹類交易者叫做做市商,它們在市場中掛買單和賣單,如果都成交了就可以賺取 其中的價差。它們壹般下限價單,為市場提供流動性,當然它們也會有壹些自己的策略,例如在市場上出現市價單時做市商壹般會調整自己的訂單,所以他們會馬上下跟蹤的限價單,我們從統計來看壹看市場有沒有這樣的現象。

我們選取的是 1s 和 0.01s , 如果是平穩的那麽 0.01s 對應的分位數應該是 1s 的百分之壹左右。但是實際上在越高的分位數上這個規律就越不成立 ,在 99.99 分位和 99.999 分位上甚至超過了十分之壹。

這說明事件的到來有高度聚集的特征,不能簡單地用泊松過程來刻畫 。

流動性研究

流動性的含義是當妳想交易時,妳是否有能力快速地進行大規模交易。它由三個要素組成,速度,深度和寬度。

深度主要與訂單量有關,兩方的訂單量越多,能夠承受的買壓或賣壓就更大,流動性就更好

而寬度主要與價格有關,在市場中我們可以看到壹些交易量小的標的,它的 bid 和 ask 的距離非常之大,這樣如果我們用市價單壹買壹賣,會有較大的損失,而對於壹些交易量大的標的,bid 和 ask 的距離可能非常小,可以放心下市價單進行即時交易。

由於我們的數據裏只有最優買價和最優賣價,沒法對深度進行分析,我們只能通過分析 bid 和 ask 的距離(這個距離被稱作 spread)來分析壹下寬度。

可以看到絕大多數時候 spread 都是 25(1 個 tick) ,說明標普 500 期貨 的流動性非常之好。

限價單相對價格分析

當在準備下限價單時,我們有很多選擇,可以當壹個保守的人,下壹個離最優價格很遠的單子,也可以下離最優價格很近的單子,這樣很大概率能夠快速成交。

我們把相對價格定義為

bid_relative_price = (best bid - 下單價格) / tick

ask_relative_price = (下單價格 - best ask) / tick

這樣可以做壹個統計,來看壹看限價單相對價格的統計分布。

從圖中我們可以看到 , 買單和賣單的相對價格在0之前分布基本相同

指數核 hawkes 過程擬合

形象地來看,限價單組建起了買方和賣方的堡壘,而市價單則對對手的堡壘發起沖擊。 那麽作為進攻部隊,市價單對買方賣方力量的博弈是非常關鍵的。

把時間相同的訂單進行合並,並把所有時間減去初始值

擬合得到的 beta 的值非常大,說明前面事件對後面事件的影響衰減得非常快。註意 1/beta 被定義為 Hawkes 過程的記憶時間 , 超過這個時間的後續事件基本不受這個事件的影響 。 這裏我們可以看到影響周期小於壹毫秒 , 說明頻率確實非常快。

正反饋強度分析

索羅斯在他的“金融煉金術”中提出了壹種叫做 reflexity(自反性)的理論 , 這個理論說的是投資者和交易者的認知偏差會改變標的的基本面。例如壹支股票持續上漲,會使得投資者對提高對它基本面的認知 ,又反過來推動股價的進壹步上升, 從而形成正反饋。

但是如何量化地對正反饋進行分析壹直是壹個問題。在 Hawkes 過程中,根據 lambda 的表達式我們可以把事件發生的強度分為兩部分 , 壹部分是背景的強度 , 壹部分則是由前面事件激發而得到的強度,這部分“衍生”的強度的平均值可以被認為是正反饋的強度。

例如在指數核中,我們可以通過積分計算出正反饋機制的比例是 alpha / beta , 下面我們把壹天的時間按照30分鐘的間隔分為13段 , 看看每壹段的背景強度和 reflexity 分別是多少。

然後我們可以開始嘗試建模,將量的因素考慮進去:

訂單數量的冪指數

前面我們假設訂單量的影響是線性的,可真實是這樣的嗎,我們嘗試在訂單數量上加入壹個冪指數,那麽強度的表達式變為

從參數我們可以看到k的值大約是 0.5 , 說明訂單的影響大約是數量的根號,並不是線性增長的。 這是非常有趣的壹個現象 , 說明訂單量的沖擊是邊際遞減的。

  • 上一篇:對方做生意賠錢,賠不起怎麽辦?
  • 下一篇:豐田捷路馳的零件和那輛車是壹樣的。
  • copyright 2024外匯行情大全網