TradingStrategies
Class VectorStrategyDeltaHedging

java.lang.Object
  extended byTradingStrategies.VectorStrategy
      extended byTradingStrategies.VectorStrategyDeltaHedging

public class VectorStrategyDeltaHedging
extends VectorStrategy

The trading strategy which trades in the underlying to hedge a short position in one option on one share of the underlying using one of the following weights:

computed under one of the two following probabilities:

The hedge is rebalanced whenever the Trigger rebalance triggers a hedge trade. The hedge is checked against price paths of the underlying simulated under the market probability.

At each trade nonanalytic hedge weights are derived from conditional expectations which can be computed under the market or the risk neutral probability.

The flags whichDelta, whichProbability indicate which type of deltas are used in the hedge and under which probability they are computed.

Conditional expectations which are computed via branching the price paths of the underlying asset are computationally costly. Therefore analytic deltas are by orders of magnitude faster than the others. Minimum variance deltas computed under the market probability (the best hedge deltas) carry an astronomical computational cost if there is no analytic option price formula (iterated conditional expectations).


Constructor Summary
VectorStrategyDeltaHedging(Basket underlying, BasketOption option, Trigger rebalance, int whichDelta, int nBranch, double fixed_trc, double prop_trc)
          Constructor.
 
Method Summary
 int get_nBranch()
          Number of path branches used in conditional expectations (hedge deltas).
 BasketOption get_option()
          The option to be hedged.
 int get_whichDelta()
          Type of delta used in hedge
 void setNewWeight(int t)
          Writes the vector of portfolio weights at time t into the field newWeight.
 
Methods inherited from class TradingStrategies.VectorStrategy
discountedGainsAndNumberOfTrades, discountedGainsFromTrading, get_B, get_basket, get_currentWeight, get_dt, get_fixed_trc, get_nTrades, get_prop_trc, get_S, get_T, get_tradeTrigger, initialInvestment, newDiscountedGainsAndNumberOfTrades, newDiscountedGainsFromTrading, newReturnFromTrading, newTradeStatistics, returnsFromTrading, tradeStatistics
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

VectorStrategyDeltaHedging

public VectorStrategyDeltaHedging(Basket underlying,
                                  BasketOption option,
                                  Trigger rebalance,
                                  int whichDelta,
                                  int nBranch,
                                  double fixed_trc,
                                  double prop_trc)
Constructor.

Parameters:
underlying - asset underlying the option.
option - option to be hedged.
rebalance - trigger triggering the hedge trades.
whichDelta - flag identifying type of hedge delta used.
nBranch - number of asset price path branches spent on each conditional expectation.
fixed_trc - fixed transaction costs per trade.
prop_trc - proportional transaction costs per trade.
Method Detail

get_option

public BasketOption get_option()
The option to be hedged.


get_whichDelta

public int get_whichDelta()
Type of delta used in hedge


get_nBranch

public int get_nBranch()
Number of path branches used in conditional expectations (hedge deltas).


setNewWeight

public void setNewWeight(int t)

Writes the vector of portfolio weights at time t into the field newWeight. Do this whenever a trade (portfolio rebalancing) occurs. The field currentWeight contains the current vector of portfolio weights.

Specified by:
setNewWeight in class VectorStrategy
Parameters:
t - current time.