#include "../PartB/yieldCurve.h"#include "../PartE/volsurface.h"#include "../PartA/BlackScholes/BlackScholes.h"#include "../PartA/BlackScholes/OptionStrategy.h"#include "../PartL/Exotics.h"#include "../PartH/bond.h"#include "../PartD/VanillaSwap.h"#include "../PartI/rainbowoption.h"#include "../PartJ/convertiblebond.h"#include "./importData.h"#include <minmax.h>Go to the source code of this file.
Functions | |
| bool | productsCreationMenu (marketData data) |
| Menu for this category. | |
| BlackScholes * | inputBSOption (marketData data) |
| User interface to input and store a BS option. | |
| string | outputCallPut (char c) |
| Transform the input c/C/p/P into "Call" or "Put". | |
| OptionStrategy | inputOptionStrategy (marketData data) |
| User interface to input and store an option strategy and options in it. | |
| void | inputSpecificOptionStrategy (marketData data, OptionStrategy &strategy) |
| add something else to the strategy than a Call/Put | |
| void | inputButterflySpread (marketData data, OptionStrategy &strategy, bool useMarketData) |
| add a butterfly spread to the strategy | |
| void | inputCallSpread (marketData data, OptionStrategy &strategy, bool useMarketData) |
| add a call spread to the strategy | |
| void | inputPutSpread (marketData data, OptionStrategy &strategy, bool useMarketData) |
| add a put spread to the strategy | |
| void | inputRatioCallSpread (marketData data, OptionStrategy &strategy, bool useMarketData) |
| add a ratio call spread to the strategy | |
| void | inputStraddle (marketData data, OptionStrategy &strategy, bool useMarketData) |
| add a Straddle to the strategy | |
| void | inputStrangle (marketData data, OptionStrategy &strategy, bool useMarketData) |
| add a strangle to the strategy | |
| Exotics * | inputExoticOptionOnSingleAsset (marketData &data) |
| User interface to input and store an Exotic Option with a single underlying (MC Price). | |
| exoticsType | choiceToType (Natural choice) |
| converts the 1 to 9 choice in a Exotics Type | |
| bond * | inputBond (marketData &data) |
| User interface to input a bond. | |
| convertiblebond * | inputConvertibleBond (marketData &data) |
| User interface to input a convertible bond. | |
| VanillaSwap * | inputVanillaSwap (marketData data) |
| User interface to input an interest rate vanilla swap. | |
| priceType | choosePricingType (Natural choice) |
| For Rainbow options, converts the input into a priceType. | |
| rainbowType | chooseRainbowType (Natural choice) |
| For Rainbow options, converts the input into a rainbowType. | |
| RainbowOption * | inputRainbowOption (marketData data) |
| To input a Rainbow Option. | |
|
|
converts the 1 to 9 choice in a Exotics Type
Definition at line 832 of file productsCreation.cpp. References AsianCall, AsianPut, BarrierCall, BarrierPut, CappedCliquet, CollaredCliquet, exoticsType, FlooredCliquet, Natural, RevLookbackCall, and RevLookbackPut. Referenced by inputExoticOptionOnSingleAsset(). |
|
|
For Rainbow options, converts the input into a priceType.
|
|
|
For Rainbow options, converts the input into a rainbowType.
|
|
|
User interface to input a bond.
Definition at line 639 of file productsCreation.cpp. References ACT_360, ACT_365, Annual, Bimonthly, bond::convexity(), marketData::creditcurve, Day30_360, Day30_365, DayCountConvention, bond::duration(), EveryFourthMonth, bond::fairvalue(), Frequency, Integer, Monthly, Natural, NoFrequency, Once, Date::plusDays(), Quarterly, Real, Semiannual, Date::setDateToToday(), marketData::yieldcurve, and bond::yieldToMaturity(). Referenced by productsCreationMenu(). |
|
|
User interface to input and store a BS option.
Definition at line 52 of file productsCreation.cpp. References Call, BlackScholes::getDelta(), BlackScholes::getGamma(), BlackScholes::getPrice(), BlackScholes::getRho(), BlackScholes::getTheta(), BlackScholes::getVega(), Integer, Natural, outputCallPut(), Date::plusDays(), Put, Real, Date::setDateToToday(), yieldCurve::spotRate(), TypeOptionBS, volsurface::volatility(), marketData::vols, and marketData::yieldcurve. Referenced by inputOptionStrategy(), and productsCreationMenu(). |
|
||||||||||||||||
|
add a butterfly spread to the strategy
Definition at line 214 of file productsCreation.cpp. References OptionStrategy::addLongButterflySpread(), Integer, Natural, Date::plusDays(), Real, Date::setDateToToday(), yieldCurve::spotRate(), volsurface::volatility(), marketData::vols, and marketData::yieldcurve. Referenced by inputSpecificOptionStrategy(). |
|
||||||||||||||||
|
add a call spread to the strategy
Definition at line 263 of file productsCreation.cpp. References OptionStrategy::addLongCallSpread(), Integer, Date::plusDays(), Real, Date::setDateToToday(), yieldCurve::spotRate(), volsurface::volatility(), marketData::vols, and marketData::yieldcurve. Referenced by inputSpecificOptionStrategy(). |
|
|
User interface to input a convertible bond.
Definition at line 533 of file productsCreation.cpp. References ACT_365, marketData::creditcurve, Integer, Natural, Date::plusDays(), Real, Date::setDateToToday(), and marketData::yieldcurve. Referenced by productsCreationMenu(). |
|
|
User interface to input and store an Exotic Option with a single underlying (MC Price).
Definition at line 424 of file productsCreation.cpp. References choiceToType(), CollaredCliquet, exoticsType, importData::getData(), Exotics::getDelta(), Exotics::getPrice(), Exotics::getRho(), Exotics::getTheta(), Exotics::getVega(), LongNatural, Natural, Real, importData::runUserDefinedInterface(), marketData::vols, and marketData::yieldcurve. Referenced by productsCreationMenu(). |
|
|
User interface to input and store an option strategy and options in it.
Definition at line 119 of file productsCreation.cpp. References OptionStrategy::addOneBlackScholesObject(), OptionStrategy::getGlobalDelta(), OptionStrategy::getGlobalGamma(), OptionStrategy::getGlobalRho(), OptionStrategy::getGlobalTheta(), OptionStrategy::getGlobalVega(), inputBSOption(), inputSpecificOptionStrategy(), Natural, Real, and OptionStrategy::returnPrice(). Referenced by productsCreationMenu(). |
|
||||||||||||||||
|
add a put spread to the strategy
Definition at line 296 of file productsCreation.cpp. References OptionStrategy::addLongPutSpread(), Integer, Date::plusDays(), Real, Date::setDateToToday(), yieldCurve::spotRate(), volsurface::volatility(), marketData::vols, and marketData::yieldcurve. Referenced by inputSpecificOptionStrategy(). |
|
|
To input a Rainbow Option.
Definition at line 1039 of file productsCreation.cpp. References choosePricingType(), chooseRainbowType(), RainbowOption::getCorrelRisk(), RainbowOption::getPartialDelta(), RainbowOption::getPartialGamma(), RainbowOption::getPartialVega(), RainbowOption::getPrice(), RainbowOption::getRho(), Natural, priceType, rainbowType, Real, Date::setDateToToday(), marketData::vols, and marketData::yieldcurve. Referenced by productsCreationMenu(). |
|
||||||||||||||||
|
add a ratio call spread to the strategy
Definition at line 329 of file productsCreation.cpp. References OptionStrategy::addLongRatioCallSpread(), Integer, Date::plusDays(), Real, Date::setDateToToday(), yieldCurve::spotRate(), volsurface::volatility(), marketData::vols, and marketData::yieldcurve. Referenced by inputSpecificOptionStrategy(). |
|
||||||||||||
|
add something else to the strategy than a Call/Put
Definition at line 169 of file productsCreation.cpp. References inputButterflySpread(), inputCallSpread(), inputPutSpread(), inputRatioCallSpread(), inputStraddle(), inputStrangle(), and Natural. Referenced by inputOptionStrategy(). |
|
||||||||||||||||
|
add a Straddle to the strategy
Definition at line 362 of file productsCreation.cpp. References OptionStrategy::addLongStraddle(), Integer, Date::plusDays(), Real, Date::setDateToToday(), yieldCurve::spotRate(), volsurface::volatility(), marketData::vols, and marketData::yieldcurve. Referenced by inputSpecificOptionStrategy(). |
|
||||||||||||||||
|
add a strangle to the strategy
Definition at line 390 of file productsCreation.cpp. References OptionStrategy::addLongStrangle(), Integer, Date::plusDays(), Real, Date::setDateToToday(), yieldCurve::spotRate(), volsurface::volatility(), marketData::vols, and marketData::yieldcurve. Referenced by inputSpecificOptionStrategy(). |
|
|
User interface to input an interest rate vanilla swap.
Definition at line 866 of file productsCreation.cpp. References Following, VanillaSwap::getFairValue1(), VanillaSwap::getFairValue2(), VanillaSwap::getRho(), VanillaSwap::getTheta(), Integer, Natural, Date::plusDays(), Real, VanillaSwap::returnPrice(), Date::setDateToToday(), and marketData::yieldcurve. Referenced by productsCreationMenu(). |
|
|
Transform the input c/C/p/P into "Call" or "Put".
Definition at line 108 of file productsCreation.cpp. Referenced by inputBSOption(). |
|
|
Menu for this category.
Definition at line 4 of file productsCreation.cpp. References inputBond(), inputBSOption(), inputConvertibleBond(), inputExoticOptionOnSingleAsset(), inputOptionStrategy(), inputRainbowOption(), inputVanillaSwap(), and Natural. Referenced by main(). |
1.3.6