### A free/open-source library for quantitative finance

Classes | Public Member Functions | Protected Attributes
MargrabeOption Class Reference
Financial instruments

Margrabe option on two assets. More...

`#include <ql/experimental/exoticoptions/margrabeoption.hpp>`

Inheritance diagram for MargrabeOption:
[legend]

List of all members.

## Classes

class | arguments
| Extra arguments for Margrabe option. More...
class | engine
| Margrabe option engine base class More...
class | results
| Extra results for Margrabe option. More...

## Public Member Functions

| MargrabeOption (Integer Q1, Integer Q2, const boost::shared_ptr< Exercise > &)
void | setupArguments (PricingEngine::arguments *) const
Real | delta1 () const
Real | delta2 () const
Real | gamma1 () const
Real | gamma2 () const
void | fetchResults (const PricingEngine::results *) const

## Protected Attributes

Integer | Q1_
Integer | Q2_
Real | delta1_
Real | delta2_
Real | gamma1_
Real | gamma2_

## Detailed Description

Margrabe option on two assets.

This option gives the holder the right to exchange Q2 stocks of the second asset for Q1 stocks of the first at expiration.

## Member Function Documentation

void setupArguments | ( | PricingEngine::arguments * |  | ) | const`[virtual]`

When a derived argument structure is defined for an instrument, this method should be overridden to fill it. This is mandatory in case a pricing engine is used.

Reimplemented from MultiAssetOption.

void fetchResults | ( | const PricingEngine::results * | r | ) | const`[virtual]`

When a derived result structure is defined for an instrument, this method should be overridden to read from it. This is mandatory in case a pricing engine is used.

Reimplemented from MultiAssetOption.