HullAndWhiteOneFactor.SwaptionHW1.HWSwaptionMatrix C# (CSharp) Метод

HWSwaptionMatrix() публичный Метод

Calculates a matrix of swaption prices within Hull-White model.
public HWSwaptionMatrix ( Vector swaptionMaturity, Vector swapDuration, double a, double sigma, double deltaK ) : System.Matrix
swaptionMaturity Vector /// Vector of swaption maturity. ///
swapDuration Vector /// Vector of swap duration. ///
a double /// Hull-White alpha parameter. ///
sigma double /// Hull-White sigma parameter. ///
deltaK double /// Time interval between swap coupon expressed in year fraction. ///
Результат System.Matrix
        public Matrix HWSwaptionMatrix(Vector swaptionMaturity, Vector swapDuration, double a, double sigma, double deltaK)
        {
            Matrix result = new Matrix(swaptionMaturity.Length, swapDuration.Length);
            Vector swapPayDate;
            int npayment;
            double FSR;
            for (int i = 0; i < swaptionMaturity.Length; i++)
            {
                for (int j = 0; j < swapDuration.Length; j++)
                {
                    npayment = (int)(swapDuration[j] / deltaK);
                    swapPayDate = Vector.Linspace(swaptionMaturity[i] + deltaK, swaptionMaturity[i] + swapDuration[j], npayment);
                    FSR = this.ForwardSwapRate(swaptionMaturity[i], swapPayDate);
                    result[i, j] = this.HWSwaption(a, sigma, 1000.0, FSR, swaptionMaturity[i], swapPayDate);
                }
            }

            return result;
        }