Skip to content

Main content

Pollution Permit Bank Carry Cost Term Tool

Calculate pollution permit bank carry cost term from explicit caller-supplied inputs.

Loading tool…

Description

Return presentFutureValue = permits*futurePrice/(1+annualRate)^years and netCarryValue = presentFutureValue-permits*currentPrice-storageCost.

Discounting expresses a future amount on a chosen present-value basis. The rate must match the period and compounding convention, while the currency price year and the choice of social or private discount rate remain separate assumptions.

Return presentFutureValue = permits*futurePrice/(1+annualRate)^years and netCarryValue = presentFutureValue-permits*currentPrice-storageCost.

When to use this tool

Use Pollution Permit Bank Carry Cost Term when checking one supplied discount, accrual or carry-value contribution.

How to use the tool and how it works

  1. Enter permits, currentPrice, futurePrice, annualRate, years, storageCost. Use the units and conventions below.
  2. Run the tool. Correct any format, range, or cross-field input error before interpreting the output.
  3. Read presentFutureValue, netCarryValue. Use the output convention below.

Require nonnegative permits and storageCost, annualRate > -1 and years >= 0. Return presentFutureValue = permits*futurePrice/(1+annualRate)^years and netCarryValue = presentFutureValue-permits*currentPrice-storageCost.1

Input fieldMeaning and unitsAccepted input
permitsPermitsRequired. Finite number; minimum 0.
currentPriceCurrent PriceRequired. Finite number.
futurePriceFuture PriceRequired. Finite number.
annualRateEffective annual rate as a fraction, for example 0.03 for 3%.Required. Finite number; strictly above -1.
yearsElapsed years matching the annual effective rate, possibly fractional.Required. Finite number; minimum 0.
storageCostPresent-valued total storage cost in the same currency as the discounted proceeds.Required. Finite number; minimum 0.
Output fieldInterpretationReturned shape
presentFutureValuePresent Future ValueRequired. Finite number.
netCarryValueNet Carry ValueRequired. Finite number.
json
{
  "input": {
    "permits": 100,
    "currentPrice": 10,
    "futurePrice": 12,
    "annualRate": 0.1,
    "years": 1,
    "storageCost": 20
  },
  "output": {
    "presentFutureValue": 1090.9090909090908,
    "netCarryValue": 70.90909090909076
  }
}

Limitations and assumptions

  • Prices share one currency per permit and annualRate is an effective fraction. storageCost is deducted as a present-valued amount; permit validity, borrowing rules, uncertainty and actual trading opportunities are not established.
  • Inputs must satisfy both the field types and the cross-field conditions above. Invalid input causes an error; a successful false flag or documented placeholder is a different result.
  • Numeric calculations use binary floating point unless exact decimal-integer arithmetic is explicitly stated. No hidden measurement tolerance or decimal rounding is added; nonfinite or out-of-contract results are rejected. Numeric signed-zero results are exported as zero.

Alternative or Complementary methods

Use a justified rate convention and complete cashflow schedule, including uncertainty and timing, when evaluating a real policy or investment.

References

  1. Calculation and input contract: environmental-economics/pollution-permit-bank-carry-cost-term — tool.io

Similar or alternative tools