protected double RiskFactorFor(Loan loan)
 {
     return(InitialCode.RiskFactor.GetFactors().ForRating(loan.RiskRating));
 }
 public abstract double capital(Loan loan);
 public virtual double duration(Loan loan)
 {
     return(YearsTo(loan.Expiry, loan));
 }
        protected double YearsTo(DateTime?endDate, Loan loan)
        {
            DateTime?beginDate = (loan.Today == null ? loan.Start : loan.Today);

            return((double)((endDate?.Ticks - beginDate?.Ticks) / MILLIS_PER_DAY / DAYS_PER_YEAR));
        }
 protected double UnusedRiskFactorFor(Loan loan)
 {
     return(UnusedRiskFactors.GetFactors().ForRating(loan.RiskRating));
 }