com::ftlabs::fisa::calc::Calculator Class Reference

This interface provides calculation methods that are tuned specifically for the implemented security and for a particular settlement to Redemption period. More...

#include <Calculator.h>

Inheritance diagram for com::ftlabs::fisa::calc::Calculator:

com::ftlabs::fisa::calc::YieldConvergable com::ftlabs::fisa::calc::AbstractCalculator com::ftlabs::fisa::calc::DelegatingCalculator com::ftlabs::fisa::calc::MultipleCashFlowCalculator com::ftlabs::fisa::calc::OneCashFlowCalculator com::ftlabs::fisa::calc::InflationIndexedCalculator com::ftlabs::fisa::calc::MultiplePeriodCalculator com::ftlabs::fisa::calc::DiscountCalculator com::ftlabs::fisa::calc::InterestAtMaturityCalculator com::ftlabs::fisa::calc::LastPeriodCalculator com::ftlabs::fisa::calc::ZeroCouponCalculator com::ftlabs::fisa::calc::CDFixedInterestRateCalculator com::ftlabs::fisa::calc::FixedInterestRateCalculator com::ftlabs::fisa::calc::JapaneseCalculator com::ftlabs::fisa::calc::SteppedCouponCalculator com::ftlabs::fisa::calc::CDLastPeriodCalculator com::ftlabs::fisa::calc::LastPeriodCompoundInterestCalculator com::ftlabs::fisa::calc::LastPeriodSimpleInterestCalculator com::ftlabs::fisa::calc::FirstPeriodSimpleInterestCalculator com::ftlabs::fisa::calc::MSRBFixedInterestRateCalculator com::ftlabs::fisa::calc::SimpleYTRMultiplePeriodCalculator com::ftlabs::fisa::calc::CDSteppedCouponCalculator com::ftlabs::fisa::calc::SteppedCouponCompoundingCalculator com::ftlabs::fisa::calc::MSRBOneLongPeriodCalculator com::ftlabs::fisa::calc::MSRBOneShortPeriodCalculator com::ftlabs::fisa::calc::MSRBSteppedCouponCalculator List of all members.

Public Member Functions

virtual ~Calculator (void)
virtual const com::ftlabs::fisa::FISADategetSettlementDate (void) const =0
 Get the settlement date to which this Calculator is bound.
virtual const com::ftlabs::fisa::RedemptiongetRedemption (void) const =0
 Get the Redemption to which this Calculator is bound.
virtual const com::ftlabs::fisa::FISADategetInterestAccrualDate (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 Calculatorclone (void) const =0

Protected Member Functions

 Calculator (void)

Detailed Description

This interface provides calculation methods that are tuned specifically for the implemented security and for a particular settlement to Redemption period.


Constructor & Destructor Documentation

com::ftlabs::fisa::calc::Calculator::Calculator ( void   )  [inline, protected]

virtual com::ftlabs::fisa::calc::Calculator::~Calculator ( void   )  [inline, virtual]


Member Function Documentation

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.

Returns:
Settlement date.

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.

Returns:
Redemption.

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.

Returns:
The date on which interest begins to accrue.

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.

Parameters:
price a price
Returns:
yield as calculated for the given price.
Exceptions:
com::ftlabs::fisa::calc::CalculationException CalculationException

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.

Parameters:
price a price
Returns:
current yield as calculated for the given price.
Exceptions:
com::ftlabs::fisa::calc::CalculationException CalculationException

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.

Parameters:
yield a yield
Returns:
price as calculated for the given yield.
Exceptions:
com::ftlabs::fisa::calc::CalculationException CalculationException

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.

Returns:
The accrued interest to the settlement date.
Exceptions:
com::ftlabs::fisa::calc::CalculationException CalculationException

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.

Returns:
The number of cashflows within the supported 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.

Parameters:
cashFlowIndex The cashflow index. cashFlowIndex is zero based and must be a number from 0 to getCashFlowCount() - 1.

Returns:
The interest to be paid for the specified cashflow.

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.

Parameters:
cashFlowIndex The cashflow index. cashFlowIndex is zero based and must be a number from 0 to getCashFlowCount() - 1.

Returns:
The principal to be paid for the specified cashflow.

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.

Parameters:
cashFlowIndex The cashflow index. cashFlowIndex is zero based and must be a number from 0 to getCashFlowCount() - 1.

Returns:
The principal + interest to be paid for the specified cashflow.

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.

Parameters:
cashFlowIndex The cashflow index. cashFlowIndex is zero based and must be a number from 0 to getCashFlowCount() - 1.

Returns:
The time to flow for the specified cashflow.

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.

Parameters:
cashFlowIndex The cashflow index. cashFlowIndex is zero based and must be a number from 0 to getCashFlowCount() - 1.
Returns:
The periodic time to flow as calculated with an actual day count method for the specified cashflow.

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.

Parameters:
cashFlowIndex The cashflow index. cashFlowIndex is zero based and must be a number from 0 to getCashFlowCount() - 1.
Returns:
The cash flow date for the provided cash flow index.

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.

Parameters:
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.

Parameters:
price the price.
Returns:
Periodic discounted cash flow yield.

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.

Parameters:
periodicYield The periodicYield as returned from the calculatePeriodicYield method.

Returns:
the Macaulay duration.

Exceptions:
com::ftlabs::fisa::calc::CalculationException CalculationException

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.

Parameters:
periodicYield The periodicYield as returned from the calculatePeriodicYield method.

Returns:
the modified duration.

Exceptions:
com::ftlabs::fisa::calc::CalculationException CalculationException

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.

Parameters:
macaulayDuration The Macaulay Duration as calculated by the calculateMacaulayDuration method.
periodicYield The periodicYield as returned from the calculatePeriodicYield method.

Returns:
the modified duration.

Exceptions:
com::ftlabs::fisa::calc::CalculationException CalculationException

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.

Parameters:
periodicYield The periodicYield as returned from the calculatePeriodicYield method.

Returns:
the convexity.

Exceptions:
com::ftlabs::fisa::calc::CalculationException CalculationException

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.

Returns:
the average price value obtained by varying the yield up and down one basis point.

Exceptions:
com::ftlabs::fisa::calc::CalculationException CalculationException

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.

Parameters:
pv1b The average price value obtained by varying the yield up and down one basis point, as returned by the calculatePriceValue1BP method.

Returns:
the average yield value obtained by varying the price up and down 1/32.

Exceptions:
com::ftlabs::fisa::calc::CalculationException CalculationException

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.

Parameters:
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.

Returns:
an estimated Macaulay duration.

Exceptions:
com::ftlabs::fisa::calc::CalculationException CalculationException

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.

Parameters:
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.

Returns:
an estimated modified duration.

Exceptions:
com::ftlabs::fisa::calc::CalculationException CalculationException

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.

Parameters:
duration an estimated Macaulay Duration as returned from calculateEstimatedMacaulayDuration.
yield the yield.

Returns:
estimated modified duration.

Exceptions:
com::ftlabs::fisa::calc::CalculationException CalculationException

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.

Parameters:
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.

Returns:
an estimated convexity.

Exceptions:
com::ftlabs::fisa::calc::CalculationException CalculationException

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.

Parameters:
price the clean price.
Returns:
The true yield using adjusted cashflows that fall on business days.
Exceptions:
com::ftlabs::fisa::calc::CalculationException CalculationException

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.

Returns:
The accrued interest income to redemption.
Exceptions:
com::ftlabs::fisa::calc::CalculationException CalculationException

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.

Parameters:
salesDate The projected or actual sales date.
Returns:
The accrued interest income to the supplied salesDate.
Exceptions:
com::ftlabs::fisa::calc::CalculationException CalculationException

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.

Returns:
The total 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.

Parameters:
reinvestmentYield The assumed yield of the reinvested interest cashflows.
Returns:
The interest earned on 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.


The documentation for this class was generated from the following file:
Generated on Tue Feb 5 03:50:32 2008 for FTLabs FISA (c++) by  doxygen 1.5.2