All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.finmath.time.ScheduleInterface Maven / Gradle / Ivy

Go to download

finmath lib is a Mathematical Finance Library in Java. It provides algorithms and methodologies related to mathematical finance.

There is a newer version: 6.0.19
Show newest version
/*
 * (c) Copyright Christian P. Fries, Germany. All rights reserved. Contact: [email protected].
 *
 * Created on 07.09.2013
 */

package net.finmath.time;

import java.util.ArrayList;
import java.util.Calendar;

import net.finmath.time.daycount.DayCountConventionInterface;

/**
 * Interface of a schedule of interest rate periods with
 * a fixing and payment.
 * 
 * The periods have two representations: one a {@link net.finmath.time.Period}
 * which contains {@link java.util.Calendar} dates and
 * an alternative representation using doubles.
 * 
 * Within a schedule, the mapping from doubles to dates is one to one.
 * 
 * @author Christian Fries
 */
public interface ScheduleInterface extends Iterable {
	
	/**
	 * Returns the reference data of this schedule.
	 * The reference date is only used to convert dates to doubles using
	 * and internal daycount conventions (ACT/365) which does not need to agree
	 * with the daycount convention used to calculate period length.
	 * 
	 * @return The reference data of this schedule corresponding to t=0.
	 */
	Calendar getReferenceDate();
	
	/**
	 * Returns the array of periods.
	 * 
	 * @return The array of periods.
	 */
	ArrayList getPeriods();

	/**
	 * Returns the daycount convention used to calculate period lengths.
	 * 
	 * @return The daycount convention used to calculate period lengths.
	 */
	DayCountConventionInterface getDaycountconvention();


	int getNumberOfPeriods();
	
	Period getPeriod(int periodIndex);

	double getFixing(int periodIndex);

	double getPayment(int periodIndex);

	double getPeriodLength(int periodIndex);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy