#include <Calculator.h>
Inheritance diagram for com::ftlabs::fisa::calc::Calculator:

Public Member Functions | |
| virtual | ~Calculator (void) |
| virtual const com::ftlabs::fisa::FISADate & | getSettlementDate (void) const =0 |
| Get the settlement date to which this Calculator is bound. | |
| virtual const com::ftlabs::fisa::Redemption & | getRedemption (void) const =0 |
| Get the Redemption to which this Calculator is bound. | |
| virtual const com::ftlabs::fisa::FISADate * | getInterestAccrualDate (void) const =0 |
| Get the date on which interest begins to accrue for this settlement to redemption period. | |
| virtual double | calculateYield (double price) const=0 throw ( CalculationException ) |
| Calculate yield for the given price. | |
| virtual double | calculateCurrentYield (double price) const=0 throw ( CalculationException ) |
| Calculate current yield for the given price. | |
| virtual double | calculatePrice (double yield) const=0 throw ( CalculationException ) |
| Calculate price for the given yield. | |
| virtual double | calculateAccruedInterest () const=0 throw ( CalculationException ) |
| Calculate the accrued interest to the settlement date. | |
| virtual int | getCashFlowCount () const=0 |
| Get the number of cashflows within the bounding settlement to Redemption period. | |
| virtual double | getInterest (int cashFlowIndex) const =0 |
| Get the interest to be paid for a particular cashflow, as specified by cashFlowIndex. | |
| virtual double | getPrincipal (int cashFlowIndex) const =0 |
| Get the principal to be paid for a particular cashflow, as specified by cashFlowIndex. | |
| virtual double | getTotalCashFlow (int cashFlowIndex) const =0 |
| Get the principal and interest to be paid for a particular cashflow, as specified by cashFlowIndex. | |
| virtual double | getTimeToFlow (int cashFlowIndex) const =0 |
| Get the time to flow for a particular cashflow, as specified by cashFlowIndex. | |
| virtual double | getPeriodicTimeToFlow (int cashFlowIndex) const =0 |
| Get the periodic time to flow as calculated with an actual day count method for a particular cashflow, as specified by cashFlowIndex. This value is generally used in actual convexity and duration methods. | |
| virtual FISADate | getCashFlowDate (int cashFlowIndex) const =0 |
| Get a cash flow date for a particular cashflow, as specified by the provided cashFlowIndex. | |
| virtual void | getCashFlowDate (int cashFlowIndex, FISADate &date) const =0 |
| Set the provided FISADate to the cash flow date of a particular cashflow, as specified by the provided cashFlowIndex. | |
| virtual double | calculatePeriodicYield (double price) const=0 throw ( CalculationException ) |
| Calculate a periodic discounted cash flow yield for use with convexity/duration methods. | |
| virtual double | calculateMacaulayDuration (double periodicYield) const =0 throw ( CalculationException ) |
| Calculate the actual Macaulay duration. | |
| virtual double | calculateModifiedDuration (double periodicYield) const =0 throw ( CalculationException ) |
| Calculate the actual modified duration. If Macaulay Duration has already been or will be calculated, then it is more efficient to use the overloaded calculateModifiedDuration method that accepts the Macaulay Duration. | |
| virtual double | calculateModifiedDuration (double macaulayDuration, double periodicYield) const =0 throw ( CalculationException ) |
| Calculate the actual modified duration using an already calculated Macaulay Duration. | |
| virtual double | calculateConvexity (double periodicYield) const =0 throw ( CalculationException ) |
| Calculate the actual convexity. | |
| virtual double | calculatePriceValue1BP (double price, double yield) const =0 throw ( CalculationException ) |
| Calculate the average price value obtained by varying the yield up and down one basis point. | |
| virtual double | calculateYieldValue1_32 (double pv1b) const=0 throw ( CalculationException ) |
| Calculate the average yield value obtained by varying the price up and down 1/32. | |
| virtual double | calculateEstimatedMacaulayDuration (double pv1b, double price, double yield) const =0 throw ( CalculationException ) |
| Calculate an estimated Macaulay duration. | |
| virtual double | calculateEstimatedModifiedDuration (double pv1b, double price, double yield) const =0 throw ( CalculationException ) |
| Calculate an estimated modified duration. | |
| virtual double | calculateEstimatedModifiedDuration (double duration, double yield) const =0 throw ( CalculationException ) |
| Calculate the estimated modified duration. | |
| virtual double | calculateEstimatedConvexity (double pv1b, double price, double yield) const =0 throw ( CalculationException ) |
| Calculate an estimated convexity. | |
| virtual double | calculateTrueYield (double price) const=0 throw ( CalculationException ) |
| Calculate a True Yield, using adjusting cashflows that fall on business days. | |
| virtual double | calculateAccruedIncome (void) const =0 throw ( CalculationException ) |
| Calculates the accrued interest income to Redemption. | |
| virtual double | calculateAccruedIncome (const FISADate &salesDate) const =0 throw ( CalculationException ) |
| Calculates the accrued interest income to the supplied salesDate. | |
| virtual double | calculateTotalInterestFlows (void) const =0 throw ( CalculationException ) |
| A convenience method to total all interest cashflows between the settlement to redemption period. | |
| virtual double | calculateInterestOnInterest (double reinvestmentYield) const =0 throw ( CalculationException ) |
| Calculate the interest earned on reinvested interest cashflows using the provided reinvestmentYield. | |
| virtual Calculator * | clone (void) const =0 |
Protected Member Functions | |
| Calculator (void) | |
| com::ftlabs::fisa::calc::Calculator::Calculator | ( | void | ) | [inline, protected] |
| virtual com::ftlabs::fisa::calc::Calculator::~Calculator | ( | void | ) | [inline, virtual] |
| virtual const com::ftlabs::fisa::FISADate& com::ftlabs::fisa::calc::Calculator::getSettlementDate | ( | void | ) | const [pure virtual] |
Get the settlement date to which this Calculator is bound.
Implemented in com::ftlabs::fisa::calc::DelegatingCalculator, com::ftlabs::fisa::calc::MultiplePeriodCalculator, and com::ftlabs::fisa::calc::OneCashFlowCalculator.
| virtual const com::ftlabs::fisa::Redemption& com::ftlabs::fisa::calc::Calculator::getRedemption | ( | void | ) | const [pure virtual] |
Get the Redemption to which this Calculator is bound.
Implemented in com::ftlabs::fisa::calc::DelegatingCalculator, com::ftlabs::fisa::calc::MultiplePeriodCalculator, and com::ftlabs::fisa::calc::OneCashFlowCalculator.
| virtual const com::ftlabs::fisa::FISADate* com::ftlabs::fisa::calc::Calculator::getInterestAccrualDate | ( | void | ) | const [pure virtual] |
Get the date on which interest begins to accrue for this settlement to redemption period.
This method will return dated date if the settlement date is before the first interest date, the coupon date just prior to the settlement date, or the settlement date if it falls on a coupon payment date. This method may not be applicable to all implementations, in which case a 0 should be returned.
Implemented in com::ftlabs::fisa::calc::DelegatingCalculator, com::ftlabs::fisa::calc::LastPeriodCalculator, com::ftlabs::fisa::calc::MultiplePeriodCalculator, and com::ftlabs::fisa::calc::OneCashFlowCalculator.
| virtual double com::ftlabs::fisa::calc::Calculator::calculateYield | ( | double | price | ) | const throw ( CalculationException ) [pure virtual] |
Calculate yield for the given price.
| price | a price |
Implemented in com::ftlabs::fisa::calc::CDFixedInterestRateCalculator, com::ftlabs::fisa::calc::CDLastPeriodCalculator, com::ftlabs::fisa::calc::DelegatingCalculator, com::ftlabs::fisa::calc::DiscountCalculator, com::ftlabs::fisa::calc::FixedInterestRateCalculator, com::ftlabs::fisa::calc::InterestAtMaturityCalculator, com::ftlabs::fisa::calc::JapaneseCalculator, com::ftlabs::fisa::calc::LastPeriodCompoundInterestCalculator, com::ftlabs::fisa::calc::LastPeriodSimpleInterestCalculator, com::ftlabs::fisa::calc::MSRBOneLongPeriodCalculator, com::ftlabs::fisa::calc::MSRBOneShortPeriodCalculator, com::ftlabs::fisa::calc::SimpleYTRMultiplePeriodCalculator, com::ftlabs::fisa::calc::SteppedCouponCalculator, and com::ftlabs::fisa::calc::ZeroCouponCalculator.
| virtual double com::ftlabs::fisa::calc::Calculator::calculateCurrentYield | ( | double | price | ) | const throw ( CalculationException ) [pure virtual] |
Calculate current yield for the given price.
| price | a price |
Implemented in com::ftlabs::fisa::calc::CDFixedInterestRateCalculator, com::ftlabs::fisa::calc::CDLastPeriodCalculator, com::ftlabs::fisa::calc::DelegatingCalculator, com::ftlabs::fisa::calc::DiscountCalculator, com::ftlabs::fisa::calc::FixedInterestRateCalculator, com::ftlabs::fisa::calc::InterestAtMaturityCalculator, com::ftlabs::fisa::calc::JapaneseCalculator, com::ftlabs::fisa::calc::LastPeriodCompoundInterestCalculator, com::ftlabs::fisa::calc::LastPeriodSimpleInterestCalculator, com::ftlabs::fisa::calc::SteppedCouponCalculator, and com::ftlabs::fisa::calc::ZeroCouponCalculator.
| virtual double com::ftlabs::fisa::calc::Calculator::calculatePrice | ( | double | yield | ) | const throw ( CalculationException ) [pure virtual] |
Calculate price for the given yield.
| yield | a yield |
Implements com::ftlabs::fisa::calc::YieldConvergable.
Implemented in com::ftlabs::fisa::calc::CDFixedInterestRateCalculator, com::ftlabs::fisa::calc::CDLastPeriodCalculator, com::ftlabs::fisa::calc::CDSteppedCouponCalculator, com::ftlabs::fisa::calc::DelegatingCalculator, com::ftlabs::fisa::calc::DiscountCalculator, com::ftlabs::fisa::calc::FirstPeriodSimpleInterestCalculator, com::ftlabs::fisa::calc::FixedInterestRateCalculator, com::ftlabs::fisa::calc::InterestAtMaturityCalculator, com::ftlabs::fisa::calc::JapaneseCalculator, com::ftlabs::fisa::calc::LastPeriodCompoundInterestCalculator, com::ftlabs::fisa::calc::LastPeriodSimpleInterestCalculator, com::ftlabs::fisa::calc::MSRBFixedInterestRateCalculator, com::ftlabs::fisa::calc::MSRBOneLongPeriodCalculator, com::ftlabs::fisa::calc::MSRBOneShortPeriodCalculator, com::ftlabs::fisa::calc::MSRBSteppedCouponCalculator, com::ftlabs::fisa::calc::SimpleYTRMultiplePeriodCalculator, com::ftlabs::fisa::calc::SteppedCouponCompoundingCalculator, and com::ftlabs::fisa::calc::ZeroCouponCalculator.
| virtual double com::ftlabs::fisa::calc::Calculator::calculateAccruedInterest | ( | ) | const throw ( CalculationException ) [pure virtual] |
Calculate the accrued interest to the settlement date.
Implemented in com::ftlabs::fisa::calc::CDFixedInterestRateCalculator, com::ftlabs::fisa::calc::CDLastPeriodCalculator, com::ftlabs::fisa::calc::CDSteppedCouponCalculator, com::ftlabs::fisa::calc::DelegatingCalculator, com::ftlabs::fisa::calc::DiscountCalculator, com::ftlabs::fisa::calc::FixedInterestRateCalculator, com::ftlabs::fisa::calc::InterestAtMaturityCalculator, com::ftlabs::fisa::calc::JapaneseCalculator, com::ftlabs::fisa::calc::LastPeriodCompoundInterestCalculator, com::ftlabs::fisa::calc::LastPeriodSimpleInterestCalculator, com::ftlabs::fisa::calc::SteppedCouponCompoundingCalculator, and com::ftlabs::fisa::calc::ZeroCouponCalculator.
| virtual int com::ftlabs::fisa::calc::Calculator::getCashFlowCount | ( | ) | const [pure virtual] |
Get the number of cashflows within the bounding settlement to Redemption period.
Implemented in com::ftlabs::fisa::calc::CDFixedInterestRateCalculator, com::ftlabs::fisa::calc::DelegatingCalculator, com::ftlabs::fisa::calc::FixedInterestRateCalculator, com::ftlabs::fisa::calc::JapaneseCalculator, com::ftlabs::fisa::calc::OneCashFlowCalculator, and com::ftlabs::fisa::calc::SteppedCouponCalculator.
| virtual double com::ftlabs::fisa::calc::Calculator::getInterest | ( | int | cashFlowIndex | ) | const [pure virtual] |
Get the interest to be paid for a particular cashflow, as specified by cashFlowIndex.
| cashFlowIndex | The cashflow index. cashFlowIndex is zero based and must be a number from 0 to getCashFlowCount() - 1. |
Implemented in com::ftlabs::fisa::calc::CDFixedInterestRateCalculator, com::ftlabs::fisa::calc::CDLastPeriodCalculator, com::ftlabs::fisa::calc::CDSteppedCouponCalculator, com::ftlabs::fisa::calc::DelegatingCalculator, com::ftlabs::fisa::calc::DiscountCalculator, com::ftlabs::fisa::calc::FixedInterestRateCalculator, com::ftlabs::fisa::calc::InterestAtMaturityCalculator, com::ftlabs::fisa::calc::JapaneseCalculator, com::ftlabs::fisa::calc::LastPeriodCompoundInterestCalculator, com::ftlabs::fisa::calc::LastPeriodSimpleInterestCalculator, com::ftlabs::fisa::calc::SteppedCouponCompoundingCalculator, and com::ftlabs::fisa::calc::ZeroCouponCalculator.
| virtual double com::ftlabs::fisa::calc::Calculator::getPrincipal | ( | int | cashFlowIndex | ) | const [pure virtual] |
Get the principal to be paid for a particular cashflow, as specified by cashFlowIndex.
| cashFlowIndex | The cashflow index. cashFlowIndex is zero based and must be a number from 0 to getCashFlowCount() - 1. |
Implemented in com::ftlabs::fisa::calc::DelegatingCalculator, com::ftlabs::fisa::calc::DiscountCalculator, com::ftlabs::fisa::calc::InterestAtMaturityCalculator, com::ftlabs::fisa::calc::LastPeriodCalculator, com::ftlabs::fisa::calc::MultiplePeriodCalculator, and com::ftlabs::fisa::calc::ZeroCouponCalculator.
| virtual double com::ftlabs::fisa::calc::Calculator::getTotalCashFlow | ( | int | cashFlowIndex | ) | const [pure virtual] |
Get the principal and interest to be paid for a particular cashflow, as specified by cashFlowIndex.
| cashFlowIndex | The cashflow index. cashFlowIndex is zero based and must be a number from 0 to getCashFlowCount() - 1. |
Implemented in com::ftlabs::fisa::calc::DelegatingCalculator, com::ftlabs::fisa::calc::MultiplePeriodCalculator, and com::ftlabs::fisa::calc::OneCashFlowCalculator.
| virtual double com::ftlabs::fisa::calc::Calculator::getTimeToFlow | ( | int | cashFlowIndex | ) | const [pure virtual] |
Get the time to flow for a particular cashflow, as specified by cashFlowIndex.
| cashFlowIndex | The cashflow index. cashFlowIndex is zero based and must be a number from 0 to getCashFlowCount() - 1. |
Implemented in com::ftlabs::fisa::calc::DelegatingCalculator, com::ftlabs::fisa::calc::DiscountCalculator, com::ftlabs::fisa::calc::InterestAtMaturityCalculator, com::ftlabs::fisa::calc::LastPeriodCalculator, com::ftlabs::fisa::calc::MultiplePeriodCalculator, and com::ftlabs::fisa::calc::ZeroCouponCalculator.
| virtual double com::ftlabs::fisa::calc::Calculator::getPeriodicTimeToFlow | ( | int | cashFlowIndex | ) | const [pure virtual] |
Get the periodic time to flow as calculated with an actual day count method for a particular cashflow, as specified by cashFlowIndex. This value is generally used in actual convexity and duration methods.
| cashFlowIndex | The cashflow index. cashFlowIndex is zero based and must be a number from 0 to getCashFlowCount() - 1. |
Implemented in com::ftlabs::fisa::calc::DelegatingCalculator, com::ftlabs::fisa::calc::DiscountCalculator, com::ftlabs::fisa::calc::InterestAtMaturityCalculator, com::ftlabs::fisa::calc::LastPeriodCalculator, com::ftlabs::fisa::calc::MultiplePeriodCalculator, and com::ftlabs::fisa::calc::ZeroCouponCalculator.
| virtual FISADate com::ftlabs::fisa::calc::Calculator::getCashFlowDate | ( | int | cashFlowIndex | ) | const [pure virtual] |
Get a cash flow date for a particular cashflow, as specified by the provided cashFlowIndex.
| cashFlowIndex | The cashflow index. cashFlowIndex is zero based and must be a number from 0 to getCashFlowCount() - 1. |
Implemented in com::ftlabs::fisa::calc::DelegatingCalculator, com::ftlabs::fisa::calc::MultiplePeriodCalculator, and com::ftlabs::fisa::calc::OneCashFlowCalculator.
| virtual void com::ftlabs::fisa::calc::Calculator::getCashFlowDate | ( | int | cashFlowIndex, | |
| FISADate & | date | |||
| ) | const [pure virtual] |
Set the provided FISADate to the cash flow date of a particular cashflow, as specified by the provided cashFlowIndex.
| cashFlowIndex | The cashflow index. cashFlowIndex is zero based and must be a number from 0 to getCashFlowCount() - 1. | |
| date | A reference to a FISADate to be set to the specified cash flow date. |
Implemented in com::ftlabs::fisa::calc::DelegatingCalculator, com::ftlabs::fisa::calc::MultiplePeriodCalculator, and com::ftlabs::fisa::calc::OneCashFlowCalculator.
| virtual double com::ftlabs::fisa::calc::Calculator::calculatePeriodicYield | ( | double | price | ) | const throw ( CalculationException ) [pure virtual] |
Calculate a periodic discounted cash flow yield for use with convexity/duration methods.
| price | the price. |
Implemented in com::ftlabs::fisa::calc::CDFixedInterestRateCalculator, com::ftlabs::fisa::calc::DelegatingCalculator, com::ftlabs::fisa::calc::FixedInterestRateCalculator, com::ftlabs::fisa::calc::JapaneseCalculator, com::ftlabs::fisa::calc::OneCashFlowCalculator, and com::ftlabs::fisa::calc::SteppedCouponCalculator.
| virtual double com::ftlabs::fisa::calc::Calculator::calculateMacaulayDuration | ( | double | periodicYield | ) | const throw ( CalculationException ) [pure virtual] |
Calculate the actual Macaulay duration.
| periodicYield | The periodicYield as returned from the calculatePeriodicYield method. |
Implemented in com::ftlabs::fisa::calc::DelegatingCalculator, com::ftlabs::fisa::calc::MultipleCashFlowCalculator, and com::ftlabs::fisa::calc::OneCashFlowCalculator.
| virtual double com::ftlabs::fisa::calc::Calculator::calculateModifiedDuration | ( | double | periodicYield | ) | const throw ( CalculationException ) [pure virtual] |
Calculate the actual modified duration. If Macaulay Duration has already been or will be calculated, then it is more efficient to use the overloaded calculateModifiedDuration method that accepts the Macaulay Duration.
| periodicYield | The periodicYield as returned from the calculatePeriodicYield method. |
Implemented in com::ftlabs::fisa::calc::DelegatingCalculator, com::ftlabs::fisa::calc::MultipleCashFlowCalculator, and com::ftlabs::fisa::calc::OneCashFlowCalculator.
| virtual double com::ftlabs::fisa::calc::Calculator::calculateModifiedDuration | ( | double | macaulayDuration, | |
| double | periodicYield | |||
| ) | const throw ( CalculationException ) [pure virtual] |
Calculate the actual modified duration using an already calculated Macaulay Duration.
| macaulayDuration | The Macaulay Duration as calculated by the calculateMacaulayDuration method. | |
| periodicYield | The periodicYield as returned from the calculatePeriodicYield method. |
Implemented in com::ftlabs::fisa::calc::DelegatingCalculator, com::ftlabs::fisa::calc::MultipleCashFlowCalculator, and com::ftlabs::fisa::calc::OneCashFlowCalculator.
| virtual double com::ftlabs::fisa::calc::Calculator::calculateConvexity | ( | double | periodicYield | ) | const throw ( CalculationException ) [pure virtual] |
Calculate the actual convexity.
| periodicYield | The periodicYield as returned from the calculatePeriodicYield method. |
Implemented in com::ftlabs::fisa::calc::DelegatingCalculator, com::ftlabs::fisa::calc::MultipleCashFlowCalculator, and com::ftlabs::fisa::calc::OneCashFlowCalculator.
| virtual double com::ftlabs::fisa::calc::Calculator::calculatePriceValue1BP | ( | double | price, | |
| double | yield | |||
| ) | const throw ( CalculationException ) [pure virtual] |
Calculate the average price value obtained by varying the yield up and down one basis point.
Implemented in com::ftlabs::fisa::calc::CDFixedInterestRateCalculator, com::ftlabs::fisa::calc::CDSteppedCouponCalculator, com::ftlabs::fisa::calc::DelegatingCalculator, com::ftlabs::fisa::calc::DiscountCalculator, com::ftlabs::fisa::calc::FixedInterestRateCalculator, com::ftlabs::fisa::calc::InterestAtMaturityCalculator, com::ftlabs::fisa::calc::JapaneseCalculator, com::ftlabs::fisa::calc::LastPeriodCalculator, com::ftlabs::fisa::calc::LastPeriodCompoundInterestCalculator, com::ftlabs::fisa::calc::SteppedCouponCompoundingCalculator, and com::ftlabs::fisa::calc::ZeroCouponCalculator.
| virtual double com::ftlabs::fisa::calc::Calculator::calculateYieldValue1_32 | ( | double | pv1b | ) | const throw ( CalculationException ) [pure virtual] |
Calculate the average yield value obtained by varying the price up and down 1/32.
| pv1b | The average price value obtained by varying the yield up and down one basis point, as returned by the calculatePriceValue1BP method. |
Implemented in com::ftlabs::fisa::calc::DelegatingCalculator, com::ftlabs::fisa::calc::DiscountCalculator, com::ftlabs::fisa::calc::InterestAtMaturityCalculator, com::ftlabs::fisa::calc::LastPeriodCalculator, com::ftlabs::fisa::calc::MultiplePeriodCalculator, and com::ftlabs::fisa::calc::ZeroCouponCalculator.
| virtual double com::ftlabs::fisa::calc::Calculator::calculateEstimatedMacaulayDuration | ( | double | pv1b, | |
| double | price, | |||
| double | yield | |||
| ) | const throw ( CalculationException ) [pure virtual] |
Calculate an estimated Macaulay duration.
This is usually faster than the actual Macaulay duration method.
| pv1b | The average price value obtained by varying the yield up and down one basis point, as returned by the calculatePriceValue1BP method. | |
| price | the price. | |
| yield | the yield. |
Implemented in com::ftlabs::fisa::calc::DelegatingCalculator, com::ftlabs::fisa::calc::DiscountCalculator, com::ftlabs::fisa::calc::InterestAtMaturityCalculator, com::ftlabs::fisa::calc::JapaneseCalculator, com::ftlabs::fisa::calc::LastPeriodCalculator, com::ftlabs::fisa::calc::LastPeriodCompoundInterestCalculator, com::ftlabs::fisa::calc::MultiplePeriodCalculator, and com::ftlabs::fisa::calc::ZeroCouponCalculator.
| virtual double com::ftlabs::fisa::calc::Calculator::calculateEstimatedModifiedDuration | ( | double | pv1b, | |
| double | price, | |||
| double | yield | |||
| ) | const throw ( CalculationException ) [pure virtual] |
Calculate an estimated modified duration.
This is usually faster than the actual modified duration method.
| pv1b | The average price value obtained by varying the yield up and down one basis point, as returned by the calculatePriceValue1BP method. | |
| price | the price. | |
| yield | the yield. |
Implemented in com::ftlabs::fisa::calc::DelegatingCalculator, com::ftlabs::fisa::calc::DiscountCalculator, com::ftlabs::fisa::calc::InterestAtMaturityCalculator, com::ftlabs::fisa::calc::LastPeriodCalculator, com::ftlabs::fisa::calc::MultiplePeriodCalculator, and com::ftlabs::fisa::calc::ZeroCouponCalculator.
| virtual double com::ftlabs::fisa::calc::Calculator::calculateEstimatedModifiedDuration | ( | double | duration, | |
| double | yield | |||
| ) | const throw ( CalculationException ) [pure virtual] |
Calculate the estimated modified duration.
| duration | an estimated Macaulay Duration as returned from calculateEstimatedMacaulayDuration. | |
| yield | the yield. |
Implemented in com::ftlabs::fisa::calc::DelegatingCalculator, com::ftlabs::fisa::calc::DiscountCalculator, com::ftlabs::fisa::calc::InterestAtMaturityCalculator, com::ftlabs::fisa::calc::LastPeriodCalculator, com::ftlabs::fisa::calc::LastPeriodCompoundInterestCalculator, com::ftlabs::fisa::calc::MultiplePeriodCalculator, and com::ftlabs::fisa::calc::ZeroCouponCalculator.
| virtual double com::ftlabs::fisa::calc::Calculator::calculateEstimatedConvexity | ( | double | pv1b, | |
| double | price, | |||
| double | yield | |||
| ) | const throw ( CalculationException ) [pure virtual] |
Calculate an estimated convexity.
This is usually faster than the actual convexity method.
| pv1b | The average price value obtained by varying the yield up and down one basis point, as returned by the calculatePriceValue1BP method. | |
| price | the price. | |
| yield | the yield. |
Implemented in com::ftlabs::fisa::calc::CDFixedInterestRateCalculator, com::ftlabs::fisa::calc::CDSteppedCouponCalculator, com::ftlabs::fisa::calc::DelegatingCalculator, com::ftlabs::fisa::calc::DiscountCalculator, com::ftlabs::fisa::calc::FixedInterestRateCalculator, com::ftlabs::fisa::calc::InterestAtMaturityCalculator, com::ftlabs::fisa::calc::JapaneseCalculator, com::ftlabs::fisa::calc::LastPeriodCalculator, com::ftlabs::fisa::calc::LastPeriodCompoundInterestCalculator, com::ftlabs::fisa::calc::SteppedCouponCompoundingCalculator, and com::ftlabs::fisa::calc::ZeroCouponCalculator.
| virtual double com::ftlabs::fisa::calc::Calculator::calculateTrueYield | ( | double | price | ) | const throw ( CalculationException ) [pure virtual] |
Calculate a True Yield, using adjusting cashflows that fall on business days.
Cashflow dates are adjusted according to a provided HolidaySchedule and/or weekend days.
| price | the clean price. |
Implemented in com::ftlabs::fisa::calc::CDFixedInterestRateCalculator, com::ftlabs::fisa::calc::CDLastPeriodCalculator, com::ftlabs::fisa::calc::CDSteppedCouponCalculator, com::ftlabs::fisa::calc::DelegatingCalculator, com::ftlabs::fisa::calc::DiscountCalculator, com::ftlabs::fisa::calc::FixedInterestRateCalculator, com::ftlabs::fisa::calc::InterestAtMaturityCalculator, com::ftlabs::fisa::calc::JapaneseCalculator, com::ftlabs::fisa::calc::LastPeriodCompoundInterestCalculator, com::ftlabs::fisa::calc::LastPeriodSimpleInterestCalculator, com::ftlabs::fisa::calc::MultipleCashFlowCalculator, com::ftlabs::fisa::calc::OneCashFlowCalculator, com::ftlabs::fisa::calc::SteppedCouponCompoundingCalculator, and com::ftlabs::fisa::calc::ZeroCouponCalculator.
| virtual double com::ftlabs::fisa::calc::Calculator::calculateAccruedIncome | ( | void | ) | const throw ( CalculationException ) [pure virtual] |
Calculates the accrued interest income to Redemption.
Implemented in com::ftlabs::fisa::calc::DelegatingCalculator, com::ftlabs::fisa::calc::MultipleCashFlowCalculator, and com::ftlabs::fisa::calc::OneCashFlowCalculator.
| virtual double com::ftlabs::fisa::calc::Calculator::calculateAccruedIncome | ( | const FISADate & | salesDate | ) | const throw ( CalculationException ) [pure virtual] |
Calculates the accrued interest income to the supplied salesDate.
| salesDate | The projected or actual sales date. |
Implemented in com::ftlabs::fisa::calc::DelegatingCalculator, com::ftlabs::fisa::calc::FixedInterestRateCalculator, com::ftlabs::fisa::calc::LastPeriodCalculator, com::ftlabs::fisa::calc::MultiplePeriodCalculator, com::ftlabs::fisa::calc::OneCashFlowCalculator, and com::ftlabs::fisa::calc::SteppedCouponCalculator.
| virtual double com::ftlabs::fisa::calc::Calculator::calculateTotalInterestFlows | ( | void | ) | const throw ( CalculationException ) [pure virtual] |
A convenience method to total all interest cashflows between the settlement to redemption period.
Implemented in com::ftlabs::fisa::calc::AbstractCalculator, and com::ftlabs::fisa::calc::DelegatingCalculator.
| virtual double com::ftlabs::fisa::calc::Calculator::calculateInterestOnInterest | ( | double | reinvestmentYield | ) | const throw ( CalculationException ) [pure virtual] |
Calculate the interest earned on reinvested interest cashflows using the provided reinvestmentYield.
| reinvestmentYield | The assumed yield of the reinvested interest cashflows. |
Implemented in com::ftlabs::fisa::calc::DelegatingCalculator, com::ftlabs::fisa::calc::MultiplePeriodCalculator, and com::ftlabs::fisa::calc::OneCashFlowCalculator.
| virtual Calculator* com::ftlabs::fisa::calc::Calculator::clone | ( | void | ) | const [pure virtual] |
Implemented in com::ftlabs::fisa::calc::CDFixedInterestRateCalculator, com::ftlabs::fisa::calc::CDLastPeriodCalculator, com::ftlabs::fisa::calc::CDSteppedCouponCalculator, com::ftlabs::fisa::calc::DelegatingCalculator, com::ftlabs::fisa::calc::DiscountCalculator, com::ftlabs::fisa::calc::FirstPeriodSimpleInterestCalculator, com::ftlabs::fisa::calc::FixedInterestRateCalculator, com::ftlabs::fisa::calc::InterestAtMaturityCalculator, com::ftlabs::fisa::calc::JapaneseCalculator, com::ftlabs::fisa::calc::LastPeriodCompoundInterestCalculator, com::ftlabs::fisa::calc::LastPeriodSimpleInterestCalculator, com::ftlabs::fisa::calc::MSRBFixedInterestRateCalculator, com::ftlabs::fisa::calc::MSRBOneLongPeriodCalculator, com::ftlabs::fisa::calc::MSRBOneShortPeriodCalculator, com::ftlabs::fisa::calc::MSRBSteppedCouponCalculator, com::ftlabs::fisa::calc::SimpleYTRMultiplePeriodCalculator, com::ftlabs::fisa::calc::SteppedCouponCompoundingCalculator, and com::ftlabs::fisa::calc::ZeroCouponCalculator.
1.5.2