Search Results yield_to_discount_factor_short
Overview
XTR_RATE_CONVERSION is a PL/SQL package body owned by APPS in Oracle E-Business Treasury Management (ETRM). It provides the arithmetic engine that converts interest rate quotations between the many conventions used in money markets, bond markets, and derivative pricing. Its declared purpose is to translate a rate expressed under one quoting basis into the equivalent rate under another, so that deals, instruments, and cash flows can be compared and priced on a common footing. The package head file references the 2005 header revision, and the body is shipped as part of the ETRM schema in both 12.1.1 and 12.2.2.
The package is a pure computational utility. It holds no persistent state, opens no cursors, and performs no DML. Its procedures receive scalar numeric inputs and return scalar numeric results, making it safe to call from SQL, PL/SQL, forms, and concurrent programs alike. It is referenced by nine other packages within the ETRM schema, which indicates it sits near the bottom of the dependency hierarchy as a shared calculation library rather than as a business-process driver.
Key Procedures and Functions
The metadata documents seventeen callable units. They fall into three groups.
- Discount/yield conversions: DISCOUNT_TO_YIELD_RATE and YIELD_TO_DISCOUNT_RATE convert between the discount basis (return expressed as a percentage of the future amount) and the yield basis (return expressed as a percentage of the current amount). The documented formula is 100 x annual basis x rate divided by 100 x annual basis, plus or minus the day count times the rate, with the sign chosen according to direction. Both depend on XTR_MM_FORMULAS.GROWTH_FACTOR to compute the compounding term.
- Basis conversion: DAY_COUNT_BASIS_CONV restates a rate quoted on one day-count basis into the equivalent rate on another, and RATE_CONV_SIMPLE_ANNUALIZED normalizes a simple rate to an annualized figure.
- Compounding convention conversions: SIMPLE_TO_CONTINUOUS_RATE, CONTINUOUS_TO_SIMPLE_RATE, SIMPLE_TO_COMPOUND_RATE, COMPOUND_TO_SIMPLE_RATE, CONTINUOUS_TO_COMPOUND_RATE, COMPOUND_TO_CONTINUOUS_RATE, and COMPOUND_TO_COMPOUND_RATE translate between simple, discretely compounded, and continuously compounded quoting conventions. COMPOUND_TO_COMPOUND_RATE handles changes in compounding frequency. RATE_CONVERSION is the general dispatcher entry point.
- Discount factor routines: YIELD_TO_DISCOUNT_FACTOR_SHORT and YIELD_TO_DISCOUNT_FACTOR_LONG convert yields into discount factors for short-dated and long-dated instruments respectively, reflecting differing day-count and compounding treatment. DISCOUNT_FACTOR_TO_YIELD_SHORT and DISCOUNT_FACTOR_TO_YIELD_LONG perform the inverse. DISCOUNT_FACTOR_CONV converts a discount factor between conventions. The searched term yield_to_discount_factor_short therefore resolves to the short-dated yield-to-factor routine in this family.
Tables Accessed
The documented metadata records no referenced tables for this package. This is consistent with its role as a stateless calculation library: all inputs are passed as parameters, and all outputs are returned to the caller. No APPS synonyms, base tables, or views are read or written, so the package introduces no row-level locking, no read consistency exposure, and no performance dependence on table statistics. Any persistence of converted rates occurs in the calling package or form.
Usage Notes
Because the package is declared in APPS and has no table dependency, it is normally invoked indirectly. The nine referencing packages call it during deal capture, instrument valuation, and rate setting, where a rate entered in one convention must be stored or displayed in another. It may also be called from Oracle Forms through the ETRM rate fields, from concurrent programs that reprice or revalue portfolios, and from custom PL/SQL or SQL expressions that need a consistent conversion formula. Callers should note that inputs are unvalidated numeric scalars: a zero annual basis, a zero day count, or a rate that drives the denominator to zero will raise a numeric error or division-by-zero at the call site. Because results are returned through NOCOPY OUT parameters in some routines, callers must treat the output parameter as undefined if the procedure raises an exception.