Skip to content

Commit 3a9e93f

Browse files
Added Financial-Formulas
1 parent 2a14f33 commit 3a9e93f

1 file changed

Lines changed: 137 additions & 4 deletions

File tree

WindowsForms/Calculation-Engine/Supported-Formulas/Financial-Formulas.md

Lines changed: 137 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1099,6 +1099,8 @@ _COUPNUM(settlement, maturity, frequency, [basis])_
10991099

11001100
* The argument is non-numeric, it returns the `#VALUE!` error message.
11011101

1102+
1103+
11021104
## AMORLINC
11031105

11041106
The function `AMORLINC` returns the depreciation for each accounting period, specifically designed for the French accounting system. If an asset is purchased in the middle of the accounting period, the prorated depreciation is considered.
@@ -1473,9 +1475,7 @@ The function `AMORDEGRC` returns the depreciation for each accounting period und
14731475

14741476
* The depreciation rate increases to 50% for the period preceding the last and to 100% for the final period.
14751477

1476-
* The function returns `#NUM!` if:
1477-
1478-
* The life of the asset is less than 1 year or falls into invalid ranges (e.g., between 0 and 1, 1 and 2, etc.).
1478+
* The function returns `#NUM!` if the life of the asset is less than 1 year or falls into invalid ranges (e.g., between 0 and 1, 1 and 2, etc.).
14791479

14801480
* Depreciation is calculated until the last period of the asset's life or until the cumulative depreciation equals the cost minus the salvage value.
14811481

@@ -1693,5 +1693,138 @@ ODDLYIELD(settlement, maturity, last_interest, rate, pr, redemption, frequency,
16931693

16941694
* If basis is less than 0 or basis is greater than 4, `ODDLYIELD` returns `#NUM!`.
16951695

1696-
* If `maturity ≤ settlement` or `settlement ≤ last_interest`, `ODDLYIELD` returns `#NUM!`.
1696+
* If maturity is less than or equal to settlement or settlement is less than or equal to last_interest, `ODDLYIELD` returns `#NUM!`.
1697+
1698+
1699+
1700+
## PRICE
1701+
1702+
The `PRICE` function returns the price per $100 face value of a security that pays periodic interest.
1703+
1704+
**Syntax**
1705+
1706+
*PRICE(settlement, maturity, rate, yld, redemption, frequency, [basis])*
1707+
1708+
**Where:**
1709+
1710+
* settlement: The settlement date of the security, when it is traded to the buyer.
1711+
1712+
* maturity: The maturity date of the security, when it expires.
1713+
1714+
* rate: The annual coupon rate of the security.
1715+
1716+
* yld: The annual yield of the security.
1717+
1718+
* redemption: The redemption value per $100 face value.
1719+
1720+
* frequency: The number of coupon payments per year (1 = annual, 2 = semiannual, 4 = quarterly).
1721+
1722+
* basis (Optional): The type of day count basis to use:
1723+
1724+
* 0 or omitted: US (NASD) 30/360
1725+
1726+
* 1: Actual/actual
1727+
1728+
* 2: Actual/360
1729+
1730+
* 3: Actual/365
1731+
1732+
* 4: European 30/360
1733+
1734+
**Remarks**
1735+
1736+
* Dates are stored as sequential serial numbers (e.g., January 1, 1900, is serial number 1).
1737+
1738+
* If settlement or maturity is not a valid date, `PRICE` returns the `#VALUE!` error.
1739+
1740+
- If yld is less than 0, rate is less than 0, or redemption is less than or equal to 0, `PRICE` returns the `#NUM!` error.
1741+
1742+
- If frequency is not 1, 2, or 4, `PRICE` returns the `#NUM!` error.
1743+
1744+
- If basis is less than 0 or greater than 4, `PRICE` returns the `#NUM!` error.
1745+
1746+
- If settlement is greater than or equal to maturity, `PRICE` returns the `#NUM!` error.
1747+
1748+
1749+
1750+
## TBILLPRICE
1751+
1752+
The `TBILLPRICE` function returns the price per $100 face value for a Treasury bill.
1753+
1754+
**Syntax**
1755+
1756+
*TBILLPRICE(settlement, maturity, discount)*
1757+
1758+
**Where:**
1759+
1760+
* settlement: The Treasury bill's settlement date, when it is traded to the buyer.
1761+
1762+
* maturity: The Treasury bill's maturity date, when it expires.
1763+
1764+
* discount: The Treasury bill's discount rate.
1765+
1766+
**Remarks**
1767+
1768+
* Dates are stored as sequential serial numbers (e.g., January 1, 1900, is serial number 1).
1769+
1770+
* If settlement or maturity is not a valid date, the function returns the `#VALUE!` error.
1771+
1772+
* If discount is less than or equal to 0, the function returns the `#NUM!` error.
1773+
1774+
* If settlement > maturity or if maturity is more than one year after settlement, the function returns the `#NUM!` error.
1775+
1776+
1777+
1778+
## TBILLYIELD
1779+
1780+
The `TBILLYIELD` function returns the yield for a Treasury bill.
1781+
1782+
**Syntax**
1783+
1784+
*TBILLYIELD(settlement, maturity, pr)*
1785+
1786+
**Where:**
1787+
1788+
* settlement: The Treasury bill's settlement date, when it is traded to the buyer.
1789+
1790+
* maturity: The Treasury bill's maturity date, when it expires.
1791+
1792+
* pr: The Treasury bill's price per $100 face value.
1793+
1794+
**Remarks**
1795+
1796+
* If settlement or maturity is not a valid date, the function returns the `#VALUE!` error.
1797+
1798+
* If pr is less than or equal to 0, the function returns the `#NUM!` error.
1799+
1800+
* If settlement is greater than or equal to maturity or if maturity is more than one year after settlement, the function returns the `#NUM!` error.
1801+
1802+
1803+
1804+
## XNPV
1805+
1806+
The `XNPV` function returns the net present value for a schedule of cash flows that is not necessarily periodic.
1807+
1808+
**Syntax**
1809+
1810+
*XNPV(rate, values, dates)*
1811+
1812+
**Where:**
1813+
1814+
* rate: The discount rate to apply to the cash flows.
1815+
1816+
* values: A series of cash flows that corresponds to a schedule of payments in `dates`. The first payment is optional and typically represents a cost (negative value). Subsequent payments are discounted using a 365-day year.
1817+
1818+
* dates: A schedule of payment dates corresponding to the cash flow payments. Dates must be in chronological order, with the first date representing the start of the schedule.
1819+
1820+
**Remarks**
1821+
1822+
* Dates are stored as sequential serial numbers (e.g., January 1, 1900, is serial number 1).
1823+
1824+
* If any argument is non-numeric, the function returns the `#VALUE!` error.
1825+
1826+
* If values and dates have a different number of entries, the function returns the `#NUM!` error.
1827+
1828+
* If any date in dates precedes the starting date, the function returns the `#NUM!` error.
16971829

1830+
* The series in values must include at least one positive and one negative value.

0 commit comments

Comments
 (0)