|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object Hedging.Hedge
Hedge Profit And Loss: this class provides methods to compute the profit/loss from hedging an option using various deltas:
computed under 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.
It turns out that Monte Carlo deltas should be computed under the risk neutral probability while minimum variance deltas should be computed under the market proability.
The flags whichDelta, whichProbability
indicate which type
of deltas are used in the hedge and under which probability they are
computed.
Constructor Summary | |
Hedge(Asset underlying,
Option option)
Constructor which does not initialize the trading strategy. |
|
Hedge(Asset underlying,
Option option,
TradingStrategy hedgeStrategy)
|
Method Summary | |
RandomVariable |
discountedHedgeGain()
The discounted hedge gain as a random variable. |
RandomVector |
discountedHedgeGainAndNumberOfTrades()
The discounted hedge gain (return_value[0]) and number of trades (return_value[1]) as a random vector. |
TradingStrategy |
get_hedgeStrategy()
The trading strategy in the asset used to hedge the option payoff (delta hedging with our various deltas). |
Option |
get_option()
The option to be hedged. |
Asset |
get_underlying()
The asset underlying the option to be hedged. |
double[] |
hedgeMeanAndStandardDeviation(int nPaths)
Computes mean (return_value[0]) and standard deviation (return_value[1]) of the profit and loss from hedging a short position in the option (on one share of the underlying). |
double[] |
hedgeMeanAndStandardDeviation(int nPaths,
int m,
javax.swing.JProgressBar jPrgBar)
Same as hedgeMeanAndStandardDeviation(int) with progress
reported to progress bar. |
RandomVector |
hedgeStatistics()
The newHedgeStatistics() as a random vector. |
double |
newDiscountedHedgeGain()
Computes the discounted profit and loss of hedging a short position in one option on one share of the underlying along one path of the underlying. |
double[] |
newDiscountedHedgeGainAndNumberOfTrades()
Computes the discounted profit and loss (return_value[0]) and the number of trades (return_value[1]) when hedging a short position in one option on one share of the underlying along one path of the underlying. |
double[] |
newHedgeStatistics()
Computes the following vector x of statistics associated with hedging a short position in one option on one share of the underlying from a new independent path of the underlying: |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public Hedge(Asset underlying, Option option, TradingStrategy hedgeStrategy)
underlying
- asset underlying the option.option
- option to be hedged.hedgeStrategy
- trading strategy hedging the option payoff..public Hedge(Asset underlying, Option option)
Constructor which does not initialize the trading strategy. For use in subclass constructors where the subclass must initialize the trading strategy.
underlying
- asset underlying the option.option
- option to be hedged.Method Detail |
public Asset get_underlying()
public Option get_option()
public TradingStrategy get_hedgeStrategy()
public double newDiscountedHedgeGain()
Computes the discounted profit and loss of hedging a short position in one option on one share of the underlying along one path of the underlying.
Price paths of the underlying asset are simulated in the market probability and the hedge is rebalance whenever the Trigger rebalance triggers a hedge trade.
Assume that nonanalytic hedge deltas are used. Each time a hedge trade occurs the computation of the new hedge weights involves conditional expectations which are computed via branching price paths of the underlying asset, a very time consuming activity.
Each branch simulation destroys an existing price path of the underlying asset from the time of branching forward. Consequently we cannot simply compute a full path of the underlying and then move the hedge along this path. Instead we evolve the path simultaneous with the hedge in single time steps.
The option price path C[0] must be initialized with the option price at time zero before this routine is called. Note that this price is the martingale price of the option based on frictionless trading and perfect theoretical duplication of the option payoff. Sell at this price at your own risk.
public RandomVariable discountedHedgeGain()
The discounted hedge gain as a random variable.
The parameter t will be disregarded, ie. no conditional expectations. We don't need them and they are hard to implement.
public double[] hedgeMeanAndStandardDeviation(int nPaths)
Computes mean (return_value[0]) and standard deviation (return_value[1]) of the profit and loss from hedging a short position in the option (on one share of the underlying). The gain is computed for the combined strategy hedgeStrategy + option short position.
nPaths
- number of price paths of underlying against which hedge is
checked.public double[] hedgeMeanAndStandardDeviation(int nPaths, int m, javax.swing.JProgressBar jPrgBar)
Same as hedgeMeanAndStandardDeviation(int)
with progress
reported to progress bar.
nPaths
- number of paths.m
- progress report updated every m paths.jPrgBar
- target of progress report.public double[] newDiscountedHedgeGainAndNumberOfTrades()
Computes the discounted profit and loss (return_value[0]) and the number of trades (return_value[1]) when hedging a short position in one option on one share of the underlying along one path of the underlying.
See also newDiscountedHedgeGain()
.
The option price path C[0] must be initialized with the option price at time zero before this routine is called.
public RandomVector discountedHedgeGainAndNumberOfTrades()
The discounted hedge gain (return_value[0]) and number of trades (return_value[1]) as a random vector.
The parameter t will be disregarded, ie. no conditional expectations. We don't need them and they are hard to implement.
public double[] newHedgeStatistics()
Computes the following vector x of statistics associated with hedging a short position in one option on one share of the underlying from a new independent path of the underlying:
See also newDiscountedHedgeGain()
. The strategy is assumed to be
financed completely by borrowing at the risk free rate without using the
premium.
The option price path C[0] must be initialized with the option price at time zero before this routine is called.
public RandomVector hedgeStatistics()
The newHedgeStatistics()
as a random vector.
The parameter t will be disregarded, ie. no conditional expectations. We don't need them and they are hard to implement.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |