Rohtak.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.
- */
- /**
- * Rohtak generates the Full Suite of Replication Metrics for Bond Rohtak.
- *
- * @author Lakshmi Krishnamurthy
- */
- public class Rohtak {
- 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 = "Rohtak";
- 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[] {
- 130411.55,
- 122346.11,
- 121579.99,
- 117575.45,
- 107315.52,
- 108813.62,
- 104230.30,
- 102245.99,
- 98857.56,
- 96999.28,
- 91933.96,
- 95184.27,
- 92372.68,
- 88418.96,
- 88710.38,
- 87784.78,
- 84946.10,
- 87232.08,
- 83206.60,
- 79412.82,
- 83715.52,
- 80807.88,
- 78279.06,
- 79486.27,
- 77842.52,
- 76486.32,
- 76115.52,
- 74706.19,
- 77226.03,
- 77509.13,
- 73034.84,
- 76467.06,
- 75353.36,
- 72857.79,
- 75605.48,
- 73084.96,
- 72556.97,
- 73603.29,
- 69820.19,
- 73960.65,
- 70710.70,
- 72559.73,
- 68778.99,
- 70625.39,
- 68349.45,
- 67321.10,
- 67270.43,
- 64072.74,
- 67370.20,
- 62081.57,
- 62004.95,
- 62855.15,
- 59203.99,
- 60997.02,
- 57061.28,
- 57057.51,
- 52628.47,
- 56255.69,
- 52461.59,
- 50436.91,
- 51792.68,
- 49442.95,
- 47524.48,
- 49390.16,
- 44864.91,
- 48248.13,
- 46629.38,
- 44795.46,
- 42090.65,
- 44008.71,
- 41777.21,
- 41080.47,
- 41039.85,
- 37778.75,
- 40337.50,
- 38822.78,
- 36255.38,
- 39036.16,
- 35859.53,
- 33322.52,
- 36938.08,
- 34428.59,
- 32145.91,
- 33247.54,
- 32813.47,
- 31392.73,
- 30820.02,
- 29202.45,
- 31156.00,
- 31419.94,
- 28373.74,
- 26798.66,
- 28761.38,
- 27388.34,
- 26040.55,
- 25332.19,
- 24002.35,
- 25957.06,
- 23799.16,
- 23306.72,
- 23460.28,
- 24605.90,
- 20041.59,
- 22825.96,
- 21536.18,
- 19445.50,
- 21263.23,
- 19174.31,
- 18731.94,
- 19088.98,
- 16208.27,
- 19810.31,
- 16958.29,
- 18943.89,
- 15142.71,
- 17135.74,
- 15104.48,
- 14699.57,
- 15090.12,
- 12273.32,
- 15880.82,
- 12269.89,
- 12684.23,
- 13888.98,
- 11897.21,
- 11507.22,
- 12599.25,
- 11423.22,
- 9453.62,
- 11484.94,
- 9524.27,
- 9158.39,
- 9592.68,
- 6847.96,
- 9671.66,
- 8525.08,
- 6587.88,
- 9415.97,
- 7487.79,
- 7147.51,
- 6028.72,
- 6485.87,
- 3778.28,
- 6614.97,
- 5498.98,
- 3593.00,
- 4854.29,
- 4536.92,
- 3342.10,
- 5404.86,
- 2730.30,
- 845.60,
- 4493.89,
- 2617.77,
- 882.82,
- 2166.63,
- 1885.00,
- 804.22,
- 514.67,
- 0.00,
- 959.61,
- 2031.31,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 16368032.97,
- };
- double[] adblCouponAmount = new double[] {
- 30408.13,
- 33261.02,
- 29074.45,
- 29917.75,
- 38614.58,
- 33628.17,
- 35856.81,
- 35690.73,
- 36712.08,
- 35370.31,
- 38737.33,
- 33900.30,
- 34917.61,
- 37088.46,
- 34629.55,
- 34488.21,
- 35493.28,
- 31932.12,
- 35209.80,
- 37335.57,
- 31560.57,
- 33681.51,
- 35789.60,
- 33428.03,
- 33301.38,
- 34283.26,
- 34157.33,
- 35129.82,
- 31721.33,
- 31602.39,
- 35825.49,
- 31370.52,
- 32330.42,
- 34357.72,
- 31024.46,
- 33039.60,
- 32919.27,
- 31741.75,
- 34786.92,
- 29412.35,
- 32441.90,
- 29197.21,
- 33244.92,
- 30022.27,
- 31976.49,
- 31863.96,
- 30728.82,
- 33683.80,
- 28484.91,
- 32439.69,
- 31323.73,
- 29207.35,
- 31118.16,
- 28018.68,
- 30920.25,
- 29831.91,
- 32715.10,
- 27680.00,
- 30553.09,
- 31449.51,
- 28423.44,
- 30298.40,
- 31191.74,
- 28194.31,
- 31996.62,
- 27081.93,
- 27974.83,
- 28865.18,
- 30713.39,
- 27769.18,
- 29611.84,
- 29543.06,
- 28524.60,
- 31305.13,
- 27452.38,
- 28334.75,
- 30157.75,
- 26334.11,
- 29091.35,
- 30905.37,
- 26173.18,
- 27983.84,
- 29790.91,
- 27877.76,
- 27824.79,
- 28698.26,
- 28646.57,
- 29518.27,
- 26705.96,
- 25738.73,
- 28444.72,
- 29314.07,
- 26524.60,
- 27393.41,
- 28261.43,
- 28218.56,
- 29085.78,
- 26322.02,
- 28094.60,
- 28055.41,
- 27113.26,
- 25270.82,
- 29740.34,
- 26104.59,
- 26968.37,
- 28729.66,
- 26006.31,
- 27764.84,
- 27733.27,
- 26808.80,
- 29456.22,
- 24969.06,
- 27611.70,
- 24914.38,
- 28441.38,
- 25751.68,
- 27499.44,
- 27474.57,
- 26564.87,
- 29194.91,
- 24753.19,
- 28262.37,
- 27358.97,
- 25574.34,
- 27315.22,
- 27295.63,
- 25516.90,
- 26376.72,
- 28115.75,
- 25465.34,
- 27202.66,
- 27186.98,
- 26295.38,
- 28908.11,
- 25393.55,
- 26253.78,
- 27989.54,
- 24481.05,
- 26214.70,
- 26202.77,
- 27064.42,
- 26181.77,
- 28788.58,
- 25293.24,
- 26154.88,
- 27889.19,
- 26140.39,
- 26132.66,
- 26996.27,
- 24378.76,
- 26981.87,
- 28717.85,
- 24365.41,
- 26098.63,
- 27834.09,
- 26093.06,
- 26089.60,
- 26956.15,
- 26954.83,
- 27204.55,
- 25834.88,
- 24344.10,
- 26274.06,
- 25969.74,
- 25669.24,
- 25371.01,
- 25076.52,
- 24784.44,
- 24495.93,
- 24209.80,
- 23927.18,
- 23646.36,
- 23369.54,
- 23095.02,
- 22823.88,
- 22555.02,
- 22289.48,
- 22026.20,
- 21766.17,
- 21508.40,
- 21253.35,
- 21001.09,
- 20752.16,
- 20488.62,
- 20235.04,
- 19993.55,
- 19754.72,
- 19518.85,
- 19255.13,
- 19010.17,
- 18782.10,
- 18556.09,
- 18332.49,
- 18111.40,
- 17893.13,
- 17676.92,
- 17463.51,
- 17251.74,
- 17043.24,
- 16836.94,
- 16631.83,
- 16394.69,
- 16195.65,
- 15999.16,
- 15805.44,
- 15613.92,
- 15424.86,
- 15238.61,
- 15055.54,
- 14862.08,
- 14643.44,
- 14467.52,
- 14296.65,
- 14129.28,
- 13966.55,
- 13808.96,
- 13646.11,
- 13507.21,
- 13257.20,
- 12765.88,
- 48404.49,
- 6942.94,
- 6852.42,
- 6777.23,
- 6702.80,
- 6629.10,
- 6556.14,
- 6483.91,
- 6412.39,
- 6341.59,
- 6271.50,
- 6202.10,
- 6133.40,
- 6065.39,
- 5998.06,
- 5931.40,
- 5865.41,
- 5800.09,
- 5735.42,
- 5671.40,
- 5608.03,
- 5545.29,
- 5483.19,
- 5421.71,
- 5360.86,
- 5300.63,
- 5241.00,
- 5181.98,
- 5123.57,
- 5065.75,
- 5008.53,
- 4951.89,
- 4895.85,
- 4840.39,
- 4785.51,
- 4731.23,
- 4677.56,
- 4624.53,
- 4572.29,
- 4499.06,
- 4436.96,
- 4386.37,
- 4336.41,
- 4279.42,
- 4219.93,
- 4171.58,
- 4123.77,
- 4075.90,
- 4025.52,
- 3974.03,
- 3928.46,
- 3883.72,
- 3807.92,
- 3763.91,
- 3720.37,
- 3677.30,
- 3634.72,
- 3590.74,
- 3544.99,
- 3503.80,
- 3463.10,
- 3430.31,
- 3364.47,
- 3321.38,
- 3282.68,
- 3242.08,
- 3236.32,
- 3123.38,
- 3053.11,
- 3017.36,
- 2976.70,
- 2920.07,
- 2885.53,
- 2851.37,
- 2817.59,
- 4189.76,
- 2718.77,
- 2686.62,
- 2655.12,
- 2598.22,
- 2567.22,
- 2536.55,
- 2506.22,
- 2476.22,
- 2446.56,
- 2417.25,
- 2388.30,
- 2359.73,
- 2331.62,
- 2299.39,
- 2242.46,
- 2215.53,
- 2181.13,
- 2152.83,
- 2126.77,
- 2101.00,
- 2075.56,
- 2049.46,
- 2021.60,
- 1995.18,
- 1960.45,
- 1936.55,
- 1912.95,
- 1889.63,
- 2445.69,
- 1821.52,
- 1795.44,
- 1771.50,
- 1750.02,
- 1728.92,
- 1702.47,
- 1675.31,
- 1655.18,
- 1635.44,
- 1616.14,
- 1597.41,
- 1574.98,
- 1549.41,
- 1533.03,
- 1319.83,
- 1161.03,
- 603.53,
- 596.43,
- 589.42,
- 582.47,
- 575.61,
- 568.83,
- 562.12,
- 555.50,
- 547.38,
- 540.97,
- 532.85,
- 520.66,
- 514.48,
- 508.38,
- 502.36,
- 496.41,
- 489.90,
- 482.62,
- 477.03,
- 466.83,
- 447.41,
- 442.05,
- 436.75,
- 431.51,
- 426.32,
- 421.19,
- 416.11,
- 411.09,
- 406.12,
- 401.21,
- 396.35,
- 391.54,
- 386.78,
- 382.08,
- 377.43,
- 372.83,
- 368.28,
- 363.79,
- 359.34,
- 354.96,
- 350.63,
- 346.37,
- 341.66,
- 334.48,
- 328.24,
- 323.13,
- 319.14,
- 315.21,
- 311.33,
- 307.50,
- 303.75,
- 297.39,
- 291.45,
- 286.55,
- 281.14,
- 276.53,
- 273.06,
- 269.63,
- 266.24,
- 262.89,
- 259.58,
- 256.31,
- 253.09,
- 249.91,
- 246.77,
- 243.69,
- 240.68,
- 235.73,
- 229.22,
- 226.36,
- 223.28,
- 217.19,
- 214.35,
- 207.45,
- 204.83,
- 202.26,
- 199.74,
- 196.60,
- 188.96,
- 182.79,
- 172.15,
- 167.73,
- 162.18,
- 159.26,
- 157.03,
- 155.09,
- 151.96,
- 142.45,
- 139.52,
- 137.72,
- 135.95,
- 134.21,
- 132.51,
- 130.89,
- 124.42,
- 122.88,
- 115.70,
- 114.22,
- 112.76,
- 111.34,
- 109.96,
- 108.64,
- 107.42,
- 106.40,
- 92.34,
- 79.33,
- 76.93,
- 73.11,
- 65.12,
- 64.31,
- 59.80,
- 126.66,
- 52.11,
- 50.01,
- 49.44,
- 46.57,
- 46.05,
- 43.57,
- 42.03,
- 41.61,
- 40.24,
- 31.79,
- 30.00,
- 29.69,
- 29.41,
- 34.21,
- 19.51,
- 16.71,
- 3.21,
- };
- 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) + " ||"
- );
- }
- }
- }