Skip to content

Commit

Permalink
Features:
Browse files Browse the repository at this point in the history
Bug Fixes/Re-organization:

	- Spaces R^x to R^1 Normed (47, 48)
	- Spaces R^x to R^1 Normed - Input Metric Vector Space (49, 50, 51)
	- Spaces R^x to R^1 Normed - Output Metric Vector Space (52, 53, 54)
	- Spaces R^x to R^1 Normed - Sample Supremum Norm (55, 56, 57)
	- Spaces R^x to R^1 Normed - Sample Metric Norm (58, 59, 60)


Samples:

IdeaDRIP:

	- A Simple and Precise Method for Pricing Convertible Bond with Credit Risk PDE Empirical Results - Underpricing Statistics Different Moneyness Classes (1-10)
	- A Simple and Precise Method for Pricing Convertible Bond with Credit Risk PDE Empirical Results - Delta vs Spot Price 7-year (11-12)
	- A Simple and Precise Method for Pricing Convertible Bond with Credit Risk PDE Empirical Results - Gamma vs Spot Price 7-year (13-16)
	- A Simple and Precise Method for Pricing Convertible Bond with Credit Risk PDE Empirical Results - Delta vs Spot Price 20-year (17-19)
	- A Simple and Precise Method for Pricing Convertible Bond with Credit Risk PDE Empirical Results - Gamma vs Spot Price 20-year (20-34)
	- A Simple and Precise Method for Pricing Convertible Bond with Credit Risk PDE Conclusion (35-46)
  • Loading branch information
Lakshmik committed Jun 2, 2024
1 parent c4ed6b2 commit d71d677
Show file tree
Hide file tree
Showing 5 changed files with 119 additions and 54 deletions.
12 changes: 12 additions & 0 deletions ReleaseNotes/11_13_2023.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@

Features:

Bug Fixes/Re-organization:

Samples:

IdeaDRIP:

- A Simple and Precise Method for Pricing Convertible Bond with Credit Risk PDE Empirical Results - Model Prices vs. Market (1-17)
- A Simple and Precise Method for Pricing Convertible Bond with Credit Risk PDE Empirical Results - Underpricing Statistics Different Maturity Classes (18-32)
- A Simple and Precise Method for Pricing Convertible Bond with Credit Risk PDE Empirical Results - Underpricing Statistics Different Moneyness Classes (33-60)
22 changes: 22 additions & 0 deletions ReleaseNotes/11_14_2023.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@

Features:

Bug Fixes/Re-organization:

- Spaces R^x to R^1 Normed (47, 48)
- Spaces R^x to R^1 Normed - Input Metric Vector Space (49, 50, 51)
- Spaces R^x to R^1 Normed - Output Metric Vector Space (52, 53, 54)
- Spaces R^x to R^1 Normed - Sample Supremum Norm (55, 56, 57)
- Spaces R^x to R^1 Normed - Sample Metric Norm (58, 59, 60)


Samples:

IdeaDRIP:

- A Simple and Precise Method for Pricing Convertible Bond with Credit Risk PDE Empirical Results - Underpricing Statistics Different Moneyness Classes (1-10)
- A Simple and Precise Method for Pricing Convertible Bond with Credit Risk PDE Empirical Results - Delta vs Spot Price 7-year (11-12)
- A Simple and Precise Method for Pricing Convertible Bond with Credit Risk PDE Empirical Results - Gamma vs Spot Price 7-year (13-16)
- A Simple and Precise Method for Pricing Convertible Bond with Credit Risk PDE Empirical Results - Delta vs Spot Price 20-year (17-19)
- A Simple and Precise Method for Pricing Convertible Bond with Credit Risk PDE Empirical Results - Gamma vs Spot Price 20-year (20-34)
- A Simple and Precise Method for Pricing Convertible Bond with Credit Risk PDE Conclusion (35-46)
Binary file modified ScheduleSheet.xlsx
Binary file not shown.
8 changes: 6 additions & 2 deletions src/main/java/org/drip/spaces/rxtor1/NormedRdToNormedR1.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@
*/

/*!
* Copyright (C) 2025 Lakshmi Krishnamurthy
* Copyright (C) 2024 Lakshmi Krishnamurthy
* Copyright (C) 2023 Lakshmi Krishnamurthy
* Copyright (C) 2022 Lakshmi Krishnamurthy
* Copyright (C) 2021 Lakshmi Krishnamurthy
* Copyright (C) 2020 Lakshmi Krishnamurthy
Expand Down Expand Up @@ -82,7 +85,7 @@

/**
* <i>NormedRdToNormedR1</i> is the Abstract Class underlying the f : Validated Normed R<sup>d</sup> To
* Validated Normed R<sup>1</sup> Function Spaces. The Reference we've used is:
* Validated Normed R<sup>1</sup> Function Spaces. The Reference we've used is:
*
* <br><br>
* <ul>
Expand All @@ -104,7 +107,8 @@
* @author Lakshmi Krishnamurthy
*/

public abstract class NormedRdToNormedR1 extends org.drip.spaces.rxtor1.NormedRxToNormedR1 {
public abstract class NormedRdToNormedR1 extends org.drip.spaces.rxtor1.NormedRxToNormedR1
{
private org.drip.spaces.metric.RdNormed _rdInput = null;
private org.drip.spaces.metric.R1Normed _r1Output = null;
private org.drip.function.definition.RdToR1 _funcRdToR1 = null;
Expand Down
131 changes: 79 additions & 52 deletions src/main/java/org/drip/spaces/rxtor1/NormedRxToNormedR1.java
Original file line number Diff line number Diff line change
@@ -1,11 +1,19 @@

package org.drip.spaces.rxtor1;

import org.drip.numerical.common.NumberUtil;
import org.drip.spaces.instance.GeneralizedValidatedVector;
import org.drip.spaces.metric.GeneralizedMetricVectorSpace;
import org.drip.spaces.metric.R1Normed;

/*
* -*- mode: java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*/

/*!
* Copyright (C) 2025 Lakshmi Krishnamurthy
* Copyright (C) 2024 Lakshmi Krishnamurthy
* Copyright (C) 2023 Lakshmi Krishnamurthy
* Copyright (C) 2022 Lakshmi Krishnamurthy
* Copyright (C) 2021 Lakshmi Krishnamurthy
* Copyright (C) 2020 Lakshmi Krishnamurthy
Expand Down Expand Up @@ -82,7 +90,7 @@

/**
* <i>NormedRxToNormedR1</i> is the Abstract Class that exposes f : Normed R<sup>x</sup> (x .gte. 1) To
* Normed R<sup>1</sup> Function Space. The Reference we've used is:
* Normed R<sup>1</sup> Function Space. The Reference we've used is:
*
* <br><br>
* <ul>
Expand All @@ -92,6 +100,22 @@
* </li>
* </ul>
*
* It provides the following Functionality:
*
* <ul>
* <li>Retrieve the Input Metric Vector Space</li>
* <li>Retrieve the Output Metric Vector Space</li>
* <li>Retrieve the Sample Supremum Norm</li>
* <li>Retrieve the Sample Metric Norm</li>
* <li>Retrieve the Sample Covering Number</li>
* <li>Retrieve the Sample Supremum Covering Number</li>
* <li>Retrieve the Population ESS (Essential Spectrum)</li>
* <li>Retrieve the Population Metric Norm</li>
* <li>Retrieve the Population Supremum Metric Norm</li>
* <li>Retrieve the Population Covering Number</li>
* <li>Retrieve the Population Supremum Covering Number</li>
* </ul>
*
* <br><br>
* <ul>
* <li><b>Module </b> = <a href = "https://github.com/lakshmiDRIP/DROP/tree/master/ComputationalCore.md">Computational Core Module</a></li>
Expand All @@ -104,171 +128,174 @@
* @author Lakshmi Krishnamurthy
*/

public abstract class NormedRxToNormedR1 {
public abstract class NormedRxToNormedR1
{

/**
* Retrieve the Input Metric Vector Space
*
* @return The Input Metric Vector Space
*/

public abstract org.drip.spaces.metric.GeneralizedMetricVectorSpace inputMetricVectorSpace();
public abstract GeneralizedMetricVectorSpace inputMetricVectorSpace();

/**
* Retrieve the Output Metric Vector Space
*
* @return The Output Metric Vector Space
*/

public abstract org.drip.spaces.metric.R1Normed outputMetricVectorSpace();
public abstract R1Normed outputMetricVectorSpace();

/**
* Retrieve the Sample Supremum Norm
*
* @param gvvi The Validated Vector Space Instance
* @param generalizedValidatedVector The Validated Vector Space Instance
*
* @return The Sample Supremum Norm
*
* @throws java.lang.Exception Thrown if the Supremum Norm cannot be computed
* @throws Exception Thrown if the Supremum Norm cannot be computed
*/

public abstract double sampleSupremumNorm (
final org.drip.spaces.instance.GeneralizedValidatedVector gvvi)
throws java.lang.Exception;
final GeneralizedValidatedVector generalizedValidatedVector)
throws Exception;

/**
* Retrieve the Sample Metric Norm
*
* @param gvvi The Validated Vector Space Instance
* @param generalizedValidatedVector The Validated Vector Space Instance
*
* @return The Sample Metric Norm
*
* @throws java.lang.Exception Thrown if the Sample Metric Norm cannot be computed
* @throws Exception Thrown if the Sample Metric Norm cannot be computed
*/

public abstract double sampleMetricNorm (
final org.drip.spaces.instance.GeneralizedValidatedVector gvvi)
throws java.lang.Exception;
final GeneralizedValidatedVector generalizedValidatedVector)
throws Exception;

/**
* Retrieve the Sample Covering Number
*
* @param gvvi The Validated Vector Space Instance
* @param dblCover The Cover
* @param generalizedValidatedVector The Validated Vector Space Instance
* @param cover The Cover
*
* @return The Sample Covering Number
*
* @throws java.lang.Exception Thrown if the Sample Covering Number cannot be computed
* @throws Exception Thrown if the Sample Covering Number cannot be computed
*/

public double sampleCoveringNumber (
final org.drip.spaces.instance.GeneralizedValidatedVector gvvi,
final double dblCover)
throws java.lang.Exception
final GeneralizedValidatedVector generalizedValidatedVector,
final double cover)
throws Exception
{
if (!org.drip.numerical.common.NumberUtil.IsValid (dblCover) || 0. >= dblCover)
throw new java.lang.Exception ("NormedRxToNormedR1::sampleCoveringNumber => Invalid Inputs");
if (!NumberUtil.IsValid (cover) || 0. >= cover) {
throw new Exception ("NormedRxToNormedR1::sampleCoveringNumber => Invalid Inputs");
}

return sampleMetricNorm (gvvi) / dblCover;
return sampleMetricNorm (generalizedValidatedVector) / cover;
}

/**
* Retrieve the Sample Supremum Covering Number
*
* @param gvvi The Validated Vector Space Instance
* @param dblCover The Cover
* @param generalizedValidatedVector The Validated Vector Space Instance
* @param cover The Cover
*
* @return The Sample Supremum Covering Number
*
* @throws java.lang.Exception Thrown if the Sample Covering Number cannot be computed
* @throws Exception Thrown if the Sample Covering Number cannot be computed
*/

public double sampleSupremumCoveringNumber (
final org.drip.spaces.instance.GeneralizedValidatedVector gvvi,
final double dblCover)
throws java.lang.Exception
final GeneralizedValidatedVector generalizedValidatedVector,
final double cover)
throws Exception
{
if (!org.drip.numerical.common.NumberUtil.IsValid (dblCover) || 0. >= dblCover)
throw new java.lang.Exception
("NormedRxToNormedR1::sampleSupremumCoveringNumber => Invalid Inputs");
if (!NumberUtil.IsValid (cover) || 0. >= cover) {
throw new Exception ("NormedRxToNormedR1::sampleSupremumCoveringNumber => Invalid Inputs");
}

return sampleSupremumNorm (gvvi) / dblCover;
return sampleSupremumNorm (generalizedValidatedVector) / cover;
}

/**
* Retrieve the Population ESS (Essential Spectrum)
*
* @return The Population ESS (Essential Spectrum)
*
* @throws java.lang.Exception Thrown if the Population ESS (Essential Spectrum) cannot be computed
* @throws Exception Thrown if the Population ESS (Essential Spectrum) cannot be computed
*/

public abstract double populationESS()
throws java.lang.Exception;
throws Exception;

/**
* Retrieve the Population Metric Norm
*
* @return The Population Metric Norm
*
* @throws java.lang.Exception Thrown if the Population Metric Norm cannot be computed
* @throws Exception Thrown if the Population Metric Norm cannot be computed
*/

public abstract double populationMetricNorm()
throws java.lang.Exception;
throws Exception;

/**
* Retrieve the Population Supremum Metric Norm
*
* @return The Population Supremum Metric Norm
*
* @throws java.lang.Exception Thrown if the Population Supremum Metric Norm cannot be computed
* @throws Exception Thrown if the Population Supremum Metric Norm cannot be computed
*/

public double populationSupremumMetricNorm()
throws java.lang.Exception
throws Exception
{
return populationESS();
}

/**
* Retrieve the Population Covering Number
*
* @param dblCover The Cover
* @param cover The Cover
*
* @return The Population Covering Number
*
* @throws java.lang.Exception Thrown if the Population Covering Number cannot be computed
* @throws Exception Thrown if the Population Covering Number cannot be computed
*/

public double populationCoveringNumber (
final double dblCover)
throws java.lang.Exception
final double cover)
throws Exception
{
if (!org.drip.numerical.common.NumberUtil.IsValid (dblCover) || 0. >= dblCover)
throw new java.lang.Exception ("NormedRxToNormedR1::populationCoveringNumber => Invalid Inputs");
if (!NumberUtil.IsValid (cover) || 0. >= cover) {
throw new Exception ("NormedRxToNormedR1::populationCoveringNumber => Invalid Inputs");
}

return populationMetricNorm() / dblCover;
return populationMetricNorm() / cover;
}

/**
* Retrieve the Population Supremum Covering Number
*
* @param dblCover The Cover
* @param cover The Cover
*
* @return The Population Supremum Covering Number
*
* @throws java.lang.Exception Thrown if the Population Supremum Covering Number cannot be computed
* @throws Exception Thrown if the Population Supremum Covering Number cannot be computed
*/

public double populationSupremumCoveringNumber (
final double dblCover)
throws java.lang.Exception
final double cover)
throws Exception
{
if (!org.drip.numerical.common.NumberUtil.IsValid (dblCover) || 0. >= dblCover)
throw new java.lang.Exception
("NormedRxToNormedR1::populationSupremumCoveringNumber => Invalid Inputs");
if (!NumberUtil.IsValid (cover) || 0. >= cover) {
throw new Exception ("NormedRxToNormedR1::populationSupremumCoveringNumber => Invalid Inputs");
}

return populationSupremumMetricNorm() / dblCover;
return populationSupremumMetricNorm() / cover;
}
}

0 comments on commit d71d677

Please sign in to comment.