Fin Maverick
Foundations VocabularyAccounting & ReportingEconomics & MacroQuant Methods & ProgrammingBusiness & Company AnalysisCorporate Finance & ValuationBehavioural Finance
Banking & Market InfrastructureFixed Income & RatesDerivatives & Structured ProductsPublic EquitiesTransactions & DealsPortfolio ConstructionFunds & AMCs
Private Markets & AlternativesRisk, Treasury & ControlAI & Digital FinanceStochastic Calculus & PricingWealth & Personal FinanceIndian Markets & RegulationProfessional Practice
CalculatorComparison
Frameworks
Explore Bootcamps
Equity ResearchPortfolio ManagementMutual Fund MasteryFinancial LiteracyInvestment Banking Analyst
Private Equity AnalystHedge Funds AnalystBreaking Into VCBreaking Into QuantsAI For Finance
Financial Analyst ProgramRisk Management ProgramPrivate Wealth ManagementDebt Capital MarketsDerivatives Foundation
Explore Internships
Equity Research InternMutual Fund Intern
Portfolio Management InternFinancial Literacy Intern
Explore Micro Courses

Equity Research6

Writing an Investment ThesisBuilding a Discounted Cash FlowReading an Annual Report FastReading a Sector Before a CompanySpotting Quality of Earnings Red FlagsBuilding a Revenue Forecast From Drivers

Portfolio Management3

Rebalancing: When, Why and What It CostsStrategic and Tactical Asset AllocationMeasuring Risk in a Portfolio

Mutual Fund Mastery3

Comparing Funds Without Being FooledHow a NAV Is Struck and Which Day You GetReading a Fund Factsheet Properly

Derivatives Unlocked4

Hedging a Real ExposureThe Greeks, PracticallyFutures, the Basis and What Moves ItReading an Option Payoff

AI For Finance2

Retrieval and Grounding for FinanceDocument Extraction in Finance

Breaking Into Quants4

Backtesting a StrategyHypothesis TestingCleaning Financial DataRegression for Finance

Breaking Into VC3

Sizing a MarketReading a Term Sheet as a FounderHow a Venture Round Actually Works

Financial Analyst Program4

Common Size and Trend AnalysisReading a Cash Flow StatementRatio Analysis That Says SomethingBuilding a Working Capital Schedule

Risk Management Program2

Credit Exposure and How It Is ReducedValue at Risk and What It Hides

Investment Banking Analyst3

Precedent Transactions and Why They DifferReading a Term Sheet StructurallyBuilding a Comparable Companies Table

Private Wealth Management3

Tax Aware Portfolio DecisionsBuilding a Client Risk ProfileGoal Based Planning Arithmetic

Debt Capital Markets3

Analysing an Issuer's CreditDuration and What It Does Not Tell YouBond Pricing and Yield Mechanics

Private Equity Analyst2

Fund Waterfalls and CarryThe LBO in Structure

Hedge Funds Analyst2

Short Selling MechanicsLong Short Mechanics
Courses
Explore Career Roadmaps
Investment Banking AnalystEquity Research AnalystVC AnalystPrivate Equity AnalystHedge Funds Analyst
Quant AnalystAI For FinanceFinancial Analyst ProgramPrivate Wealth ManagementDebt Capital Markets
Risk Management ProgramDerivatives FoundationPortfolio ManagementMutual Fund Mastery
PartnershipsShowdown
Log inSign up
Quant Analyst · CoreTrack
1Quantitative Methods, Financial Data & Programming
iProbability
Probability in FinanceRandom VariableProbability DistributionsThe Normal DistributionNormal Distribution ProbabilityThe Lognormal DistributionRandomness vs Uncertainty
iiStatistics and Inference
Population and SampleMean, Median and ModePrecision and AccuracyVariable TypesVariance, Standard Deviation and…Dispersion MeasuresStatistical BiasEffect SizeHypothesis TestingThe Sampling DistributionSkewnessKurtosisCovarianceConfidence IntervalArithmetic Mean vs Geometric MeanStatistical Significance vs Economic…Confidence Interval vs Prediction IntervalHow to Summarise a…
iiiCorrelation and Regression
RegressionCorrelation and CausationOrdinary Least SquaresInteraction TermsRegression CoefficientsRegression vs ClassificationHow to Build a…Spurious CorrelationRegression, Correlation and FitResidualsMulticollinearityAutocorrelation and Partial Autocorrelation
ivTime Series
Time Series in FinanceSimple, Weighted and Exponential…Moving Average CalculatorPrice, Return and Level SeriesHow to Prepare Time-Series…LagFrequencySeasonalityTimestampsTrendStationarity and the Unit RootHeteroskedasticityLeadRolling WindowsDifferencing
vSimulation and Numerical Methods
SimulationMonte Carlo SimulationHow to Run a…Numerical MethodsIterationResampling and the BootstrapPseudorandom Numbers and the SeedConvergence and ToleranceNumerical Stability
viOptimisation
OptimisationLocal and Global OptimaConstraintsConvex OptimisationThe SolverLinear ProgrammingThe Objective FunctionConstraint ViolationThe Feasible SetLagrange MultipliersQuadratic Programming
viiModelling Practice
Linear, Logistic, Ridge and…Training, Validation and Test…The ModelModel ErrorDependent and Independent VariablesThe ROC Curve and AUCWhat a Model HoldsMSE, RMSE, MAE and MAPEPrecision and RecallCross Validation and RegularisationOverfitting and UnderfittingReturn Series MeasuresSimple, Compound and Log Return
viiiBacktesting and Research Integrity
BacktestingBacktest vs Live PerformanceHow to Document a…How to Prevent Backtest…Out-of-Sample TestingWalk-Forward AnalysisMultiple TestingP-HackingData Snooping
ixData Quality and Structure
Data QualityThe DatasetSelection and Survivorship BiasVersioned DatasetsData Structures in FinanceData CleaningMissing Data and Null ValuesStructured Data vs Unstructured DataMissing Data vs ZeroData Validation vs Data CleaningOutliersDuplicate Records
xProgramming for Finance
Data PipelinesAPIs for Financial DataAPI vs CSV FileDatabases in FinancePython for FinanceJoinsSQL for FinanceThe Analysis Workflow
xiQuantitative Research
Research DesignThe Data Generating ProcessReproducibilityPeer Review in Analytical WorkThe Research HypothesisRobustness and Sensitivity
2Stochastic Calculus & Derivative Pricing Theory
iProbability Foundations
The Probability SpaceRandom VectorsSigma-AlgebraExpectationSample Space and EventsDensity and Distribution FunctionsRisk-Neutral ProbabilityState Price Density vs…
iiStochastic Processes and Jumps
Properties of a Stochastic ProcessMartingaleBrownian Motion and Its PropertiesBrownian Motion vs Geometric…Stopping TimeThe Markov PropertyState VariablesTransition ProbabilityQuadratic VariationQuadratic Variation vs Ordinary…Submartingale and SupermartingaleMartingale RepresentationMarkov Process vs MartingaleOptional StoppingFiltrationJump ProcessesThe Poisson ProcessLevy ProcessesJump Diffusion
iiiIto Calculus
The Ito IntegralThe Ito Integral vs the Riemann IntegralInfinitesimals in Stochastic CalculusQuadratic CovariationIto's LemmaHow to Apply Ito's…The Infinitesimal GeneratorIto Calculus vs Ordinary Calculus
ivStochastic Differential Equations
Stochastic Differential EquationsStochastic Differential Equation vs…Drift and DiffusionStrong and Weak Solutions ComparedDiscretisationGeometric Brownian Motion
vPricing Theory and No-Arbitrage
No-ArbitrageGirsanov, Radon-Nikodym and Change…Physical and Risk-Neutral Measures…The Fundamental Theorems of…The Law of One PriceThe Pricing KernelDiscount Factors and Zero-Coupon PricesReplication vs HedgingComplete Market vs Incomplete MarketClearing Margin Architecture
viOption Pricing Theory
European and American OptionsMonte Carlo European OptionThe Black-Scholes PDEBlack Scholes and the GreeksThe Payoff FunctionThe Binomial ModelBinomial Option PricingDelta Hedging in TheoryBoundary, Initial and Terminal ConditionsThe Exercise BoundaryHow to Check Put-Call…
viiVolatility Models
Constant, Local and Stochastic…Vasicek Model vs CIR ModelThe Heston ModelThe SABR ModelThe Volatility ProcessImplied VolatilityVolatility Smile vs Skew vs Surface
viiiInterest Rate Models
Interest-Rate DerivativesMean ReversionThe Zero-Coupon BondThe Ornstein-Uhlenbeck ProcessThe Discount CurveZero RatesShort-Rate Model vs Market Model
ixNumerical Pricing
Closed Form and Numerical…Monte Carlo PricingEuler and Milstein Schemes ComparedTree MethodsFinite Difference MethodsNumerical Error and StabilityVariance Reduction
xCalibration and Model Risk
Model OverrideMarket Price and Model PriceCalibrationHow to Document a Pricing ModelThe Educational Illustration LabelMarket ConventionsModel Uncertainty and LimitationsBacktesting a Pricing ModelIdentifiabilityCalibrated ParametersThe Calibration Loss Function

Discount Factors and Zero-Coupon Prices: One Object

A discount factor is what one rupee costs today when it is certain to arrive at a stated future date. A zero-coupon price is the price of a contract paying exactly that. The two names are one object, and the number is the primitive: a rate is something computed from it, and computing it needs a convention that must be stated alongside.

Turn a quote into a price, and that price into every rate it can be called

The calculator

Work one quote all the way through, and watch it close

The fields take whatever figures were actually handed over. The quote and the two date figures build the price, the price builds the rate under every convention at once, and the amount turns the price into money. The reconciliation strip runs the round trip on the entered figures rather than on the worked instance, so a quote that does not close shows itself as soon as the typing stops. The fields are prefilled with the one year instance of the standard process. Nothing is saved anywhere, and a reload brings the instance back.

The build-up: what falls due, what it costs today, and what the wait costs. Live illustration on the figures in the fields above. The lower bar is the upper bar multiplied by the price of one rupee. AMOUNT DUE on the payment date Rs 1,000/- PRICE TODAY the amount times the factor Rs 951.23/- Rs 1,000/- due then is Rs 951.23/- today. The gap of Rs 48.77/- is what the wait costs. THE RECONCILIATION, RUN ON THE FIELDS ABOVE THE PRICE ENTERED 0.951229 read as a rate ON THE STATED CONVENTION 5.000000% rebuilt as a price THE PRICE REBUILT 0.951229 Out and back with a difference of 0.000000000000. All six conventions rebuild that same price to within 0.000000000000. Printed to six decimals the rate reads 5.000000 per cent; rebuilding from it costs 0.00 paise here. Educational illustration. Every figure is computed from what is in the fields, never from a stored or observed number.
The illustrated working, step by step
Step one, the quote divided by 100, which is the discount factor0.951229
Step two, the days divided by the days in the quote year, which is the maturity1.000000 years
Step three, the rate that factor implies on the stated convention5.000000%
Step four, that implied rate against the rate givenagrees
Step five, the amount multiplied by the factor, which is the price todayRs 951.23/-
Step six, the amount less its price today, which is what waiting costsRs 48.77/-
Discount factor
0.951229
One rupee costs
95.1229p
Continuous
5.000000%
Daily
5.000342%
Twelve times a year
5.010431%
Four times a year
5.031381%
Twice a year
5.063024%
Once a year
5.127110%
Widest disagreement between those six ways of quoting one price12.71 bp
Check one passes: the factor sits strictly between zero and one, so the price of a rupee later is below a rupee.
Check three passes: read back on the stated convention, the factor returns 5.000000 per cent against the 5.000000 given.

Illustration. A quote of 95.12294245 per 100 is a price of 0.951229 for one rupee due in 1.000000 years, which reads as 5.000000 per cent continuously compounded and 5.127110 per cent compounded once a year, and it turns Rs 1,000/- due then into Rs 951.23/- today.

Nothing has been changed yet. These are the figures of the worked instance, and the working above reproduces them exactly.

Drive it into the failure named above

Two sources, two rates, the same payment date. Slide the first one and watch two things separately: the gap between the quotes, and the gap between the prices those quotes stand for. The two gaps are not the same, and at one setting the first is 12.71 basis points wide while the second is nothing at all.

4.8000 per centfirst source at 5.1271 per cent5.4000 per cent
Two sources, two rates, one question: does the gap survive being turned back into prices? 5.127110% compounded once a year 5.000000% continuously compounded THE TWO QUOTES ARE 12.71 BASIS POINTS APART 0.951229421 0.951229425 The two prices agree to six decimal places, differing by 0.000000003. That is 0.00 paise on the amount above, so the whole 12.71 basis points is wording.
Manufactured. Both quotes stand for the same price of 0.951229, so on Rs 1,000.00/- the two sources disagree by 0.00 paise.

Educational illustration. Whatever rate or convention is typed in is an assumption of the reader's own, and the working cannot test whether the quote it was handed is right. Prices and factors are printed to six decimal places, rates to six decimal places of a per cent, and money to whole paise. Because the difference between the two prices in the failure control lives in the ninth decimal, those two are printed to nine. Every reading is computed from the unrounded fields and rounded once at the point it is printed. Nothing is written to this browser. The figures live only in the open tab and die with it.

On its defaults the instrument puts the whole worked instance on one screen. A quote of 95.12294245 per 100 of face is a discount factor of 0.951229. The payment date is 365 days away and the quote counts a 365 day year, so the maturity is 1.000000 years. One price reads as 5.000000 per cent continuously compounded, 5.000342 per cent compounded daily, 5.010431 per cent twelve times a year, 5.031381 per cent four times a year, 5.063024 per cent twice a year and 5.127110 per cent once a year, a spread of 12.71 basis points across the six. An amount of Rs 1,000/- falling due on that date is worth Rs 951.23/- today, and the Rs 48.77/- between the two is what the wait costs. Reading the rate back out and rebuilding the price from it lands on 0.951229 again.

The object has already carried everything earlier in this sequence: the argument that no position may cost nothing and pay something used a number to move a rupee from one date to another, and that number is what gets opened up here. The instrument does the arithmetic in both directions. Why the number behaves as it does, the one place it goes wrong, and a routine for checking a figure handed over by somebody else are all set out below.

One warning before the numbers go further. The rate used throughout is 5 per cent a year, continuously compounded. The 5 per cent is the invented parameter of the standard processThe single invented construction this whole sequence works on, so that every part of it computes against the same figures instead of a new set each time., the single traded quantity this sequence works on, and it describes no market anywhere. The rate was chosen because it makes the arithmetic land on figures that can be checked by hand.

Debt Capital Markets Bootcamp — Fin Maverick

What is a discount factor, and what is a zero-coupon price?

Take the question apart. A discount factor is a price. Not a percentage, not a multiplier, not an adjustment: a price, quoted in rupees, for a thing that could in principle be bought. The thing is one rupee, delivered at a named date, with no doubt about whether it arrives. At the rate used throughout this guide, the price of one rupee delivered a year from now is 0.951229 of a rupee. The price is 95.1229 paise handed over today for a rupee that comes back in a year.

Now the second name. A zero-coupon price is the price of a contract that pays one unit at one date and nothing at all before it. Set that description beside the description of the discount factor: they describe the same thing. One is phrased as an operation performed on a future amount, the other as an instrument that could be held, and underneath the phrasing there is one number.

The two names are not two concepts that happen to agree; they are one quantity that acquired two vocabularies because two groups of people arrived at it from different directions. Somebody working out what a future amount is worth today reaches for it as a factor and multiplies. Somebody quoting an instrument reaches for it as a price and pays. Neither is more correct. When a text or a workbook switches between the words without warning, nothing has changed underneath, and a reader who knows they are one object stops looking for the difference.

Two names. One number. Three ways of describing it. DISCOUNT FACTOR what a future amount is multiplied by ZERO-COUPON PRICE what the contract itself costs 0.951229 one rupee, one year away, in rupees today 5.0000% continuously compounded 5.0630% compounded twice a year 5.1271% compounded once a year The arrows only run downward. Nothing above is computed from anything below.
A discount factor and a zero-coupon price are the same number, and a rate is computed from that number rather than the other way round.

Where does the number itself come from? The standard process supplies a rate, so start there. Growing a rupee forward for a year at 5 per cent a year, compounded continuously, multiplies it by the exponential of 0.05. Bringing a rupee back over the same year divides by that same amount. Dividing by the exponential of 0.05 is multiplying by the exponential of minus 0.05, and the whole construction is nothing more than that.

The factor, built from a continuously compounded rate
$$ D(0,T) \;=\; e^{-rT} $$
\(D(0,T)\)the discount factor seen from today for a rupee delivered at time \(T\), in rupees
\(r\)the risk-free rate of the standard process, continuously compounded, as a decimal, invented and fixed at 0.05
\(T\)the maturity, measured in years from today, as a decimal
\(e\)the base of the natural logarithm, roughly 2.718282
What it says in wordsThe price today of one rupee delivered at a stated future date is the exponential of minus the rate times the number of years, so at 5 per cent over one year it is the exponential of minus 0.05, which is 0.951229.

There is a second route to the same number, and it matters because it is the route taken earlier in this sequence. The price of any payoff is the expectation, under the risk-neutral measureThe set of probabilities under which discounted prices neither drift up nor drift down on average. It is a computing device rather than anybody's forecast, and it is built up separately. Q, of that payoff discounted back. Hand that machinery the simplest payoff there is, one rupee whatever happens, and the expectation has nothing left to average.

The same number as a price under the risk-neutral measure
$$ Z(0,T) \;=\; \mathbb{E}^{\mathbb{Q}}\!\left[\, e^{-rT} \cdot 1 \,\right] \;=\; e^{-rT} \;=\; D(0,T) $$
\(Z(0,T)\)the price today of the contract paying one rupee at time \(T\) and nothing before it
\(\mathbb{E}^{\mathbb{Q}}\)expectation taken under the risk-neutral measure Q, the measure under which discounted prices are martingales
\(\mathbb{Q}\)the risk-neutral measure, as against P the physical measure
\(1\)the payoff, one rupee at time \(T\) in every state of the world
\(r,\;T\)as above, the invented rate of 0.05 and the maturity in years
What it says in wordsRun the general pricing rule on the payoff that is the same in every state, and the averaging step does nothing, so the price of the contract is exactly the discount factor. The two names arrive at one number by two routes.

The second route is worth holding on to: a discount factor is not a bookkeeping device. The discount factor is a price produced by the same rule that prices everything else, applied to the least interesting payoff available. Nothing was assumed about it separately. The factor falls out of the machinery already built.

FIELD NOTE: WHERE A DISCOUNT FACTOR COMES FROM A quoted price for the contract itself read straight off the quote, no arithmetic ENOUGH A rate together with its stated convention both parts present, then one line of arithmetic ENOUGH A rate on its own the convention is missing, so no factor can be formed NOT ENOUGH This card says where the number is found. It does not say what the number means.
A discount factor comes from a quoted price, or from a rate together with its convention, and never from a rate alone.
Breaking Into Quants Bootcamp — Fin Maverick

Why is the price the primitive and the rate the derived thing?

The everyday case comes first, and it is worth a moment. A sack of grain has a weight. On one scale the dial says 40. On another scale, calibrated in different units, the dial says 88. The sack did not change between the two readings. The weight is the thing; the dial reading is a description of the thing on a chosen scale, and there is more than one scale. A report that the sack reads 88 without naming the scale does not permit the weight to be recovered.

The discount factor is the weight. The rate is the dial reading. The factor is the primitiveThe quantity that is directly meaningful on its own, from which other quantities are computed rather than the reverse. here because it is a price, and a price is meaningful without anybody agreeing to anything first. Hand over 0.951229 of a rupee, receive a rupee in a year: that transaction is fully described, and no convention was needed to describe it. The rate, by contrast, is not meaningful until a convention has been chosen. A rate answers one thing: what constant speed of growth would produce this price? More than one answer fits, and the convention decides which one is meant.

Why bother with rates at all, then? Because prices at different maturities are not comparable by eye. A factor of 0.951229 at one year and 0.606531 at ten years look like two unrelated numbers, and the second looks alarming next to the first until it emerges that they carry exactly the same rate. Rates put maturities on a common scale. A ten year price can then be seen as expensive or cheap relative to a one year price. The common scale is a real service, and it is the only service a rate performs. A rate never becomes the underlying object.

Try it out

Which is the directly meaningful quantity here: the factor or the rate?

How does a factor turn into a rate, and the rate back into a factor?

Both directions are one line of arithmetic. From the rate to the factor, the operation is already in hand: exponentiate minus the rate times the maturity. The other way, a logarithm undoes the exponential and a division undoes the multiplication.

The rate, read back out of the factor
$$ r \;=\; -\,\frac{\ln D(0,T)}{T} $$
\(r\)the continuously compounded rate implied by the factor, as a decimal a year
\(\ln\)the natural logarithm, the inverse of the exponential
\(D(0,T)\)the discount factor for maturity \(T\), a number strictly between zero and one whenever the implied rate is positive
\(T\)the maturity in years, and the reason the minus sign is there is that the logarithm of a number below one is negative
What it says in wordsThe natural logarithm of the price, divided by the number of years with the sign flipped, is the rate that would have produced that price under continuous compounding.

On the worked number: the natural logarithm of 0.951229 is minus 0.050000 to six decimal places. Divided by one year with the sign flipped, that is 0.050000, or 5 per cent a year. And back the other way: minus 0.05 times one, exponentiated, is 0.951229 again. Six decimals out and six decimals back: the two directions are not two procedures but one procedure read in each direction.

One operation, read in each direction. 0.951229 the price of one rupee one year away 5.000000% a year, continuously compounded take the natural logarithm, then divide by minus one year raise e to minus the rate times one year Out to six decimal places and back to six decimal places, with nothing lost on the trip. The green arrow is the one the standard process supplies. The dark arrow is the one run on a figure handed over.
Take the logarithm of 0.951229, divide by minus one year, get 5 per cent, then exponentiate minus 5 per cent times one year and get 0.951229 back exactly.
Try it out

Convert 0.951229 to a continuously compounded rate over one year.

Which convention is being used, and why does that need saying every time?

Everything above assumed one reading of the question: what rate, applied without interruption, produced this price? Continuous compoundingThe convention where growth over a period is the exponential of the rate times the length of the period. asks for the constant rate of growth applied without interruption. Continuous compounding is the convention this whole subject uses. Making the calculus behave is what earns it that place, and it is why the exponential appeared earlier without comment.

But there are other readings, and they are all perfectly ordinary. Annual compoundingThe convention where growth over a period is one plus the rate, raised to the number of years. asks a different question: what rate, applied once at the end of each year to whatever is standing, would produce this price? Semi-annual compounding asks the same question with the rate applied twice a year at half its size. Each is a different way of describing the same growth, and each therefore returns a different number.

The rate under annual compounding
$$ y_1 \;=\; D(0,T)^{-1/T} - 1 $$
\(y_1\)the annually compounded rate implied by the same factor, as a decimal a year
\(D(0,T)\)the discount factor, unchanged from every block above
\(T\)the maturity in years, and raising to the power minus one over \(T\) is what turns a whole period growth into a per year growth
What it says in wordsAsk what constant rate, applied once at the end of each year, would take a rupee today to the reciprocal of the price by the maturity date, and subtract the original one rupee to leave the rate itself.
The rate under compounding any number of times a year
$$ y_m \;=\; m\left( D(0,T)^{-1/(mT)} - 1 \right) $$
\(y_m\)the rate quoted on \(m\) compounding periods a year, as a decimal a year
\(m\)the number of compounding periods in a year: 1 for annual, 2 for semi-annual, 4 for quarterly, 12 for monthly
\(D(0,T)\)the discount factor, still the same number
\(T\)the maturity in years, so \(mT\) is the number of compounding periods to maturity
What it says in wordsWork out the growth per compounding period that the price implies, subtract one to get the rate for that period, then multiply by the number of periods in a year to quote it as a rate a year. Setting \(m\) to one recovers the annual case, and letting \(m\) run to infinity recovers the continuous case.

Now put the one year factor through all of them. The price is 0.951229 in every row. Nothing else in the table moved.

ConventionCompounding periods a yearRate implied by 0.951229Distance from continuous
Continuousunbounded5.000000 per cent0.00 bp
Daily3655.000342 per cent0.03 bp
Monthly125.010431 per cent1.04 bp
Quarterly45.031381 per cent3.14 bp
Semi-annual25.063024 per cent6.30 bp
Annual15.127110 per cent12.71 bp

Six rows, six numbers, one price. The spread between the top row and the bottom row is 12.71 basis pointsOne hundredth of a percentage point, so a hundred of them make one percentage point., and every basis point of it was produced by wording. Without its conventionThe rule that turns a price into a rate, without which a rate does not determine a price. a rate does not pin down a price at all, and there is therefore nothing left for it to be approximately right about. A rate quoted that way is incomplete rather than imprecise.

One price. Three descriptions of it. Nothing underneath moved. 0.951229 the price, one year, fixed throughout 5.00 5.05 5.10 5.15 rate, per cent a year 5.0000 continuous 5.0630 twice a year 5.1271 once a year 12.71 basis points, produced by wording alone
The single price 0.951229 reads as 5.0000, 5.0630 or 5.1271 per cent under three conventions, a spread of 12.71 basis points produced by wording alone.
Try it out

Somebody quotes a rate with no convention stated. Is that imprecise or incomplete?

What does the whole set across maturities give?

One factor prices one date. Any stream of future amounts is just a list of dated rupees, and each dated rupee has its own price, so a set of factors, one for every date in question, prices every dated amount that can arise. The whole set is the working object, and the plural matters more than the singular.

Try it out

The rate here is 5 per cent at every maturity. Before reading on: do the six maturities below give the same rate as one another?

Here is the set for the standard process, computed at the invented rate of 5 per cent a year continuously compounded. Read each factor twice: once as a multiplier, and once, more usefully, as a price in paise.

MaturityDiscount factorWhat one rupee costs todayRate read back, continuous
Three months0.98757898.7578 paise5.000000 per cent
Six months0.97531097.5310 paise5.000000 per cent
One year0.95122995.1229 paise5.000000 per cent
Two years0.90483790.4837 paise5.000000 per cent
Five years0.77880177.8801 paise5.000000 per cent
Ten years0.60653160.6531 paise5.000000 per cent

Six prices, one rate. A flat curveA set of maturities all returning the same rate, which is what this guide assumes throughout. is exactly that, and every table here assumes one. The prices carry every bit of the variation across the table and the rates carry none of it. Nothing demonstrates more clearly that the two are not interchangeable ways of saying the same thing. A reader who watches the right-hand column stay still while the left-hand column falls by nearly forty paise has seen why the price is the object worth holding.

The factor earns its keep here, and it does so by scaling without any further thought. An amount of Rs 1,000/- falling due in five years is priced by one multiplication: Rs 1,000/- times 0.778801, giving Rs 778.80/-. An amount of Rs 10,000/- due in ten years is Rs 10,000/- times 0.606531, giving Rs 6,065.31/-. The standard process itself starts at Rs 100/-, and any dated rupee attached to it is priced by reaching into the same column. A stream of future amounts is nothing more than a list of dated rupees, and the set of factors prices the whole list one row at a time. No rate was needed at any point in that paragraph.

Look at the shape as well as the numbers. The factor does not fall in a straight line. The factor loses 1.24 paise over the first three months, a pace of 4.97 paise a year, and 17.23 paise over the five years from the five year point to the ten year point, a pace of 3.45 paise a year. The fall per year of extra maturity is steepest at the short end and flattens as the maturity lengthens. An exponential always behaves this way, and the shape is visible without any arithmetic once the set is drawn.

Discount factor against maturity, at 5 per cent continuously compounded 1.00 0.90 0.80 0.70 0.60 0 2 4 6 8 10 maturity, in years the dashed line is the straight path between the two ends, and the curve sits below it MATURITY FACTOR three months 0.987578 six months 0.975310 one year 0.951229 two years 0.904837 five years 0.778801 ten years 0.606531
The factor runs 0.987578 at three months and 0.606531 at ten years, falling along a curve rather than a straight line.
Try it out

A rupee ten years away costs how much today at this rate?

What happens to the price when the maturity moves?

The table above has six rows. The control below has all of them and everything in between.

Try it out

One price, 0.951229 at one year. How many different rates can it correctly be quoted as?

Play with it

Move the maturity and watch which of the two numbers refuses to move

The rate of the standard process is held at 5 per cent a year, continuously compounded, and it was chosen rather than observed. Only the maturity moves. The curve marker and the price bar redraw as the slider travels. The curve is flat, so the three markers on the rate scale at the bottom stay exactly where they are at every maturity. Under a different convention the fourth marker travels while the price does not.

The price of one rupee, against how far away it is 1.00 0.80 0.60 0 2 4 6 8 10 maturity, in years 0.951229 at one year What that one rupee costs today 95.1229 paise the full track is one rupee The same price, read as a rate under four conventions 5.0000 5.0630 5.1271 stated convention: 5.0000 The three markers above the line do not move when the maturity moves. The marker below the line moves only when the convention changes.
3 months1.00 years10 years
Now change only the convention. The price does not move.
Discount factor
0.951229
One rupee costs
95.1229p
Continuous
5.0000%
Twice a year
5.0630%
Once a year
5.1271%
Stated convention
5.0000%
At one year the price is 0.951229, so a rupee then costs 95.1229 paise today, and that one price reads as 5.0000 per cent continuously compounded, 5.0630 per cent compounded twice a year and 5.1271 per cent compounded once a year.
Educational illustration. Every reading is computed from the formula and never from a random draw, so it reproduces identically on every reload. The rate of the standard process is a chosen parameter, 5 per cent a year continuously compounded, and holding it fixed at every maturity is what a flat curve means. The default of one year returns 0.951229 and the three rates in the worked instance.

Two things are worth noticing while the control is open. First, the price bar shrinks steadily as the maturity is pushed out, and at ten years it has lost nearly two fifths of its length: a decade of the rate, drawn to scale. Second, the three markers on the bottom scale never twitch. Every maturity on a flat curve returns the identical rate, so the entire visible difference between a three month price and a ten year price lives in the price and none of it lives in the rate.

Bond Pricing and Yield Mechanics — free micro-course from Fin Maverick

What goes wrong when two rates are compared?

Now the failure. No mistake in any calculation is needed to produce it.

Comparing two rates quoted on different conventions

Two workbooks, two sources, two numbers. The first says 5.1271 per cent. The second says 5.0000 per cent. A number that size is not noise and both sources look careful, so a gap of 12.71 basis points gets written up as a real difference.

There is no difference. The first source quoted on annual compounding and the second on continuous compounding, and behind both numbers sits the identical price of 0.951229. Nothing was cheaper, nothing was dearer, nobody was wrong, and the gap was manufactured entirely by two different ways of describing one number. Two descriptions were compared, not two prices.

The cost is a report of a real difference where none exists, and every decision that leans on the report inherits the error. The fix takes one line each: convert both quotes back to factors under the convention each was actually quoted on, and compare those. Prices carry no convention, so once the comparison is 0.951229 against 0.951229 there is nothing left to disagree about.

A difference that survives only until both sides are converted back. 5.1271% the first source compounded once a year one year maturity 5.0000% the second source continuously compounded one year maturity WRITTEN UP AS A DIFFERENCE OF 12.71 BASIS POINTS convert both back to factors 0.951229 0.951229 Identical to six decimal places. There was never anything to compare.
Two quotes that differ by 12.71 basis points collapse onto the same price of 0.951229 once each is converted back under the convention it was quoted on.
Try it out

Two sources quote rates that differ by 12 basis points. Which of these gets checked first?

Two rates on different conventions describe one discount factor. See which convention was quoted.

How is a discount factor that has been handed over checked?

Most of the time these numbers are not built but inherited: a column of them in somebody else's workbook, with a heading and no note of where they came from. Three checks, in order, each catching a different kind of fault, and under a minute together. The instrument at the top of this guide runs the first and the third on any figure typed into it; the second needs the whole column and has to be run by hand.

  1. Is it strictly between zero and one? A factor at or above one says a rupee later costs at least as much as a rupee now, and that happens only at a rate of zero or below. A factor at or below zero is not a price at all. The first check catches a sign error, a percentage entered as a decimal, and a cell that picked up the wrong column.
    Catches: sign flips, scale errors, misaligned references.
  2. Does the column fall as the maturity lengthens? On a flat curve at a positive rate, every longer maturity has a strictly smaller factor, without exception. A row that sits above the row before it is either a typing error or a curve that is not flat, and which of the two it is has to be settled before any of the column is used.
    Catches: transposed rows, mistyped digits, a curve nobody mentioned.
  3. Convert it back to a rate under the stated convention. The logarithm, divided by minus the maturity, returns a rate, and the question is whether it is the rate the column was said to be built on. A column built on annual compounding but converted as though it were continuous comes out by roughly the spread shown above, and a gap of that size is the tell.
    Catches: the wrong convention, the wrong maturity, and a column built at a different rate from the one in the heading.
Run them in order. Each one catches something the others cannot. 1 Between zero and one? A factor of 1.02 says a rupee later costs more than a rupee now, so the rate is negative. 2 Falling down the column? Every longer maturity has a smaller factor at a positive rate, with no exception anywhere. 3 Convert back to a rate. Use the convention the quote was stated on. If the rate that returns is not that one, stop. The first two need no other information at all. The third needs the convention, which is why it must be stated. A column that passes all three can still be built on the wrong rate, so check the rate as well as the shape.
Check it sits between zero and one, check it falls as the maturity lengthens, and convert it back to a rate under the stated convention to see whether the rate is the one stated for it.
Try it out

A discount factor of 1.02 arrives for a two year maturity. Which conclusion follows?

Who actually runs this arithmetic, and when?

The habit matters more than the arithmetic, so it is worth being concrete about where the three checks get used. Check two takes four seconds of scrolling and it catches the fault that does the most damage, a column that is nearly right, so somebody reviewing a valuation workbook they did not build runs it first. A column with one transposed row prices most dates correctly and one date badly. A fault of that kind is far harder to spot downstream than a column that is wrong everywhere.

A mismatch of roughly the size shown here is the fingerprint of a convention difference rather than a modelling difference, and knowing which of the two is in front of the reviewer decides whether the work takes an hour or a week. So somebody reconciling two sets of numbers that ought to agree runs check three. An analyst handed a single rate and no workbook runs a different routine altogether: ask what convention it was quoted on, and treat a refusal or a shrug as a missing input rather than a detail. Never accept a rate without its convention, and never compare two rates until both have been reduced to prices.

A number that leaves as 0.951229, becomes 5 per cent, and comes back as 0.951229 to six decimal places settles the point faster than any argument about which quantity is more fundamental. So anybody teaching this runs the round trip in front of the room.

A curve that is not flat returns genuinely different rates at different maturities. Curves of that kind are covered much later, and every table here assumes a flat curve at the invented rate of the standard process. The payoff of a contract is a separate subject: the contract arrives already known and is used only as the thing whose price is being discounted. The 5 per cent throughout was chosen so the arithmetic checks by hand, and every number derived from it inherits that status.

No jurisdiction legislates how an exponential works, and no regulator publishes a discount factor as a rule of law. The arithmetic holds identically everywhere. The compounding convention a particular market or contract quotes on does vary between settings, and the convention belongs with the instrument rather than with the mathematics: it is confirmed at the source that issued the quote, every time, and never assumed to be the convention used here.

References

SourceDocumentWhere
arXiv Quantitative FinancePreprint repository for discounting, term structure and no-arbitrage pricingarxiv.org
Social Science Research NetworkWorking paper repository for the same materialssrn.com
Hull, Shreve and WilmottStandard texts on discounting, the term structure and no-arbitrage pricingPearson, Springer and Wiley

The standard process is invented.
Educational material. Not advice on any investment, tax, budget or market position.

← PreviousNext →
Fin Maverick Micro CoursesExplore Micro Courses
Fin Maverick BootcampsExplore Bootcamps
Fin Maverick

Finance education that ends in a job, not a certificate that gathers dust. Built for young India.

LEARN
CalculatorsFrameworksComparisonsCareersShowdown
RESOURCES
All CoursesMicro CoursesBootcampsInternships
COMPANY
AboutJob openingPartnership
LEGAL
Privacy PolicyTerms & ConditionsContent LicenseReturn & Refund Policy
© 2026 FIN MAVERICK / BUILT FOR INDIA.DO FINANCE, DO NOT JUST READ ABOUT IT.