```java.lang.Object TradingStrategies.VectorStrategy TradingStrategies.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:

• analytic deltas (if analytic option price defined)
• minimum variance deltas
• Monte Carlo deltas

computed under one of the two following probabilities:

• market probability
• risk neutral probability

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,
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.