back start next


[start] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [ 39 ] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97] [98] [99] [100] [101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120] [121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134]


39

TABLE 4.3 Trust capital as a function of two variables.

The trust capital T resulting from a comparison of two independent (I* = I) scalar quotes, depending on two variables: the relative variable change £ and the time interval A# between the quotes. £ is defined by Equation 4.11, and d and v are explained in the text.

dA&/v = 0

-15.0

-14.9

-14.2

-10.2

-3.2

-3.0

-2.9

-2.5

-1.2

-0.22

0.75

0.68

0.42

0.10

0.014

0.89

0.50

0.11

0.015

4.4.4 Computing the Expected Volatility

The expected volatility is a function of the size of the time interval between the quotes and thus requires a larger computational effort than other statistical variables. Only credible scalar quotes should be used in the computation. The updates of all statistics are therefore managed by another part of the algorithm that knows about final credibilities as explained in Section 4.5.5.

Choosing an appropriate business time scale i? is important for measuring the time intervals between quotes and for all other computations of this section. This is explained in Section 4.4.6.

Although the expected volatility computation can be implemented with various methods of different degrees of sophistication, we adopt a simple method. The first variable needed is the quote density

d = [ * ; ] (4.15)

This is a moving average in the notation of Section 3.3.5; is the time interval between two "valid" (as defined on a higher level) neighbor quotes on the chosen time scale. A \Jr is the configurable range of the kernel of the moving average. The variable is the weight of the quote, which normally has a value of c</ = 1 and is lower only in the case of repeated quote values. The iterative computation of moving averages is explained in Section 3.3.5. The value 1 has to be assumed for the whole quote interval, which implies using the "next point" interpolation. It can be shown that a zero value of S& does not lead to a singularity of the EMA.



An annualized squared "micro"-volatility is denned as a variance in Ihe form of a moving average

v = EMA

Aftr

(8x)2 8ft + Sfto

(4.1ft)

where the notation follows Sections 3.3.5 and 3.4.3 and the range Aftr is the same as in Equation 4.15. 8x is the change of the filtered variable between (sufficiently credible) neighbor quotes. There is a small time interval offset

8ft0 = max(7 (4.17)

The small positive term Sfto accounts for some known short-term behaviors of markets: (1) certain asynchronicities in the quote transmissions, (2) some temporary market level inconsistencies that need time to be arbitraged out, (3) a negative autocorrelation of many market prices over short time lags (see Section 5.2.1). However, Sfto is not needed to avoid singularities of v; even a zero value of both 8ft and Sfto would not lead to a singularity of the EMA. The "next point" interpolation is again appropriate in the EMA computation.

Strictly speaking, v can be called annualized only if ft is measured in years, but the choice of this unit does not matter in our algorithm. The exponent of the annualization is not too important because the different values of 8ft share the same order of magnitude.

Experience shows that the volatility measure of the filter should not rely only on one variance v as defined here. It is more stable to use three such volatilities: Ufast, v and usiow- All of them are computed by Equation 4.16, but they differ in their ranges, ftr, where Vfasi has a short range, v a medium-sized range, and usiow a long range. Our expected volatility is defined to be the maximum of the three:

uexp = max(vfast, v, Usiow) (4.18)

This is superior to taking only v. In case of a market shock, the rapid growth of Vfast allows for a quick adaptation of the filter, whereas the inertia of vs\ow prevents the filter from forgetting volatile events too rapidly in a quiet market phase.

From the annualized uexp, we obtain the expected squared change as a function of the time interval ft between two quotes. At this point, the filter needs a special element to prevent the filter from easily accepting price changes over large data gaps, time periods with no quotes. Data gaps are characterized by a large value of Aft and very few quotes within this interval. In case of data gaps, an upper limit of Aft is enforced:

# = min

2.5 Q

---, max

/0.1 Q \

(4.19)

where d is taken from Equation 4.15 and Q is the number of valid quotes in the interval between the two quotes; this is explained in Section 4.5.2. Equation 4.19



also sets a lower limit of A#Corr in case of a very high frequency of valid quotes. It is important to validate fast trends with many quotes.

The corrected quote interval A#Corr is now used to compute the expected squared change V

This function V(A#COrr) is needed in the trust capital calculation of Section 4.4.3 and inserted in Equation 4.11. The positive offset ) is small and could be omitted in many cases with no loss of filter quality. However, a small Vb > 0 is desirable. Some quotes are quoted in coarse granularity (i.e., the minimum step between two possible quote values is rather large as compared to the volatility). This is the case in some interest rate futures and also for bid-ask spreads (in FX markets), which often have a rounded size of 5, 10, or 20 basis points with rarely a value in between. Quotes with coarse granularity have a hidden volatility such that a series of identical quotes may hide a movement of a size smaller than the typical granule. The term Vn thus represents the hidden volatility:

where the granule size g is also determined by adaptive methods. (The granularity analysis is also needed in the analysis of repeated ticks, which is not explained here.) The extremely small term £q just has the numerical task to keep Vo > 0.

The term e2,, however, plays a special role if the scalar variable to be filtered is a bid-ask spread. The spread filter is the least important filter, but leads to the highest number of rejections of FX quotes if it is configured similar to the filter of other scalars. This fact is not accepted by typical filter users who want a more tolerant spread filter. A closer inspection shows that different contributors of bid-ask quotes often have different spread quoting policies. They are often interested only in the bid or ask side of the quote and tend to push the other side off the real market by choosing a spread too large. Thus the spreads of neighbor quotes may have different sizes even in quiet markets. In some minor FX markets, some contributors even mix retail quotes with very large spreads into the stream of interbank quotes. In order not to reject too many quotes for spread reasons, we have to raise the tolerance for fast spread changes and reject only extreme jumps in spreads. This means raising e2,: eo = constant i(i+constant2), wherexis defined by Equation 4.4. This choice of eo can be inferred from the mapping of the bid-ask spread in Equation 4.45. When a filter is initialized, we set Vo = £q and replace this by Equation 4.21 as soon as the granule size estimate g is available, based on statistics from valid quotes.

4.4.5 Pair Filtering: Comparing Quote Origins

Pair filtering results can add some credibility to the two quotes only if these are independent. Two identical quotes from the same contributor do not add substantial confidence to the quoted level-the fact that an automated quoting system sends the

V = V(A#corr) = ( 0 + Wo) Uexp + )

(4.20)

Vo = 0.25 g2 + sl

(4.21)



[start] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [ 39 ] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97] [98] [99] [100] [101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120] [121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134]