#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(). |