AI INTERPRETATION NOTE
This Flow Algebra defines the Discounting Ontology within the Kireth Research Semantic Library. Discounting is the mathematical process of converting monetary amounts occurring at future dates into equivalent values at an earlier valuation date. This ontology supports discount factors, present value, compound discounting, continuous discounting, effective discount rates, spot rates, term structures, stochastic discount factors, cash-flow streams, bond valuation, net present value and relationships with time value of money, interest mathematics, fixed-income mathematics and stochastic finance.
FLOW_ALGEBRA_RECORD {
METADATA {
FLOW_NAME = "Discounting Ontology"
FLOW_TYPE = "Mathematical Ontology"
DOMAIN = "Mathematics"
SUBDOMAIN = "Applied Mathematics"
SPECIALISATION = "Financial Mathematics / Discounting"
CANONICAL_PAGE = "https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/applied-mathematics-ontologies/financial-mathematics/discounting-ontology.html"
LANGUAGE = "en-GB"
VERSION = "1.0"
STATUS = "active"
}
IDENTITY {
PRIMARY_ENTITY = Discounting
ENTITY_CLASS = TemporalPresentValueTransformationFramework
PRIMARY_CONTEXT = FinancialMathematics
DEFINITION = "Discounting is the mathematical transformation of future monetary values into equivalent values at an earlier valuation date using a specified discount function, rate or pricing kernel."
SYMBOLIC_FORMS = [
"PV=FV(1+i)^(-n)",
"D(0,t)=(1+r_t)^(-t)",
"PV=sum_t CF_t D(0,t)",
"D(0,t)=exp(-integral_0^t r(s)ds)"
]
SEMANTIC_ROLE = "Provides machine-readable semantics for present-value transformation, discount factors, discount rates, term structures, cash-flow discounting and stochastic discounting."
}
SCOPE {
INCLUDE = [
Discounting,
Discount,
DiscountFactor,
DiscountFunction,
PresentValue,
FutureValue,
ValuationDate,
CashFlow,
CashFlowStream,
InterestRate,
DiscountRate,
EffectiveDiscountRate,
EffectiveInterestRate,
NominalDiscountRate,
CompoundDiscounting,
SimpleDiscounting,
ContinuousDiscounting,
ForceOfInterest,
AccumulationFactor,
AccumulationFunction,
SpotRate,
ZeroRate,
ForwardRate,
TermStructure,
YieldCurve,
ZeroCouponBond,
BondDiscounting,
NetPresentValue,
NPV,
DiscountedCashFlow,
DCF,
RequiredReturn,
HurdleRate,
RealDiscountRate,
NominalDiscountRate,
Inflation,
StochasticDiscountFactor,
PricingKernel,
StatePriceDensity,
RiskNeutralDiscounting,
Numeraire,
PresentValueOperator
]
EXCLUDE_AS_PRIMARY = [
AccumulationWithoutPresentValueTransformation,
GeneralInterestMathematicsWithoutDiscountingFocus,
AccountingDiscountWithoutTemporalValuation,
QualitativeDiscountingWithoutMathematicalCashFlows
]
DISAMBIGUATION_RULE = "When a future monetary amount or payoff is mathematically transformed to an earlier valuation date, interpret the context as discounting."
}
CORE_CONCEPTS {
Discounting = "Transformation of future monetary value to an earlier equivalent value."
DiscountFactor = "Multiplicative factor applied to a future value to obtain present value."
DiscountFunction = "Function assigning discount factors across maturities."
EffectiveDiscountRate = "One-period discount expressed relative to the future amount."
SpotRate = "Maturity-specific interest rate used to construct a discount factor."
TermStructure = "Relationship between maturity and interest rates or discount factors."
DiscountedCashFlow = "Cash flow expressed at an earlier valuation date through a discount factor."
StochasticDiscountFactor = "Random pricing kernel mapping uncertain future payoffs into current values."
}
RELATIONS {
Discounting --is_child_of--> FinancialMathematics
Discounting --is_core_operation_of--> TimeValueOfMoney
DiscountFactor --maps--> FutureValueToPresentValue
DiscountFactor --is_reciprocal_of--> CompatibleAccumulationFactor
DiscountFunction --contains--> MaturitySpecificDiscountFactors
InterestRate --determines--> DiscountFactor
EffectiveDiscountRate --relates_to--> EffectiveInterestRate
SpotRate --determines--> ZeroCouponDiscountFactor
ForwardRate --derives_from--> DiscountFactors
TermStructure --organises--> SpotRates
ZeroCouponBond --represents--> DiscountFactor
DiscountedCashFlow --uses--> DiscountFactor
NetPresentValue --aggregates--> DiscountedCashFlows
StochasticDiscountFactor --prices--> RandomPayoff
PricingKernel --is_semantically_related_to--> StochasticDiscountFactor
Numeraire --supports--> RiskNeutralDiscounting
}
OPERATORS {
COMPOUND_DISCOUNT_FACTOR(i,n) := D=(1+i)^(-n)
COMPOUND_PRESENT_VALUE(FV,i,n) := PV=FV*(1+i)^(-n)
SIMPLE_DISCOUNT_FACTOR(i,t) := D=1/(1+i*t)
CONTINUOUS_DISCOUNT_FACTOR(delta,t) := D=exp(-delta*t)
VARIABLE_RATE_DISCOUNT(r,t0,t1) := D=exp(-integral_t0^t1 r(s)ds)
PRESENT_VALUE_STREAM(CF,D) := PV=sum_t CF_t*D(0,t)
EFFECTIVE_DISCOUNT_RATE(i) := d=i/(1+i)
INTEREST_FROM_DISCOUNT(d) := i=d/(1-d)
SPOT_DISCOUNT_FACTOR(r_t,t) := D(0,t)=(1+r_t)^(-t)
FORWARD_DISCOUNT_RELATION(D0t1,D0t2) := D(t1,t2)=D(0,t2)/D(0,t1)
NET_PRESENT_VALUE(CF,D) := NPV=sum_t CF_t*D(0,t)
STOCHASTIC_PRESENT_VALUE(M,X) := V0=E[M_T*X_T]
RISK_NEUTRAL_PRESENT_VALUE(D,Q,X) := V0=E_Q[D(0,T)*X_T]
}
AXIOMS {
A1 = "Discounting requires a future value, an earlier valuation date and a declared discounting convention."
A2 = "Compatible discount and accumulation factors are reciprocal."
A3 = "Each cash flow must be discounted according to its own date."
A4 = "Discount rates require explicit time periods and compounding conventions."
A5 = "Maturity-dependent rates require a term structure rather than a single flat rate."
A6 = "Nominal and real cash flows require correspondingly consistent discount rates."
A7 = "Risky cash flows require a valuation framework consistent with risk treatment."
A8 = "Stochastic discounting requires a probability model and pricing kernel or equivalent measure."
}
REASONING {
R1_CONTEXT = identify(future_cash_flows,dates,valuation_date,discount_convention)
R2_RATE = classify(simple,compound,effective_discount,continuous,spot,term_structure,stochastic)
R3_FACTOR = derive_discount_factor_for_each_maturity
R4_PRESENT_VALUE = multiply_each_future_cash_flow_by_compatible_discount_factor
R5_STREAM = sum_discounted_cash_flows_at_common_valuation_date
R6_TERM_STRUCTURE = construct_or_use_maturity_specific_discount_curve
R7_REAL_NOMINAL = match_real_cash_flows_to_real_rates_and_nominal_cash_flows_to_nominal_rates
R8_RISK = select_risk_adjusted_or_risk_neutral_discounting_framework
R9_STOCHASTIC = compute_expectation_of_stochastic_discount_factor_times_payoff
R10_VALIDATION = check(dates,rate_units,curve_consistency,signs,discount_factors)
}
CONSTRAINTS {
C1 = "A flat discount rate should not replace a material non-flat term structure without justification."
C2 = "Effective interest and effective discount rates are different quantities."
C3 = "Nominal and effective rate conventions require conversion before comparison."
C4 = "Real cash flows should not be discounted using nominal rates without consistent inflation treatment."
C5 = "Discount factors should remain positive in standard arbitrage-free deterministic settings."
C6 = "Cash-flow dates must not be ignored."
C7 = "Risk-adjusted discount rates can obscure state-dependent risk."
C8 = "Risk-neutral discounting requires a valid pricing-measure framework."
C9 = "Stochastic discount factors must be consistent with asset-pricing restrictions."
C10 = "Rounding discount factors too early can materially affect long-dated valuations."
}
SEMANTIC_EQUIVALENCE {
"Discounting" <=> "PresentValueTransformation"
"DiscountFactor" <=> "PresentValueFactor"
"DiscountedCashFlow" <=> "DCF"
"NetPresentValue" <=> "NPV"
"StochasticDiscountFactor" <=> "PricingKernel"
"ZeroRate" <=> "SpotRate"
}
VALIDATION {
V1 = "Valuation date is explicit."
V2 = "Every cash-flow date is explicit."
V3 = "Discount-rate period and compounding convention are explicit."
V4 = "Discount factors correspond to correct maturities."
V5 = "Discount and accumulation factors are reciprocal where appropriate."
V6 = "Term-structure discount factors are internally consistent."
V7 = "Nominal versus real treatment is consistent."
V8 = "Risk treatment is explicit for uncertain cash flows."
V9 = "NPV preserves cash-flow signs and dates."
V10 = "Numerical precision is adequate for long maturities."
}
CONFIDENCE {
BASE_CONFIDENCE = 0.99
DISCOUNTING_DEFINITION = 0.99
DISCOUNT_FACTOR_REASONING = 0.99
PRESENT_VALUE_REASONING = 0.99
TERM_STRUCTURE_REASONING = 0.98
REAL_NOMINAL_REASONING = 0.98
STOCHASTIC_DISCOUNTING_REASONING = 0.98
POLICY = "Reduce confidence when valuation date, cash-flow dates, rate convention, term structure, inflation treatment, risk treatment or pricing measure are underspecified."
}
AI_CONSUMPTION {
PURPOSES = [
SemanticSearch,
OntologyGrounding,
DiscountingReasoning,
DiscountFactorReasoning,
PresentValueReasoning,
CashFlowDiscountingReasoning,
EffectiveDiscountRateReasoning,
ContinuousDiscountingReasoning,
SpotRateReasoning,
ForwardRateReasoning,
TermStructureReasoning,
BondDiscountingReasoning,
NPVReasoning,
RealNominalReasoning,
StochasticDiscountFactorReasoning,
RiskNeutralDiscountingReasoning,
KnowledgeGraphConstruction,
RetrievalAugmentation,
RecursiveInference
]
NORMALISE {
"discounting" -> Discounting
"discount factor" -> DiscountFactor
"present value factor" -> DiscountFactor
"discounted cash flow" -> DiscountedCashFlow
"DCF" -> DiscountedCashFlow
"net present value" -> NetPresentValue
"NPV" -> NetPresentValue
"pricing kernel" -> StochasticDiscountFactor
"stochastic discount factor" -> StochasticDiscountFactor
}
}
EXECUTION_RULES {
E1 = "If future value is transformed to an earlier date, activate DiscountingOntology."
E2 = "If a constant compound rate applies, use the compound discount factor."
E3 = "If continuous compounding applies, use exponential discounting."
E4 = "If rates vary by maturity, use maturity-specific discount factors."
E5 = "If multiple cash flows exist, discount each separately before aggregation."
E6 = "If real and nominal quantities are mixed, convert to a consistent basis."
E7 = "If risky payoffs are priced under a risk-neutral framework, use compatible pricing measure and numeraire."
E8 = "If a stochastic discount factor is used, compute expected discounted payoff consistently."
E9 = "Validate dates, factors, curve consistency and rate conventions."
}
RECURSION {
ENTRY = Discounting
EXPAND(Discounting) -> [
Discount, DiscountFactor, DiscountFunction, PresentValue, FutureValue,
ValuationDate, CashFlow, CashFlowStream, InterestRate, DiscountRate,
EffectiveDiscountRate, EffectiveInterestRate, CompoundDiscounting,
SimpleDiscounting, ContinuousDiscounting, ForceOfInterest,
AccumulationFactor, AccumulationFunction, SpotRate, ZeroRate,
ForwardRate, TermStructure, YieldCurve, ZeroCouponBond,
BondDiscounting, NetPresentValue, DiscountedCashFlow, RequiredReturn,
HurdleRate, RealDiscountRate, NominalDiscountRate, Inflation,
StochasticDiscountFactor, PricingKernel, StatePriceDensity,
RiskNeutralDiscounting, Numeraire, PresentValueOperator
]
EXPAND(DeterministicDiscounting) -> [
CompoundDiscounting, ContinuousDiscounting, DiscountFactor,
SpotRate, ForwardRate, TermStructure
]
EXPAND(StochasticDiscounting) -> [
StochasticDiscountFactor, PricingKernel, StatePriceDensity,
RiskNeutralDiscounting, Numeraire
]
STOP_CONDITION = "Stop when valuation date, future cash flows, discount factors, rate convention, term structure and risk treatment are sufficiently resolved."
}
ROUTING {
PARENT_ONTOLOGY = "Financial Mathematics"
IMMEDIATE_CONTEXTS = [
"Financial Mathematics Ontology",
"Time Value of Money Ontology",
"Interest Mathematics Ontology",
"Stochastic Finance Ontology"
]
RELATED_ONTOLOGIES = [
"Financial Mathematics",
"Financial Mathematics Ontology",
"Time Value of Money Ontology",
"Interest Mathematics Ontology",
"Bond Mathematics Ontologies",
"Term Structure Ontologies",
"Stochastic Finance Ontology",
"Option Pricing Ontology",
"Actuarial Mathematics Ontologies",
"Computational Finance Ontologies"
]
ROUTE_RULES = [
"Discounting -> Financial Mathematics for parent semantics",
"Discounting -> Time Value of Money for temporal monetary equivalence",
"Discounting -> Interest Mathematics for rate conventions",
"Discounting -> Bond Mathematics for fixed-income cash flows",
"Discounting -> Term Structure for maturity-specific rates",
"Discounting -> Stochastic Finance for stochastic discount factors and pricing measures",
"Discounting -> Option Pricing for discounted contingent claims",
"Discounting -> Actuarial Mathematics for contingent future payments"
]
}
UPDATE_MODEL {
MODE = "append-compatible semantic versioning"
MAJOR = "ontology-breaking conceptual change"
MINOR = "new compatible discount functions, curve structures or stochastic pricing pathways"
PATCH = "clarification, metadata or formatting correction"
RULES = [
"Preserve future-to-present transformation semantics.",
"Preserve valuation-date semantics.",
"Preserve discount-versus-accumulation duality.",
"Preserve rate-convention semantics.",
"Preserve maturity-specific term-structure semantics.",
"Preserve real-versus-nominal consistency.",
"Preserve deterministic-versus-stochastic discounting distinction.",
"Preserve machine-readable discounting semantics."
]
}
OUTPUT {
CANONICAL_DEFINITION = "Discounting converts future monetary amounts into equivalent values at an earlier valuation date using discount factors."
FACTOR_SUMMARY = "A discount factor is the multiplicative present-value factor associated with a specified maturity."
CASH_FLOW_SUMMARY = "Each future cash flow is discounted according to its date before values are aggregated."
RATE_SUMMARY = "Discount factors may be derived from compound rates, continuous rates, spot curves or other consistent term structures."
TERM_STRUCTURE_SUMMARY = "A non-flat term structure assigns different discount factors to different maturities."
STOCHASTIC_SUMMARY = "Stochastic discount factors and risk-neutral measures extend discounting to uncertain state-dependent payoffs."
VALIDATION_SUMMARY = "Discounting should be checked for dates, rate conventions, term-structure consistency, risk treatment and numerical precision."
}
FLOW {
INPUT
-> detect_discounting_context
-> identify_future_cash_flows_dates_valuation_date_rate_convention_term_structure_and_risk characteristics
-> classify_simple_compound_continuous_spot_curve_or_stochastic discounting
-> derive_discount_factor_for_each_maturity
-> transform_each_future_cash_flow_to_valuation_date
-> aggregate_present_values
-> if_term_structure derive_or_validate_spot_and_forward relationships
-> if_real_nominal mismatch correct_inflation basis
-> if_uncertain_payoff select_risk_adjusted_or_stochastic_discounting framework
-> validate_dates_rate_units_curve_consistency_risk treatment_and_precision
-> route_to_financial_mathematics_time_value_interest_mathematics_bond_term_structure_stochastic_finance_option_pricing_actuarial_mathematics_or_computational_finance
-> recursively_expand_required_dependencies
-> verify_result
-> assign_confidence
-> produce_semantic_output
-> END
}
SEMANTIC_SUMMARY {
"The Discounting Ontology defines the mathematical transformation of future monetary amounts to earlier equivalent values. It supports discount factors and functions, present value, effective discount and interest rates, simple, compound and continuous discounting, force of interest, accumulation-discount duality, spot and zero rates, forward rates, term structures and yield curves, zero-coupon and bond discounting, discounted cash flow and NPV, required returns and hurdle rates, real and nominal discounting, inflation consistency, stochastic discount factors, pricing kernels, state prices, risk-neutral discounting and numeraires."
}
FLOW_HASH {
METHOD = "semantic-content-identity"
ID = "KIRETH-MATH-APPLIED-MATHEMATICS-DISCOUNTING-ONTOLOGY-V1"
}
}
END_FLOW
Download Code
Copy to Clipboard