Search the site

What are you looking for?

Enter a broker, tool or topic.

Trading costs

Forward Points: Convert Spot into Forward Bid and Ask

Check a forward quote from signed points, an explicit point size and spot Bid/Ask. Follow each side through to the outright rate, spread and currency amount, with a reusable verification record.

Author · Editor

Reviewed

Three dark teal bars on a stepped travertine platform, with a small amber insert and a pale blue glass divider between the bars.
Convert each side with its own sign

The essentials

  1. Add each signed adjustment to its corresponding spot side: forward = spot + points × point size.

  2. Write the currency units and common future value date before calculating. An unsigned pair such as 15/12 does not supply enough information.

  3. Sell the base currency at the bank’s Bid; buy it at its Ask. The resulting quote-currency amount is not a profit calculation.

  4. Check the final Bid/Ask order, then recover the original points. A correct conversion does not establish a fair or executable price.

Read the quote before entering numbers

A message says “EUR/USD, 15/12 for one month”. That is not yet a complete input for a conversion. Does the provider mean positive or negative adjustments? Which number belongs to which side? What rate change does one point represent, and what is the actual settlement date? An apparently plausible answer can still use the wrong convention.

This guide uses one explicit convention throughout: separately signed adjustments are added directly to the corresponding spot Bid and spot Ask. It does not decode every dealer shorthand. Obtain the provider’s convention first; then translate the quote into these fields without changing the original economic meaning.

Item to record

Meaning in this guide

Currency pair BASE/QUOTE

The rate is units of QUOTE for 1 unit of BASE. EUR/USD means USD per EUR.

Spot Bid and Ask

The bank buys BASE at Bid and sells BASE at Ask. Both sides belong to the same spot quote.

Signed Bid and Ask points

Each is a direct adjustment to the matching spot side, with its own sign.

Point size c

The rate change represented by one declared point; for example 0.0001 USD per EUR.

Future value date

The same settlement date for both forward sides. A tenor label alone does not resolve calendar conventions.

Optional quantity

An amount in BASE units, not lots, margin or an amount in QUOTE.

Scroll sideways to compare all columns ↔

The MNB handbook, section 3.2 distinguishes forward quotations by value date and demonstrates the bank’s Bid/Ask perspective. Use that perspective consistently: “I buy EUR” means the bank sells EUR. The calculator records the supplied date; it does not calculate business days, holidays or a spot-to-forward calendar.

Convert each side with its own sign

Try it yourself

Check a forward quote from signed points

Enter the spot quote and the signed adjustment for each side. The calculator adds each adjustment to its matching spot side and shows the outright rate, spread and optional currency amount.

This form uses direct signed adjustments: forward Bid = spot Bid + Bid points × point size; forward Ask = spot Ask + Ask points × point size. A positive adjustment needs +, a negative one needs −. An unsigned dealer pair such as 15/12 needs clarification from its source.

Fictional examples
Quote identity and units

Use two different three-letter codes. The first is the base: EUR/USD means USD per 1 EUR. Codes label your data; they do not select a market feed or confirm a supported contract.

Copy one agreed value date for both sides. Date validity is checked, but holidays, business-day adjustments, tenor and whether the date is in the future are not calculated.

Enter the scale stated by the quote provider. The example uses 0.0001 USD per EUR per point; this scale is not inferred from a currency pair or a terminal's Point setting.

Bank Bid · you sell the base currency
Bank Ask · you buy the base currency

Use a decimal point or comma, without thousands separators, currency symbols or exponent notation. Nonzero points need an explicit + or − sign; zero may be entered as 0.

Supported input limits

Positive spot rates up to 1,000,000 and point size up to 1, each with at most 12 decimal places. Points may range from −1,000,000 to +1,000,000 with at most 6 decimal places. Optional quantity must be positive, at most 1,000,000,000,000 with at most 6 decimal places. The date must be a real YYYY-MM-DD date in 1900–2200. At most 80 characters per numeric input.

Leave quantity blank to check rates only. If supplied, it is a number of base-currency units, not lots, margin or profit.

Verified fictional reference · always unchanged

This fixed EUR/USD example uses 9 February 2027 as an assumed common value date. It is separate from the form, is not a live quote and remains available without JavaScript.

EUR/USD · USD per 1 EUR · common value date Feb 9, 2027.

Outright Bid · sell EUR
1.09850
Outright Ask · buy EUR
1.09900
Trace each side from spot to forward
CheckBank BidBank Ask
Spot rate1.100001.10020
Signed points-15-12
Point size0.00010.0001
Points × point size-0.0015-0.0012
Spot + adjustment = forward1.098501.09900
(Forward − spot) / point size-15-12

The table can scroll horizontally. Focus the table region and use the arrow keys to inspect its columns.

Forward spread: 1.09900 − 1.09850 = 0.00050 USD per EUR.

Spread in the declared points: 5.

Spread check: spot spread 0.0002 + ((-12) − (-15)) × 0.0001 = 0.0005.

Recovering the entered points checks the arithmetic. It does not independently verify the provider's signs, scale or value date.

Quote-currency amount

Selling 100,000 EUR at Bid 1.09850 gives 109,850.00 USD.

For comparison, the other direction at the same entered quantity:

Buying 100,000 EUR at Ask 1.09900 requires 109,900.00 USD.

These are arithmetic amounts under your stated quote, not profit, commission, margin or an available trade. Settlement rounding and separate charges are not applied.

Rates and amounts below retain the exact entered-decimal calculation. A non-terminating spread in points is shown as an exact fraction plus an explicitly approximate decimal. CSV keeps the exact values and fraction; it does not apply currency settlement rounding.

This component keeps your entries in page memory. It does not send them to a server or write them to persistent browser storage. This statement does not cover sitewide analytics.

Let S be the spot rate, P the signed points and c the positive point size. The two calculations are F_bid = S_bid + P_bid × c and F_ask = S_ask + P_ask × c. Multiplying points by c gives a rate adjustment in QUOTE per BASE, which can then be added to the spot rate in the same units.

For example, −15 points at c = 0.0001 means −0.0015 in the exchange rate. It does not mean −15%, −15 currency units or an automatic charge of 15 pips on a trade. Keep the declared scale attached to the points whenever you copy them into a worksheet.

Use the checker to calculate your own normalized inputs or inspect a fictional preset. It shows the multiplication and addition for both sides, the final spread, the inverse check and an optional currency amount. Editing any input removes the previous result and its export until you apply the new inputs.

Enter separately signed points only after confirming the source convention. Do not split an unexplained dealer quote such as 15/12 into these fields and let the tool guess. A calculation is available without a quantity; without a confirmed scale, side assignment or common value date, stop and ask the quote provider.

The price-units guide explains why a pip, a platform point and a tick need not be the same unit. A terminal’s _Point value is not evidence of the scale used by an independent forward-points quotation.

Negative points: verify the whole EUR/USD calculation

These are fictional inputs for one common future value date, not market quotes. EUR is BASE, USD is QUOTE, and c = 0.0001 USD per EUR. Start with spot 1.10000/1.10020 and confirmed direct adjustments −15/−12. Carry all digits through the calculation before formatting the result.

Step

Bank Bid

Bank Ask

Spot rate, USD per EUR

1.10000

1.10020

Signed points

−15

−12

Points × 0.0001

−0.00150

−0.00120

Forward rate, USD per EUR

1.09850

1.09900

Inverse check: (forward − spot) / 0.0001

−15

−12

Scroll sideways to compare all columns ↔

The forward spread is 1.09900 − 1.09850 = 0.00050 USD per EUR. Divide by the declared point size: 0.00050 / 0.0001 = 5 points. The spot spread was 2 points; the difference between the signed adjustments is −12 − (−15) = 3 points. Thus the final spread is 2 + 3 = 5 points.

For a quantity of 100,000 EUR, selling EUR at the bank’s forward Bid gives 100,000 × 1.09850 = 109,850 USD. Buying 100,000 EUR at its Ask requires 100,000 × 1.09900 = 109,900 USD. The 50 USD difference is the arithmetic difference between the two side amounts for the same quantity. It is not an identified separate commission, a realized loss or an expected profit.

The inverse check is useful when transferring a quote between systems: (1.09850 − 1.10000) / 0.0001 = −15 and (1.09900 − 1.10020) / 0.0001 = −12. If your sheet returns a different sign or a tenfold value, check the inputs and scale before interpreting the economics.

Positive points, a narrower spread and an incomplete quote

Positive adjustments follow exactly the same rule. With spot 1.10000/1.10020, points +20/+23 and c = 0.0001, the outright is 1.10200/1.10250. Its spread is again 0.00050, or 5 declared points. Addition does not require a new formula when the sign changes.

The order of the points alone does not determine whether this direct-adjustment calculation is valid. Take spot 1.1000/1.1004, points +3/+1 and c = 0.0001: the result is 1.1003/1.1005. The 4-point spot spread narrows to 2 points but remains nonnegative. Rejecting this example merely because 3 is greater than 1 would apply an extra convention that these input fields do not claim to enforce.

A different input can genuinely cross the outright quote. Keep spot 1.1000/1.1004 but use +6/+1: the result would be 1.1006/1.1005, so Bid exceeds Ask. The checker rejects that result; it does not swap the sides, take an absolute spread or silently replace the points.

An unsigned quote “15/12” remains unresolved. Do not conclude “subtract because the first number is larger”, assume a pip scale or reverse the sides. Ask for the signed adjustment assigned to each corresponding spot side, the scale and the settlement date. The valid +3/+1 example above is not permission to reinterpret unidentified market shorthand.

Use a short verification checklist

  • Confirm the pair direction and write QUOTE per BASE beside every rate. Do not mix a reciprocal pair with the original sides.
  • Confirm that spot Bid and Ask come from the same quote, and that both forward adjustments refer to the same future value date and convention.
  • Record the point size explicitly. Multiply each signed point value by that scale; do not round the adjustment before addition.
  • Require positive spot and forward rates, a positive point size, spot Bid ≤ Ask and forward Bid ≤ Ask. Equal sides are arithmetically allowed, but do not prove that such a market is available.
  • Calculate both the rate spread and its equivalent in declared points. Recover each point adjustment with (F − S) / c.
  • If entering a quantity, use BASE units and confirm whether you buy or sell BASE. Retain the quote-currency label on the resulting amount.

Missing information is not zero. A blank point field could mean “not provided”, whereas an explicit zero means no adjustment to that side under the stated convention. The tool rejects unsupported numbers and precision rather than replacing them with a default. Its input limits are shown beside the controls.

A spread expressed in points need not be a whole number. If division by the chosen scale produces a repeating decimal, keep an exact fractional representation in the check record rather than claiming that a shortened display is the original exact value. Currency amounts here retain the exact decimal product; contractual settlement rounding is not applied.

What the converted quote does—and does not—establish

Forward pricing is connected to the relative financing conditions of the two currencies. The MNB handbook, sections 3.2–3.4 gives the quotation and interest-parity framework. That framework explains why a forward rate can differ from spot without representing a prediction of where spot will trade on the future date.

The National Bank of Georgia’s forward-market explanation separately identifies an indicative index and a bank’s individual quote, and states that the forward index is not an exchange-rate forecast. A calculation from your entered points checks the arithmetic of those points; it does not turn them into current, firm or representative market data.

The BIS discussion of covered interest parity and the cross-currency basis explains why funding conditions and limits to arbitrage matter. A simple spot-plus-points converter therefore cannot certify a fair dealer price or a riskless opportunity. This guide does not construct discount curves, estimate basis or recommend a hedge.

A retail overnight swap is a different task. To examine a platform’s stated holding charges, use the forex swap calculator. Do not use forward points as a substitute for its per-lot charges, rollover schedule or account-specific terms. The present calculation also excludes separate fees, collateral, margin, credit arrangements and settlement instructions.

Keep a calculation record that another reader can reproduce

Save the original quote and the information needed to interpret it: pair, observation time if available, future value date, provider convention, each signed adjustment, point size and any quantity/direction. Do not relabel an old teaching example as today’s price. The source documents explain methods; their publication dates are not market-data timestamps.

Download the fictional reference calculation and the verification protocol. The protocol lets you record unresolved fields and the checks performed, including the reverse conversion. The interactive export records the applied inputs and exact outputs so you can compare them with your own spreadsheet without retyping the values.

Without JavaScript, the complete reference table and static files remain usable. Interactive calculations require JavaScript. Inputs entered into this component stay in page memory: the component does not send them to a server or save them in persistent storage. This statement concerns the checker only; it is not a claim about sitewide analytics.

A successful check means the declared inputs produce a positive, non-crossed forward quote under this one convention. If the source has not confirmed the sign, scale, sides or date, the useful result is a list of missing information—not an invented price.

Questions that change the calculation

Are forward points always pips?

No universal scale is assumed here. A provider may define its displayed unit differently from a terminal point or a familiar pip. Obtain the rate change represented by one quoted point and enter that positive number as c. The same point count with a different c gives a different outright rate.

Does a negative adjustment mean I pay a fee?

It means the corresponding forward rate is below its spot side under the stated convention. To calculate an amount, you still need the pair direction, quantity and buy/sell side. This conversion does not identify a separate fee or the economic gain or loss on a future transaction.

Can I use a single mid rate or one point value?

A mid-rate calculation can illustrate one arithmetic adjustment, but it does not supply the missing Bid/Ask quote. This checker requires both spot sides and both signed adjustments. Do not invent a spread or copy an unknown side just to obtain a result.

Why can points Bid be greater than points Ask here?

These fields are direct signed adjustments to an already two-sided spot quote. The final spread equals the spot spread plus (P_ask − P_bid) × c. That expression can remain nonnegative even if P_bid exceeds P_ask. This property does not define the quoting convention of a dealer’s raw points market.

Can the tool calculate the one-month settlement date?

No. It records one supplied future value date for the whole calculation. A tenor such as one month can require trade-date, spot-date, holiday and business-day conventions that are outside this tool. Obtain the agreed date before using a quote for a specific obligation.

Can I compare two providers using only these outputs?

Only after confirming that their inputs refer to matching pair direction, timing, value date, units, side convention and contractual terms. This checker can reveal arithmetic differences. It does not establish executability, total transaction cost, counterparty suitability or a recommendation to trade.

Sources & further reading

Trading costs
Pips, points and ticksCheck the unit before scaling a forward adjustment.Forex swap calculatorExamine stated overnight holding charges as a separate calculation.
All guides