Calculation Methodology
Introduction
Fidelis Explorer performs calculations locally using publicly available market data. The formulas below describe the current calculation methodology used throughout the application.
Important
The formulas described on this page reflect the current implementation of the calculation engine. As the application evolves, calculation methods may be refined to improve accuracy. Significant calculation changes will be reflected on this page.
Market Data
Market prices are imported from publicly available BVB data and are not modified by Fidelis Explorer.
Day Count Convention
Coupon accrual and YTM calculations use the day-count convention applicable to the respective FIDELIS issue. Where appropriate, Actual/Actual (ICMA) is used. The current engine documents its convention and assumptions in Debug Export so results can be independently reviewed.
Price Selection
When multiple market prices are available, Fidelis Explorer uses the selected reference clean price.
If the selected price is unavailable, the application automatically falls back according to the configured priority: Last, Close, Bid, Ask, then Nominal fallback. This ensures calculations remain available even when certain market fields are missing.
Bond Calculations
Clean Price
The quoted market price, expressed as a percentage of nominal value and excluding accrued interest.
Accrued Interest
Accrued Interest estimates coupon interest accumulated since the previous coupon date.
Dirty Price
Dirty Price = BVB Dirty Ask when available, otherwise Clean Price + Accrued Interest
Current Yield
Current Yield = Annual Coupon / Current Clean Market Price
Current Yield uses the current clean market price, not the acquisition price.
Yield to Maturity (YTM)
YTM is calculated as an internal rate of return using all remaining cashflows until maturity, including final principal repayment. The solver uses binary search with tolerance 1e-10 and maximum 1000 iterations.
The reported YTM assumes that scheduled coupon payments are received and that the bond is held until maturity.
Reference YTM
Reference YTM uses the currently selected reference clean price: Last, Close, Bid, Ask or Nominal fallback. The dirty price is clean price plus accrued interest, except when the selected reference price is Ask and BVB dirty ask is available.
Trade YTM
Trade YTM uses the current ask price. If BVB dirty ask is available, it is used directly. Otherwise the engine uses ask clean price plus accrued interest. If ask is unavailable, the value falls back to reference dirty price and is marked estimated.
Trade YTM may match broker platforms better because brokers normally calculate YTM from the dirty ask / effective purchase price. Reference YTM may differ from TradeVille when the app reference price is Last, Close, Bid or Nominal fallback, or when broker data uses a different dirty price or settlement convention.
Discount / Premium
Discount / Premium = Current Clean Price - Nominal Price (100%)
Portfolio Calculations
Remaining Coupons
Remaining coupon cashflows represent gross coupon payments expected from the issuer. They are independent of accrued interest paid during secondary-market purchases.
Remaining Principal
Remaining Principal is the nominal value expected to be repaid at maturity for active holdings.
Weighted Average Coupon
Weighted Average Coupon = sum(coupon_rate_i * market_value_i) / sum(market_value_i)
Portfolio averages are currently weighted using estimated current market value.
Weighted Average Reference YTM
Weighted Average Reference YTM = sum(reference_ytm_i * market_value_i) / sum(market_value_i)
Portfolio averages are currently weighted using estimated current market value. The current portfolio average uses Reference YTM, not Trade YTM.
Weighted Years to Maturity
This is not Macaulay Duration. This is not Modified Duration. It is a market-value weighted average of years remaining until maturity.
Profit / Loss
Unrealized Profit / Loss compares the current estimated market value with the acquisition value, when acquisition information is available. It excludes future coupon payments unless explicitly stated otherwise.
Coupon Calendar
The Coupon Calendar is generated from future coupon dates and holding quantities. Amounts shown as coupon cashflows are gross amounts expected from the issuer.
Validation
The calculation engine has been compared against representative TradeVille calculations using multiple RON and EUR FIDELIS issues. Observed differences were within expected rounding, day-count and settlement-date tolerances, typically ≤ 0.01 percentage points YTM.
Debug Export contains input values, intermediate values, generated cashflows, present values, solver statistics, Portfolio Statistics and validation checks so calculations can be independently reviewed.