Dhule.java
- package org.drip.sample.securitysuite;
- import org.drip.analytics.cashflow.CompositePeriod;
- import org.drip.analytics.date.*;
- import org.drip.numerical.common.FormatUtil;
- import org.drip.numerical.linearalgebra.Matrix;
- import org.drip.product.creator.BondBuilder;
- import org.drip.product.credit.BondComponent;
- import org.drip.service.env.EnvManager;
- import org.drip.service.scenario.*;
- /*
- * -*- mode: java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
- */
- /*!
- * Copyright (C) 2018 Lakshmi Krishnamurthy
- * Copyright (C) 2017 Lakshmi Krishnamurthy
- *
- * This file is part of DRIP, a free-software/open-source library for buy/side financial/trading model
- * libraries targeting analysts and developers
- * https://lakshmidrip.github.io/DRIP/
- *
- * DRIP is composed of four main libraries:
- *
- * - DRIP Fixed Income - https://lakshmidrip.github.io/DRIP-Fixed-Income/
- * - DRIP Asset Allocation - https://lakshmidrip.github.io/DRIP-Asset-Allocation/
- * - DRIP Numerical Optimizer - https://lakshmidrip.github.io/DRIP-Numerical-Optimizer/
- * - DRIP Statistical Learning - https://lakshmidrip.github.io/DRIP-Statistical-Learning/
- *
- * - DRIP Fixed Income: Library for Instrument/Trading Conventions, Treasury Futures/Options,
- * Funding/Forward/Overnight Curves, Multi-Curve Construction/Valuation, Collateral Valuation and XVA
- * Metric Generation, Calibration and Hedge Attributions, Statistical Curve Construction, Bond RV
- * Metrics, Stochastic Evolution and Option Pricing, Interest Rate Dynamics and Option Pricing, LMM
- * Extensions/Calibrations/Greeks, Algorithmic Differentiation, and Asset Backed Models and Analytics.
- *
- * - DRIP Asset Allocation: Library for model libraries for MPT framework, Black Litterman Strategy
- * Incorporator, Holdings Constraint, and Transaction Costs.
- *
- * - DRIP Numerical Optimizer: Library for Numerical Optimization and Spline Functionality.
- *
- * - DRIP Statistical Learning: Library for Statistical Evaluation and Machine Learning.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- *
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- /**
- * Dhule generates the Full Suite of Replication Metrics for Bond Dhule.
- *
- * @author Lakshmi Krishnamurthy
- */
- public class Dhule {
- public static final void main (
- final String[] astArgs)
- throws Exception
- {
- EnvManager.InitEnv ("");
- JulianDate dtSpot = DateUtil.CreateFromYMD (
- 2017,
- DateUtil.OCTOBER,
- 5
- );
- String[] astrDepositTenor = new String[] {
- "2D"
- };
- double[] adblDepositQuote = new double[] {
- 0.0130411 // 2D
- };
- double[] adblFuturesQuote = new double[] {
- 0.01345, // 98.655
- 0.01470, // 98.530
- 0.01575, // 98.425
- 0.01660, // 98.340
- 0.01745, // 98.255
- 0.01845 // 98.155
- };
- String[] astrFixFloatTenor = new String[] {
- "02Y",
- "03Y",
- "04Y",
- "05Y",
- "06Y",
- "07Y",
- "08Y",
- "09Y",
- "10Y",
- "11Y",
- "12Y",
- "15Y",
- "20Y",
- "25Y",
- "30Y",
- "40Y",
- "50Y"
- };
- String[] astrGovvieTenor = new String[] {
- "1Y",
- "2Y",
- "3Y",
- "5Y",
- "7Y",
- "10Y",
- "20Y",
- "30Y"
- };
- double[] adblFixFloatQuote = new double[] {
- 0.016410, // 2Y
- 0.017863, // 3Y
- 0.019030, // 4Y
- 0.020035, // 5Y
- 0.020902, // 6Y
- 0.021660, // 7Y
- 0.022307, // 8Y
- 0.022879, // 9Y
- 0.023363, // 10Y
- 0.023820, // 11Y
- 0.024172, // 12Y
- 0.024934, // 15Y
- 0.025581, // 20Y
- 0.025906, // 25Y
- 0.025973, // 30Y
- 0.025838, // 40Y
- 0.025560 // 50Y
- };
- double[] adblGovvieYield = new double[] {
- 0.01219, // 1Y
- 0.01391, // 2Y
- 0.01590, // 3Y
- 0.01937, // 5Y
- 0.02200, // 7Y
- 0.02378, // 10Y
- 0.02677, // 20Y
- 0.02927 // 30Y
- };
- String[] astrCreditTenor = new String[] {
- "06M",
- "01Y",
- "02Y",
- "03Y",
- "04Y",
- "05Y",
- "07Y",
- "10Y"
- };
- double[] adblCreditQuote = new double[] {
- 60., // 6M
- 68., // 1Y
- 88., // 2Y
- 102., // 3Y
- 121., // 4Y
- 138., // 5Y
- 168., // 7Y
- 188. // 10Y
- };
- double dblFX = 1.;
- int iSettleLag = 3;
- int iCouponFreq = 12;
- String strName = "Dhule";
- double dblCleanPrice = 0.95;
- double dblIssuePrice = 1.;
- String strCurrency = "USD";
- double dblSpreadBump = 20.;
- double dblCouponRate = 0.03;
- String strTreasuryCode = "UST";
- String strCouponDayCount = "30/360";
- double dblSpreadDurationMultiplier = 5.;
- org.drip.analytics.date.JulianDate[] adtPeriodEnd = new org.drip.analytics.date.JulianDate[] {
- DateUtil.CreateFromYMD (2017, DateUtil.OCTOBER , 25),
- DateUtil.CreateFromYMD (2017, DateUtil.NOVEMBER , 25),
- DateUtil.CreateFromYMD (2017, DateUtil.DECEMBER , 25),
- DateUtil.CreateFromYMD (2018, DateUtil.JANUARY , 25),
- DateUtil.CreateFromYMD (2018, DateUtil.FEBRUARY , 25),
- DateUtil.CreateFromYMD (2018, DateUtil.MARCH , 25),
- DateUtil.CreateFromYMD (2018, DateUtil.APRIL , 25),
- DateUtil.CreateFromYMD (2018, DateUtil.MAY , 25),
- DateUtil.CreateFromYMD (2018, DateUtil.JUNE , 25),
- DateUtil.CreateFromYMD (2018, DateUtil.JULY , 25),
- DateUtil.CreateFromYMD (2018, DateUtil.AUGUST , 25),
- DateUtil.CreateFromYMD (2018, DateUtil.SEPTEMBER, 25),
- DateUtil.CreateFromYMD (2018, DateUtil.OCTOBER , 25),
- DateUtil.CreateFromYMD (2018, DateUtil.NOVEMBER , 25),
- DateUtil.CreateFromYMD (2018, DateUtil.DECEMBER , 25),
- DateUtil.CreateFromYMD (2019, DateUtil.JANUARY , 25),
- DateUtil.CreateFromYMD (2019, DateUtil.FEBRUARY , 25),
- DateUtil.CreateFromYMD (2019, DateUtil.MARCH , 25),
- DateUtil.CreateFromYMD (2019, DateUtil.APRIL , 25),
- DateUtil.CreateFromYMD (2019, DateUtil.MAY , 25),
- DateUtil.CreateFromYMD (2019, DateUtil.JUNE , 25),
- DateUtil.CreateFromYMD (2019, DateUtil.JULY , 25),
- DateUtil.CreateFromYMD (2019, DateUtil.AUGUST , 25),
- DateUtil.CreateFromYMD (2019, DateUtil.SEPTEMBER, 25),
- DateUtil.CreateFromYMD (2019, DateUtil.OCTOBER , 25),
- DateUtil.CreateFromYMD (2019, DateUtil.NOVEMBER , 25),
- DateUtil.CreateFromYMD (2019, DateUtil.DECEMBER , 25),
- DateUtil.CreateFromYMD (2020, DateUtil.JANUARY , 25),
- DateUtil.CreateFromYMD (2020, DateUtil.FEBRUARY , 25),
- DateUtil.CreateFromYMD (2020, DateUtil.MARCH , 25),
- DateUtil.CreateFromYMD (2020, DateUtil.APRIL , 25),
- DateUtil.CreateFromYMD (2020, DateUtil.MAY , 25),
- DateUtil.CreateFromYMD (2020, DateUtil.JUNE , 25),
- DateUtil.CreateFromYMD (2020, DateUtil.JULY , 25),
- DateUtil.CreateFromYMD (2020, DateUtil.AUGUST , 25),
- DateUtil.CreateFromYMD (2020, DateUtil.SEPTEMBER, 25),
- DateUtil.CreateFromYMD (2020, DateUtil.OCTOBER , 25),
- DateUtil.CreateFromYMD (2020, DateUtil.NOVEMBER , 25),
- DateUtil.CreateFromYMD (2020, DateUtil.DECEMBER , 25),
- DateUtil.CreateFromYMD (2021, DateUtil.JANUARY , 25),
- DateUtil.CreateFromYMD (2021, DateUtil.FEBRUARY , 25),
- DateUtil.CreateFromYMD (2021, DateUtil.MARCH , 25),
- DateUtil.CreateFromYMD (2021, DateUtil.APRIL , 25),
- DateUtil.CreateFromYMD (2021, DateUtil.MAY , 25),
- DateUtil.CreateFromYMD (2021, DateUtil.JUNE , 25),
- DateUtil.CreateFromYMD (2021, DateUtil.JULY , 25),
- DateUtil.CreateFromYMD (2021, DateUtil.AUGUST , 25),
- DateUtil.CreateFromYMD (2021, DateUtil.SEPTEMBER, 25),
- DateUtil.CreateFromYMD (2021, DateUtil.OCTOBER , 25),
- DateUtil.CreateFromYMD (2021, DateUtil.NOVEMBER , 25),
- DateUtil.CreateFromYMD (2021, DateUtil.DECEMBER , 25),
- DateUtil.CreateFromYMD (2022, DateUtil.JANUARY , 25),
- DateUtil.CreateFromYMD (2022, DateUtil.FEBRUARY , 25),
- DateUtil.CreateFromYMD (2022, DateUtil.MARCH , 25),
- DateUtil.CreateFromYMD (2022, DateUtil.APRIL , 25),
- DateUtil.CreateFromYMD (2022, DateUtil.MAY , 25),
- DateUtil.CreateFromYMD (2022, DateUtil.JUNE , 25),
- DateUtil.CreateFromYMD (2022, DateUtil.JULY , 25),
- DateUtil.CreateFromYMD (2022, DateUtil.AUGUST , 25),
- DateUtil.CreateFromYMD (2022, DateUtil.SEPTEMBER, 25),
- DateUtil.CreateFromYMD (2022, DateUtil.OCTOBER , 25),
- DateUtil.CreateFromYMD (2022, DateUtil.NOVEMBER , 25),
- DateUtil.CreateFromYMD (2022, DateUtil.DECEMBER , 25),
- DateUtil.CreateFromYMD (2023, DateUtil.JANUARY , 25),
- DateUtil.CreateFromYMD (2023, DateUtil.FEBRUARY , 25),
- DateUtil.CreateFromYMD (2023, DateUtil.MARCH , 25),
- DateUtil.CreateFromYMD (2023, DateUtil.APRIL , 25),
- DateUtil.CreateFromYMD (2023, DateUtil.MAY , 25),
- DateUtil.CreateFromYMD (2023, DateUtil.JUNE , 25),
- DateUtil.CreateFromYMD (2023, DateUtil.JULY , 25),
- DateUtil.CreateFromYMD (2023, DateUtil.AUGUST , 25),
- DateUtil.CreateFromYMD (2023, DateUtil.SEPTEMBER, 25),
- DateUtil.CreateFromYMD (2023, DateUtil.OCTOBER , 25),
- DateUtil.CreateFromYMD (2023, DateUtil.NOVEMBER , 25),
- DateUtil.CreateFromYMD (2023, DateUtil.DECEMBER , 25),
- DateUtil.CreateFromYMD (2024, DateUtil.JANUARY , 25),
- DateUtil.CreateFromYMD (2024, DateUtil.FEBRUARY , 25),
- DateUtil.CreateFromYMD (2024, DateUtil.MARCH , 25),
- DateUtil.CreateFromYMD (2024, DateUtil.APRIL , 25),
- DateUtil.CreateFromYMD (2024, DateUtil.MAY , 25),
- DateUtil.CreateFromYMD (2024, DateUtil.JUNE , 25),
- DateUtil.CreateFromYMD (2024, DateUtil.JULY , 25),
- DateUtil.CreateFromYMD (2024, DateUtil.AUGUST , 25),
- DateUtil.CreateFromYMD (2024, DateUtil.SEPTEMBER, 25),
- DateUtil.CreateFromYMD (2024, DateUtil.OCTOBER , 25),
- DateUtil.CreateFromYMD (2024, DateUtil.NOVEMBER , 25),
- DateUtil.CreateFromYMD (2024, DateUtil.DECEMBER , 25),
- DateUtil.CreateFromYMD (2025, DateUtil.JANUARY , 25),
- DateUtil.CreateFromYMD (2025, DateUtil.FEBRUARY , 25),
- DateUtil.CreateFromYMD (2025, DateUtil.MARCH , 25),
- DateUtil.CreateFromYMD (2025, DateUtil.APRIL , 25),
- DateUtil.CreateFromYMD (2025, DateUtil.MAY , 25),
- DateUtil.CreateFromYMD (2025, DateUtil.JUNE , 25),
- DateUtil.CreateFromYMD (2025, DateUtil.JULY , 25),
- DateUtil.CreateFromYMD (2025, DateUtil.AUGUST , 25),
- DateUtil.CreateFromYMD (2025, DateUtil.SEPTEMBER, 25),
- DateUtil.CreateFromYMD (2025, DateUtil.OCTOBER , 25),
- DateUtil.CreateFromYMD (2025, DateUtil.NOVEMBER , 25),
- DateUtil.CreateFromYMD (2025, DateUtil.DECEMBER , 25),
- DateUtil.CreateFromYMD (2026, DateUtil.JANUARY , 25),
- DateUtil.CreateFromYMD (2026, DateUtil.FEBRUARY , 25),
- DateUtil.CreateFromYMD (2026, DateUtil.MARCH , 25),
- DateUtil.CreateFromYMD (2026, DateUtil.APRIL , 25),
- DateUtil.CreateFromYMD (2026, DateUtil.MAY , 25),
- DateUtil.CreateFromYMD (2026, DateUtil.JUNE , 25),
- DateUtil.CreateFromYMD (2026, DateUtil.JULY , 25),
- DateUtil.CreateFromYMD (2026, DateUtil.AUGUST , 25),
- DateUtil.CreateFromYMD (2026, DateUtil.SEPTEMBER, 25),
- DateUtil.CreateFromYMD (2026, DateUtil.OCTOBER , 25),
- DateUtil.CreateFromYMD (2026, DateUtil.NOVEMBER , 25),
- DateUtil.CreateFromYMD (2026, DateUtil.DECEMBER , 25),
- DateUtil.CreateFromYMD (2027, DateUtil.JANUARY , 25),
- DateUtil.CreateFromYMD (2027, DateUtil.FEBRUARY , 25),
- DateUtil.CreateFromYMD (2027, DateUtil.MARCH , 25),
- DateUtil.CreateFromYMD (2027, DateUtil.APRIL , 25),
- DateUtil.CreateFromYMD (2027, DateUtil.MAY , 25),
- DateUtil.CreateFromYMD (2027, DateUtil.JUNE , 25),
- DateUtil.CreateFromYMD (2027, DateUtil.JULY , 25),
- DateUtil.CreateFromYMD (2027, DateUtil.AUGUST , 25),
- DateUtil.CreateFromYMD (2027, DateUtil.SEPTEMBER, 25),
- DateUtil.CreateFromYMD (2027, DateUtil.OCTOBER , 25),
- DateUtil.CreateFromYMD (2027, DateUtil.NOVEMBER , 25),
- DateUtil.CreateFromYMD (2027, DateUtil.DECEMBER , 25),
- DateUtil.CreateFromYMD (2028, DateUtil.JANUARY , 25),
- DateUtil.CreateFromYMD (2028, DateUtil.FEBRUARY , 25),
- DateUtil.CreateFromYMD (2028, DateUtil.MARCH , 25),
- DateUtil.CreateFromYMD (2028, DateUtil.APRIL , 25),
- DateUtil.CreateFromYMD (2028, DateUtil.MAY , 25),
- DateUtil.CreateFromYMD (2028, DateUtil.JUNE , 25),
- DateUtil.CreateFromYMD (2028, DateUtil.JULY , 25),
- DateUtil.CreateFromYMD (2028, DateUtil.AUGUST , 25),
- DateUtil.CreateFromYMD (2028, DateUtil.SEPTEMBER, 25),
- DateUtil.CreateFromYMD (2028, DateUtil.OCTOBER , 25),
- DateUtil.CreateFromYMD (2028, DateUtil.NOVEMBER , 25),
- DateUtil.CreateFromYMD (2028, DateUtil.DECEMBER , 25),
- DateUtil.CreateFromYMD (2029, DateUtil.JANUARY , 25),
- DateUtil.CreateFromYMD (2029, DateUtil.FEBRUARY , 25),
- DateUtil.CreateFromYMD (2029, DateUtil.MARCH , 25),
- DateUtil.CreateFromYMD (2029, DateUtil.APRIL , 25),
- DateUtil.CreateFromYMD (2029, DateUtil.MAY , 25),
- DateUtil.CreateFromYMD (2029, DateUtil.JUNE , 25),
- DateUtil.CreateFromYMD (2029, DateUtil.JULY , 25),
- DateUtil.CreateFromYMD (2029, DateUtil.AUGUST , 25),
- DateUtil.CreateFromYMD (2029, DateUtil.SEPTEMBER, 25),
- DateUtil.CreateFromYMD (2029, DateUtil.OCTOBER , 25),
- DateUtil.CreateFromYMD (2029, DateUtil.NOVEMBER , 25),
- DateUtil.CreateFromYMD (2029, DateUtil.DECEMBER , 25),
- DateUtil.CreateFromYMD (2030, DateUtil.JANUARY , 25),
- DateUtil.CreateFromYMD (2030, DateUtil.FEBRUARY , 25),
- DateUtil.CreateFromYMD (2030, DateUtil.MARCH , 25),
- DateUtil.CreateFromYMD (2030, DateUtil.APRIL , 25),
- DateUtil.CreateFromYMD (2030, DateUtil.MAY , 25),
- DateUtil.CreateFromYMD (2030, DateUtil.JUNE , 25),
- DateUtil.CreateFromYMD (2030, DateUtil.JULY , 25),
- DateUtil.CreateFromYMD (2030, DateUtil.AUGUST , 25),
- DateUtil.CreateFromYMD (2030, DateUtil.SEPTEMBER, 25),
- DateUtil.CreateFromYMD (2030, DateUtil.OCTOBER , 25),
- DateUtil.CreateFromYMD (2030, DateUtil.NOVEMBER , 25),
- DateUtil.CreateFromYMD (2030, DateUtil.DECEMBER , 25),
- DateUtil.CreateFromYMD (2031, DateUtil.JANUARY , 25),
- DateUtil.CreateFromYMD (2031, DateUtil.FEBRUARY , 25),
- DateUtil.CreateFromYMD (2031, DateUtil.MARCH , 25),
- DateUtil.CreateFromYMD (2031, DateUtil.APRIL , 25),
- DateUtil.CreateFromYMD (2031, DateUtil.MAY , 25),
- DateUtil.CreateFromYMD (2031, DateUtil.JUNE , 25),
- DateUtil.CreateFromYMD (2031, DateUtil.JULY , 25),
- DateUtil.CreateFromYMD (2031, DateUtil.AUGUST , 25),
- DateUtil.CreateFromYMD (2031, DateUtil.SEPTEMBER, 25),
- DateUtil.CreateFromYMD (2031, DateUtil.OCTOBER , 25),
- DateUtil.CreateFromYMD (2031, DateUtil.NOVEMBER , 25),
- DateUtil.CreateFromYMD (2031, DateUtil.DECEMBER , 25),
- DateUtil.CreateFromYMD (2032, DateUtil.JANUARY , 25),
- DateUtil.CreateFromYMD (2032, DateUtil.FEBRUARY , 25),
- DateUtil.CreateFromYMD (2032, DateUtil.MARCH , 25),
- DateUtil.CreateFromYMD (2032, DateUtil.APRIL , 25),
- DateUtil.CreateFromYMD (2032, DateUtil.MAY , 25),
- DateUtil.CreateFromYMD (2032, DateUtil.JUNE , 25),
- DateUtil.CreateFromYMD (2032, DateUtil.JULY , 25),
- DateUtil.CreateFromYMD (2032, DateUtil.AUGUST , 25),
- DateUtil.CreateFromYMD (2032, DateUtil.SEPTEMBER, 25),
- DateUtil.CreateFromYMD (2032, DateUtil.OCTOBER , 25),
- DateUtil.CreateFromYMD (2032, DateUtil.NOVEMBER , 25),
- DateUtil.CreateFromYMD (2032, DateUtil.DECEMBER , 25),
- DateUtil.CreateFromYMD (2033, DateUtil.JANUARY , 25),
- DateUtil.CreateFromYMD (2033, DateUtil.FEBRUARY , 25),
- DateUtil.CreateFromYMD (2033, DateUtil.MARCH , 25),
- DateUtil.CreateFromYMD (2033, DateUtil.APRIL , 25),
- DateUtil.CreateFromYMD (2033, DateUtil.MAY , 25),
- DateUtil.CreateFromYMD (2033, DateUtil.JUNE , 25),
- DateUtil.CreateFromYMD (2033, DateUtil.JULY , 25),
- DateUtil.CreateFromYMD (2033, DateUtil.AUGUST , 25),
- DateUtil.CreateFromYMD (2033, DateUtil.SEPTEMBER, 25),
- DateUtil.CreateFromYMD (2033, DateUtil.OCTOBER , 25),
- DateUtil.CreateFromYMD (2033, DateUtil.NOVEMBER , 25),
- DateUtil.CreateFromYMD (2033, DateUtil.DECEMBER , 25),
- DateUtil.CreateFromYMD (2034, DateUtil.JANUARY , 25),
- DateUtil.CreateFromYMD (2034, DateUtil.FEBRUARY , 25),
- DateUtil.CreateFromYMD (2034, DateUtil.MARCH , 25),
- DateUtil.CreateFromYMD (2034, DateUtil.APRIL , 25),
- DateUtil.CreateFromYMD (2034, DateUtil.MAY , 25),
- DateUtil.CreateFromYMD (2034, DateUtil.JUNE , 25),
- DateUtil.CreateFromYMD (2034, DateUtil.JULY , 25),
- DateUtil.CreateFromYMD (2034, DateUtil.AUGUST , 25),
- DateUtil.CreateFromYMD (2034, DateUtil.SEPTEMBER, 25),
- DateUtil.CreateFromYMD (2034, DateUtil.OCTOBER , 25),
- DateUtil.CreateFromYMD (2034, DateUtil.NOVEMBER , 25),
- DateUtil.CreateFromYMD (2034, DateUtil.DECEMBER , 25),
- DateUtil.CreateFromYMD (2035, DateUtil.JANUARY , 25),
- DateUtil.CreateFromYMD (2035, DateUtil.FEBRUARY , 25),
- DateUtil.CreateFromYMD (2035, DateUtil.MARCH , 25),
- DateUtil.CreateFromYMD (2035, DateUtil.APRIL , 25),
- DateUtil.CreateFromYMD (2035, DateUtil.MAY , 25),
- DateUtil.CreateFromYMD (2035, DateUtil.JUNE , 25),
- DateUtil.CreateFromYMD (2035, DateUtil.JULY , 25),
- DateUtil.CreateFromYMD (2035, DateUtil.AUGUST , 25),
- DateUtil.CreateFromYMD (2035, DateUtil.SEPTEMBER, 25),
- DateUtil.CreateFromYMD (2035, DateUtil.OCTOBER , 25),
- DateUtil.CreateFromYMD (2035, DateUtil.NOVEMBER , 25),
- DateUtil.CreateFromYMD (2035, DateUtil.DECEMBER , 25),
- DateUtil.CreateFromYMD (2036, DateUtil.JANUARY , 25),
- DateUtil.CreateFromYMD (2036, DateUtil.FEBRUARY , 25),
- DateUtil.CreateFromYMD (2036, DateUtil.MARCH , 25),
- DateUtil.CreateFromYMD (2036, DateUtil.APRIL , 25),
- DateUtil.CreateFromYMD (2036, DateUtil.MAY , 25),
- DateUtil.CreateFromYMD (2036, DateUtil.JUNE , 25),
- DateUtil.CreateFromYMD (2036, DateUtil.JULY , 25),
- DateUtil.CreateFromYMD (2036, DateUtil.AUGUST , 25),
- DateUtil.CreateFromYMD (2036, DateUtil.SEPTEMBER, 25),
- DateUtil.CreateFromYMD (2036, DateUtil.OCTOBER , 25),
- DateUtil.CreateFromYMD (2036, DateUtil.NOVEMBER , 25),
- DateUtil.CreateFromYMD (2036, DateUtil.DECEMBER , 25),
- DateUtil.CreateFromYMD (2037, DateUtil.JANUARY , 25),
- DateUtil.CreateFromYMD (2037, DateUtil.FEBRUARY , 25),
- DateUtil.CreateFromYMD (2037, DateUtil.MARCH , 25),
- DateUtil.CreateFromYMD (2037, DateUtil.APRIL , 25),
- DateUtil.CreateFromYMD (2037, DateUtil.MAY , 25),
- DateUtil.CreateFromYMD (2037, DateUtil.JUNE , 25),
- DateUtil.CreateFromYMD (2037, DateUtil.JULY , 25),
- DateUtil.CreateFromYMD (2037, DateUtil.AUGUST , 25),
- DateUtil.CreateFromYMD (2037, DateUtil.SEPTEMBER, 25),
- DateUtil.CreateFromYMD (2037, DateUtil.OCTOBER , 25),
- DateUtil.CreateFromYMD (2037, DateUtil.NOVEMBER , 25),
- DateUtil.CreateFromYMD (2037, DateUtil.DECEMBER , 25),
- DateUtil.CreateFromYMD (2038, DateUtil.JANUARY , 25),
- DateUtil.CreateFromYMD (2038, DateUtil.FEBRUARY , 25),
- DateUtil.CreateFromYMD (2038, DateUtil.MARCH , 25),
- DateUtil.CreateFromYMD (2038, DateUtil.APRIL , 25),
- DateUtil.CreateFromYMD (2038, DateUtil.MAY , 25),
- DateUtil.CreateFromYMD (2038, DateUtil.JUNE , 25),
- DateUtil.CreateFromYMD (2038, DateUtil.JULY , 25),
- DateUtil.CreateFromYMD (2038, DateUtil.AUGUST , 25),
- DateUtil.CreateFromYMD (2038, DateUtil.SEPTEMBER, 25),
- DateUtil.CreateFromYMD (2038, DateUtil.OCTOBER , 25),
- DateUtil.CreateFromYMD (2038, DateUtil.NOVEMBER , 25),
- DateUtil.CreateFromYMD (2038, DateUtil.DECEMBER , 25),
- DateUtil.CreateFromYMD (2039, DateUtil.JANUARY , 25),
- DateUtil.CreateFromYMD (2039, DateUtil.FEBRUARY , 25),
- DateUtil.CreateFromYMD (2039, DateUtil.MARCH , 25),
- DateUtil.CreateFromYMD (2039, DateUtil.APRIL , 25),
- DateUtil.CreateFromYMD (2039, DateUtil.MAY , 25),
- DateUtil.CreateFromYMD (2039, DateUtil.JUNE , 25),
- DateUtil.CreateFromYMD (2039, DateUtil.JULY , 25),
- DateUtil.CreateFromYMD (2039, DateUtil.AUGUST , 25),
- DateUtil.CreateFromYMD (2039, DateUtil.SEPTEMBER, 25),
- DateUtil.CreateFromYMD (2039, DateUtil.OCTOBER , 25),
- DateUtil.CreateFromYMD (2039, DateUtil.NOVEMBER , 25),
- DateUtil.CreateFromYMD (2039, DateUtil.DECEMBER , 25),
- DateUtil.CreateFromYMD (2040, DateUtil.JANUARY , 25),
- DateUtil.CreateFromYMD (2040, DateUtil.FEBRUARY , 25),
- DateUtil.CreateFromYMD (2040, DateUtil.MARCH , 25),
- DateUtil.CreateFromYMD (2040, DateUtil.APRIL , 25),
- DateUtil.CreateFromYMD (2040, DateUtil.MAY , 25),
- DateUtil.CreateFromYMD (2040, DateUtil.JUNE , 25),
- DateUtil.CreateFromYMD (2040, DateUtil.JULY , 25),
- DateUtil.CreateFromYMD (2040, DateUtil.AUGUST , 25),
- DateUtil.CreateFromYMD (2040, DateUtil.SEPTEMBER, 25),
- DateUtil.CreateFromYMD (2040, DateUtil.OCTOBER , 25),
- DateUtil.CreateFromYMD (2040, DateUtil.NOVEMBER , 25),
- DateUtil.CreateFromYMD (2040, DateUtil.DECEMBER , 25),
- DateUtil.CreateFromYMD (2041, DateUtil.JANUARY , 25),
- DateUtil.CreateFromYMD (2041, DateUtil.FEBRUARY , 25),
- DateUtil.CreateFromYMD (2041, DateUtil.MARCH , 25),
- DateUtil.CreateFromYMD (2041, DateUtil.APRIL , 25),
- DateUtil.CreateFromYMD (2041, DateUtil.MAY , 25),
- DateUtil.CreateFromYMD (2041, DateUtil.JUNE , 25),
- DateUtil.CreateFromYMD (2041, DateUtil.JULY , 25),
- DateUtil.CreateFromYMD (2041, DateUtil.AUGUST , 25),
- DateUtil.CreateFromYMD (2041, DateUtil.SEPTEMBER, 25),
- DateUtil.CreateFromYMD (2041, DateUtil.OCTOBER , 25),
- DateUtil.CreateFromYMD (2041, DateUtil.NOVEMBER , 25),
- DateUtil.CreateFromYMD (2041, DateUtil.DECEMBER , 25),
- DateUtil.CreateFromYMD (2042, DateUtil.JANUARY , 25),
- DateUtil.CreateFromYMD (2042, DateUtil.FEBRUARY , 25),
- DateUtil.CreateFromYMD (2042, DateUtil.MARCH , 25),
- DateUtil.CreateFromYMD (2042, DateUtil.APRIL , 25),
- DateUtil.CreateFromYMD (2042, DateUtil.MAY , 25),
- DateUtil.CreateFromYMD (2042, DateUtil.JUNE , 25),
- DateUtil.CreateFromYMD (2042, DateUtil.JULY , 25),
- DateUtil.CreateFromYMD (2042, DateUtil.AUGUST , 25),
- DateUtil.CreateFromYMD (2042, DateUtil.SEPTEMBER, 25),
- DateUtil.CreateFromYMD (2042, DateUtil.OCTOBER , 25),
- DateUtil.CreateFromYMD (2042, DateUtil.NOVEMBER , 25),
- DateUtil.CreateFromYMD (2042, DateUtil.DECEMBER , 25),
- DateUtil.CreateFromYMD (2043, DateUtil.JANUARY , 25),
- DateUtil.CreateFromYMD (2043, DateUtil.FEBRUARY , 25),
- DateUtil.CreateFromYMD (2043, DateUtil.MARCH , 25),
- DateUtil.CreateFromYMD (2043, DateUtil.APRIL , 25),
- DateUtil.CreateFromYMD (2043, DateUtil.MAY , 25),
- DateUtil.CreateFromYMD (2043, DateUtil.JUNE , 25),
- DateUtil.CreateFromYMD (2043, DateUtil.JULY , 25),
- DateUtil.CreateFromYMD (2043, DateUtil.AUGUST , 25),
- DateUtil.CreateFromYMD (2043, DateUtil.SEPTEMBER, 25),
- DateUtil.CreateFromYMD (2043, DateUtil.OCTOBER , 25),
- DateUtil.CreateFromYMD (2043, DateUtil.NOVEMBER , 25),
- DateUtil.CreateFromYMD (2043, DateUtil.DECEMBER , 25),
- DateUtil.CreateFromYMD (2044, DateUtil.JANUARY , 25),
- DateUtil.CreateFromYMD (2044, DateUtil.FEBRUARY , 25),
- DateUtil.CreateFromYMD (2044, DateUtil.MARCH , 25),
- DateUtil.CreateFromYMD (2044, DateUtil.APRIL , 25),
- DateUtil.CreateFromYMD (2044, DateUtil.MAY , 25),
- DateUtil.CreateFromYMD (2044, DateUtil.JUNE , 25),
- DateUtil.CreateFromYMD (2044, DateUtil.JULY , 25),
- DateUtil.CreateFromYMD (2044, DateUtil.AUGUST , 25),
- DateUtil.CreateFromYMD (2044, DateUtil.SEPTEMBER, 25),
- DateUtil.CreateFromYMD (2044, DateUtil.OCTOBER , 25),
- DateUtil.CreateFromYMD (2044, DateUtil.NOVEMBER , 25),
- DateUtil.CreateFromYMD (2044, DateUtil.DECEMBER , 25),
- DateUtil.CreateFromYMD (2045, DateUtil.JANUARY , 25),
- DateUtil.CreateFromYMD (2045, DateUtil.FEBRUARY , 25),
- DateUtil.CreateFromYMD (2045, DateUtil.MARCH , 25),
- DateUtil.CreateFromYMD (2045, DateUtil.APRIL , 25),
- DateUtil.CreateFromYMD (2045, DateUtil.MAY , 25),
- DateUtil.CreateFromYMD (2045, DateUtil.JUNE , 25),
- DateUtil.CreateFromYMD (2045, DateUtil.JULY , 25),
- DateUtil.CreateFromYMD (2045, DateUtil.AUGUST , 25),
- DateUtil.CreateFromYMD (2045, DateUtil.SEPTEMBER, 25),
- DateUtil.CreateFromYMD (2045, DateUtil.OCTOBER , 25),
- DateUtil.CreateFromYMD (2045, DateUtil.NOVEMBER , 25),
- DateUtil.CreateFromYMD (2045, DateUtil.DECEMBER , 25),
- DateUtil.CreateFromYMD (2046, DateUtil.JANUARY , 25),
- DateUtil.CreateFromYMD (2046, DateUtil.FEBRUARY , 25),
- DateUtil.CreateFromYMD (2046, DateUtil.MARCH , 25),
- DateUtil.CreateFromYMD (2046, DateUtil.APRIL , 25),
- DateUtil.CreateFromYMD (2046, DateUtil.MAY , 25),
- DateUtil.CreateFromYMD (2046, DateUtil.JUNE , 25),
- DateUtil.CreateFromYMD (2046, DateUtil.JULY , 25),
- DateUtil.CreateFromYMD (2046, DateUtil.AUGUST , 25),
- DateUtil.CreateFromYMD (2046, DateUtil.SEPTEMBER, 25),
- DateUtil.CreateFromYMD (2046, DateUtil.OCTOBER , 25),
- DateUtil.CreateFromYMD (2046, DateUtil.NOVEMBER , 25),
- DateUtil.CreateFromYMD (2046, DateUtil.DECEMBER , 25),
- DateUtil.CreateFromYMD (2047, DateUtil.JANUARY , 25),
- DateUtil.CreateFromYMD (2047, DateUtil.FEBRUARY , 25),
- DateUtil.CreateFromYMD (2047, DateUtil.MARCH , 25),
- DateUtil.CreateFromYMD (2047, DateUtil.APRIL , 25),
- DateUtil.CreateFromYMD (2047, DateUtil.MAY , 25),
- DateUtil.CreateFromYMD (2047, DateUtil.JUNE , 25),
- DateUtil.CreateFromYMD (2047, DateUtil.JULY , 25),
- DateUtil.CreateFromYMD (2047, DateUtil.AUGUST , 25),
- DateUtil.CreateFromYMD (2047, DateUtil.SEPTEMBER, 25),
- DateUtil.CreateFromYMD (2047, DateUtil.OCTOBER , 25),
- DateUtil.CreateFromYMD (2047, DateUtil.NOVEMBER , 25),
- DateUtil.CreateFromYMD (2047, DateUtil.DECEMBER , 25),
- DateUtil.CreateFromYMD (2048, DateUtil.JANUARY , 25),
- DateUtil.CreateFromYMD (2048, DateUtil.FEBRUARY , 25),
- DateUtil.CreateFromYMD (2048, DateUtil.MARCH , 25),
- DateUtil.CreateFromYMD (2048, DateUtil.APRIL , 25),
- DateUtil.CreateFromYMD (2048, DateUtil.MAY , 25),
- DateUtil.CreateFromYMD (2048, DateUtil.JUNE , 25),
- DateUtil.CreateFromYMD (2048, DateUtil.JULY , 25),
- DateUtil.CreateFromYMD (2048, DateUtil.AUGUST , 25),
- DateUtil.CreateFromYMD (2048, DateUtil.SEPTEMBER, 25),
- DateUtil.CreateFromYMD (2048, DateUtil.OCTOBER , 25),
- DateUtil.CreateFromYMD (2048, DateUtil.NOVEMBER , 25),
- DateUtil.CreateFromYMD (2048, DateUtil.DECEMBER , 25),
- DateUtil.CreateFromYMD (2049, DateUtil.JANUARY , 25),
- DateUtil.CreateFromYMD (2049, DateUtil.FEBRUARY , 25),
- DateUtil.CreateFromYMD (2049, DateUtil.MARCH , 25),
- DateUtil.CreateFromYMD (2049, DateUtil.APRIL , 25),
- DateUtil.CreateFromYMD (2049, DateUtil.MAY , 25),
- DateUtil.CreateFromYMD (2049, DateUtil.JUNE , 25),
- DateUtil.CreateFromYMD (2049, DateUtil.JULY , 25),
- DateUtil.CreateFromYMD (2049, DateUtil.AUGUST , 25),
- DateUtil.CreateFromYMD (2049, DateUtil.SEPTEMBER, 25),
- DateUtil.CreateFromYMD (2049, DateUtil.OCTOBER , 25),
- DateUtil.CreateFromYMD (2049, DateUtil.NOVEMBER , 25),
- DateUtil.CreateFromYMD (2049, DateUtil.DECEMBER , 25),
- DateUtil.CreateFromYMD (2050, DateUtil.JANUARY , 25),
- DateUtil.CreateFromYMD (2050, DateUtil.FEBRUARY , 25),
- DateUtil.CreateFromYMD (2050, DateUtil.MARCH , 25),
- DateUtil.CreateFromYMD (2050, DateUtil.APRIL , 25),
- DateUtil.CreateFromYMD (2050, DateUtil.MAY , 25),
- DateUtil.CreateFromYMD (2050, DateUtil.JUNE , 25),
- DateUtil.CreateFromYMD (2050, DateUtil.JULY , 25),
- DateUtil.CreateFromYMD (2050, DateUtil.AUGUST , 25),
- DateUtil.CreateFromYMD (2050, DateUtil.SEPTEMBER, 25),
- DateUtil.CreateFromYMD (2050, DateUtil.OCTOBER , 25),
- DateUtil.CreateFromYMD (2050, DateUtil.NOVEMBER , 25),
- DateUtil.CreateFromYMD (2050, DateUtil.DECEMBER , 25),
- DateUtil.CreateFromYMD (2051, DateUtil.JANUARY , 25),
- DateUtil.CreateFromYMD (2051, DateUtil.FEBRUARY , 25),
- DateUtil.CreateFromYMD (2051, DateUtil.MARCH , 25),
- DateUtil.CreateFromYMD (2051, DateUtil.APRIL , 25),
- DateUtil.CreateFromYMD (2051, DateUtil.MAY , 25),
- DateUtil.CreateFromYMD (2051, DateUtil.JUNE , 25),
- DateUtil.CreateFromYMD (2051, DateUtil.JULY , 25),
- DateUtil.CreateFromYMD (2051, DateUtil.AUGUST , 25),
- DateUtil.CreateFromYMD (2051, DateUtil.SEPTEMBER, 25),
- DateUtil.CreateFromYMD (2051, DateUtil.OCTOBER , 25),
- DateUtil.CreateFromYMD (2051, DateUtil.NOVEMBER , 25),
- DateUtil.CreateFromYMD (2051, DateUtil.DECEMBER , 25),
- DateUtil.CreateFromYMD (2052, DateUtil.JANUARY , 25),
- DateUtil.CreateFromYMD (2052, DateUtil.FEBRUARY , 25),
- DateUtil.CreateFromYMD (2052, DateUtil.MARCH , 25),
- DateUtil.CreateFromYMD (2052, DateUtil.APRIL , 25),
- DateUtil.CreateFromYMD (2052, DateUtil.MAY , 25),
- DateUtil.CreateFromYMD (2052, DateUtil.JUNE , 25),
- DateUtil.CreateFromYMD (2052, DateUtil.JULY , 25),
- DateUtil.CreateFromYMD (2052, DateUtil.AUGUST , 25),
- DateUtil.CreateFromYMD (2052, DateUtil.SEPTEMBER, 25),
- DateUtil.CreateFromYMD (2052, DateUtil.OCTOBER , 25),
- DateUtil.CreateFromYMD (2052, DateUtil.NOVEMBER , 25),
- DateUtil.CreateFromYMD (2052, DateUtil.DECEMBER , 25),
- DateUtil.CreateFromYMD (2053, DateUtil.JANUARY , 25),
- DateUtil.CreateFromYMD (2053, DateUtil.FEBRUARY , 25),
- DateUtil.CreateFromYMD (2053, DateUtil.MARCH , 25),
- DateUtil.CreateFromYMD (2053, DateUtil.APRIL , 25),
- DateUtil.CreateFromYMD (2053, DateUtil.MAY , 25),
- DateUtil.CreateFromYMD (2053, DateUtil.JUNE , 25),
- DateUtil.CreateFromYMD (2053, DateUtil.JULY , 25),
- DateUtil.CreateFromYMD (2053, DateUtil.AUGUST , 25),
- DateUtil.CreateFromYMD (2053, DateUtil.SEPTEMBER, 25),
- DateUtil.CreateFromYMD (2053, DateUtil.OCTOBER , 25),
- DateUtil.CreateFromYMD (2053, DateUtil.NOVEMBER , 25),
- DateUtil.CreateFromYMD (2053, DateUtil.DECEMBER , 25),
- DateUtil.CreateFromYMD (2054, DateUtil.JANUARY , 25),
- DateUtil.CreateFromYMD (2054, DateUtil.FEBRUARY , 25),
- DateUtil.CreateFromYMD (2054, DateUtil.MARCH , 25),
- DateUtil.CreateFromYMD (2054, DateUtil.APRIL , 25),
- DateUtil.CreateFromYMD (2054, DateUtil.MAY , 25),
- DateUtil.CreateFromYMD (2054, DateUtil.JUNE , 25),
- DateUtil.CreateFromYMD (2054, DateUtil.JULY , 25),
- DateUtil.CreateFromYMD (2054, DateUtil.AUGUST , 25),
- DateUtil.CreateFromYMD (2054, DateUtil.SEPTEMBER, 25),
- DateUtil.CreateFromYMD (2054, DateUtil.OCTOBER , 25),
- DateUtil.CreateFromYMD (2054, DateUtil.NOVEMBER , 25),
- DateUtil.CreateFromYMD (2054, DateUtil.DECEMBER , 25),
- DateUtil.CreateFromYMD (2055, DateUtil.JANUARY , 25),
- DateUtil.CreateFromYMD (2055, DateUtil.FEBRUARY , 25),
- DateUtil.CreateFromYMD (2055, DateUtil.MARCH , 25),
- DateUtil.CreateFromYMD (2055, DateUtil.APRIL , 25),
- DateUtil.CreateFromYMD (2055, DateUtil.MAY , 25),
- DateUtil.CreateFromYMD (2055, DateUtil.JUNE , 25),
- DateUtil.CreateFromYMD (2055, DateUtil.JULY , 25),
- DateUtil.CreateFromYMD (2055, DateUtil.AUGUST , 25),
- DateUtil.CreateFromYMD (2055, DateUtil.SEPTEMBER, 25),
- DateUtil.CreateFromYMD (2055, DateUtil.OCTOBER , 25),
- DateUtil.CreateFromYMD (2055, DateUtil.NOVEMBER , 25),
- DateUtil.CreateFromYMD (2055, DateUtil.DECEMBER , 25),
- DateUtil.CreateFromYMD (2056, DateUtil.JANUARY , 25),
- DateUtil.CreateFromYMD (2056, DateUtil.FEBRUARY , 25),
- DateUtil.CreateFromYMD (2056, DateUtil.MARCH , 25),
- DateUtil.CreateFromYMD (2056, DateUtil.APRIL , 25),
- DateUtil.CreateFromYMD (2056, DateUtil.MAY , 25),
- DateUtil.CreateFromYMD (2056, DateUtil.JUNE , 25),
- DateUtil.CreateFromYMD (2056, DateUtil.JULY , 25),
- DateUtil.CreateFromYMD (2056, DateUtil.AUGUST , 25),
- DateUtil.CreateFromYMD (2056, DateUtil.SEPTEMBER, 25),
- DateUtil.CreateFromYMD (2056, DateUtil.OCTOBER , 25),
- DateUtil.CreateFromYMD (2056, DateUtil.NOVEMBER , 25),
- };
- double[] adblPrincipalPayDown = new double[] {
- 475796.56,
- 446370.43,
- 443575.29,
- 428965.03,
- 391532.47,
- 396998.16,
- 380276.29,
- 373036.68,
- 360674.24,
- 353894.44,
- 335414.04,
- 347272.51,
- 337014.65,
- 322589.82,
- 323653.03,
- 320276.04,
- 309919.33,
- 318259.57,
- 303572.91,
- 289731.60,
- 305429.66,
- 294821.36,
- 285595.18,
- 289999.59,
- 284002.48,
- 279054.50,
- 277701.66,
- 272559.82,
- 281753.25,
- 282786.12,
- 266462.02,
- 278984.22,
- 274920.95,
- 265816.09,
- 275840.79,
- 266644.90,
- 264718.55,
- 268535.97,
- 254733.61,
- 269839.77,
- 257982.57,
- 264728.63,
- 250934.90,
- 257671.34,
- 249367.74,
- 245615.89,
- 245431.01,
- 233764.50,
- 245795.01,
- 226499.85,
- 226220.30,
- 229322.19,
- 216001.24,
- 222542.96,
- 208183.73,
- 208169.97,
- 192010.96,
- 205244.59,
- 191402.09,
- 184015.20,
- 188961.64,
- 180388.82,
- 173389.44,
- 180196.20,
- 163686.21,
- 176029.61,
- 170123.73,
- 163432.81,
- 153564.51,
- 160562.43,
- 152420.95,
- 149878.97,
- 149730.76,
- 137832.88,
- 147168.29,
- 141641.94,
- 132274.98,
- 142420.46,
- 130830.77,
- 121574.67,
- 134765.76,
- 125610.09,
- 117281.91,
- 121301.10,
- 119717.44,
- 114533.98,
- 112444.48,
- 106542.90,
- 113670.30,
- 114633.25,
- 103519.43,
- 97772.87,
- 104933.69,
- 99924.27,
- 95006.96,
- 92422.57,
- 87570.75,
- 94702.35,
- 86829.43,
- 85032.79,
- 85593.04,
- 89772.76,
- 73120.22,
- 83278.76,
- 78573.10,
- 70945.42,
- 77577.28,
- 69956.00,
- 68342.04,
- 69644.68,
- 59134.62,
- 72276.39,
- 61871.04,
- 69115.34,
- 55247.03,
- 62518.44,
- 55107.53,
- 53630.26,
- 55055.14,
- 44778.27,
- 57939.94,
- 44765.76,
- 46277.44,
- 50672.89,
- 43406.05,
- 41983.20,
- 45967.41,
- 41676.75,
- 34490.81,
- 41901.93,
- 34748.56,
- 33413.69,
- 34998.15,
- 24984.25,
- 35286.30,
- 31103.09,
- 24035.39,
- 34353.45,
- 27318.64,
- 26077.14,
- 21995.32,
- 23663.19,
- 13784.76,
- 24134.19,
- 20062.60,
- 13108.77,
- 17710.51,
- 16552.60,
- 12193.41,
- 19719.22,
- 9961.31,
- 3085.09,
- 16395.62,
- 9550.72,
- 3220.90,
- 7904.77,
- 6877.28,
- 2934.14,
- 1877.75,
- 0.00,
- 3501.05,
- 7411.09,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 59717516.32,
- };
- double[] adblCouponAmount = new double[] {
- 102472.91,
- 112086.91,
- 97978.52,
- 100820.36,
- 123198.38,
- 107289.42,
- 114399.79,
- 113869.94,
- 117128.52,
- 112847.64,
- 123590.00,
- 108157.63,
- 111403.34,
- 118329.35,
- 110484.29,
- 110033.33,
- 113239.98,
- 101878.24,
- 112335.54,
- 119117.72,
- 100692.80,
- 107459.58,
- 114185.38,
- 106650.87,
- 106246.80,
- 109379.46,
- 108977.68,
- 112080.37,
- 101205.72,
- 100826.23,
- 114299.88,
- 100086.46,
- 103149.00,
- 109617.00,
- 98982.38,
- 105411.61,
- 105027.70,
- 101270.87,
- 110986.38,
- 93838.99,
- 103504.66,
- 93152.59,
- 106066.65,
- 95784.92,
- 102019.79,
- 101660.76,
- 98039.15,
- 107466.90,
- 90880.04,
- 103497.60,
- 99937.19,
- 93184.94,
- 99281.31,
- 89392.54,
- 98649.90,
- 95177.58,
- 104376.28,
- 88312.00,
- 97478.49,
- 100338.49,
- 90683.91,
- 96665.91,
- 99516.06,
- 89952.90,
- 102084.01,
- 86403.87,
- 89252.63,
- 92093.27,
- 97989.93,
- 88596.54,
- 94475.47,
- 94256.02,
- 91006.67,
- 99877.85,
- 87585.80,
- 90400.94,
- 96217.16,
- 84018.00,
- 92814.87,
- 98602.41,
- 83504.55,
- 89281.39,
- 95046.79,
- 88942.96,
- 88773.94,
- 91560.71,
- 91395.80,
- 94176.94,
- 85204.35,
- 82118.45,
- 90751.81,
- 93525.43,
- 84625.73,
- 87397.65,
- 90167.04,
- 90030.25,
- 92797.09,
- 83979.42,
- 89634.75,
- 89509.73,
- 86503.84,
- 80625.61,
- 94885.45,
- 83285.70,
- 86041.59,
- 91660.91,
- 82972.15,
- 88582.67,
- 88481.95,
- 85532.47,
- 93978.97,
- 79662.84,
- 88094.08,
- 79488.38,
- 90741.15,
- 82159.75,
- 87735.93,
- 87656.59,
- 84754.23,
- 93145.27,
- 78974.12,
- 90170.03,
- 87287.76,
- 81593.96,
- 87148.17,
- 87085.68,
- 81410.70,
- 84153.92,
- 89702.24,
- 81246.20,
- 86789.05,
- 86739.02,
- 83894.44,
- 92230.24,
- 81017.16,
- 83761.69,
- 89299.58,
- 78105.88,
- 83637.00,
- 83598.94,
- 86348.02,
- 83531.96,
- 91848.88,
- 80697.12,
- 83446.15,
- 88979.41,
- 83399.93,
- 83375.26,
- 86130.60,
- 77779.52,
- 86084.65,
- 91623.23,
- 77736.91,
- 83266.71,
- 88803.63,
- 83248.91,
- 83237.90,
- 86002.59,
- 85998.37,
- 86795.10,
- 82424.83,
- 77668.95,
- 83826.40,
- 82855.49,
- 81896.39,
- 80945.26,
- 80005.71,
- 79073.81,
- 78153.36,
- 77240.46,
- 76338.77,
- 75442.83,
- 74559.63,
- 73683.80,
- 72818.74,
- 71960.96,
- 71113.75,
- 70273.75,
- 69444.16,
- 68621.73,
- 67808.00,
- 67003.18,
- 66209.00,
- 65368.18,
- 64559.14,
- 63788.68,
- 63026.70,
- 62274.14,
- 61432.75,
- 60651.23,
- 59923.57,
- 59202.51,
- 58489.10,
- 57783.75,
- 57087.37,
- 56397.56,
- 55716.66,
- 55041.04,
- 54375.82,
- 53717.63,
- 53063.22,
- 52306.64,
- 51671.63,
- 51044.73,
- 50426.66,
- 49815.62,
- 49212.43,
- 48618.22,
- 48034.14,
- 47416.90,
- 46719.33,
- 46158.09,
- 45612.91,
- 45078.92,
- 44559.76,
- 44056.98,
- 43537.39,
- 43094.25,
- 42296.58,
- 40729.05,
- 154138.78,
- 22151.18,
- 21862.38,
- 21622.51,
- 21385.03,
- 21149.90,
- 20917.12,
- 20686.66,
- 20458.50,
- 20232.61,
- 20008.97,
- 19787.58,
- 19568.39,
- 19351.40,
- 19136.58,
- 18923.91,
- 18713.38,
- 18504.96,
- 18298.64,
- 18094.39,
- 17892.19,
- 17692.04,
- 17493.91,
- 17297.77,
- 17103.63,
- 16911.45,
- 16721.22,
- 16532.93,
- 16346.56,
- 16162.09,
- 15979.52,
- 15798.83,
- 15620.02,
- 15443.07,
- 15268.00,
- 15094.82,
- 14923.57,
- 14754.38,
- 14587.73,
- 14354.07,
- 14155.94,
- 13994.55,
- 13835.16,
- 13653.32,
- 13463.54,
- 13309.28,
- 13156.75,
- 13004.02,
- 12843.27,
- 12679.01,
- 12533.61,
- 12390.87,
- 12149.03,
- 12008.62,
- 11869.70,
- 11732.30,
- 11596.44,
- 11456.12,
- 11310.15,
- 11178.75,
- 11048.90,
- 10944.29,
- 10734.20,
- 10596.74,
- 10473.25,
- 10343.73,
- 10325.35,
- 9965.02,
- 9740.85,
- 9626.76,
- 9497.04,
- 9316.36,
- 9206.18,
- 9097.19,
- 8989.41,
- 13367.27,
- 8674.12,
- 8571.57,
- 8471.05,
- 8289.52,
- 8190.60,
- 8092.76,
- 7995.99,
- 7900.29,
- 7805.67,
- 7712.15,
- 7619.77,
- 7528.62,
- 7438.94,
- 7336.11,
- 7154.49,
- 7068.57,
- 6958.80,
- 6868.54,
- 6785.37,
- 6703.18,
- 6622.00,
- 6538.74,
- 6449.85,
- 6365.53,
- 6254.73,
- 6178.50,
- 6103.19,
- 6028.79,
- 7802.87,
- 5811.50,
- 5728.30,
- 5651.90,
- 5583.39,
- 5516.05,
- 5431.66,
- 5345.00,
- 5280.80,
- 5217.82,
- 5156.25,
- 5096.47,
- 5024.91,
- 4943.33,
- 4891.09,
- 36115.49,
- 3704.22,
- 1925.53,
- 1902.90,
- 1880.51,
- 1858.36,
- 1836.47,
- 1814.82,
- 1793.42,
- 1772.29,
- 1746.40,
- 1725.94,
- 1700.04,
- 1661.14,
- 1641.44,
- 1621.98,
- 1602.75,
- 1583.77,
- 1563.01,
- 1539.77,
- 1521.94,
- 1489.40,
- 1427.43,
- 1410.34,
- 1393.44,
- 1376.71,
- 1360.16,
- 1343.79,
- 1327.59,
- 1311.57,
- 1295.72,
- 1280.04,
- 1264.53,
- 1249.19,
- 1234.02,
- 1219.01,
- 1204.17,
- 1189.49,
- 1174.99,
- 1160.65,
- 1146.48,
- 1132.48,
- 1118.67,
- 1105.08,
- 1090.04,
- 1067.14,
- 1047.24,
- 1030.92,
- 1018.22,
- 1005.67,
- 993.28,
- 981.07,
- 969.10,
- 948.83,
- 929.86,
- 914.24,
- 896.96,
- 882.24,
- 871.18,
- 860.24,
- 849.42,
- 838.74,
- 828.18,
- 817.76,
- 807.47,
- 797.32,
- 787.31,
- 777.48,
- 767.87,
- 752.10,
- 731.31,
- 722.20,
- 712.35,
- 692.93,
- 683.89,
- 661.85,
- 653.51,
- 645.31,
- 637.26,
- 627.23,
- 602.88,
- 583.17,
- 549.25,
- 535.13,
- 517.43,
- 508.10,
- 501.01,
- 494.81,
- 484.81,
- 454.48,
- 445.13,
- 439.39,
- 433.74,
- 428.19,
- 422.77,
- 417.59,
- 396.97,
- 392.06,
- 369.15,
- 364.41,
- 359.76,
- 355.23,
- 350.83,
- 346.62,
- 342.71,
- 339.47,
- 294.60,
- 253.10,
- 245.44,
- 233.26,
- 207.78,
- 205.16,
- 190.79,
- 404.12,
- 166.27,
- 159.54,
- 157.73,
- 148.58,
- 146.92,
- 139.00,
- 134.10,
- 132.75,
- 128.40,
- 101.44,
- 95.71,
- 94.71,
- 93.83,
- 109.15,
- 62.23,
- 53.33,
- 9.96,
- };
- double dblIssueAmount = Matrix.Sum (adblPrincipalPayDown);
- JulianDate dtEffective = DateUtil.CreateFromYMD (
- 2017,
- DateUtil.SEPTEMBER,
- 25
- );
- BondComponent bond = BondBuilder.CreateBondFromCF (
- strName,
- dtEffective,
- strCurrency,
- strName,
- strCouponDayCount,
- dblIssueAmount,
- dblCouponRate,
- iCouponFreq,
- adtPeriodEnd,
- adblCouponAmount,
- adblPrincipalPayDown,
- true
- );
- BondReplicator abr = BondReplicator.CorporateSenior (
- dblCleanPrice,
- dblIssuePrice,
- dblIssueAmount,
- dtSpot,
- astrDepositTenor,
- adblDepositQuote,
- adblFuturesQuote,
- astrFixFloatTenor,
- adblFixFloatQuote,
- dblSpreadBump,
- dblSpreadDurationMultiplier,
- strTreasuryCode,
- astrGovvieTenor,
- adblGovvieYield,
- astrCreditTenor,
- adblCreditQuote,
- dblFX,
- Double.NaN,
- iSettleLag,
- bond
- );
- BondReplicationRun abrr = abr.generateRun();
- System.out.println (abrr.display());
- double dblBalance = 1.;
- for (CompositePeriod p : bond.couponPeriods()) {
- int iEndDate = p.endDate();
- int iStartDate = p.startDate();
- double dblPrincipalPayDown = bond.notional (iStartDate) - bond.notional (iEndDate);
- double dblInterest = dblCouponRate * p.couponDCF() * bond.notional (iStartDate) * bond.couponFactor (iEndDate);
- dblBalance -= dblPrincipalPayDown;
- System.out.println (
- "\t" + new JulianDate (iEndDate) + " => " +
- FormatUtil.FormatDouble (dblPrincipalPayDown, 8, 2, dblIssueAmount) + " | " +
- FormatUtil.FormatDouble (dblInterest, 6, 2, dblIssueAmount) + " | " +
- FormatUtil.FormatDouble (dblPrincipalPayDown + dblInterest, 8, 2, dblIssueAmount) + " | " +
- FormatUtil.FormatDouble (dblBalance, 8, 2, dblIssueAmount) + " ||"
- );
- }
- }
- }