Calculate the Expected Rate of Return on This Risk-free Portfolio

Risk-Free Portfolio Return Calculator

Analysis Results

Nominal Return

0.00%

Real Return (Inflation Adjusted)

0.00%

Warning: Total weights must equal 100%.

Understanding the Expected Rate of Return on a Risk-Free Portfolio

In modern finance theory, a "risk-free" portfolio typically consists of government-backed securities like Treasury bills or sovereign bonds from stable nations. These assets are considered risk-free because the probability of default is effectively zero, and the return is guaranteed by the issuing government.

The Calculation Formula

The expected rate of return for a portfolio composed of multiple risk-free assets is the weighted average of the yields of those assets. The formula is expressed as:

E(Rp) = (WA × RA) + (WB × RB)

Where:

  • WA: The percentage of capital allocated to Asset A.
  • RA: The yield or interest rate of Asset A.
  • WB: The percentage of capital allocated to Asset B.
  • RB: The yield or interest rate of Asset B.

Nominal vs. Real Returns

While a portfolio may be nominally risk-free (meaning you will receive the exact dollar amount promised), it is rarely free from inflation risk. The "Nominal Return" is the raw percentage you earn, while the "Real Return" accounts for the purchasing power lost to inflation. The real return is calculated using the Fisher Equation:

Real Return ≈ Nominal Return – Inflation Rate

Practical Example

Suppose you allocate 70% of your portfolio to a 3-month Treasury bill yielding 5.0% and 30% to a 10-year Treasury bond yielding 4.0%. If the current inflation rate is 2.5%:

  1. Nominal Return: (0.70 × 5.0) + (0.30 × 4.0) = 3.5 + 1.2 = 4.7%
  2. Real Return: 4.7% – 2.5% = 2.2%

This means that while your balance grows by 4.7%, your actual spending power only increases by 2.2%.

function calculateRiskFreeReturn() { var wA = parseFloat(document.getElementById('weightA').value); var yA = parseFloat(document.getElementById('yieldA').value); var wB = parseFloat(document.getElementById('weightB').value); var yB = parseFloat(document.getElementById('yieldB').value); var inf = parseFloat(document.getElementById('inflationRate').value); var warning = document.getElementById('weightWarning'); var totalWeight = wA + wB; if (isNaN(wA) || isNaN(yA) || isNaN(wB) || isNaN(yB) || isNaN(inf)) { alert("Please enter valid numeric values in all fields."); return; } if (Math.abs(totalWeight – 100) > 0.01) { warning.style.display = "block"; } else { warning.style.display = "none"; } // Calculate Nominal Return (Weighted Average) var nominalReturn = ((wA / 100) * yA) + ((wB / 100) * yB); // Calculate Real Return using Fisher Equation // (1 + nominal) = (1 + real) * (1 + inflation) var nominalDec = nominalReturn / 100; var inflationDec = inf / 100; var realReturnDec = ((1 + nominalDec) / (1 + inflationDec)) – 1; var realReturn = realReturnDec * 100; document.getElementById('nominalResult').innerText = nominalReturn.toFixed(3) + "%"; document.getElementById('realResult').innerText = realReturn.toFixed(3) + "%"; document.getElementById('resultDisplay').style.display = "block"; }

Leave a Comment