Contact

ODDFPRICE Function (LibreOffice Calc)

Financial Expert LibreOffice Calc LibreOffice 3.0

The ODDFPRICE function returns the price per 100 currency units of face value for a bond with an odd (non-standard) first coupon period. It is essential for valuing bonds issued off-cycle with irregular initial coupon lengths.

Verification status: Consult the documentation and examples below. Native application testing has not been documented for this guide. How formula examples are checked

The **ODDFPRICE** function calculates the **price per 100 currency units of face value** for a bond with an **odd (irregular) first coupon period**. This occurs when a bond is issued on a date that does not align with its standard coupon schedule, creating a short or long first coupon period.

What the ODDFPRICE Function Does

  • Computes the clean price of a bond with an odd first coupon
  • Handles short and long first coupon periods
  • Uses issue date, first coupon date, settlement date, maturity date, coupon rate, yield, redemption value, frequency, and basis
  • Supports multiple day‑count basis systems
  • Fully compatible with Excel’s ODDFPRICE function

It is designed for professional‑grade fixed‑income modeling.

Syntax

ODDFPRICE(settlement; maturity; issue; first_coupon; rate; yield; redemption; frequency; [basis])

Arguments

  • settlement:
    Date the bond is purchased.

  • maturity:
    Final maturity date.

  • issue:
    Issue date of the bond.

  • first_coupon:
    Date of the first coupon payment (irregular).

  • rate:
    Annual coupon rate.

  • yield:
    Annual yield to maturity.

  • redemption:
    Redemption value per 100 face value.

  • frequency:
    Coupon payments per year:

    • 1 = annual
    • 2 = semiannual
    • 4 = quarterly
  • basis (optional):
    Day-count convention:

basis Day-count convention
0 US 30/360
1 Actual/Actual
2 Actual/360
3 Actual/365
4 European 30/360

Basic Examples

Price of a bond with a short first coupon

=ODDFPRICE("2024-03-15"; "2029-03-15"; "2024-01-01"; "2024-06-01"; 0.05; 0.045; 100; 2)

Using Actual/Actual

=ODDFPRICE(A1;A2;A3;A4;0.04;0.045;100;2;1)

Using text dates

=ODDFPRICE(DATEVALUE(A1);DATEVALUE(A2);DATEVALUE(A3);DATEVALUE(A4);Rate;Yield;100;2)

Advanced Examples

Long first coupon period

=ODDFPRICE("2024-03-15"; "2030-03-15"; "2023-01-01"; "2024-09-01"; 0.06; 0.055; 100; 2)

From imported CSV timestamps

=ODDFPRICE(DATEVALUE(LEFT(A1;10));DATEVALUE(LEFT(A2;10));DATEVALUE(LEFT(A3;10));DATEVALUE(LEFT(A4;10));Rate;Yield;Redemption;Freq)

From Excel serial dates stored as text

=ODDFPRICE(DATE(1899;12;30)+VALUE(A1);DATE(1899;12;30)+VALUE(A2);DATE(1899;12;30)+VALUE(A3);DATE(1899;12;30)+VALUE(A4);Rate;Yield;Redemption;Freq)

Compute yield from price (inverse)

=ODDFYIELD(Settlement;Maturity;Issue;FirstCoupon;Rate;Price;Redemption;Freq;Basis)

Compare odd-first vs regular-price valuation

=PRICE(Settlement;Maturity;Rate;Yield;Redemption;Freq) - ODDFPRICE(...)

Edge Cases and Behavior Details

ODDFPRICE returns a numeric value (clean price)

Accepts:

  • Real dates
  • Serial numbers
  • DATEVALUE outputs

Invalid text → Err:502

Behavior details

  • Issue < FirstCoupon < Maturity must hold
  • Settlement must be between Issue and Maturity
  • Frequency must be 1, 2, or 4
  • Basis must be 0–4
  • Handles both short and long first coupon periods
  • Uses iterative numerical methods internally

ODDFPRICE of an error → error propagates

Common Errors and Fixes

Err:502 — Invalid argument

Cause:

  • Dates not recognized
  • Frequency not 1, 2, or 4
  • Basis outside 0–4

Fix:

  • Wrap dates with DATEVALUE
  • Validate frequency and basis

Err:504 — Invalid date sequence

Cause:

  • Settlement before issue
  • First coupon before issue
  • Settlement after maturity

Fix:

  • Correct date order

Unexpected price

Cause:

  • Wrong first coupon date
  • Incorrect basis
  • Incorrect yield or coupon rate

Fix:

  • Verify coupon schedule
  • Confirm day-count convention

Best Practices

  • Use Actual/Actual (basis 1) for government bonds
  • Use 30/360 for corporate bonds
  • Normalize text dates with DATEVALUE
  • Validate first coupon date carefully
  • Use ODDFPRICE with ODDFYIELD for full odd-first-period modeling
ODDFPRICE is your odd‑first‑coupon pricing engine — essential for real‑world bonds issued off‑cycle and any professional fixed‑income model.
  • Use ODDFYIELD to compute yield from price
  • Use ODDLPRICE for odd last coupon periods
  • Use ODDLYIELD for odd last coupon yield
  • Use PRICE for regular coupon bonds
  • Use YIELD for regular yield calculations

By mastering ODDFPRICE and its companion functions, you can build powerful, accurate, and fully professional fixed‑income valuation models in LibreOffice Calc.