Dynamic Hedging using Generated Genetic Programming Implied Volatility Models

The purpose of this paper is to improve the accuracy of dynamic hedging using implied volatilities generated by genetic programming. Using real data from S&P500 index options, the genetic programming's ability to forecast Black and Scholes implied volatility is compared between static and dynamic training-subset selection methods. The performance of the best generated GP implied volatilities is tested in dynamic hedging and compared with Black-Scholes model. Based on MSE total, the dynamic training of GP yields better results than those obtained from static training with fixed samples. According to hedging errors, the GP model is more accurate almost in all hedging strategies than the BS model, particularly for in-the-money call options and at-the-money put options.


Introduction
One challenge posed by financial markets is to correctly forecast the volatility of financial securities, which is a crucial variable in trading and risk management of derivative securities. Traditional parametric methods have limited success in estimating and forecasting volatility as they are dependent on restrictive assumptions and difficult to estimate. Several machine learning techniques have been recently used to overcome these difficulties such as artificial neural networks and evolutionary computation algorithms, in particular genetic programming (GP) which is considered a promising approach to forecast financial time series (Tsang et al. (2004), Kaboudan (2005)). It has been successfully applied to forecast historical volatility (Chen and Yeh (1997), Zumbach et al. (2001), Neely and Weller (2002), Ma et al. (2006Ma et al. ( , 2007) and implied volatility (Abdelmalek et al. (2009)).
This paper makes an initial attempt to test whether the hedger can benefit more by using generated GP implied volatilities instead of Black-Scholes implied volatilities in conducting dynamic hedging strategies.
Changes in asset prices is not the only risk faced by market participants, instantaneous changes in market implied volatility can also bring a hedging portfolio significantly out of balance. Extensive research during the last two decades has demonstrated that the volatility of stocks is not constant over time (Bollerslev et al. (1992)). Engle (1982) and Bollerslev (1986) introduced the family of ARCH and GARCH models to describe the evolution of the volatility of the asset price in discrete time. Econometric tests of these models clearly reject the hypothesis of constant volatility and find evidence of volatility clustering over time. In the financial literature, stochastic volatility models have been proposed to model these effects in a continuous-time setting (Hull and White (1987), Scott (1987), Wiggins (1987), Heston (1993)). Although these models improve the benchmark Black-Scholes model, they are complex because they require strong assumptions and computational effort to estimate parameters and stochastic process. As mentioned in Ma et al. (2004), traditional financial engineering methods based on parametric models such as the GARCH model family, seem to have difficulty to improve the accuracy in volatility forecasting due to their rigid as well as linear structure. Using its basic and flexible tree-structured representation, GP is capable of solving non-linear problems with little input or external knowledge. It has been successfully applied to forecast historical volatility (Chen and Yeh (1997), Zumbach et al. (2001), Neely and Weller (2002), Ma et al. (2006Ma et al. ( , 2007) and implied volatility (Abdelmalek et al. (2009)).
The first thrust of this paper deals with generation of implied volatility from option markets using genetic programming. This volatility forecasting method should be free of strong assumptions regarding underlying price dynamics and more flexible than parametric methods.
Derivative asset prices are affected by new information and changes in expectations as much as they are by changes in the value of the underlying index. If traders have perfect foresight on forward volatility, then dynamic hedging would be essentially riskless. In practice, continuous hedging is impossible, but the convexity of derivative security allows for adjustments in the exposure to higher-order sensitivities of the model, such as gamma, vega… Most of the extant literature on hedging a target contract using other exchange-traded options focuses on static strategies, motivated at least in part by the desire to avoid the high costs of frequent trading. The goal of static hedging is to construct a buy-and-hold portfolio of exchange traded claims that perfectly replicates the payoff of a given over-the-counter product (Derman, Ergener and Kani (1995), Carr, Ellis and Gupta (1998)). The static hedging strategy does not require any rebalancing and therefore, it does not incur significant transaction costs. Unfortunately, the odds of coming up with a perfect static hedge for a given over-the-counter claim are small, given the limited number of exchange listed option contracts with sufficient trading volume. In other words, the static hedge can only be efficient if traded options are available with sufficiently similar maturity and moneyness as the overthe-counter product that has to be hedged. Under a stochastic volatility, a perfect hedge can in principle be constructed with a dynamically rebalanced portfolio consisting of the underlying and one additional option. In practice, the dynamic replication strategy for European options will only be perfect if all of the assumptions underlying the Black-Scholes formula hold. For general contingent claims on a stock, under market frictions, the delta might still be used as first-order approximation to set up a riskless portfolio. However, if the volatility of the underlying stock varies stochastically, then the delta hedging method might fail severely. A simple method to limit the volatility risk is to consider the volatility sensitivity vega of the contract. The portfolio will have to be rebalanced frequently to ensure delta-vega neutrality. With transaction costs, frequent rebalancing might result in considerable losses. In practice, investors can rebalance their portfolios only at discrete intervals of time to reduce transactions costs. Non parametric hedging strategies as an alternative to the existing parametric model basedstrategies, have been proposed by Hutchinson et al (1994) and Aït-Sahalia and Lo (1998). Those studies estimated pricing formulas by nonparametric or semi-parametric statistical methods such as neural networks and kernel regression, and they measured their performance in terms of delta-hedging. Few researches have focused on the dynamic hedging using genetic programming, however. Chen et al. (1999) have applied genetic programming to price and hedge S&P500 index options. By distinguishing the case in-the-money from the case out-of-the-money, the performance of GP is compared with the Black-Scholes model in terms of its hedging accuracy. Based on the post-sample performance, it is found that in approximately 20% of the 97 test paths, GP has lower tracking error than the BS formula.
The second thrust of this paper is to study the accuracy of the generated GP implied volatility models in terms of dynamic hedging. Since the true volatility is unobservable, it is impossible to assess the accuracy of any particular model; forecasts can only be related to realized volatility. The strategy adopted in this paper is to assume that the implied volatility is a reasonable proxy for realized volatility, to generate forecasting implied volatility models using genetic programming and then to analyze the implications of this predictability for hedging purposes.
The rest of the paper is organized as follows: section 2 provides background information regarding genetic programming approach, section 3 describes research design and methodology used in this paper, section 4 reports experimental results and finally section 5 concludes.

Genetic programming background
Genetic Programming (Koza (1992)) is an evolutionary algorithm that attempts to evolve a population of solutions to a problem according to the Darwinian principles of natural evolution. It is an extension of the basic genetic algorithms as introduced by Holland (1975). The major difference between genetic programming and genetic algorithms is the representation of the solution candidates. A hierarchical tree structure represents the solution candidates in genetic programming while a string of characters with a fixed length, called chromosome, represents the solution candidates in genetic algorithms. This makes the GP a flexible technique as the solutions can vary in size and shape. An interesting feature of GP is its ability to perform optimization at a structural level. This is an attractive prospect as the algorithm can simultaneously evolve a model's function form and numerical parameter values. The genetic programming's algorithm structure consists of the following elements: nodes definition, initialization, fitness evaluation, selection, genetic operators (crossover and mutation) and termination condition. Nodes Definition: The nodes in the tree structure of genetic programming can be classified into terminal (leaf) nodes and function (non-terminal) nodes. The terminal set, which corresponds to the inputs of the program, is determined according to the domain of problems and the elements can be constants or variables. The function set may be standard arithmetic operations, standard programming operations, standard mathematical functions, logical functions, or domain-specific functions. The terminal set and the function set are used to construct trees which are solutions to the problem. Initialization: Genetic programming starts with an initial population which is a set of randomly generated trees. Fitness function: The evolutionary process is driven by a fitness that evaluates how well each individual performs in the problem environment. Selection: The selection method determines how to select individuals from the population to be parents for next generation based on fitness function. Parents with better quality are usually selected with the hope that they can produce better offspring with larger chance.

Crossover:
The crossover operation creates new offspring trees from two selected parents by exchanging their sub-trees. Mutation: The mutation operator randomly changes a tree by randomly altering nodes or subtrees to create a new offspring. Termination Condition: The termination conditions for genetic programming usually include the convergence level of evolution process or the maximum number of generations.

Research design and methodology
Dynamic hedging is very sensitive to volatility forecast and good hedges require accurate estimate of volatility. Implied volatilities, generated from option markets, can be particularly useful in such contents as they are forward-looking measures of the market's expected volatility during the remaining life of an option (Blair et al. (2001), Bush et al. (2007. This paper proposes a non parametric approach based on GP algorithm to improve the accuracy of the implied volatility forecast and consequently the dynamic hedging.
In the standard GP, the entire population of GP function-trees is evaluated against the entire training data set, so the number of function-tree evaluations carried out per generation is directly proportional to both the population size and the size of the training set. GP can encounter the problem of managing training sets which are too large to fit into the memory of computers, and then the realization of predictors. In this case, data reduction through the partitioning of the data set into smaller subsets seems a good approach. In this paper, sample data are split into times series and moneyness-time to maturity classes.
GP learns from the training set. Test set is used to evaluate its performance during and after training. As data are divided in several sub samples, two training-subset selection methods are used. Abdelmalek et al. (2009) proposed a static training approach allowing the GP to learn separately on different training sub samples. Such approach might provide local solutions not adaptive to the entire enlarged data set. Alternatively, a dynamic training approach is developed. It allows GP to learn simultaneously on all training sub samples and it implies a new parameter added to the basic GP algorithm which is the number of generations to change sample. This approach lightens the training task for the GP and favors the discovery of solutions that are more robust across different learning data samples and seem to have better generalization ability. Comparative experiments are provided to show how successfully dynamic training subset-selection methods are applied to improve the robustness of GP to generate general models relative to static training-subset selection method. The best forecasting implied volatility models are selected according to total mean squared error (MSE) criterion.
Accurate volatility forecasting is an essential element in conducting good dynamic hedging strategies. The best generated GP implied volatilities are used to compute hedge factors and implement delta-neutral, delta-gamma neutral and delta-vega neutral strategies. According to the average hedging error, the GP hedging performance is compared to that of Black-Scholes model and the main results are reported. Figure 1 illustrates the operational procedure to implement the proposed approach.

Figure 1: Description of the proposed approach's implementation
The operational procedure consists of the following steps: The first step is devoted for the data division schemes. The second step deals with the implementation of GP 1 , the application 1 GP system is built around the Evolving Object library, which is an ANSI-C++ evolutionary computation Framework (EO library). Index option data 5 of training subset selection methods and the selection of the best forecasting implied volatility models. The last step is dedicated to dynamic hedging results.

Data division schemes
Data used in this study consist of daily prices for the European-style S&P 500 index calls and puts options traded on the Chicago Board of Options Exchange from 02 January to 29 August 2003. The data base include the time of the quote, the expiration date, the exercise price and the daily bid and ask quotes for call and put options. Similar information for the underlying S&P 500 index is also available on a daily basis. S&P500 index options are among the most actively traded financial derivatives in the world. The minimum tick for series trading below 3 is 1/16 and for all other series 1/8. Strike price intervals are 5 points, and 25 for far months. The expiration months are three near term months followed by three additional months from the March quarterly cycle (March, June, September, and December). Following a standard practice, we use the average of an option's bid and ask price as a standin for the market value of the option. The risk free interest rate is approximated by using 3 month US Treasury bill rates. It is assumed that there are no transaction costs and no dividend.
To reduce the likelihood of errors, data screening procedures are used (Harvey andWhaley (1991, 1992)). We apply four exclusion filters to construct the final option sample. First, as implied volatilities of short-term options are very sensitive to small errors in the option price and may convey liquidity-related biases, options with time to maturity less than 10 days are excluded. Second, options with low quotes are eliminated to mitigate the impact of price discreteness on option valuation. Third, deep-ITM and deep-OTM option prices are also excluded due to the lack of trading volume. Finally, option prices not satisfying the arbitrage restriction (Merton (1973)), , are not included. The final sample contains 6670 daily option quotes, with ATM, ITM and OTM options respectively taking up 37%, 34% and 29% of the total sample.
In this paper, two data division schemes are used. The full sample is sorted first, by time series (TS) and second by moneyness-time to maturity (MTM). For time series, data are divided into 10 successive samples (S1, S2…S10), each contains 667 daily observations. The first nine samples are used as training sub samples. For moneyness-time to maturity, data are divided into nine classes with respect to moneyness and time to maturity criteria. days. Each class Ci is divided on training set Ci L and test set Ci T , which produces respectively nine training and nine test moneyness-time to maturity sub classes. Figure 2 illustrates the two division schemes.

Implied volatility forecasting using GP:
The implied volatility is defined as the standard deviation which equates the model option price to the observed market option price. Since there is no explicit formula available to compute directly the implied volatility, the latter can be obtained by inverting the option pricing model. On the contrary, the GP offers explicit formulas which can compute directly the implied volatility. Therefore, the GP is applied to forecast implied volatility from the S&P500 index options.
This subsection will describe the experiments that have been accomplished using the GP algorithm to forecast implied volatility. In the first experiment, the GP is trained using static training-subset selection method; in the second one, we used dynamic training-subset selection methods. We will describe training and test samples that were used in the experiments and the GP parameters setting.

Training subset selection methods:
In this paper, static and dynamic training-subset selection approaches are used. First, the GP is trained independently on each sub sample relative to each data division scheme (Abdelmalek et al. (2009)). This approach is called static training-subset selection method. The following flow chart summarizes the GP's algorithm structure using static training-subset selection method.

Initialize population while (termination condition not satisfied) do begin
Evaluate the performance of each individual according to the fitness criterion Select individuals in the population using the selection algorithm Perform crossover and mutation on the selected individuals Replace the existing population by the new population endwhile Report the best solution found end Algorithm 1: A flow chart summarizing the GP's algorithm structure using static trainingsubset selection method.
Second, the GP is trained simultaneously on the entire data sub samples relative to each data division scheme, rather than just a single subset by changing the training sub sample during the run process. This approach is called dynamic training-subset selection method. The main goal of this method is to make GP adaptive to all training samples and able to generate general models and solutions that are more robust across different learning data samples. Four dynamic training-subset selection methods are applied: Random Subset Selection method (RSS), Sequential Subset Selection method (SSS), Adaptive-Sequential Subset Selection method (ASSS) and Adaptive-Random Subset Selection method (ARSS). The RSS and SSS allow the GP to learn on all training samples in turn (SSS) or randomly (RSS). However, with these methods, there is no certainty that GP will focus on the samples which are difficult to learn. Then, the ASSS and the ARSS, which are variants of the adaptive subset selection (ASS), are introduced to focus the GP's attention onto the difficult samples i.e. having the greatest MSE and then to improve the learning algorithm.
The following flow chart summarizes the GP's algorithm structure using dynamic trainingsubset selection method.

Initialize population t=1; (t: current generation) While (termination condition not satisfied) do Begin
Select the first training sample si according to the selection method ( sample Si is changed each g generation (g is the number of generations to change sample) according to this selection probability and the dynamic training-subset selection method used. This procedure is repeated until the maximum number of generations is reached. This permits GP to adapt its generating process to changing data in response to feedback from the fitness function.

a-Random training-Subset Selection method (RSS):
It selects randomly the training samples with replacement. At each g generation, all the samples from S have the same probability to be selected as the current training sample:

b-Sequential training-Subset Selection method (SSS)
It selects all the training samples in the order. All the learning subsets are used during the evolution in an iterative way. If, at generation g-1, the current training sample is Si, then at generation g: ) = 1, avec j= i+1 si i<k, ou j=1 si i=k j P (S

c-Adaptive training-Subset Selection method (ASS):
Instead of selecting a training subset data in a random or sequential way, one can use an adaptive approach to dynamically select difficult training subsets data which are frequently misclassified. This approach is inspired from the dynamic subset selection method proposed by Gathercole and Ross (1994) which is based on the idea of dynamically selecting instances, not training samples, which are difficult and/or have not been selected for several generations. Selection is made according to a weight computed proportionally to the sample's average fitness. Each g generations, the weights are updated as follows: Where, M is the size of Si ( 8 Selection of the training sample for the next run is made according to its misclassification measured by its higher fitness error. At each g generations, training samples are re-ordered, so that the most difficult training samples, which have higher fitness errors, will be moved to the beginning of the ordered training list, and the easiest training samples, which have smaller fitness errors, will be moved to the end of the ordered training list.

c-1. Adaptive-Sequential training-Subset Selection method (ASSS):
The initial weights are initialized with a constant and the selection of samples is made in an iterative way: W(Si) = C, 1≤ i ≤ k.
c-2. Adaptive-Random training-Subset Selection method (ARSS): The initial weights are generated randomly in the start of running, rather than initialized with a constant.

Training and test samples
Different forecasting GP volatility models are estimated from the training set and judged upon their performance on the test set. Table 1 summarizes the training and test data samples used for static and dynamic training-subset selection methods, respectively.

Subset Selection
Learning data sample Test data sample Static Subset Selection 1. Si  TS samples (S1, …, S9) The last TS sample with the nine MTM test samples (S10 + C1 T + C2 T …+ C9 T )

Table 1: Definition of training and test data samples for static and dynamic training-subset selection methods.
In static training-subset selection approach, first, the genetic program is trained separately on each of the first nine time series sub samples (S1,…, S9) using ten different seeds and is tested on the subset data from the immediately following date (S2,…, S10). Second, using the same genetic parameters and random seeds applied for time series data, the GP is trained separately on each of the first nine moneyness-time to maturity sub classes (C1 L ,…, C9 L ) and is tested on the second nine moneyness-time to maturity sub classes (C1 T ,…, C9 T ) .
In dynamic training-subset selection approach, first, the genetic program is trained on the first nine time series sub samples simultaneously (S1,…, S9) using ten different seeds and it is tested only on the tenth sub sample data (S10). Second, the GP is trained on the first nine moneyness-time to maturity sub classes simultaneously (C1 L ,…, C9 L ) and it is tested on the second nine moneyness-time to maturity sub classes regrouped in one test sample data (C1 T + C2 T …+ C9 T ). Third, the GP is trained on both the nine time series sub samples and the nine moneyness-time to maturity sub classes simultaneously (S1, …, S9, C1 L , …, C9 L ) and it is tested on one test sample data composed of the time series and moneyness-time to maturity test data (S10 + C1 T + C2 T …+ C9 T ).

Parameters setting
Our GP software is referred to as symbolic regression written in C++ language. It is designed to find a function that relates a set of inputs to an output without making any assumptions about the structure of that function. Symbolic regression was one of the earliest applications of GP (Koza, 1992), and has continued to be widely studied (Cai et al. (2006); Gustafson et al. (2005); Keijzer (2004); Lew et al. (2006)).
The terminal and function sets used are described in Table 2. The terminal set includes the inputs variables, notably, the option price divided by strike price ( K C for calls and K P for puts), the index price divided by strike price K S and time to maturity . The function set includes unary and binary nodes. Unary nodes consist of mathematical functions, notably, cosinus function (cos), sinus function (sin), log function (ln), exponential function (exp), square root function ( ) and the normal cumulative distribution function (  ). Binary nodes consist of the four basic mathematical operators, notably, addition (+), subtraction (-), multiplication (  ) and division ( 0 0 ). The basic division operation is protected against division by zero and the log and square root functions are protected against negative arguments.
The generated GP trees provide at each time t the forecast value The implementation of genetic programming involves a series of trial and error experiments to determine the optimal set of genetic parameters which is listed in Table 3. The generated GP volatility models are performed using a ramped half and half as initialization method (Koza (1992)). This method involves generating an equal number of trees using a maximum initial depth that ranges from 2 to 6. For each level of depth, 50% of the initial trees are generated via the full method and the other 50% are generated via the grow method. A maximum size of tree measured by depth is 17. This is a popular number used to limit the size of tree (Koza (1992)). It is large enough to accommodate complicated formulas and works in practice. Based on the fitness criterion, the selection of the individuals for reproduction is done with the tournament selection algorithm. A group of individuals is selected from the population with a uniform random probability distribution. The fitness values of each member of this group are compared and the actual best is selected. The size of the group is given by the tournament size which is equal here to 4. The crossover operator is used to generate about 60% of the individuals in the population, while the mutation operator is used to generate about 40% of the population. Different mutation operators are used. Point mutation operator consists of replacing a single node in a tree with another randomlygenerated node of the same arity. Branch mutation operator randomly selects an internal node in the tree, and then it replaces the subtree rooted at that node with a new randomly-generated subtree. Expansion mutation operator randomly selects a terminal node in the tree, and then replaces it with a new randomly-generated subtree. Branch mutation is applied with a rate of 20%; Point and Expansion mutations are applied with a rate of 10% each. The method of replacing parents for the next generation is comma replacement strategy, which selects the best offspring to replace the parents. It assumes that offspring size is higher than parents' size. The stopping criterion is the maximum number of generations. It is fixed at 400 and 1000 for static and dynamic training-subset selection, respectively. In the dynamic training-subset selection approach, the maximum number of generations is increased to allow the GP to train on the maximum of samples simultaneously. The number of generations to change sample varied between 20 and 100 generations.
Based on the training and test MSE, the best generated GP volatility models relative to static and dynamic training-subset selection methods respectively are selected. These models are then compared with each other according to the MSE total and the best ones are used to implement the dynamic hedging strategies as described in the following section.

Dynamic hedging:
To assess the accuracy of selected generated GP volatility models in hedging with respect to Black-Scholes model, three dynamic hedging strategies are employed, notably, deltaneutral, delta-gamma neutral and delta-vega neutral strategies.
For delta hedging, at date zero, a delta hedge portfolio consisting of a short position in one call (or put) option and a long (short) position in the underlying index is formed. At any time t, the value of the delta hedge portfolio ( ) t  is given by:  denote the values of the portfolio, hedging option (call or put), underlying, delta hedge factor and bond (money market account) respectively. The portfolio is assumed self-financed, so the initial value of the hedge portfolio at the beginning of the hedge horizon is zero: The delta hedge error is defined as the absolute value of the delta hedge portfolio at the end of the hedge horizon of the option, ( )  P . For delta-gamma hedging, a new position in a traded option is required. Then, the deltagamma hedge portfolio is formed with: Where, ( ) t V 1 is the value of an additional option which depends on the same underlying, with the same maturity but different strike price than the hedging option ( ) Where, the values of ( ) At the beginning of the hedge horizon, the value of the hedge portfolio is zero: At each rebalancing time i t , both delta and gamma hedge factors are recomputed and the money market account is adjusted: are the vega factors for the options ( ) 35 option contracts are used as hedging options and similarly 35 contracts which depend on the same underlying, with the same maturity but different strike prices than the hedging options are used as additional options. Contracts used to implement the hedging strategies are divided according to moneyness and time to maturity criteria, which produces nine classes. The delta, gamma and vega hedge factors are computed using the BS formula by taking the derivative of option value with respect to index price, the derivative of delta with respect to index price and the derivative of option value with respect to volatility respectively. For the GP models, the hedge ratios are computed using the same formulas replacing the BS implied volatilities with the generated GP volatilities. Two rebalancing frequencies are considered: 1-day and 7 days revision. The average hedging error is used as performance measure. For a particular moneyness-time to maturity class, the tracking error is given by:

Result Analysis and empirical findings: 4.1. Selection of the Best Genetic Programming-Implied Volatility Forecasting Models
Selection of the best generated GP volatility model, relative to each training set, for time series, moneyness-time to maturity, and both time series and moneyness-time to maturity classifications, is made according to the training and test MSE. For static training-subset selection method, nine generated GP volatility models are selected for time series (M1S1…M9S9) and similarly nine generated GP volatility models are selected for moneyness-time to maturity classification (M1C1…M9C9). The performance of these models is compared according to the MSE Total, computed using the same formula as the basic MSE for the enlarged data sample. Table 4 reports the MSE total and the standard deviation (in parentheses) of the generated GP volatility models, using static training-subset selection method, relative to the time series samples (TS) and the moneyness-time to maturity classes (MTM).  Table 4 Table 4 shows that, for the time series samples, the generated GP model M4S4 has the smallest MSE in enlarged sample. For the moneyness-time to maturity classes, the generated GP volatility models M4C4 and M6C6 seem to be more accurate in forecasting implied volatility than the other models as they present near MSE on the enlarged sample.

: Performance of the generated GP volatility models using static training-subset selection method, according to MSE total for the time series samples (TS) and the moneyness-time to maturity classes (MTM)
According to the MSE total, the time series model M4S4 seems to be more performing than moneyness-time to maturity models M4C4 and M6C6 for the enlarged sample.
For dynamic training-subset selection methods (RSS, SSS, ASSS and ARSS), four generated GP volatility models are selected for time series classification (MSR, MSS, MSAS and MSAR). Similarly, four generated GP volatility models are selected for moneyness-time to maturity classification (MCR, MCS, MCAS and MCAR) and four generated GP volatility models are selected for global classification, both time series and moneyness-time to maturity classes (MGR, MGS, MGAS and MGAR). Table 5 reports the best generated GP volatility models, using dynamic training-subset selection, relative to TS samples, MTM classes and both TS and MTM data. Based on the MSE total as performance criterion, the generated GP volatility models MSS, MCAR and MGAR are selected. They seem to be more accurate in forecasting implied volatility than the other models because they have the smallest MSE in enlarged sample. Table 5 shows that the time series model MSS presents the highest MSE relative to the other models. It seems to be less performing than the moneyness-time to maturity model MCAR and the time series and moneyness-time to maturity model MGAR.
The best generated GP volatility models selected, relative to dynamic training-subset selection method, are compared to the best generated GP volatility model, relative to static trainingsubset selection method. Results are reported in Table 6. Models MSE total M4S4 0,001444 (0,002727) MCAR 0.001424 (0.003527) MGAR 0.001599 (0.003590) Table 6

: Comparison between best models generated by static and dynamic selection methods for call options
Comparison between models reveals that the best models generated respectively by static (M4S4) and dynamic selection methods (MCAR and MGAR) present total MSE small and very close. While the generated GP volatility models M4S4 and MCAR have total MSE smaller than the MGAR model, the latest seems to be more accurate in forecasting implied volatility than the other models. This can be explained by the fact that, on one hand, the difference between forecasting errors is small, and on the other hand, the MGAR model is more general than MCAR and M4S4 models because it is adaptive to all time series and moneyness-time to maturity classes simultaneously. In fact, the MGAR model, generated using adaptive-random training-subset selection (ARSS) method, is trained on all time series and moneyness-time to maturity classes simultaneously. Whereas, the MCAR model, generated using adaptive-random training-subset selection (ARSS) method, is trained only on moneyness-time to maturity classes simultaneously; and the M4S4 model, generated using static training-subset selection method, is trained separately on each subset of time series. As the adaptive-random training subset selection method is considered the best one to generate implied volatility model for call options, it is applied to put options. The decoding of volatility forecasting formulas generated for call and put options as well as their forecasting errors are reported in Table 7

Table 7: Performance of the best generated GP volatility models for call and put options and their decoding formulas
A detailed examination of the trees shows that the implied volatilities generated by GP are function of all the inputs used, namely the option price divided by strike price ( K C for calls and K P for puts), the index price divided by strike price K S and time to maturity . Furthermore, the implied volatilities generated by the MGAR-call and MGAR-put models can't be negative since they are computed using the square root and the normal cumulative distribution functions as the root nodes. Furthermore, the performance of models is uniform as they present near MSE on the enlarged sample.

Dynamic hedging results:
The performance of the best GP forecasting models is compared to the Black-Sholes model in delta, gamma and vega hedging strategies. Table 8 reports the average hedging errors for call options using BS and GP models, at the 1day and 7-days rebalancing frequencies. Results show that the delta hedging performance improves for out-of-the money call options at longer maturities, for at-the-money call options at medium maturities and for in-the money call options at shorter maturities, regardless of model used at daily hedge revision frequency. The best delta hedging performance is achieved using in-the-money short term call options for all moneyness and time to maturity classes, regardless of option model used.
The delta-gamma hedging performance improves for all moneyness classes of call options at longer maturities, regardless of model used at daily hedge frequency (except in-the-money call options using the GP model). The best delta-gamma hedging performance is achieved, for BS model, using at-the-money long term call options for all moneyness and time to maturity classes. However, the best delta-gamma hedging performance is achieved, for GP model, using in-the-money short term call options for all moneyness and time to maturity classes. The delta-vega hedging performance improves for out-of-the money and in-the-money call options at longer maturities and for at-the-money call options for shorter maturities, for BS model at daily hedge revision frequency. However, the delta-vega hedging performance improves for out-of-the money call options at shorter maturities, for at-the-money call options at medium maturities and for in-the money call options at longer maturities, for GP model at daily hedge revision frequency. The best delta-vega hedging performance is achieved, for BS model, using out-of-the-money long term call options for all moneyness and time to maturity classes. However, the best delta-gamma hedging performance is achieved, for GP model, using at-the-money medium term call options for all moneyness and time to maturity classes. The percentage of cases where the hedging error of the GP model is less than the BS hedging error is around 59%. In particular, the performance of GP model is better than the BS model on in-the-money call options class. Further, the total of hedging errors relative to GP model is about 21 percent slightly lower than 19 percent relative to BS model. Table 9 displays the average hedge errors for put options using BS and GP models, at the 1day and 7-days rebalancing frequencies.
Results show that the delta-gamma hedging performance improves for all moneyness classes of put options (except in-the-money put options) at longer maturities, for BS model at daily hedge frequency. However, the delta-gamma hedging performance improves for in-the money put options and at-the-money put options at medium maturities and for out-of-the money put options at longer maturities, for GP model at daily hedge revision frequency. The best deltagamma hedging performance is achieved, for BS model, using at-the-money long term put options for all moneyness and time to maturity classes. However, the best delta-gamma hedging performance is achieved, for GP model, using out-of-the-money long term put options for all moneyness and time to maturity classes. The delta-vega hedging performance improves for BS using at-the-money and out-of-themoney put options at longer maturities and in-the-money put options for shorter maturities, for BS model at daily hedge revision frequency. However, the delta-vega hedging performance improves for all moneyness classes of put options (except in-the-money put options) at longer maturities, for GP model at daily hedge frequency. The best delta-vega hedging performance is achieved, for BS model, using out-of-the-money long term put options for all moneyness and time to maturity classes. However, the best delta-vega hedging performance is achieved, for GP model, using at-the-money long term put options for all moneyness and time to maturity classes. The percentage of cases where the hedging error of the GP model is less than the BS hedging error is around 57%. In particular, the performance of GP model is better than the BS model on at-the-money put options class. But, the total of hedging errors relative to GP model is about 50 percent slightly higher than 46 percent relative to BS model. In summary, the GP model is more accurate in all hedging strategies than the BS model, for in-the-money call options and at-the-money put options. The performance of GP is pronounced essentially in terms of delta hedging for call and put options. The percentage of cases where the delta hedging error of the GP model is less than the BS delta hedging error is 100% for out-of-the money and in-the-money call options as well as for at-the-money and out-of-the-money put options. The percentage of cases where the delta-vega hedging error of the GP model is less than the BS delta-vega hedging error is 100% for in-the-money call options as well as for at-the-money put options. The percentage of cases where the deltagamma hedging error of the GP model is less than the BS delta-gamma hedging error is 100% for at-the-money put options.
Furthermore, results exhibit that as the rebalancing frequency changes from 1-day to 7days revision, as the hedging errors increase and vice versa. The option value is a nonlinear function of the underlying, therefore, hedging is instantaneous and hedging with discrete rebalancing gives rise to error. Frequent rebalancing can be impractical due to transactions costs. In the literature, consequences of discrete time hedging have been considered usually in conjunction with the existence of transaction costs, that's why hedgers would like to trade at least frequently as possible. Pioneered by Leland (1985), asymptotic approaches-as are well utilized (Kabanov and Safarian (1997), Ahn et al. (1998), Grandits and Schachinger (2001)). For most moneyness-time to maturity classes, delta-gamma and delta-vega hedging strategies are shown to perform better in dynamic hedging when compared with delta hedging strategy, regardless of model used. The delta-gamma strategy enables the performance of a discrete rebalanced hedging to be improved. The delta-vega strategy corrects partly for the risk of a randomly changing volatility.

Conclusion
This paper is concerned with improving the dynamic hedging accuracy using generated genetic programming implied volatilities. Firstly, genetic programming is used to predict implied volatility from index option prices. Dynamic training-subset selection methods are applied to improve the robustness of GP to generate general forecasting implied volatility models relative to static training-subset selection method. Secondly, the implied volatilities derived are used in dynamic hedging strategies and the performance of genetic programming is compared to that of Black-Scholes in terms of delta, gamma and vega hedging.
Results show that the dynamic training of GP yields better results than those obtained from static training with fixed samples, especially when applied on time series and moneynesstime to maturity samples simultaneously. Based on the MSE total as performance criterion, three generated GP volatility models are selected M4S4, MCAR and MGAR. However, the MGAR seems to be more accurate in forecasting implied volatility than MCAR and M4S4 models because it is more general and adaptive to all time series and moneyness-time to maturity classes simultaneously.
The main conclusion concerns the importance of implied volatility forecasting in conducting hedging strategies. Genetic programming forecasting volatility makes hedge performances higher than those obtained in the Black-Scholes world. The best GP hedging performance is achieved for in-the-money call options and at-the-money put options in all hedging strategies. The percentage of cases where the hedging error of the GP model is less than the BS hedging error is around 59% for calls and 57% for puts. The performance of GP is pronounced essentially in terms of delta hedging for call and put options. The percentage of cases where the delta hedging error of the GP model is less than the BS delta hedging error is 100% for out-of-the money and in-the-money call options as well as for at-the-money and out-of-the-money put options. The percentage of cases where the delta-vega hedging error of the GP model is less than the BS delta-vega hedging error is 100% for in-the-money call options as well as for at-the-money put options. The percentage of cases where the deltagamma hedging error of the GP model is less than the BS delta-gamma hedging error is 100% for at-the-money put options.
Finally, improving the accuracy of implied volatility forecasting using genetic programming can lead to well hedged options portfolios relative to the conventional parametric models.