請問逐筆和tick有無差異

  •   788 
  • 最後發表   小散戶  2021 十一月 09
小散戶 發文於   2021/11/02

小幫手好

問幾個問題

1.我看到個股成交明細裡面是逐筆的單量、價格、時間的資料,時間最小單位是秒

有時候一秒內能出現連續十幾筆,那其中每一筆都叫一根tick嗎??逐筆也就是逐tick的意思?

 

2 要用什麼函數才能抓取最新的tick?

用getfield("close","tick"), getfield("volume","tick")或是q_last? q_tickvolume是不是一樣?

3.腳本抓取tick最新資料進行if then else計算判斷,然而計算需要時間,尤其遇到瞬間爆大量成交的股票

當腳本計算結束又呼叫函數抓取下一根tick時會不會錯過好幾根tick而並不是真正的下一根??

4.所以腳本計算的工作量就跟逐筆抓tick的速度有很大關係,自動交易腳本裡面商品越多

逐筆洗價之下遇到快市就可能沒抓到每一根tick?

 

 

 

 

 

 

 

 

 

 

 

 

排序方式: 標準 | 最新
XQ小幫手 發文於   2021/11/04

Hello 小散戶,

 

您可以參考 Tick欄位的應用 此篇文章。

裡面有回答了您的問題。

除此之外也可以參考 台股逐筆撮合的連續成交Tick序列 這篇文章。

裡面提到了如何使用 ReadTicks 函數來將兩次洗價間的所有Tick給抓出。

小散戶 發文於   2021/11/04

這篇我也看了很多次,還是有疑問

比如從逐筆成交序列你是怎麼判斷出三筆加起來100張是同一人委託單,而非不同人2筆各50張的委託單?

XS判斷是否為連續成交序列的邏輯是什麼?需要用到五檔量價嗎?

另外readtick函數會把連續成交序列累加放在array中同一個row,

比如股票接近漲停,在漲停價有1萬張賣單,而買單連續買入直到1萬張清零,漲停鎖住,

這期間成交價會停在漲停價,並出現連續的成交筆數,每一筆都有序號

那麼readtick會把全部都視為同一筆連續成交嗎? 

但是顯然這些都是不同人的委託單,只是他們幾乎同時買入,不可能一個人下了一萬張買入的單子

 

 

 

 

 

 

 

 

小散戶 發文於   2021/11/05

重讀了readtick函數的說明

// 三種情形

// case#1: _complete 而且 value7(最新一筆的標記) =3 => 我們讀到了一個完整的multitick序列

// case#2: _complete 可是 value7不是3 

// => 這個表示我們收到了一個multitick序列的開頭, 可是結尾還沒有收到

// case#2a => 如果這種情形發生在最新的資料端, 那我們可以等待下一次洗價時再來處理

// Example: 0, 0, 0, 1 (2, 3 is coming)

// case#2b => 如果這種情形發生在最新的資料端, 那我們可以等待下一次洗價時再來處理

// Example: 0, 0, 0, 1, 2, 2 (3 is coming)

// case#2c => 可是如果這種情形是發生在中間的話, 那就是資料有問題了, 例如

// Example: 0, 0, 0, 1 (where is 3 ?) 0, 0

// case#3: not _complete => 這個表示這一整批資料的第一筆竟然不是multitick序列的開頭, 可能有人傳錯 readtick_cookie了 ?

// Example: (where is 1 ?) 2, 2, 2, 3

//

// 如果是 case#2a的話, 目前收到的multitick資料就先不處理, 等下一次呼叫時再來處理

// 其餘情形我們就組一筆MultiTick的資料

我的問題是:如果multitick沒接收完,readtick最新的一筆資料不會計算出結果?一定要等到接收完整multitick

readtick array裡面才會整理好一列row, 存放著multitick統計完的資料?

還是老問題, tick group是誰定義的?是交易所的數據格式會告訴你這連續幾筆是multitick嗎?

如果交易時間能夠精細到毫秒,那也許能根據成成交時間知道這是multitick, 但是XQ的數據好像只到秒吧?

還是XQ根據買賣和逐筆結果推測出這連續交易屬於multitick?

另外,如果我不想等到完整接收完multitick才做判斷,能調取readtick函數只接收到中途的成交總量結果嗎?

還是說要自己改寫一個陣列比較好呢?

 

 

 

 

 

 

XQ小幫手 發文於   2021/11/09

Hello 小散戶,

 

首先小幫手先定義tick,根據investopedia上的說明:

A tick is a measure of the minimum upward or downward movement in the price of a security. 

A tick can also refer to the change in the price of a security from one trade to the next trade.

這裡是用後者。一個tick代表著一筆交易,只會有一個賣方與買方。

所以就算價位不同,但是屬於同一根tick的話就會判斷是同一人委託。

而這幾個價位是否屬於同一根tick則是由資料源得知。

 

關於readtick中multitick的處理,上面有寫著如果是 case#2a 和 case#2b ,換句話說,該multitick還未完成的話,會等到下次洗價處理。

tickgroup是我們根據資料來源(交易所),這幾個價格成交是否屬於同一個tick所標示。

XQ的數據最小到tick,您可以在資料欄位中確認其所支援的頻率。

另外,逐筆洗價最短的洗價是 125ms 一次,也就是一秒最多洗價8次。

如果您希望有多少資料就讀取多少資料,不管他是否是multitick的話可以複製readtick函數自行修改。

發表回覆
Close