# Documentation/Calc Functions/DISC

TDF LibreOffice Document Liberation Project Community Blogs Weblate Nextcloud Redmine Ask LibreOffice Donate

## Function name:

DISC

## Category:

Financial Analysis

## Summary:

Calculates the allowance (discount) of a security as a percentage.

## Syntax:

DISC(**Settlement**; **Maturity**; **Price**; **Redemption**[; **Basis**])

## Returns:

Returns a real number between 0 and 1 (both inclusive) which is the discount rate of a security.

## Arguments:

**Settlement** is a date or a reference to a cell containing that date which is the date at which the interest accrued up until then is to be calculated.

**Maturity** is a date or a reference to a cell containing that date which is the date on which the security matures (expires).

**Price** is a positive real number or a reference to the cell containing that number which is the price of the security per 100 currency units of par value.

**Redemption** is a positive real number or a reference to the cell containing that number which is the redemption value of the security per 100 currency units of par value.

**Basis** is a positive integer from 0 to 4 or a reference to a cell containing that integer which is chosen from a list of options and indicates how the year is to be calculated. For more information, visit Wikipedia's Day count convention page.

Basis | Calculation |
---|---|

0 or missing | US method (NASD), 12 months of 30 days each |

1 | Exact number of days in months, exact number of days in year. |

2 | Exact number of days in month, year has 360 days. |

3 | Exact number of days in month, year has 365 days. |

4 | European method, 12 months of 30 days each. |

- If either
**Price**or**Redemption**is less than or equal to 0 then the function returns an error value. - If either
**Settlement**or**Maturity**are not valid dates then the function returns an value(#VALUE!) error. - If
**Settlement**date is after the**Maturity**date then the function returns an error value. - If
**Basis**is a non-integer value, then the function uses its floor value, i.e. it is truncated to an integer value. - After truncation if
**Basis**is ny number except 0,1,2,3,4 or missing(passed as empty argument or not passed at all),then the function will return an error value.

## Additional details:

- The formula for DISC is:

## Examples:

Formula | Description | Returns |
---|---|---|

=DISC("2001-01-25";"2001-11-15";97;100;3) | A security is purchased on 2001-01-25; the maturity date is 2001-11-15. The price (purchase price) is 97, the redemption value is 100. Using daily balance calculation (basis 3) the function calculates how high is the settlement (discount). | 0.037244897959184 |

=DISC("2001-01-25";"2001-11-15";97;100) | A security is purchased on 2001-01-25; the maturity date is 2001-11-15. The price (purchase price) is 97, the redemption value is 100. Using daily balance calculation (basis 0 by default) the function calculates how high is the settlement (discount). | 0.037241379310345 |

=DISC("2001-01-25.05";"2001-11-15";97;100;3) | The function returns an error value if either Settlement or Maturity are not valid dates. |
#VALUE! |

=DISC("2002-01-25";"2001-11-15";97;100;3) | The function returns an error when Settlement date is after the Maturity date. |
Err:502 |

## Related LibreOffice functions:

## ODF standard:

## Equivalent Excel functions:

DISC