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] [135] [136] [137] [138] [ 139 ] [140] [141] [142] [143] [144] [145] [146] [147] [148] [149] [150] [151] [152] [153] [154] [155] [156] [157] [158] [159] [160] [161] [162] [163] [164] [165] [166] [167] [168] [169] [170] [171] [172] [173] [174] [175] [176] [177] [178] [179] [180] [181] [182] [183] [184] [185] [186] [187] [188] [189] [190] [191] [192] [193] [194] [195] [196] [197] [198] [199] [200] [201] [202] [203] [204] [205]


139

1. Calculate a moving average trend.

2. Calculate the volatility, using any one of the methods described early in this chapter, but not including the volatility of the current day.

3. Enter a new trade if the volatility is (a) above the low-filter level or (b) bdow the high-filter level.

4. Exit a current position if the volatility is above the high-fiiter level and (a) the current price change is a profit or (b) the current price change is a loss.

To grve these choices a chance to show which are robust, five different markets were tested, each for more than 10 years ending in 1993: Eurodoiiars, Jspanese yen, crude oii, IBM, and the S&P 500. Futures market prices were gsp-adjusted and indexed, using the nearest delivery month. Results from these tests are as percentage changes; IBM was quoted in share price. The trend speed (a simple moving average) was the same as the period over which the volatility was calculated. Periods of 35 dsjs and 10 dsjs were the oniy ones tested; 35 dsjs was arbifrariiy chosen as about one-eigiith of a frading year. The 10-dsy period (2 weeks) was included as a short-term contrast.

Standard Deviation Measurement

A standard deviation was used to determine the volatility threshold ievei. For exanpie, for a higiivoiatiiity filter, a I-standard deviation threshold means that no trades were taken if the volatility was above the average volatility plus I standard deviation, the top I6o. A 2-standard deviation threshold puts volatility in the top 2.5"o, and a 3-standard deviation threshold means the top .5>o. A 0 standard deviation wouid filter ali frades above the average volatilitj. Because oniy 35 dsjs are used, actual volatility can junp well beyond the normal 3-standard deviation ma.ximum. Filter values above 3 standard deviations (up to 7 standard deviations in these tests) must be used to isolate the most exfreme volatile price movements.

Entry Filter Results

Table 20-1 shows the results for both high- and iow-voiatiiity entry options, expressed as rate of retum based on maximum drawdown. The case where the standard deviation value is zero indicates no filtering; tests were run for a calculation period of 35 dsys. In part (a), the high-voiatiiity filter causes a delay until volatility drops below the designated standard deviation ievei; in part (b), volatility must increase to be above the standard deviation level.

Results for the high-voiatiiity filter are not impressive. The Eurodollar improves for lower levels while the Jspanese yen and crude oii do not. Both IBM and the S&P improve by waiting for lower volatility, but both have underljing losing strategies; therefore, omitting frades is likely to improve results. Because these results are a function of both retums and risk, the elimination of high volatility does not clearly improve either component of performance.

The iow-voiatiiity filter is much clearer. In ali cases except the S&P, taking oniy those trades that occur with conditions of higher volatility shows improvements for ali maikets. Because of the few cases that wouid have occurred with volatility greater than 6.0 standard deviations, the large retum shown by IBM is not realiatic. A standard deviation between-1 and+I, indicating the practical elimination of 16°oto 84>oof ali trades, shows the most consistency.

High-Voiatiiity Exits: Distinguishing a Volatile Good Move from a Bad One

it may be that exiting due to high volatility is acting after-the-fact; then, it wouid be ineffective for reducing risk, if a market is noisj then price junps are short-lived, in which case you should ciose out positions when a volatile move is profitable because profits will soon dissppear. Or, if the volatile move is an immediate loss, then waiting should recover at ieast

TABLE 20-1 High- and Low-Voiatiiity Filter Results*



( ) HSgh-lfelofiliV Entry Fiber wfth Delayed Entry

none

«

(b) Low-Volatility Entry Filter wtii Trade Elimmation

3.181

1,172

-iJO

-2.0

none

part of the ioss. The opposite is true for a trending maricet. A good price move shouid be foiiowed by more profits, and a bad move by further iosses.

Tests of exit filters were separated into positive and negative price moves. When the positive option was ejected, exits occurred when the high-voiatiiity ievel was reached and prices generated a profit for the day. When the negative was used, prices must have produced a ioss for the day. For the Eurodoiiar, rdums improve when voiatiie iosing moves are iiquidated, and returns deciine when profitabie moves are ciosed out. We can conciude that the Eurodoiiar is a trending maricet, and cutting a trade short due to increased voiatiiity is not a good strategj. That is not true with the S&P, which has a high degree of noise over short time periods. It was also not the case for the yen, which has erratic price behavior. Both of these markets improved when profits were taken on a positive move.

Because shcrter-term analjsis operates in an environment of greater noise, the exit fiiters wiii generaliy be an improvement. For markets with significant iong-term trends and sjstems that are intended to capitalize on those trends, exiting a trade for almost any reason, other than a change of trend, is going to adversely affect the performance.

Creating Your Own Fiiters

A voiatiiity fiiter is a simpie calcuiation. Deciding which voiatiiity fiiter to use is more compiex because it requires a number of different testing programs. The foiiowing Omega program and the spreadaieet program (Tabic 20-2) combine ali of these features into one testing program. An option is used to seiect each feature.

OHEGA Easy Language Code.

IHigh and Low Votetility rilters

Copyright 199fl-1998, P.J. Kaufman. All rights reserved.

Do not enter trades on high volatility and price in trend direction. Exit on high volatility and price change cf direction option.

TABLE 20-2 Spreadaieet Sampie Core! Quattro Spreadsheet Code



Bejin

Descrifilion

(tow

Colculmjons

Low-filter limit factor

[Constant]

High-filter limit factor

(Constant]

Date

[Input]

Open, High, Low prices

[Input]

Closing price

[Input]

Vol. Opint data

[Input]

Positive value of price changes

l»ABS(Ee..E5)

3S-day moving average

eAVG(ES.e39)

®AVG(H5. H39)

Standard deviation of volatility

eSTD(H5.H39)

Lovrf-filter limit

tJ39-$L$2-K39

Bgh-filter limit

+J39+$M$2*K39

Positron

®1F(I40<I39,-1.1)

Lov-volatillty indicator

®IF(H40<L39,1,0)

Bgh-voiatility indicator

I»1F(H40>M39.1,0)

Bu sell with low filter

l»IF($N40=1«AND»N39=-1, l»IF($H40>$L39,-bLy-,W), e IF(SN40.-1 #AND»N39=1, ©IF($H40>$L39,sell"."c/o")." ))

Buy/seli with low delay

eiF($N40=1,eiF($H40>$L39,t>uy-, lF($N39=-1,c0V),

eiF($H40>$L39,ser,eiF($N39=1 .W," )," "))

Buy/sell with high filter

I8IF(N40=1#AND#$N39=-1, l»lF($H40<$M39,-buy-.-c/ol, ©IF($N40=-1#AND«P39=1, eiF($H40<$M39,"ser,W)." ))

Buy/sdl with high deby

eiF($N40=1 ,eiF($H40<$M39.-buy-, eiF($N39=-1 ,"c/0"," ")).eiF($N40=-1, eiF($H40<$M39,-selr, eiF($N39=1 :clo- )),""))

Exit on high volatility

eiF($H40>$M39,-c;o-,-")

Option = No entry or exit filter Option 1 = Entry filter unly

Option 2 = Exit filter only ro price direclior

Option 3 = Exit filler only - profitable move

OptTon 4 = Exit filter only - contrery move

Option 5 - Both entry and exit filters (options I anc 2)1

input: Dption(Z), lergthOfi), EfactorCl.O.ELfactord.O), Xfactor( 1 .CJ, prndate(O), vans; vav9(0), vsdCO). lowl iniit(O), EuplimittCl, Xuplimit(O). mav9{0), aror(O), deltapUO). totalpKO),

riskfO), ratioCOJ, position(C), vari anr.e(O). charge(D). ELupliii)it(O); IVclfltility - average + standard deviation of pnce changes, talculate average and sd before pricesl change = eftbsVdlueclose - closed]); wavg = @Average<ctiange[l] .length), vsd - estdOevtcliangeUl.length);

lExtrenie volatility ilnitSl lowlimit - vavg - vsd; Eupliinit vavg + 2*Efector*vsd-,



[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] [135] [136] [137] [138] [ 139 ] [140] [141] [142] [143] [144] [145] [146] [147] [148] [149] [150] [151] [152] [153] [154] [155] [156] [157] [158] [159] [160] [161] [162] [163] [164] [165] [166] [167] [168] [169] [170] [171] [172] [173] [174] [175] [176] [177] [178] [179] [180] [181] [182] [183] [184] [185] [186] [187] [188] [189] [190] [191] [192] [193] [194] [195] [196] [197] [198] [199] [200] [201] [202] [203] [204] [205]