37 return $e->getMessage();
44 $daysBetweenSettlementAndMaturity = $maturity - $settlement;
45 $daysPerYear = Helpers::daysPerYear(
47 FinancialConstants::BASIS_DAYS_PER_YEAR_ACTUAL
50 if ($daysBetweenSettlementAndMaturity > $daysPerYear || $daysBetweenSettlementAndMaturity < 0) {
54 return (365 * $discount) / (360 - $discount * $daysBetweenSettlementAndMaturity);
71 public static function price($settlement, $maturity, $discount)
82 return $e->getMessage();
89 $daysBetweenSettlementAndMaturity = $maturity - $settlement;
90 $daysPerYear = Helpers::daysPerYear(
92 FinancialConstants::BASIS_DAYS_PER_YEAR_ACTUAL
95 if ($daysBetweenSettlementAndMaturity > $daysPerYear || $daysBetweenSettlementAndMaturity < 0) {
99 $price = 100 * (1 - (($discount * $daysBetweenSettlementAndMaturity) / 360));
121 public static function yield($settlement, $maturity, $price)
132 return $e->getMessage();
135 $daysBetweenSettlementAndMaturity = $maturity - $settlement;
136 $daysPerYear = Helpers::daysPerYear(
138 FinancialConstants::BASIS_DAYS_PER_YEAR_ACTUAL
141 if ($daysBetweenSettlementAndMaturity > $daysPerYear || $daysBetweenSettlementAndMaturity < 0) {
145 return ((100 - $price) / $price) * (360 / $daysBetweenSettlementAndMaturity);
An exception for terminatinating execution or to throw for unit testing.
static year($dateValue)
YEAR.
static validateMaturityDate($maturity)
static validateSettlementDate($settlement)
static validatePrice($price)
static validateFloat($value)
static price($settlement, $maturity, $discount)
TBILLPRICE.
static bondEquivalentYield($settlement, $maturity, $discount)
TBILLEQ.
static yield($settlement, $maturity, $price)
TBILLYIELD.
static flattenSingleValue($value='')
Convert an array to a single scalar value by extracting the first element.