Пример #1
0
 public CapletVarianceCurve( Date referenceDate,
                     List<Date> dates,
                     List<double> capletVolCurve,
                     DayCounter dayCounter)
     : base(referenceDate, new Calendar(), BusinessDayConvention.Following, new DayCounter())
 {
     blackCurve_=new BlackVarianceCurve(referenceDate, dates, capletVolCurve, dayCounter, false);
 }
Пример #2
0
        protected GeneralizedBlackScholesProcess GetStochasticProcess(DateTime d, MarkitSurface marketData)
        {
            // Spot level
            Handle <Quote> spotLevel = new Handle <Quote>(new SimpleQuote(marketData.impliedSpot));

            // Risk free rate (term structure)
            Handle <YieldTermStructure> riskFreeTS = marketData.riskFree_FwdCrv();

            // Dividend yield (term structure)
            Handle <YieldTermStructure> dividendTS = marketData.dividend_FwdCrv();

            // Volatility ATM Forward (term structure)
            BlackVarianceCurve             atmf_vol_curve = marketData.ATMF_Vol_TS(d);
            Handle <BlackVolTermStructure> volatilityTS   = new Handle <BlackVolTermStructure>(atmf_vol_curve);

            // Return
            return(new GeneralizedBlackScholesProcess(spotLevel, dividendTS, riskFreeTS, volatilityTS));
        }
Пример #3
0
        // ************************************
        // EXTRACTING ATMF BLACK IMPL VOL CURVE
        // ************************************
        public BlackVarianceCurve ATMF_Vol_TS(DateTime valuationDate)
        //public ZeroRateTermStructure riskFree_TS(DateTime valuationDate)
        {
            List <Date>   dates         = new List <Date>();
            List <double> atmf_vols     = new List <double>();
            double        fwd_moneyness = 1.0;

            foreach (DateTime d in data.Keys)
            {
                // Setting date
                dates.Add(d);

                // Setting forward
                fwd_moneyness = forward[d] / impliedSpot;
                atmf_vols.Add(data[d].GetVolatility(fwd_moneyness));
            }

            BlackVarianceCurve crv = new BlackVarianceCurve(informationDate, dates, atmf_vols, _dayCounter, false);

            return(crv);
        }
Пример #4
0
 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(BlackVarianceCurve obj)
 {
     return((obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr);
 }
Пример #5
0
 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(BlackVarianceCurve obj) {
   return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
 }