- 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.
- */
- /**
- * Tirupati generates the Full Suite of Replication Metrics for Bond Tirupati.
- *
- * @author Lakshmi Krishnamurthy
- */
- public class Tirupati {
- 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 = "Tirupati";
- 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[] {
- 217350.70,
- 203908.42,
- 202631.56,
- 195957.39,
- 178857.66,
- 181354.46,
- 173715.67,
- 170408.51,
- 164761.17,
- 161664.07,
- 153221.95,
- 158639.07,
- 153953.13,
- 147363.66,
- 147849.35,
- 146306.70,
- 141575.60,
- 145385.54,
- 138676.46,
- 132353.55,
- 139524.66,
- 134678.63,
- 130463.98,
- 132475.98,
- 129736.41,
- 127476.10,
- 126858.11,
- 124509.24,
- 128708.93,
- 129180.76,
- 121723.68,
- 127444.00,
- 125587.84,
- 121428.61,
- 126008.04,
- 121807.22,
- 120927.24,
- 122671.09,
- 116365.97,
- 123266.68,
- 117850.15,
- 120931.84,
- 114630.67,
- 117707.97,
- 113914.77,
- 112200.87,
- 112116.41,
- 106786.98,
- 112282.69,
- 103468.39,
- 103340.68,
- 104757.67,
- 98672.47,
- 101660.82,
- 95101.32,
- 95095.03,
- 87713.36,
- 93758.68,
- 87435.23,
- 84060.79,
- 86320.39,
- 82404.21,
- 79206.79,
- 82316.21,
- 74774.21,
- 80412.86,
- 77714.97,
- 74658.45,
- 70150.47,
- 73347.22,
- 69628.08,
- 68466.86,
- 68399.16,
- 62964.04,
- 67228.59,
- 64704.07,
- 60425.11,
- 65059.71,
- 59765.37,
- 55537.06,
- 61562.94,
- 57380.49,
- 53576.06,
- 55412.08,
- 54688.64,
- 52320.77,
- 51366.25,
- 48670.33,
- 51926.23,
- 52366.11,
- 47289.16,
- 44664.05,
- 47935.22,
- 45646.84,
- 43400.55,
- 42219.96,
- 40003.57,
- 43261.40,
- 39664.93,
- 38844.20,
- 39100.13,
- 41009.48,
- 33402.37,
- 38042.93,
- 35893.32,
- 32408.89,
- 35438.42,
- 31956.91,
- 31219.63,
- 31814.69,
- 27013.55,
- 33016.89,
- 28263.58,
- 31572.88,
- 25237.64,
- 28559.32,
- 25173.91,
- 24499.07,
- 25149.98,
- 20455.36,
- 26467.80,
- 20449.64,
- 21140.20,
- 23148.11,
- 19828.51,
- 19178.53,
- 20998.57,
- 19038.54,
- 15755.90,
- 19141.40,
- 15873.64,
- 15263.85,
- 15987.66,
- 11413.17,
- 16119.29,
- 14208.34,
- 10979.71,
- 15693.15,
- 12479.55,
- 11912.41,
- 10047.78,
- 10809.69,
- 6297.07,
- 11024.85,
- 9164.88,
- 5988.28,
- 8090.42,
- 7561.47,
- 5570.12,
- 9008.02,
- 4550.47,
- 1409.32,
- 7489.76,
- 4362.91,
- 1471.35,
- 3611.01,
- 3141.64,
- 1340.36,
- 857.78,
- 0.00,
- 1599.33,
- 3385.49,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 0.00,
- 27279819.36,
- };
- double[] adblCouponAmount = new double[] {
- 48423.05,
- 52966.10,
- 46299.25,
- 47642.15,
- 59644.75,
- 51942.65,
- 55385.04,
- 55128.52,
- 56706.11,
- 54633.58,
- 59834.34,
- 52362.98,
- 53934.34,
- 57287.47,
- 53489.40,
- 53271.07,
- 54823.53,
- 49322.90,
- 54385.66,
- 57669.15,
- 48748.99,
- 52025.03,
- 55281.23,
- 51633.50,
- 51437.88,
- 52954.51,
- 52760.00,
- 54262.12,
- 48997.31,
- 48813.59,
- 55336.67,
- 48455.44,
- 49938.12,
- 53069.52,
- 47920.92,
- 51033.53,
- 50847.67,
- 49028.85,
- 53732.48,
- 45430.82,
- 50110.31,
- 45098.50,
- 51350.66,
- 46372.91,
- 49391.43,
- 49217.61,
- 47464.26,
- 52028.58,
- 43998.28,
- 50106.89,
- 48383.17,
- 45114.16,
- 48065.64,
- 43278.13,
- 47759.95,
- 46078.87,
- 50532.30,
- 42755.00,
- 47192.83,
- 48577.45,
- 43903.33,
- 46799.43,
- 48179.29,
- 43549.42,
- 49422.53,
- 41831.21,
- 43210.40,
- 44585.65,
- 47440.43,
- 42892.75,
- 45738.96,
- 45632.71,
- 44059.59,
- 48354.44,
- 42403.42,
- 43766.33,
- 46582.17,
- 40676.12,
- 44935.00,
- 47736.96,
- 40427.54,
- 43224.31,
- 46015.56,
- 43060.47,
- 42978.64,
- 44327.82,
- 44247.98,
- 45594.43,
- 41250.48,
- 39756.48,
- 43936.20,
- 45279.01,
- 40970.35,
- 42312.33,
- 43653.09,
- 43586.87,
- 44926.39,
- 40657.44,
- 43395.39,
- 43334.87,
- 41879.61,
- 39033.75,
- 45937.44,
- 40321.59,
- 41655.81,
- 44376.33,
- 40169.79,
- 42886.04,
- 42837.28,
- 41409.33,
- 45498.59,
- 38567.63,
- 42649.50,
- 38483.17,
- 43931.04,
- 39776.48,
- 42476.10,
- 42437.69,
- 41032.56,
- 45094.96,
- 38234.20,
- 43654.54,
- 42259.13,
- 39502.56,
- 42191.55,
- 42161.29,
- 39413.83,
- 40741.92,
- 43428.06,
- 39334.19,
- 42017.69,
- 41993.47,
- 40616.30,
- 44651.96,
- 39223.31,
- 40552.03,
- 43233.12,
- 37813.85,
- 40491.67,
- 40473.24,
- 41804.17,
- 40440.81,
- 44467.33,
- 39068.36,
- 40399.27,
- 43078.12,
- 40376.89,
- 40364.95,
- 41698.91,
- 37655.85,
- 41676.66,
- 44358.09,
- 37635.22,
- 40312.39,
- 42993.01,
- 40303.78,
- 40298.45,
- 41636.93,
- 41634.89,
- 42020.62,
- 39904.89,
- 37602.32,
- 40583.36,
- 40113.31,
- 39649.05,
- 39188.50,
- 38733.63,
- 38282.46,
- 37836.84,
- 37394.87,
- 36958.33,
- 36524.57,
- 36096.99,
- 35672.96,
- 35254.16,
- 34838.88,
- 34428.71,
- 34022.04,
- 33620.40,
- 33222.23,
- 32828.28,
- 32438.64,
- 32054.15,
- 31647.08,
- 31255.39,
- 30882.38,
- 30513.48,
- 30149.14,
- 29741.80,
- 29363.43,
- 29011.15,
- 28662.06,
- 28316.67,
- 27975.18,
- 27638.04,
- 27304.08,
- 26974.43,
- 26647.34,
- 26325.28,
- 26006.63,
- 25689.81,
- 25323.52,
- 25016.08,
- 24712.58,
- 24413.35,
- 24117.52,
- 23825.50,
- 23537.82,
- 23255.05,
- 22956.22,
- 22618.50,
- 22346.78,
- 22082.84,
- 21824.32,
- 21572.97,
- 21329.56,
- 21078.01,
- 20863.47,
- 20477.29,
- 19718.39,
- 74683.29,
- 10724.18,
- 10584.36,
- 10468.23,
- 10353.26,
- 10239.43,
- 10126.73,
- 10015.15,
- 9904.69,
- 9795.33,
- 9687.06,
- 9579.87,
- 9473.76,
- 9368.71,
- 9264.70,
- 9161.74,
- 9059.82,
- 8958.91,
- 8859.03,
- 8760.14,
- 8662.25,
- 8565.35,
- 8469.43,
- 8374.47,
- 8280.48,
- 8187.44,
- 8095.34,
- 8004.18,
- 7913.95,
- 7824.65,
- 7736.26,
- 7648.78,
- 7562.21,
- 7476.54,
- 7391.79,
- 7307.94,
- 7225.03,
- 7143.12,
- 7062.44,
- 6949.32,
- 6853.40,
- 6775.26,
- 6698.10,
- 6610.06,
- 6518.18,
- 6443.50,
- 6369.65,
- 6295.71,
- 6217.89,
- 6138.36,
- 6067.97,
- 5998.86,
- 5881.78,
- 5813.80,
- 5746.55,
- 5680.02,
- 5614.25,
- 5546.32,
- 5475.65,
- 5412.04,
- 5349.17,
- 5298.52,
- 5196.81,
- 5130.26,
- 5070.48,
- 5007.77,
- 4998.87,
- 4824.42,
- 4715.89,
- 4660.66,
- 4597.86,
- 4510.38,
- 4457.04,
- 4404.28,
- 4352.09,
- 6471.57,
- 4199.45,
- 4149.80,
- 4101.14,
- 4013.25,
- 3965.36,
- 3918.00,
- 3871.14,
- 3824.81,
- 3779.00,
- 3733.73,
- 3689.01,
- 3644.88,
- 3601.46,
- 3551.67,
- 3463.74,
- 3422.15,
- 3369.01,
- 3325.30,
- 3285.04,
- 3245.25,
- 3205.95,
- 3165.64,
- 3122.60,
- 3081.78,
- 3028.14,
- 2991.23,
- 2954.77,
- 2918.75,
- 3777.65,
- 2813.56,
- 2773.27,
- 2736.29,
- 2703.12,
- 2670.52,
- 2629.66,
- 2587.71,
- 2556.63,
- 2526.13,
- 2496.33,
- 2467.38,
- 2432.74,
- 2393.24,
- 2367.95,
- 17484.80,
- 1793.34,
- 932.22,
- 921.26,
- 910.42,
- 899.70,
- 889.10,
- 878.62,
- 868.26,
- 858.03,
- 845.49,
- 835.59,
- 823.05,
- 804.22,
- 794.68,
- 785.26,
- 775.95,
- 766.76,
- 756.71,
- 745.46,
- 736.83,
- 721.07,
- 691.07,
- 682.80,
- 674.61,
- 666.51,
- 658.50,
- 650.58,
- 642.73,
- 634.98,
- 627.30,
- 619.71,
- 612.20,
- 604.78,
- 597.43,
- 590.17,
- 582.98,
- 575.88,
- 568.85,
- 561.91,
- 555.05,
- 548.27,
- 541.59,
- 535.01,
- 527.73,
- 516.64,
- 507.00,
- 499.11,
- 492.96,
- 486.88,
- 480.88,
- 474.97,
- 469.17,
- 459.36,
- 450.18,
- 442.62,
- 434.25,
- 427.13,
- 421.77,
- 416.47,
- 411.24,
- 406.06,
- 400.95,
- 395.91,
- 390.92,
- 386.01,
- 381.17,
- 376.40,
- 371.75,
- 364.12,
- 354.06,
- 349.64,
- 344.87,
- 335.47,
- 331.09,
- 320.42,
- 316.39,
- 312.42,
- 308.52,
- 303.66,
- 291.88,
- 282.34,
- 265.91,
- 259.07,
- 250.51,
- 245.99,
- 242.56,
- 239.56,
- 234.71,
- 220.03,
- 215.50,
- 212.72,
- 209.99,
- 207.30,
- 204.68,
- 202.17,
- 192.19,
- 189.81,
- 178.72,
- 176.42,
- 174.17,
- 171.98,
- 169.85,
- 167.81,
- 165.92,
- 164.35,
- 142.62,
- 122.53,
- 118.83,
- 112.93,
- 100.59,
- 99.33,
- 92.37,
- 195.65,
- 80.50,
- 77.24,
- 76.36,
- 71.93,
- 71.13,
- 67.30,
- 64.92,
- 64.27,
- 62.16,
- 49.11,
- 46.33,
- 45.85,
- 45.42,
- 52.84,
- 30.13,
- 25.82,
- 4.88,
- };
- 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) + " ||"
- );
- }
- }
- }