コード例 #1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="PriceableRepo"/> class.
 /// </summary>
 /// <param name="baseDate">The base date.</param>
 /// <param name="amount">Notional Amount.</param>
 /// <param name="nodeStruct">The deposit nodeStruct.</param>
 /// <param name="businessDayAdjustments">The business day adjustments.</param>
 /// <param name="fixingCalendar">The fixing Calendar.</param>
 /// <param name="paymentCalendar">The payment Calendar.</param>
 /// <param name="fixedRate">The fixed rate.</param>
 public PriceableRepo(DateTime baseDate, Decimal amount, RepoNodeStruct nodeStruct, IBusinessCalendar fixingCalendar,
                      IBusinessCalendar paymentCalendar, BusinessDayAdjustments businessDayAdjustments, BasicQuotation fixedRate)
     : base(nodeStruct.Deposit.id, baseDate, amount, businessDayAdjustments, fixedRate)
 {
     SpotDateOffset    = nodeStruct.SpotDate;
     Deposit           = nodeStruct.Deposit;
     UnderlyingAsset   = nodeStruct.UnderlyingAsset;
     AdjustedStartDate = GetSpotDate(baseDate, fixingCalendar, nodeStruct.SpotDate);
     RiskMaturityDate  = GetEffectiveDate(AdjustedStartDate, paymentCalendar, nodeStruct.Deposit.term, nodeStruct.BusinessDayAdjustments.businessDayConvention);
     YearFraction      = GetYearFraction(Deposit.dayCountFraction.Value, AdjustedStartDate, RiskMaturityDate);
 }
コード例 #2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="PriceableSpreadRepo"/> class.
 /// </summary>
 /// <param name="baseDate">The base date.</param>
 /// <param name="nodeStruct">The nodeStruct.</param>
 /// <param name="fixingCalendar">The fixingCalendar.</param>
 /// <param name="spread">The spread.</param>
 /// <param name="paymentCalendar">A paymentCalendar.</param>
 public PriceableSpreadRepo(DateTime baseDate, RepoNodeStruct nodeStruct, IBusinessCalendar fixingCalendar,
                            IBusinessCalendar paymentCalendar, BasicQuotation spread)
     : base(baseDate, nodeStruct.BusinessDayAdjustments, spread)
 {
     Id                    = nodeStruct.Deposit.id;
     Deposit               = nodeStruct.Deposit;
     FixingDateOffset      = nodeStruct.SpotDate;
     UnderlyingAsset       = nodeStruct.UnderlyingAsset;
     AdjustedStartDate     = GetSpotDate(baseDate, fixingCalendar, nodeStruct.SpotDate);
     AdjustedEffectiveDate = AdjustedStartDate;
     RiskMaturityDate      = GetEffectiveDate(AdjustedStartDate, paymentCalendar, nodeStruct.Deposit.term, nodeStruct.BusinessDayAdjustments.businessDayConvention);
     YearFraction          = GetYearFractions()[0];
     TimeToExpiry          = GetTimeToMaturity(baseDate, RiskMaturityDate);
     SetSpread(spread);
 }