/// <summary>Gets a mutable Money Market convention template which is initially filled with values of /// the current instance, i.e. with some standard conventions.</summary> /// <returns>A mutable Money Market convention template.</returns> public MoneyMarketConventions GetMutableTemplate() { MoneyMarketConventions marketConventions = new MoneyMarketConventions(); marketConventions.SetStandardBusinessDayConvention(BusinessDayConvention); marketConventions.SetStandardDayCountconvention(DayCountConvention); marketConventions.SetStandardFutureBasePointValue(FutureBasePointValue); marketConventions.SetStandardLiborIndexName(LiborIndexName); marketConventions.SetStandardLiborRateRoundingRule(LiborRateRoundingRule); marketConventions.SetStandardBusinessDaysToSettle(BusinessDaysToSettle); marketConventions.SetStandardCapletTenorConvention(CapletTenorConvention); marketConventions.SetStandardFixingLag(FixingLag); return(marketConventions); }
/// <summary>Initializes a new instance of the <see cref="ReadOnlyMoneyMarketConventions"/> class. /// </summary> /// <param name="moneyMarketConventions">The money market conventions.</param> /// <exception cref="ArgumentNullException">Thrown, if <paramref name="moneyMarketConventions"/> is <c>null</c>.</exception> /// <exception cref="ArgumentException">Thrown, if <paramref name="moneyMarketConventions"/> is not completely defined.</exception> public ReadOnlyMoneyMarketConventions(MoneyMarketConventions moneyMarketConventions) { if (moneyMarketConventions == null) { throw new ArgumentNullException("moneyMarketConventions"); } if (moneyMarketConventions.IsCompletelyDefined == false) { throw new ArgumentException(String.Format(ExceptionMessages.ArgumentIsNotWellDefined, "Money market conventions"), "moneyMarketConventions"); } BusinessDayConvention = moneyMarketConventions.BusinessDayConvention; FixingLag = moneyMarketConventions.FixingLag; BusinessDaysToSettle = moneyMarketConventions.BusinessDaysToSettle.Value; CapletTenorConvention = moneyMarketConventions.CapletTenorConvention; DayCountConvention = moneyMarketConventions.DayCountConvention; FutureBasePointValue = moneyMarketConventions.FutureBasePointValue; LiborIndexName = moneyMarketConventions.LiborIndexName; LiborRateRoundingRule = moneyMarketConventions.LiborRateRoundingRule; }
/// <summary>Adds default market conventions that are taken into account into a specific logger. /// </summary> /// <param name="logger">The logger.</param> /// <param name="marketConventions">The market conventions which are taken into account.</param> /// <param name="userMarketConventionInput">The user input of market conventions.</param> public static void Add_Info(this ILogger logger, ReadOnlyMoneyMarketConventions marketConventions, MoneyMarketConventions userMarketConventionInput = null) { if ((logger != null) && (marketConventions != null)) { //if ((userMarketConventionInput == null) || (userMarketConventionInput.BusinessDayConventionState != ConventionState.UserInput)) //{ // logger.Add_Info_StandardValue("Business day convention", marketConventions.BusinessDayConvention.Name); //} //if ((userMarketConventionInput == null) || (userMarketConventionInput.BusinessDaysToSettleState != ConventionState.UserInput)) //{ // logger.Add_Info_StandardValue("Business days to settle", marketConventions.BusinessDaysToSettle); //} //if ((userMarketConventionInput == null) || (userMarketConventionInput.DayCountConventionState != ConventionState.UserInput)) //{ // logger.Add_Info_StandardValue("Day count convention", marketConventions.DayCountConvention.Name); //} //if ((userMarketConventionInput == null) || (userMarketConventionInput.CapletTenorConventionState != ConventionState.UserInput)) //{ // logger.Add_Info_StandardValue("Caplet tenor convention", marketConventions.CapletTenorConvention.Name); //} //if ((userMarketConventionInput == null) || (userMarketConventionInput.FutureBasePointValueState != ConventionState.UserInput)) //{ // logger.Add_Info_StandardValue("Future base point value", marketConventions.FutureBasePointValue); //} //if ((userMarketConventionInput == null) || (userMarketConventionInput.LiborRateRoundingRuleState != ConventionState.UserInput)) //{ // logger.Add_Info_StandardValue("Libor Rounding Rule", marketConventions.LiborRateRoundingRule.Name); //} //if ((userMarketConventionInput == null) || (userMarketConventionInput.FixingLagState != ConventionState.UserInput)) //{ // logger.Add_Info_StandardValue("Fixing Lag", marketConventions.FixingLag.Name); //} } }