Your open position is the difference, product by product, between the goods you have bought and the goods you have sold. If you have bought more than you have sold, you are long —"bought, unsold"—; if you have sold more than you have bought, you are short —"sold, not yet bought"—. "Long" and "short" are the trade’s own terms, and for as long as the difference is not zero, the price of that difference is your risk.
The sum is short, but it misleads. In this article’s example —three products and seven contracts— adding up every tonne says "+50 t"; the reality is that you are 10 t short in coffee and 60 t long in sugar, and if both prices fall you win on one and lose on the other. Below you have the test, the sum and how to build it in a spreadsheet in one afternoon.
Do you have the problem? The 10-second test
Pick your main product, start a stopwatch and answer out loud, without calling anyone:
- How many tonnes of that product do you have bought but not sold?
- How many do you have sold but not bought?
- Which month is each one in?
If it takes you more than ten seconds, you open more than one tab or you ask someone, you have the problem. This is a rule of thumb, not a market statistic: a position you cannot read at a glance is a position nobody watches, and you find out about it once the price has already moved.
What does being long or short mean in physical commodities?
In futures markets, the buyer of a contract is long and the seller is short. The FAO working document on market-based instruments for agricultural price risk explains where the terms come from: a trader who buys more than they sell sees their working stock grow and becomes "long"; one who sells more than he buys sees it run down and becomes "short". On your desk it is the same with physical contracts: you do not need to hold the goods in a warehouse, a purchase contract with no sale behind it is enough.
| Situation | Called | If the price falls | If the price rises |
|---|---|---|---|
| Bought, not sold | Long | You lose: you sell for less than you paid | You gain: you sell for more than you paid |
| Sold, not bought | Short | You gain: you buy for less than you sold at | You lose: you buy for more than you sold at |
| Bought and sold in the same tonnes | Matched | The price margin is already fixed | The price margin is already fixed |
How do you calculate an open position? An example with coffee, cocoa and sugar
The method: one row per open contract, purchases with a plus sign and sales with a minus sign, everything in tonnes, and add up by product. The example is illustrative and constructed: the contracts, tonnes and prices are not market data.
| Contract | Product | Month | Trade | Tonnes |
|---|---|---|---|---|
| A | Green coffee | November | Purchase | +60 |
| B | Green coffee | November | Sale | −40 |
| C | Green coffee | December | Sale | −30 |
| D | Cocoa beans | December | Purchase | +50 |
| E | Cocoa beans | December | Sale | −50 |
| F | Sugar | December | Purchase | +100 |
| G | Sugar | December | Sale | −40 |
Position = tonnes bought − tonnes sold
Green coffee: 60 − (40 + 30) = −10 t → short
Cocoa beans: 50 − 50 = 0 t → matched
Sugar: 100 − 40 = +60 t → long| Product | Net position | Price | Value of the position | Effect of a 5 % move |
|---|---|---|---|---|
| Green coffee | −10 t (short) | $4,000/t | $40,000 | If it rises: −$2,000. If it falls: +$2,000 |
| Cocoa beans | 0 t (matched) | — | $0 | None |
| Sugar | +60 t (long) | $600/t | $36,000 | If it falls: −$1,800. If it rises: +$1,800 |
The sums are straightforward: 10 t × $4,000/t × 5 % = $2,000, and 60 t × $600/t × 5 % = $1,800. The useful question is not "how many tonnes" but "how much money moves if the price moves by what I consider reasonable". The 5 % is only an example: you decide that move.
Why does the total of all your tonnes mislead?
In the example, adding everything up gives +50 t (−10 + 0 + 60), a useless number. The total hides the real position in four ways.
1. Different products do not offset each other
Being 60 t long in sugar does not cover being 10 t short in coffee. If both prices fall by 5 %, you gain $2,000 on the coffee and lose $1,800 on the sugar: two different risks, for different amounts. The position is calculated by product and, within a product, by grade if the grades are priced differently.
2. Different months do not either
Coffee adds up to −10 t, but by month it is 20 t long in November (60 − 40) and 30 t short in December. Those are two positions with different dates. With the same price in both months, a 5 % fall costs $4,000 in November (20 t × $4,000 × 5 %) and earns $6,000 in December (30 t × $4,000 × 5 %).
3. Different units cannot be added
Kilos, pounds, bags or containers are converted to metric tonnes first: a kilo is 0.001 t and a pound is 0.00045359237 t. For bags and containers, use the actual weight in the contract.
4. Different currencies open another front
Tonnes do not depend on the currency, but the money at stake does. A purchase in dollars and a sale in euros can be matched in tonnes and still be open in currency: that is FX risk, which is measured separately from the price of the goods.
Open position or closed margin?
They get confused, but they are different. The closed margin is what you lock in when you buy and sell the same tonnes at firm prices: the difference between the two prices no longer depends on the market. The open position is what you have not yet matched. A deal can show a good margin in your sheet and still leave you exposed on what is missing, like the 60 t of sugar.
Matched does not mean collected either: the margin you fixed can still shrink through costs, weight loss and claims, as shown in the margin you actually collect.
Being long also costs money even if the price does not move, because the money paid to the supplier is tied up. With the 60 t of unsold sugar ($36,000 at the example price), 5 % a year and 60 days, the financing cost of the money you advance is 36,000 × 5 % × 60 ÷ 360 = $300. And if those goods reach port with no buyer to collect them, the container’s free days start to run out.
What can you do when you are long or short?
There are four ways out, none of them right by default:
- Close it with another physical contract. If you are long, sell the excess; if you are short, buy what is missing. It is the cleanest route, if there is a counterparty.
- Cover it with a derivative. Hedging means taking, in futures or other derivatives, a position opposite to the one you hold in physical; that is how the CFTC glossary defines it, and it also defines basis as the difference between the cash price and the price of the nearest futures contract. Because that basis moves, a hedge does not offset the physical position to the cent.
- Accept it knowingly. With a written limit per product and per month —a maximum of long or short tonnes— and one person who watches it. You set the limit.
- Renegotiate dates or quantities with the supplier or the customer, so that the month and the tonnes line up.
How do you calculate your open position in a spreadsheet in one afternoon?
You do not need new software. With your open contracts and one afternoon:
- One row per open contract, not per deal or per tab: product, month, purchase or sale, tonnes, price, currency and whether the price is fixed. Remove the ones already settled.
- Convert everything to metric tonnes with a conversion column (kilos × 0.001; pounds × 0.00045359237).
- Give it a sign: purchases positive and sales negative, in a "Signed tonnes" column.
- Add up by product and month with a pivot table or a formula such as
=SUMIFS(F:F, B:B, "Green coffee", C:C, "November"), where F is signed tonnes, B the product and C the month. - Multiply by the price and by the reasonable move (the 5 % in the example) to see the money at stake, and update it with every new or closed contract.
A range that does not include the new row leaves the position wrong with no visible error; it is explained in the range that falls short when you insert a row.
What Granel does with this, and what it does not
Granel calculates an open position under "Intelligence", "Analytics", "Position" tab. It works per deal, not per individual contract: each deal carries a sell price and a buy price, and what counts is which of the two is fixed. If only the buy price is there, it marks the deal as Long (bought, unsold); if only the sell price is there, as Short (sold, unsourced); if both are there, as Matched. Only deals that are confirmed, shipped, in transit, arrived or delivered are included; drafts and negotiations appear as a pipeline note, and settled and closed deals do not count.
From that it shows long and short tonnes, the net position, the matched percentage and the committed amount in your base currency at today’s exchange rate, broken down by product and by month (by loading date or, if missing, contract date), plus the list of open deals, all in metric tonnes. It also values longs and shorts against the latest reference price you record under Products (mark-to-market, or unrealised P&L). It is a snapshot as of today, with no period.
What Granel does not do: it does not calculate the goods you hold in a warehouse, it does not record futures or options or match them against the physical position, and it does not connect to exchanges or price feeds, because you type the reference price in by hand. A deal in containers adds 0 tonnes, it does not split the position by origin, destination or grade, and it does not warn you if you exceed a limit. The amount it shows is notional exposure, not a probable loss.
One more limit: the app requires both prices to confirm a deal, so a deal confirmed in it is born matched. One-leg positions mostly come from imported deals that carry a single price. The eight sample deals Granel loads are all matched: the demo shows the module, with no longs or shorts.
Frequently asked questions
What is an open position in physical commodity trading?
It is the difference, by product, between the goods bought and the goods sold. If you bought more than you sold, you are long; if you sold more, you are short. For as long as it is not zero, the price gives you money or takes it away.
What does being long or short mean?
Long is having more bought than sold: a falling price hurts you. Short is having sold more than you have bought: a rising price hurts you, because you will have to buy to deliver. They are the trade’s terms for "bought, unsold" and "sold, not yet bought".
How do you calculate an open position?
Add up the tonnes bought and subtract the tonnes sold, product by product and month by month, all in metric tonnes. Positive is long; negative, short. In the example, coffee gives 60 − 70 = −10 t.
Is an open position always bad?
No. It can be carried on purpose, with a written limit per product and per month. The problem is carrying one without knowing it.
Do you need software to control your open position?
With few contracts, a well-built sheet is enough. It usually stops being enough when there are unfixed prices, several units and currencies, and several people editing, because it costs more to maintain than to read. At that point it makes sense for the position to come out of the deals.
