Dax Function: PRICE
Category: Financial Functions
The PRICE function in Power BI calculates the price per $100 face value of a security that pays periodic interest, based on settlement and maturity dates, interest rate, yield, redemption value, and the number of days in the coupon period.
Purpose
To evaluate the market price of a bond or similar financial security.
Assists in investment decisions by determining whether a bond is priced above or below its intrinsic value.
Type of Calculations
Computes the price of a bond by considering its periodic interest payments, time to maturity, and yield to maturity.
Based on standard financial principles for bond pricing.
Practical Use Cases
Bond Valuation: Analyze the market price of bonds relative to their intrinsic value.
Investment Decisions: Assess whether a bond is overvalued or undervalued.
Portfolio Analysis: Calculate bond prices to evaluate their contribution to portfolio performance.
PRICE(settlement, maturity, rate, yld, redemption, frequency, [basis])
| Parameter | Type | Description |
|---|---|---|
settlement | Scalar | The settlement date, or the date the bond is traded to the buyer. |
maturity | Scalar | The maturity date, or the date the bond expires and the face value is repaid. |
rate | Scalar | The annual coupon rate of the bond. |
yld | Scalar | The annual yield of the bond. |
redemption | Scalar | The bond’s redemption value per $100 face value (usually 100). |
frequency | Scalar | Number of coupon payments per year: 1 (annual), 2 (semi-annual), 4 (quarterly). |
[basis] | Scalar | Optional. Day count basis: 0 (US 30/360), 1 (Actual/Actual), 2 (Actual/360), 3 (Actual/365), 4 (European 30/360). Defaults to 0. |
How Does PRICE Dax Works
Mathematical Principle
The bond price is the present value of its future cash flows, discounted by the yield:
Coupon Payments: Periodic interest payments calculated as:
Discounted Cash Flows:
Each coupon payment is discounted at the bond’s yield to maturity.
Redemption Value: Final principal payment at maturity is also discounted to its present value.
The formula combines these to calculate the bond’s price.
What Does It Return?
Scalar Value: The calculated price of the bond per $100 face value.
Returns a positive numeric value representing the bond price.
When Should We Use It?
Bond Pricing Models: Use in models that compare bond prices across different market conditions.
Yield Analysis: Estimate the price sensitivity of bonds to changes in yield.
Financial Reports: Generate bond valuation reports for financial or investment dashboards.
Examples
Basic Usage :
Calculate the price of a bond with a 5% annual coupon rate, a 3% yield, $100 redemption value, semi-annual payments, and a maturity 5 years from settlement.
PRICE(DATE(2025, 4, 11), DATE(2030, 4, 11), 0.05, 0.03, 100, 2, 0)
Result: $107.85
Column Usage
Suppose you have a table of bonds with different parameters:
| BondID | Settlement | Maturity | Rate | Yield | Redemption | Frequency |
|---|---|---|---|---|---|---|
| 1 | 2025-04-11 | 2030-04-11 | 0.05 | 0.03 | 100 | 2 |
| 2 | 2025-04-11 | 2035-04-11 | 0.04 | 0.035 | 100 | 1 |
Add a calculated column for bond prices:
BondPrice = PRICE(Bonds[Settlement], Bonds[Maturity], Bonds[Rate], Bonds[Yield], Bonds[Redemption], Bonds[Frequency], 0)
Advanced Usage
Combine PRICE with other DAX functions to calculate bond prices under different yield scenarios:
ScenarioPrice =
IF(Bonds[Yield] > 0.04,
PRICE(Bonds[Settlement], Bonds[Maturity], Bonds[Rate], 0.05, Bonds[Redemption], Bonds[Frequency], 0),
PRICE(Bonds[Settlement], Bonds[Maturity], Bonds[Rate], 0.03, Bonds[Redemption], Bonds[Frequency], 0)
)
Result: Outputs bond prices based on a yield threshold.
Tips and Tricks
Use consistent date formats for
settlementandmaturity.Ensure that
frequencymatches the bond’s payment schedule.Incorrectly using
basiscan lead to inaccurate price calculations.Ignoring the day count convention of the bond’s market.
Performance Impact of PRICE DAX Function:
Efficient for scalar calculations.
When working with large datasets, optimize by precomputing common parameters.
Related Functions You Might Need
| Function | Description |
|---|---|
YIELD | Calculates the yield of a bond based on its price and other parameters. |
DURATION | Calculates the Macaulay duration of a bond, useful for interest rate sensitivity analysis. |
COUPDAYBS | Returns the number of days from the beginning of the coupon period to the settlement date. |
Want to Learn More?
For more information, check out the official Microsoft documentation for PRICE You can also experiment with this function in your Power BI reports to explore its capabilities.
Unlock the full capabilities of Power BI and elevate your data insights with our specialized consulting services. Whether you need guidance on advanced DAX functions like those highlighted here, support in designing interactive dashboards, or expertise in optimizing data models for enhanced performance, our experienced Power BI consultants are equipped to deliver customized solutions for your business. Explore our Power BI Consulting Services page to discover how we can help your organization make smarter, data-driven decisions.
The PRICE function calculates the market price of a bond based on coupon rate, yield, and other parameters.
Yes, set the rate parameter to 0 for zero-coupon bonds.
The frequency specifies the number of coupon payments per year (e.g., annual, semi-annual, or quarterly).
Use the optional basis parameter to match the bond’s market convention for day counts.
The function will return an error as this scenario is invalid.