@sdelsad/commodity-desk-daily 1.0.60 → 1.0.62
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/covered.md +1 -0
- package/ep19.html +801 -0
- package/ep19.md +283 -0
- package/ep19.script.txt +96 -0
- package/ep19_chart1.png +0 -0
- package/ep19_chart2.png +0 -0
- package/ep19_chart3.png +0 -0
- package/feed.xml +12 -0
- package/glossary.md +11 -0
- package/package.json +2 -2
- package/email.html +0 -122
- package/email.txt +0 -556
- package/ep18.md +0 -258
- package/ep18.script.txt +0 -103
package/ep19.html
ADDED
|
@@ -0,0 +1,801 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en" data-theme="light">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
6
|
+
<title>Ep 19 — Basis Deep Dive and Origination · Soft Commodity Trading</title>
|
|
7
|
+
<meta name="description" content="Basis has four ingredients and not one of them is a view on price. Then the other half of a merchant's job: buying grain from the people who grow it, one risk at a time.">
|
|
8
|
+
<meta name="author" content="Sébastien Delsad">
|
|
9
|
+
<link rel="canonical" href="https://storage.googleapis.com/podcast-audio-2647223968/commodity-desk-daily/ep19.html">
|
|
10
|
+
<meta property="og:type" content="article">
|
|
11
|
+
<meta property="og:site_name" content="Soft Commodity Trading">
|
|
12
|
+
<meta property="og:title" content="Ep 19 — Basis Deep Dive and Origination">
|
|
13
|
+
<meta property="og:description" content="Basis has four ingredients and not one of them is a view on price. Then the other half of a merchant's job: buying grain from the people who grow it, one risk at a time.">
|
|
14
|
+
<meta property="og:url" content="https://storage.googleapis.com/podcast-audio-2647223968/commodity-desk-daily/ep19.html">
|
|
15
|
+
<meta property="og:image" content="https://cdn.jsdelivr.net/npm/@sdelsad/commodity-desk-daily@1.0.15/cover.jpg">
|
|
16
|
+
<meta property="og:image:alt" content="Soft Commodity Trading cover art">
|
|
17
|
+
<meta property="og:audio" content="https://cdn.jsdelivr.net/npm/@sdelsad/commodity-desk-daily@1.0.61/ep19.mp3">
|
|
18
|
+
<meta property="og:audio:type" content="audio/mpeg">
|
|
19
|
+
<meta property="article:published_time" content="2026-09-11">
|
|
20
|
+
<meta name="twitter:card" content="summary_large_image">
|
|
21
|
+
<meta name="twitter:title" content="Ep 19 — Basis Deep Dive and Origination">
|
|
22
|
+
<meta name="twitter:description" content="Basis has four ingredients and not one of them is a view on price. Then the other half of a merchant's job: buying grain from the people who grow it, one risk at a time.">
|
|
23
|
+
<meta name="twitter:image" content="https://cdn.jsdelivr.net/npm/@sdelsad/commodity-desk-daily@1.0.15/cover.jpg">
|
|
24
|
+
<meta name="theme-color" content="#faf7f1" media="(prefers-color-scheme: light)">
|
|
25
|
+
<meta name="theme-color" content="#14110e" media="(prefers-color-scheme: dark)">
|
|
26
|
+
<link rel="alternate" type="application/rss+xml" title="Soft Commodity Trading" href="https://storage.googleapis.com/podcast-audio-2647223968/commodity-desk-daily/feed.xml">
|
|
27
|
+
<link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Crect width='64' height='64' rx='12' fill='%231d4032'/%3E%3Ctext x='32' y='44' font-family='Georgia,serif' font-size='34' fill='%23c9a45c' text-anchor='middle'%3ES%3C/text%3E%3C/svg%3E">
|
|
28
|
+
<script type="application/ld+json">
|
|
29
|
+
{
|
|
30
|
+
"@context": "https://schema.org",
|
|
31
|
+
"@type": "PodcastEpisode",
|
|
32
|
+
"url": "https://storage.googleapis.com/podcast-audio-2647223968/commodity-desk-daily/ep19.html",
|
|
33
|
+
"name": "Ep 19 — Basis Deep Dive and Origination",
|
|
34
|
+
"episodeNumber": 19,
|
|
35
|
+
"duration": "PT10M47S",
|
|
36
|
+
"description": "Basis has four ingredients and not one of them is a view on price. Then the other half of a merchant's job: buying grain from the people who grow it, one risk at a time.",
|
|
37
|
+
"image": "https://cdn.jsdelivr.net/npm/@sdelsad/commodity-desk-daily@1.0.15/cover.jpg",
|
|
38
|
+
"inLanguage": "en",
|
|
39
|
+
"author": {
|
|
40
|
+
"@type": "Person",
|
|
41
|
+
"name": "Sébastien Delsad"
|
|
42
|
+
},
|
|
43
|
+
"associatedMedia": {
|
|
44
|
+
"@type": "MediaObject",
|
|
45
|
+
"contentUrl": "https://cdn.jsdelivr.net/npm/@sdelsad/commodity-desk-daily@1.0.61/ep19.mp3",
|
|
46
|
+
"encodingFormat": "audio/mpeg"
|
|
47
|
+
},
|
|
48
|
+
"partOfSeries": {
|
|
49
|
+
"@type": "PodcastSeries",
|
|
50
|
+
"name": "Soft Commodity Trading",
|
|
51
|
+
"url": "https://storage.googleapis.com/podcast-audio-2647223968/index.html",
|
|
52
|
+
"image": "https://cdn.jsdelivr.net/npm/@sdelsad/commodity-desk-daily@1.0.15/cover.jpg",
|
|
53
|
+
"webFeed": "https://storage.googleapis.com/podcast-audio-2647223968/commodity-desk-daily/feed.xml"
|
|
54
|
+
},
|
|
55
|
+
"datePublished": "2026-09-11"
|
|
56
|
+
}
|
|
57
|
+
</script>
|
|
58
|
+
<style>
|
|
59
|
+
:root{
|
|
60
|
+
--ink:#16110c; --ink-soft:#4a4238; --line:#e3ddd2; --paper:#faf7f1;
|
|
61
|
+
--accent:#1d4032; --gold:#a8813c; --spoiler:#8a2f2f;
|
|
62
|
+
--tint:rgba(128,110,70,.07); --tint-2:rgba(128,110,70,.045);
|
|
63
|
+
--up:#215c44; --down:#8a2f2f; --shadow:rgba(22,17,12,.14);
|
|
64
|
+
--sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
|
|
65
|
+
--serif:Georgia,"Iowan Old Style","Times New Roman",serif;
|
|
66
|
+
--col:680px;
|
|
67
|
+
}
|
|
68
|
+
html[data-theme="dark"]{
|
|
69
|
+
--ink:#ece6dc; --ink-soft:#a49c90; --line:#2f2a24; --paper:#14110e;
|
|
70
|
+
--accent:#7fae95; --gold:#c9a45c; --spoiler:#d98a8a;
|
|
71
|
+
--tint:rgba(200,180,130,.06); --tint-2:rgba(200,180,130,.035);
|
|
72
|
+
--up:#7fae95; --down:#d98a8a; --shadow:rgba(0,0,0,.55);
|
|
73
|
+
color-scheme:dark;
|
|
74
|
+
}
|
|
75
|
+
*{box-sizing:border-box}
|
|
76
|
+
html{scroll-behavior:smooth;scroll-padding-top:64px}
|
|
77
|
+
html,body{transition:background-color .25s ease,color .25s ease}
|
|
78
|
+
body{margin:0;background:var(--paper);color:var(--ink);
|
|
79
|
+
font:18px/1.72 var(--serif);-webkit-font-smoothing:antialiased;
|
|
80
|
+
text-rendering:optimizeLegibility}
|
|
81
|
+
.wrap{max-width:var(--col);margin:0 auto;padding:0 24px 40px}
|
|
82
|
+
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);
|
|
83
|
+
white-space:nowrap}
|
|
84
|
+
|
|
85
|
+
/* ---------- reading progress ---------- */
|
|
86
|
+
#bar{position:fixed;top:0;left:0;height:2px;width:0;z-index:30;
|
|
87
|
+
background:var(--gold);transition:width .12s linear}
|
|
88
|
+
|
|
89
|
+
/* ---------- masthead ---------- */
|
|
90
|
+
header{padding:52px 0 30px}
|
|
91
|
+
.masthead{display:flex;justify-content:space-between;align-items:baseline;gap:16px;
|
|
92
|
+
padding-bottom:12px;border-bottom:1px solid var(--ink);
|
|
93
|
+
font:600 13px/1 var(--sans);letter-spacing:.13em;text-transform:uppercase}
|
|
94
|
+
.masthead a{color:inherit;text-decoration:none}
|
|
95
|
+
.masthead .epno{color:var(--gold);letter-spacing:.1em}
|
|
96
|
+
h1{font-size:clamp(31px,5.6vw,44px);line-height:1.12;margin:26px 0 0;
|
|
97
|
+
letter-spacing:-.017em;font-weight:400;text-wrap:balance}
|
|
98
|
+
.dek{color:var(--ink-soft);font-size:20px;line-height:1.5;margin:16px 0 0;
|
|
99
|
+
max-width:34em;text-wrap:pretty}
|
|
100
|
+
.meta{margin-top:22px;font:12.5px/1.6 var(--sans);color:var(--ink-soft);
|
|
101
|
+
letter-spacing:.05em;text-transform:uppercase}
|
|
102
|
+
.meta b{font-weight:600;color:var(--ink)}
|
|
103
|
+
|
|
104
|
+
/* ---------- listen ---------- */
|
|
105
|
+
.listen{margin-top:26px;border:1px solid var(--line);border-radius:12px;
|
|
106
|
+
background:var(--tint-2);padding:16px 18px 14px}
|
|
107
|
+
audio{width:100%;height:38px;display:block}
|
|
108
|
+
.listenrow{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;
|
|
109
|
+
margin-top:12px;font:12.5px/1 var(--sans);color:var(--ink-soft)}
|
|
110
|
+
.listenrow a{color:var(--ink-soft);text-decoration:none;border-bottom:1px solid var(--line)}
|
|
111
|
+
.listenrow a:hover{color:var(--accent);border-color:var(--accent)}
|
|
112
|
+
.rates{display:flex;gap:6px;margin-right:auto}
|
|
113
|
+
.rate{background:none;border:1px solid var(--line);color:var(--ink-soft);
|
|
114
|
+
border-radius:99px;padding:4px 10px;cursor:pointer;
|
|
115
|
+
font:600 11.5px/1 var(--sans);letter-spacing:.04em;transition:all .2s}
|
|
116
|
+
.rate:hover{border-color:var(--gold);color:var(--ink)}
|
|
117
|
+
.rate[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
|
|
118
|
+
.offline{background:none;border:1px solid var(--accent);color:var(--accent);
|
|
119
|
+
border-radius:99px;padding:5px 12px;cursor:pointer;
|
|
120
|
+
font:600 11.5px/1 var(--sans);letter-spacing:.04em;transition:all .2s}
|
|
121
|
+
.offline:hover{background:var(--accent);color:var(--paper)}
|
|
122
|
+
.offline[disabled]{opacity:.7;cursor:progress}
|
|
123
|
+
.offline.saved{background:var(--accent);color:var(--paper)}
|
|
124
|
+
.offnote{margin:10px 0 0;font:12.5px/1.45 var(--sans);color:var(--ink-soft)}
|
|
125
|
+
|
|
126
|
+
/* ---------- contents ---------- */
|
|
127
|
+
.toc{margin:34px 0 6px;padding:16px 0 4px;border-top:1px solid var(--line);
|
|
128
|
+
border-bottom:1px solid var(--line)}
|
|
129
|
+
.tochead{font:600 11px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;
|
|
130
|
+
color:var(--gold);margin:0 0 12px}
|
|
131
|
+
.toc ol{list-style:none;margin:0 0 12px;padding:0;
|
|
132
|
+
font:14.5px/1.5 var(--sans);columns:2;column-gap:26px}
|
|
133
|
+
.toc li{margin:0 0 7px;break-inside:avoid}
|
|
134
|
+
.toc li.t3{padding-left:12px;font-size:13.5px}
|
|
135
|
+
.toc a{color:var(--ink-soft);text-decoration:none;border-bottom:1px solid transparent}
|
|
136
|
+
.toc a:hover{color:var(--ink);border-color:var(--gold)}
|
|
137
|
+
.toc li.on>a{color:var(--ink);font-weight:600}
|
|
138
|
+
|
|
139
|
+
/* ---------- body ---------- */
|
|
140
|
+
main{padding-top:8px}
|
|
141
|
+
h2{font:400 27px/1.25 var(--serif);color:var(--gold);margin:56px 0 18px;
|
|
142
|
+
font-variant-caps:all-small-caps;letter-spacing:.045em;
|
|
143
|
+
padding-bottom:9px;border-bottom:1px solid var(--line)}
|
|
144
|
+
h3{font-size:23px;line-height:1.3;margin:38px 0 10px;letter-spacing:-.012em;
|
|
145
|
+
font-weight:400}
|
|
146
|
+
h4{font:600 17px/1.4 var(--sans);margin:26px 0 6px;letter-spacing:-.005em}
|
|
147
|
+
p{margin:0 0 18px}
|
|
148
|
+
h2+p,h3+p,h4+p{margin-top:0}
|
|
149
|
+
ul,ol{margin:0 0 18px;padding-left:24px}
|
|
150
|
+
li{margin:0 0 9px}
|
|
151
|
+
li::marker{color:var(--gold)}
|
|
152
|
+
strong{font-weight:700}
|
|
153
|
+
a{color:var(--accent);text-underline-offset:2px;text-decoration-thickness:1px}
|
|
154
|
+
.anchor{float:right;margin-left:12px;color:var(--line);text-decoration:none;
|
|
155
|
+
font:400 16px/1 var(--sans);opacity:0;transition:opacity .2s}
|
|
156
|
+
h2:hover .anchor,h3:hover .anchor,.anchor:focus{opacity:1;color:var(--gold)}
|
|
157
|
+
.secnote{font:14.5px/1.6 var(--sans);color:var(--ink-soft);margin:-4px 0 18px}
|
|
158
|
+
code{background:var(--tint);padding:1px 5px;border-radius:3px;
|
|
159
|
+
font:15px/1 ui-monospace,Menlo,Consolas,monospace}
|
|
160
|
+
blockquote{border-left:2px solid var(--gold);margin:26px 0;padding:6px 0 6px 20px;
|
|
161
|
+
font-style:italic;color:var(--ink-soft);font-size:17.5px}
|
|
162
|
+
blockquote strong{font-style:normal;color:var(--ink);font-weight:600}
|
|
163
|
+
hr{border:none;border-top:1px solid var(--line);margin:40px 0}
|
|
164
|
+
.charterr{color:var(--spoiler);font:14px/1.5 var(--sans)}
|
|
165
|
+
|
|
166
|
+
/* ---------- tables ---------- */
|
|
167
|
+
.tablewrap{margin:26px 0;overflow-x:auto;overscroll-behavior-x:contain;
|
|
168
|
+
background:
|
|
169
|
+
linear-gradient(to right,var(--paper) 34%,rgba(255,255,255,0)) left center,
|
|
170
|
+
linear-gradient(to left,var(--paper) 34%,rgba(255,255,255,0)) right center,
|
|
171
|
+
radial-gradient(farthest-side at 0 50%,var(--shadow),rgba(255,255,255,0)) left center,
|
|
172
|
+
radial-gradient(farthest-side at 100% 50%,var(--shadow),rgba(255,255,255,0)) right center;
|
|
173
|
+
background-repeat:no-repeat;
|
|
174
|
+
background-size:44px 100%,44px 100%,13px 100%,13px 100%;
|
|
175
|
+
background-attachment:local,local,scroll,scroll}
|
|
176
|
+
.tablewrap:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
|
|
177
|
+
table{width:100%;border-collapse:collapse;font:15.5px/1.5 var(--sans);
|
|
178
|
+
font-variant-numeric:tabular-nums lining-nums}
|
|
179
|
+
th{text-align:left;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;
|
|
180
|
+
color:var(--ink-soft);border-bottom:1px solid var(--ink);padding:0 14px 9px 0;
|
|
181
|
+
font-weight:600;white-space:nowrap}
|
|
182
|
+
td{padding:10px 14px 10px 0;border-bottom:1px solid var(--line);vertical-align:top}
|
|
183
|
+
th:last-child,td:last-child{padding-right:0}
|
|
184
|
+
th.num,td.num{text-align:right;white-space:nowrap}
|
|
185
|
+
tbody tr:last-child td{border-bottom:none}
|
|
186
|
+
tr td:first-child{font-weight:600;padding-right:20px;min-width:9em}
|
|
187
|
+
.mv{font-weight:600;font-variant-numeric:tabular-nums}
|
|
188
|
+
.mv.up{color:var(--up)} .mv.down{color:var(--down)} .mv.flat{color:var(--ink-soft)}
|
|
189
|
+
|
|
190
|
+
/* ---------- quiz and solutions ---------- */
|
|
191
|
+
.qq{scroll-margin-top:70px}
|
|
192
|
+
.solnbar{display:flex;gap:8px;margin:0 0 16px}
|
|
193
|
+
.ghost{background:none;border:1px solid var(--line);color:var(--ink-soft);
|
|
194
|
+
border-radius:99px;padding:6px 14px;cursor:pointer;
|
|
195
|
+
font:600 11.5px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;
|
|
196
|
+
transition:all .2s}
|
|
197
|
+
.ghost:hover{border-color:var(--gold);color:var(--ink)}
|
|
198
|
+
details.soln{margin:0 0 10px;scroll-margin-top:70px}
|
|
199
|
+
details.soln>summary{cursor:pointer;list-style:none;display:flex;align-items:center;
|
|
200
|
+
gap:12px;border:1px solid var(--line);border-left:3px solid var(--spoiler);
|
|
201
|
+
border-radius:7px;padding:11px 16px;transition:all .2s;background:var(--tint-2)}
|
|
202
|
+
summary::-webkit-details-marker{display:none}
|
|
203
|
+
details.soln>summary:hover{border-color:var(--spoiler);background:var(--tint)}
|
|
204
|
+
.qn{font:700 13px/1 var(--sans);letter-spacing:.08em;color:var(--spoiler);
|
|
205
|
+
text-transform:uppercase}
|
|
206
|
+
.sl{font:500 12.5px/1 var(--sans);color:var(--ink-soft);letter-spacing:.05em}
|
|
207
|
+
details[open]>summary .sl{opacity:.6}
|
|
208
|
+
.solnbody{border-left:2px solid var(--accent);margin:14px 0 22px 3px;
|
|
209
|
+
padding:2px 0 2px 20px;font-size:17.5px}
|
|
210
|
+
.backq{font:12.5px/1 var(--sans);margin:0}
|
|
211
|
+
.backq a{color:var(--ink-soft);text-decoration:none}
|
|
212
|
+
.backq a:hover{color:var(--accent)}
|
|
213
|
+
|
|
214
|
+
/* ---------- glossary ---------- */
|
|
215
|
+
details.gloss>summary,details.archive>summary{cursor:pointer;list-style:none;
|
|
216
|
+
display:flex;align-items:baseline;justify-content:space-between;gap:14px;
|
|
217
|
+
border:1px solid var(--line);border-radius:8px;padding:13px 18px;
|
|
218
|
+
font:600 14px/1 var(--sans);letter-spacing:.03em;transition:all .2s;
|
|
219
|
+
background:var(--tint-2)}
|
|
220
|
+
details.gloss>summary:hover,details.archive>summary:hover{border-color:var(--gold)}
|
|
221
|
+
.glossbody{padding:22px 2px 6px}
|
|
222
|
+
.gsearch input{width:100%;padding:11px 14px;border:1px solid var(--line);
|
|
223
|
+
border-radius:8px;background:var(--paper);color:var(--ink);
|
|
224
|
+
font:15px/1 var(--sans)}
|
|
225
|
+
.gsearch input:focus{outline:none;border-color:var(--gold)}
|
|
226
|
+
.gchips{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0 0}
|
|
227
|
+
.gchip{background:none;border:1px solid var(--line);color:var(--ink-soft);
|
|
228
|
+
border-radius:99px;padding:6px 12px;cursor:pointer;display:flex;align-items:center;
|
|
229
|
+
gap:6px;font:600 12px/1 var(--sans);letter-spacing:.04em;transition:all .2s}
|
|
230
|
+
.gchip:hover{border-color:var(--gold);color:var(--ink)}
|
|
231
|
+
.gchip.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
|
|
232
|
+
.gn{font-weight:400;opacity:.65;font-variant-numeric:tabular-nums}
|
|
233
|
+
dl{margin:20px 0 0}
|
|
234
|
+
.gterm{padding:11px 0;border-top:1px solid var(--line)}
|
|
235
|
+
.gterm dt{font:600 15.5px/1.4 var(--sans)}
|
|
236
|
+
.gterm dd{margin:3px 0 0;font-size:16.5px;color:var(--ink-soft)}
|
|
237
|
+
.gep{font:600 10.5px/1 var(--sans);letter-spacing:.09em;text-transform:uppercase;
|
|
238
|
+
color:var(--ink-soft);border:1px solid var(--line);border-radius:99px;
|
|
239
|
+
padding:3px 7px;white-space:nowrap;margin-left:4px}
|
|
240
|
+
.gep.now{color:var(--gold);border-color:var(--gold)}
|
|
241
|
+
.gnone{font:15px/1.5 var(--sans);color:var(--ink-soft);padding:16px 0}
|
|
242
|
+
|
|
243
|
+
/* ---------- episode navigation ---------- */
|
|
244
|
+
.epnav{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:56px 0 20px;
|
|
245
|
+
padding-top:26px;border-top:1px solid var(--ink)}
|
|
246
|
+
.epnav a{display:flex;flex-direction:column;gap:5px;text-decoration:none;
|
|
247
|
+
border:1px solid var(--line);border-radius:10px;padding:16px 18px;
|
|
248
|
+
color:var(--ink);transition:all .25s}
|
|
249
|
+
.epnav a:hover{border-color:var(--gold);background:var(--tint-2)}
|
|
250
|
+
.epnav .epnext{text-align:right}
|
|
251
|
+
.epnav .dir{font:600 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;
|
|
252
|
+
color:var(--gold)}
|
|
253
|
+
.epnav .ept{font:19px/1.3 var(--serif)}
|
|
254
|
+
.epnav .epn{font:12px/1 var(--sans);color:var(--ink-soft);letter-spacing:.05em}
|
|
255
|
+
.epnav a:only-child{grid-column:1/-1;max-width:60%}
|
|
256
|
+
.epnav .epnext:only-child{margin-left:auto}
|
|
257
|
+
details.archive{margin:0 0 12px}
|
|
258
|
+
.arclist{list-style:none;margin:18px 0 6px;padding:0;font:15px/1.5 var(--sans)}
|
|
259
|
+
.arclist li{margin:0;border-top:1px solid var(--line)}
|
|
260
|
+
.arclist a{display:flex;gap:14px;padding:11px 4px;text-decoration:none;
|
|
261
|
+
color:var(--ink);transition:background .2s}
|
|
262
|
+
.arclist a:hover{background:var(--tint-2)}
|
|
263
|
+
.arclist b{color:var(--gold);font-variant-numeric:tabular-nums;font-weight:600}
|
|
264
|
+
.arclist li.here a{color:var(--ink-soft)}
|
|
265
|
+
.arclist li.here b:after{content:" · you are here";font-weight:400;
|
|
266
|
+
font-size:11px;letter-spacing:.1em;text-transform:uppercase}
|
|
267
|
+
|
|
268
|
+
/* ---------- theme button + footer ---------- */
|
|
269
|
+
.themebtn{position:fixed;top:14px;right:14px;z-index:20;background:var(--paper);
|
|
270
|
+
color:var(--ink-soft);border:1px solid var(--line);border-radius:99px;
|
|
271
|
+
padding:8px 14px;cursor:pointer;font:500 12px/1 var(--sans);letter-spacing:.06em;
|
|
272
|
+
display:flex;align-items:center;gap:7px;box-shadow:0 1px 4px var(--shadow);
|
|
273
|
+
transition:all .2s}
|
|
274
|
+
.themebtn:hover{color:var(--ink);border-color:var(--gold)}
|
|
275
|
+
.themebtn svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;
|
|
276
|
+
stroke-linecap:round;stroke-linejoin:round}
|
|
277
|
+
html[data-theme="dark"] .themebtn{box-shadow:none}
|
|
278
|
+
.themebtn .moon{display:block} .themebtn .sun{display:none}
|
|
279
|
+
html[data-theme="dark"] .themebtn .moon{display:none}
|
|
280
|
+
html[data-theme="dark"] .themebtn .sun{display:block}
|
|
281
|
+
.themebtn .lbl:after{content:"Dark"}
|
|
282
|
+
html[data-theme="dark"] .themebtn .lbl:after{content:"Light"}
|
|
283
|
+
footer{margin-top:40px;padding:24px 0 70px;border-top:1px solid var(--line);
|
|
284
|
+
font:14px/1.7 var(--sans);color:var(--ink-soft);
|
|
285
|
+
display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:space-between}
|
|
286
|
+
footer a{color:var(--ink-soft)}
|
|
287
|
+
footer a:hover{color:var(--accent)}
|
|
288
|
+
footer .sig b{color:var(--ink);font-weight:600}
|
|
289
|
+
|
|
290
|
+
/* ---------- wide screens: the rail, and the breakout ---------- */
|
|
291
|
+
@media (min-width:1240px){
|
|
292
|
+
.toc{position:fixed;top:96px;left:max(24px,calc(50% - 596px));width:216px;
|
|
293
|
+
max-height:74vh;overflow-y:auto;margin:0;padding:0;border:none;
|
|
294
|
+
border-left:1px solid var(--line);padding-left:18px;z-index:5}
|
|
295
|
+
.toc ol{columns:1;font-size:14px}
|
|
296
|
+
.toc li{margin-bottom:9px}
|
|
297
|
+
/* charts break out of the measure; tables stay aligned with the prose,
|
|
298
|
+
because a table that starts left of the paragraph above it reads as a
|
|
299
|
+
layout fault rather than as emphasis */
|
|
300
|
+
.chartfig{margin-left:-38px;margin-right:-38px;
|
|
301
|
+
padding-left:26px;padding-right:26px}
|
|
302
|
+
}
|
|
303
|
+
@media (min-width:1240px) and (max-height:620px){ .toc{display:none} }
|
|
304
|
+
|
|
305
|
+
/* ---------- phones ---------- */
|
|
306
|
+
@media (max-width:640px){
|
|
307
|
+
body{font-size:17px;line-height:1.68}
|
|
308
|
+
.wrap{padding:0 18px 32px}
|
|
309
|
+
header{padding-top:34px}
|
|
310
|
+
.dek{font-size:18px}
|
|
311
|
+
h2{font-size:24px;margin-top:44px}
|
|
312
|
+
h3{font-size:20.5px}
|
|
313
|
+
/* a phone gets the sections, not every subhead: eleven rows of contents
|
|
314
|
+
is a screenful of scrolling before the article even starts */
|
|
315
|
+
.toc li.t3{display:none}
|
|
316
|
+
.toc ol{columns:2;column-gap:18px;font-size:14px}
|
|
317
|
+
.themebtn{top:9px;right:9px;padding:7px 11px}
|
|
318
|
+
table{font-size:14.5px}
|
|
319
|
+
th{font-size:10.5px;padding-right:12px}
|
|
320
|
+
td{padding-right:12px}
|
|
321
|
+
tr td:first-child{min-width:7.5em;padding-right:14px}
|
|
322
|
+
.epnav{grid-template-columns:1fr}
|
|
323
|
+
.epnav .epnext{text-align:left}
|
|
324
|
+
.epnav a:only-child{max-width:none}
|
|
325
|
+
.solnbody{font-size:17px;padding-left:15px}
|
|
326
|
+
/* charts earn the full width of a phone */
|
|
327
|
+
.chartfig{margin-left:-18px;margin-right:-18px;border-radius:0;
|
|
328
|
+
border-left:none;border-right:none;padding:16px 14px 12px}
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
/* ---------- print ---------- */
|
|
332
|
+
@page{margin:16mm 14mm}
|
|
333
|
+
@media print{
|
|
334
|
+
:root{--ink:#000;--ink-soft:#333;--line:#bbb;--paper:#fff;--tint:#f4f2ec;
|
|
335
|
+
--tint-2:#f8f7f3;--gold:#7a5c24;--accent:#123024;--up:#123024;
|
|
336
|
+
--down:#7a1f1f;--shadow:transparent}
|
|
337
|
+
html[data-theme="dark"]{--ink:#000;--ink-soft:#333;--line:#bbb;--paper:#fff;
|
|
338
|
+
--tint:#f4f2ec;--tint-2:#f8f7f3;--gold:#7a5c24;--accent:#123024}
|
|
339
|
+
body{font-size:11pt;line-height:1.5;background:#fff}
|
|
340
|
+
.wrap{max-width:none;padding:0}
|
|
341
|
+
#bar,.themebtn,.toc,.listen,.solnbar,.gsearch,.epnav,.anchor,.backq{display:none!important}
|
|
342
|
+
header{padding-top:0}
|
|
343
|
+
.masthead{border-color:#000}
|
|
344
|
+
h1{font-size:23pt;margin-top:14pt}
|
|
345
|
+
.dek{font-size:12pt}
|
|
346
|
+
h2{font-size:15pt;margin:22pt 0 8pt;break-after:avoid}
|
|
347
|
+
h3{font-size:13pt;margin:14pt 0 5pt;break-after:avoid}
|
|
348
|
+
p,li{orphans:3;widows:3}
|
|
349
|
+
.tablewrap{overflow:visible;background:none;break-inside:avoid}
|
|
350
|
+
.chartfig{break-inside:avoid;border-color:#ccc;background:none}
|
|
351
|
+
details{break-inside:avoid;margin:0}
|
|
352
|
+
/* the answers print open, labelled by question, without a button */
|
|
353
|
+
details.soln>summary{display:flex;border:none;background:none;
|
|
354
|
+
padding:10pt 0 2pt;border-top:1px solid #ddd}
|
|
355
|
+
summary .sl{display:none}
|
|
356
|
+
.solnbody{border-color:#999;margin:2pt 0 8pt;padding-left:0}
|
|
357
|
+
/* the cumulative glossary is a reference, not part of the article:
|
|
358
|
+
eighty-odd terms would add pages to every printout */
|
|
359
|
+
.glossec,details.archive{display:none}
|
|
360
|
+
a{color:#000;text-decoration:none}
|
|
361
|
+
footer{border-color:#000}
|
|
362
|
+
}
|
|
363
|
+
@media (prefers-reduced-motion:reduce){
|
|
364
|
+
html{scroll-behavior:auto}
|
|
365
|
+
*{animation-duration:.001ms!important;transition-duration:.001ms!important}
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
.chartfig{margin:36px 0;padding:22px 22px 16px;border:1px solid var(--line);
|
|
369
|
+
border-radius:10px;background:var(--tint-2,var(--tint))}
|
|
370
|
+
.charttitle{font:600 17.5px/1.3 var(--serif,Georgia,serif);color:var(--ink);
|
|
371
|
+
margin:0 0 16px;letter-spacing:-.012em}
|
|
372
|
+
.chartcap{font:italic 15.5px/1.55 var(--serif,Georgia,serif);color:var(--ink-soft);
|
|
373
|
+
margin:14px 2px 0;text-wrap:pretty}
|
|
374
|
+
.chartsrc{display:block;font:500 11.5px/1.5 var(--sans,ui-sans-serif,system-ui,sans-serif);
|
|
375
|
+
font-style:normal;letter-spacing:.05em;opacity:.8;margin-top:7px}
|
|
376
|
+
.chart{display:block;overflow:visible;font-variant-numeric:tabular-nums}
|
|
377
|
+
@media (max-width:640px){
|
|
378
|
+
.charttitle{font-size:16.5px;margin-bottom:12px}
|
|
379
|
+
.chartcap{font-size:15px}
|
|
380
|
+
}
|
|
381
|
+
</style>
|
|
382
|
+
<script>
|
|
383
|
+
try{
|
|
384
|
+
var s = localStorage.getItem('cdd-theme');
|
|
385
|
+
if(s){ document.documentElement.setAttribute('data-theme', s); }
|
|
386
|
+
else if(window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches){
|
|
387
|
+
document.documentElement.setAttribute('data-theme','dark');
|
|
388
|
+
}
|
|
389
|
+
}catch(e){}
|
|
390
|
+
</script>
|
|
391
|
+
</head>
|
|
392
|
+
<body>
|
|
393
|
+
<div id="bar" aria-hidden="true"></div>
|
|
394
|
+
<button class="themebtn" type="button" aria-label="Switch colour theme">
|
|
395
|
+
<svg class="moon" viewBox="0 0 24 24" aria-hidden="true"><path d="M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8z"/></svg>
|
|
396
|
+
<svg class="sun" viewBox="0 0 24 24" aria-hidden="true"><circle cx="12" cy="12" r="4.2"/><path d="M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4"/></svg>
|
|
397
|
+
<span class="lbl"></span>
|
|
398
|
+
</button>
|
|
399
|
+
<div class="wrap">
|
|
400
|
+
<header>
|
|
401
|
+
<div class="masthead">
|
|
402
|
+
<a href="https://storage.googleapis.com/podcast-audio-2647223968/index.html">Soft Commodity Trading</a>
|
|
403
|
+
<span class="epno">Ep 19</span>
|
|
404
|
+
</div>
|
|
405
|
+
<h1>Basis Deep Dive and Origination</h1>
|
|
406
|
+
<p class="dek">Basis has four ingredients and not one of them is a view on price. Then the other half of a merchant's job: buying grain from the people who grow it, one risk at a time.</p>
|
|
407
|
+
<div class="meta">Friday 11 September 2026 · <b>10 min 47</b></div>
|
|
408
|
+
<div class="listen">
|
|
409
|
+
<audio controls preload="none" src="https://cdn.jsdelivr.net/npm/@sdelsad/commodity-desk-daily@1.0.61/ep19.mp3"></audio>
|
|
410
|
+
<div class="listenrow">
|
|
411
|
+
<span class="rates" role="group" aria-label="Playback speed">
|
|
412
|
+
<button type="button" class="rate" data-rate="1" aria-pressed="true">1×</button>
|
|
413
|
+
<button type="button" class="rate" data-rate="1.25" aria-pressed="false">1.25×</button>
|
|
414
|
+
<button type="button" class="rate" data-rate="1.5" aria-pressed="false">1.5×</button>
|
|
415
|
+
</span>
|
|
416
|
+
<button type="button" class="offline" id="offline" hidden aria-live="polite">Save offline</button>
|
|
417
|
+
<a href="https://cdn.jsdelivr.net/npm/@sdelsad/commodity-desk-daily@1.0.61/ep19.mp3" download>Download MP3</a>
|
|
418
|
+
<a href="https://storage.googleapis.com/podcast-audio-2647223968/commodity-desk-daily/feed.xml">Subscribe · RSS</a>
|
|
419
|
+
</div>
|
|
420
|
+
<p class="offnote" id="offnote" hidden></p>
|
|
421
|
+
</div>
|
|
422
|
+
<nav class="toc" id="toc" aria-label="Contents"><p class="tochead">Contents</p><ol><li class="t2"><a href="#the-geopolitical-read">The geopolitical read</a></li><li class="t2"><a href="#solutions">Solutions</a></li><li class="t2"><a href="#two-numbers-one-day">Two numbers, one day</a></li><li class="t2"><a href="#what-basis-is-actually-made-of">What basis is actually made of</a></li><li class="t2"><a href="#three-buckets-and-one-of-them-is-always-empty">Three buckets, and one of them is always empty</a></li><li class="t3"><a href="#the-part-worth-sitting-with">The part worth sitting with</a></li><li class="t2"><a href="#origination-the-half-that-cannot-be-bought">Origination: the half that cannot be bought</a></li><li class="t3"><a href="#why-the-deadline-is-in-there">Why the deadline is in there</a></li><li class="t2"><a href="#why-farm-selling-clusters-and-where-the-cluster">Why farm selling clusters, and where the cluster lands</a></li><li class="t2"><a href="#relationships-as-infrastructure">Relationships as infrastructure</a></li><li class="t2"><a href="#glossary">Glossary</a></li></ol></nav>
|
|
423
|
+
</header>
|
|
424
|
+
<main>
|
|
425
|
+
<p><strong>Crude oil ran six dollars in a session and dragged the whole agricultural complex up with it. The export bids at the Gulf did not move a cent.</strong></p>
|
|
426
|
+
<div class="tablewrap" tabindex="0" role="region" aria-label="Table, scrolls sideways"><table><thead><tr><th>Contract</th><th>Last</th><th class="num">Change</th></tr></thead><tbody><tr><td>Dec corn (CBOT)</td><td>533.75 c/bu</td><td class="num"><span class="mv up">+6</span></td></tr><tr><td>Nov soybeans (CBOT)</td><td>1,332.25 c/bu</td><td class="num"><span class="mv up">+22¾</span></td></tr><tr><td>Dec Chicago SRW (CBOT)</td><td>741.25 c/bu</td><td class="num"><span class="mv up">+12½</span></td></tr><tr><td>Dec Kansas City HRW</td><td>818.75 c/bu</td><td class="num"><span class="mv up">+12½</span></td></tr><tr><td>Dec spring wheat</td><td>762.50 c/bu</td><td class="num"><span class="mv up">+14½</span></td></tr><tr><td>Oct soybean meal (CBOT)</td><td>$350.60/short ton</td><td class="num"><span class="mv up">+5.50</span></td></tr><tr><td>Oct soybean oil (CBOT)</td><td>71.41 c/lb</td><td class="num"><span class="mv up">+133 pts</span></td></tr><tr><td>Oct WTI crude</td><td>$102.06/bbl</td><td class="num"><span class="mv up">+6.00</span></td></tr><tr><td>Dec Matif milling wheat</td><td>€245.25/t</td><td class="num"><span class="mv up">+0.50</span></td></tr></tbody></table></div>
|
|
427
|
+
<p>The bid came from energy. October crude settled above $102 on fighting in the Persian Gulf, and the complex followed it: soybean oil first, because a biodiesel gallon and a diesel gallon compete for the same tank, then beans, then the grains on spillover. China took another 272,000 t of US soybeans, with a further 206,500 t to an unknown buyer, keeping the run of daily flash sales alive. Soybeans are now up on the week; corn and Chicago wheat are still down 7 and 13 cents respectively.</p>
|
|
428
|
+
<p>Everything now waits on the USDA supply and demand report at midday New York time. The trade average looks for a corn yield of 178.1 bu/ac against the government's 180.7, production of 15,768 m bu against 16,013, and ending stocks near 1,533 m bu — a cut of about 120 m. On soybeans the estimates are tighter: 52.5 bu/ac against 52.7, and carryout near 289 m bu against 320.</p>
|
|
429
|
+
<figure class="chartfig">
|
|
430
|
+
<figcaption class="charttitle">Thursday's move started in energy</figcaption>
|
|
431
|
+
<svg class="chart" viewBox="0 0 640 330" width="100%" preserveAspectRatio="xMidYMid meet" xmlns="http://www.w3.org/2000/svg" role="img">
|
|
432
|
+
<style>.chart{--c-a:var(--accent,#1d4032);--c-b:var(--gold,#a8813c);--c-c:#4a6f8c;font-family:inherit}html[data-theme="dark"] .chart{--c-c:#7ba3c4}.chart .grid{stroke:var(--line,#ddd6c9);stroke-width:1}.chart .axis{fill:var(--ink-soft,#4a4238);font-size:12px}.chart .unit{fill:var(--ink-soft,#4a4238);font-size:11px;letter-spacing:.06em;text-transform:uppercase}.chart .ln{fill:none;stroke-width:2.25;stroke-linejoin:round;stroke-linecap:round}.chart .lg{fill:var(--ink,#16110c);font-size:12.5px}.chart .vlabel{fill:var(--ink,#16110c);font-size:11.5px;font-weight:600}@media (max-width:900px){.chart .axis{font-size:14px}.chart .unit{font-size:13px}.chart .lg{font-size:14.5px}.chart .vlabel{font-size:13.5px}.chart .ln{stroke-width:2.6}}@media (max-width:640px){.chart .axis{font-size:16px}.chart .unit{font-size:14px}.chart .lg{font-size:16px}.chart .vlabel{font-size:15px}.chart .ln{stroke-width:3.1}}</style>
|
|
433
|
+
<line class="grid" x1="56" y1="286.0" x2="622" y2="286.0"/>
|
|
434
|
+
<text class="axis" x="46" y="290.0" text-anchor="end">0</text>
|
|
435
|
+
<line class="grid" x1="56" y1="202.8" x2="622" y2="202.8" opacity=".45"/>
|
|
436
|
+
<text class="axis" x="46" y="206.8" text-anchor="end">2</text>
|
|
437
|
+
<line class="grid" x1="56" y1="119.6" x2="622" y2="119.6" opacity=".45"/>
|
|
438
|
+
<text class="axis" x="46" y="123.6" text-anchor="end">4</text>
|
|
439
|
+
<line class="grid" x1="56" y1="36.4" x2="622" y2="36.4" opacity=".45"/>
|
|
440
|
+
<text class="axis" x="46" y="40.4" text-anchor="end">6</text>
|
|
441
|
+
<text class="unit" x="46" y="16" text-anchor="end">% change</text>
|
|
442
|
+
<text class="axis" x="96.4" y="306" text-anchor="middle">Corn</text>
|
|
443
|
+
<text class="axis" x="177.3" y="306" text-anchor="middle">Beans</text>
|
|
444
|
+
<text class="axis" x="258.1" y="306" text-anchor="middle">Chi wheat</text>
|
|
445
|
+
<text class="axis" x="339.0" y="306" text-anchor="middle">KC wheat</text>
|
|
446
|
+
<text class="axis" x="419.9" y="306" text-anchor="middle">Spring wheat</text>
|
|
447
|
+
<text class="axis" x="500.7" y="306" text-anchor="middle">Bean oil</text>
|
|
448
|
+
<text class="axis" x="581.6" y="306" text-anchor="middle">WTI crude</text>
|
|
449
|
+
<rect x="76.2" y="238.6" width="40.5" height="47.4" rx="2" fill="var(--c-a)" opacity=".85"/>
|
|
450
|
+
<rect x="157.0" y="213.6" width="40.5" height="72.4" rx="2" fill="var(--c-a)" opacity=".85"/>
|
|
451
|
+
<rect x="237.9" y="214.4" width="40.5" height="71.6" rx="2" fill="var(--c-a)" opacity=".85"/>
|
|
452
|
+
<rect x="318.8" y="221.5" width="40.5" height="64.5" rx="2" fill="var(--c-a)" opacity=".85"/>
|
|
453
|
+
<rect x="399.6" y="205.3" width="40.5" height="80.7" rx="2" fill="var(--c-a)" opacity=".85"/>
|
|
454
|
+
<rect x="480.5" y="207.0" width="40.5" height="79.0" rx="2" fill="var(--c-a)" opacity=".85"/>
|
|
455
|
+
<rect x="561.3" y="26.0" width="40.5" height="260.0" rx="2" fill="var(--c-a)" opacity=".85"/>
|
|
456
|
+
<line class="grid" x1="56" y1="286.0" x2="622" y2="286.0"/>
|
|
457
|
+
</svg>
|
|
458
|
+
<figcaption class="chartcap">Every agricultural contract on the board moved between one and two percent. Crude moved more than six. When the largest bar on the chart is not a crop, the day was not about crops. <span class="chartsrc">CBOT and NYMEX settlements, Thursday 10 September 2026, against Wednesday 9 September</span></figcaption>
|
|
459
|
+
</figure>
|
|
460
|
+
<h2 id="the-geopolitical-read">The geopolitical read<a class="anchor" href="#the-geopolitical-read" aria-label="Link to this section">#</a></h2>
|
|
461
|
+
<p>The Persian Gulf is not a grain story and it does not need to be. It reaches a soybean along three wires, and only one of them is the one everybody watches.</p>
|
|
462
|
+
<p>The first is substitution in the oil share. Vegetable oil is a fuel as well as a food, and a crude price above $100 lifts the ceiling on what a biodiesel plant can pay for a tonne of soybean oil. That wire is fast and it is visible: oil led the complex on Thursday.</p>
|
|
463
|
+
<p>The second is freight. A Panamax burns bunkers and a barge burns diesel, and both costs are rebilled into the cost of moving a cargo from where it was grown to where it was sold. That wire runs into the arb, not the flat price.</p>
|
|
464
|
+
<p>The third is war-risk premium on hulls, quoted per voyage rather than per tonne. It lands on whichever routing passes the risk, and the practical effect is to make one origin more expensive than another for reasons that have nothing to do with the crop in either.</p>
|
|
465
|
+
<p>Meanwhile the Black Sea kept doing the opposite of what its news flow implies. Russian wheat eased to around $210/t even with September loadings running roughly 1 Mt behind the 4.6 Mt of a year ago, and even after strikes on Novorossiysk, on Nika-Tera at Mykolaiv and on Makhachkala in Dagestan inside twenty-four hours. Damaged capacity has been in the price for weeks. What has not been in the price is a buyer who cannot find the tonnes, and until one appears the assessment drifts down.</p>
|
|
466
|
+
<h1>Key takeaways</h1>
|
|
467
|
+
<ul><li>Basis is made of four things — freight, farmer selling, end demand and space. None of them is a view on price, which is why a basis trader and a flat-price trader can look at the same screen and disagree about nothing.</li><li>A hedged merchant's P&L has three buckets: flat price, basis and the calendar. Flat price is structurally the empty one, and if it is not empty the hedge was wrong.</li><li>The market never pays the full cost of carry. Whatever the roll does not cover, the basis has to earn.</li><li>Every farmer contract is a decision about which of the two prices to keep. The elevator ends up owning the other one, and its book is the sum of those transfers.</li><li>Farm selling clusters on the calendar and on round numbers, and that clustering is invisible on a global screen. It shows up in the posted bid, which is why basis is the better read on what the countryside is doing.</li><li>A bid contains an unprinted credit spread and an unprinted quality spread. Two neighbours can be quoted four cents apart on identical corn and both bids can be right.</li></ul>
|
|
468
|
+
<h1>Vocabulary</h1>
|
|
469
|
+
<div class="tablewrap" tabindex="0" role="region" aria-label="Table, scrolls sideways"><table><thead><tr><th>Term</th><th>What it means</th></tr></thead><tbody><tr><td><strong>Origination</strong></td><td>The business of buying physical crop from farmers, co-ops and country elevators, and the network of people and facilities that makes it possible</td></tr><tr><td><strong>Posted bid</strong></td><td>The price an elevator displays to growers for immediate delivery, quoted as a differential to a named futures month and used to manage the delivery queue as much as to set a price</td></tr><tr><td><strong>Basis contract</strong></td><td>A farmer contract that fixes the differential now and leaves the futures price to be set later, before a deadline</td></tr><tr><td><strong>Hedge-to-arrive (HTA)</strong></td><td>The mirror image: the futures price is fixed now and the differential is set later</td></tr><tr><td><strong>Deferred price (DP) contract</strong></td><td>A delivery in which title passes with no price set at all, leaving the farmer an unsecured creditor of the elevator until he prices</td></tr><tr><td><strong>Minimum price contract</strong></td><td>A cash sale bundled with a bought call, giving the seller a floor and retained upside in exchange for a fee</td></tr><tr><td><strong>Long the basis</strong></td><td>Owning physical hedged with futures, so the position gains when the differential strengthens and is indifferent to the board</td></tr><tr><td><strong>Roll return</strong></td><td>The gain or loss taken when a hedge is moved from one futures month to the next — positive for a short hedger in a carry market</td></tr><tr><td><strong>Basis push</strong></td><td>A temporary improvement in the posted bid, used to pull grain out of farm storage when a buyer needs tonnes quickly</td></tr><tr><td><strong>Harvest run</strong></td><td>The six to eight weeks in which a full year of crop arrives at facilities sized to ship it over twelve months</td></tr><tr><td><strong>Price-later deadline</strong></td><td>The date by which an unpriced farmer contract must be fixed, after which the buyer prices it at the market</td></tr></tbody></table></div>
|
|
470
|
+
<h1>Quiz</h1>
|
|
471
|
+
<p id="q1" class="qq"><strong>Q1.</strong> A merchant originates 30,000 t of soybeans in Iowa in October. He buys them at November minus 55, with November futures at 1,332.25, and hedges immediately in November Chicago. In late October he rolls the hedge into January, and the November/January spread is 12 cents of carry. In January he sells the beans to a crusher at January plus 10, prices them with January futures at 1,368.00, and lifts the hedge. Carrying costs run 4.5 c/bu per month for three months, plus interest at 5 percent on the purchase price for three months.</p>
|
|
472
|
+
<p>Work out the size in bushels and in lots, split the gross margin into its flat-price, basis and calendar components, reconcile that split against the actual cash and futures ledgers to the dollar, and give the net result.</p>
|
|
473
|
+
<p id="q2" class="qq"><strong>Q2.</strong> A farmer signs a basis contract in October: he fixes the basis at 35 under December, delivers the corn, and leaves the futures price open until February. Which of the two risks does the elevator now carry?</p>
|
|
474
|
+
<p id="q3" class="qq"><strong>Q3.</strong> A Chicago wheat short standing into first notice day can make grain deliverable for 22 cents, roll for 34, or buy back for 41. Which of those three costs sets the ceiling on how far the front month can be squeezed?</p>
|
|
475
|
+
<p id="q4" class="qq"><strong>Q4.</strong> A calendar spread has a hard ceiling but no floor — it cannot widen indefinitely, yet nothing stops it inverting. What creates the ceiling?</p>
|
|
476
|
+
<p id="q5" class="qq"><strong>Q5 — conversion drill.</strong> A Brazilian model puts 85 mm of rain on central Mato Grosso in the planting window. How many inches is that?</p>
|
|
477
|
+
<hr>
|
|
478
|
+
<hr>
|
|
479
|
+
<h2 id="solutions">Solutions<a class="anchor" href="#solutions" aria-label="Link to this section">#</a></h2><p class="secnote">One reveal per question — check your answer to Q1 without spoiling the rest.</p><div class="solnbar"><button type="button" class="ghost" data-solnall="open">Reveal all</button><button type="button" class="ghost" data-solnall="close">Hide all</button></div>
|
|
480
|
+
<details class="soln" id="a1"><summary><span class="qn">Q1</span><span class="sl">Reveal the answer</span></summary><div class="solnbody"><p>Five steps, and the discipline is to keep the differential and the board in separate columns from the first line to the last.</p>
|
|
481
|
+
<p><em>Size.</em> 30,000 t × 36.744 = 1,102,320 bushels. At 5,000 bushels a lot that is 220.46, so the hedge is 220 lots — 1,100,000 bushels. He owns 2,320 bushels more beans than he is short. One cent on 220 lots is $11,000.</p>
|
|
482
|
+
<p><em>The two ledgers.</em></p>
|
|
483
|
+
<div class="tablewrap" tabindex="0" role="region" aria-label="Table, scrolls sideways"><table><thead><tr><th></th><th class="num">c/bu</th></tr></thead><tbody><tr><td>Cash bought, November 1,332.25 less 55</td><td class="num">1,277.25</td></tr><tr><td>Cash sold, January 1,368.00 plus 10</td><td class="num">1,378.00</td></tr><tr><td><strong>Cash gain</strong></td><td class="num"><strong>+100.75</strong></td></tr></tbody></table></div>
|
|
484
|
+
<p>On the futures he sold November at 1,332.25, bought it back and sold January 12 cents higher at the roll, then bought January back at 1,368.00. Whatever the November price was on the day he rolled, it cancels: the futures result is 1,332.25 + 12.00 − 1,368.00 = <strong>−23.75 c/bu</strong>.</p>
|
|
485
|
+
<div class="tablewrap" tabindex="0" role="region" aria-label="Table, scrolls sideways"><table><thead><tr><th></th><th class="num">Bushels</th><th class="num">c/bu</th><th class="num">Result</th></tr></thead><tbody><tr><td>Cash</td><td class="num">1,102,320</td><td class="num"><span class="mv up">+100.75</span></td><td class="num">+$1,110,587.40</td></tr><tr><td>Futures</td><td class="num">1,100,000</td><td class="num"><span class="mv down">−23.75</span></td><td class="num">−$261,250.00</td></tr><tr><td><strong>Gross</strong></td><td class="num"></td><td class="num"></td><td class="num"><strong>+$849,337.40</strong></td></tr></tbody></table></div>
|
|
486
|
+
<p><em>The three buckets.</em></p>
|
|
487
|
+
<div class="tablewrap" tabindex="0" role="region" aria-label="Table, scrolls sideways"><table><thead><tr><th>Bucket</th><th class="num">c/bu</th><th>Where it came from</th></tr></thead><tbody><tr><td>Flat price</td><td class="num">0.00</td><td>Hedged from purchase to sale</td></tr><tr><td>Basis</td><td class="num">+65.00</td><td>Bought 55 under, sold 10 over</td></tr><tr><td>Calendar</td><td class="num">+12.00</td><td>Short hedger rolling in a carry market</td></tr><tr><td><strong>Total</strong></td><td class="num"><strong>+77.00</strong></td><td></td></tr></tbody></table></div>
|
|
488
|
+
<p><em>The reconciliation.</em> 77.00 cents on 1,102,320 bushels is $848,786.40, which is $551.00 short of the ledgers. That gap is not rounding. He hedged 1,100,000 bushels against 1,102,320 of beans, so 2,320 bushels rode the board unhedged through a 23.75-cent rally: 2,320 × $0.2375 = $551.00 exactly. The decomposition is the trade. The difference is the lot size.</p>
|
|
489
|
+
<p><em>The bill and the net.</em></p>
|
|
490
|
+
<div class="tablewrap" tabindex="0" role="region" aria-label="Table, scrolls sideways"><table><thead><tr><th></th><th class="num">c/bu</th></tr></thead><tbody><tr><td>Storage, 4.5 × 3 months</td><td class="num">13.50</td></tr><tr><td>Interest, $12.7725 at 5% for 3 months</td><td class="num">15.97</td></tr><tr><td><strong>Total cost</strong></td><td class="num"><strong>29.47</strong></td></tr></tbody></table></div>
|
|
491
|
+
<p>29.47 cents on 1,102,320 bushels is $324,853.70. Net: <strong>$524,483.70</strong>.</p>
|
|
492
|
+
<p><em>The trap.</em> The board rallied hard across this trade — from a November at 1,332.25 to a January at 1,368.00 — and it contributed nothing at all. A merchant who reported this as "we made five hundred grand because beans went up" would be describing a trade he did not do. He made it because he bought 55 under and sold 10 over, and because the carry market paid him 12 cents to be patient.</p>
|
|
493
|
+
<p class="backq"><a href="#q1">↑ Back to question 1</a></p></div></details>
|
|
494
|
+
<details class="soln" id="a2"><summary><span class="qn">Q2</span><span class="sl">Reveal the answer</span></summary><div class="solnbody"><p>The basis. The farmer has kept the flat price.</p>
|
|
495
|
+
<p>Reading a farmer contract is always the same exercise: there are two prices on every bushel, and the contract says which one each party is keeping. Here the differential is struck at 35 under and never moves again. The elevator takes title, sells futures against the corn, and is therefore long the basis at minus 35 — it profits if the local market firms toward the board and loses if it weakens further. The farmer keeps an open futures price and all the board risk that comes with it, until he fixes or the deadline fixes him.</p>
|
|
496
|
+
<p>Notice the asymmetry in who is comfortable. The elevator has just acquired the risk it is professionally equipped to carry, because basis is what it trades all year and it has the space, the freight and the customers to work the position. The farmer has kept the risk that is genuinely a coin toss. Both parties have moved toward the exposure they understand, which is why the contract exists.</p>
|
|
497
|
+
<p class="backq"><a href="#q2">↑ Back to question 2</a></p></div></details>
|
|
498
|
+
<details class="soln" id="a3"><summary><span class="qn">Q3</span><span class="sl">Reveal the answer</span></summary><div class="solnbody"><p>The 22 cents — the cost of making grain deliverable.</p>
|
|
499
|
+
<p>A squeeze is never a contest about world supply. It is a contest about tonnes that can physically be certificated at a delivery point before the clock runs out, and the shorts collectively pay whichever exit is cheapest. As long as there is time to buy cash wheat, ship it to a regular warehouse and have certificates issued, nobody rationally pays 41 to buy back what they could cover for 22. That 22 is the ceiling.</p>
|
|
500
|
+
<p>The ceiling fails on the calendar rather than on the arithmetic. Load-out capacity, barge and rail availability and the certificate-issuing process all take days the shorts may no longer have, and the nearer first notice day comes, the less of the cheap route is actually available. What a squeeze harvests is not the difference between 22 and 41. It is the difference between 22 and 41 multiplied by the number of shorts who left it too late.</p>
|
|
501
|
+
<p class="backq"><a href="#q3">↑ Back to question 3</a></p></div></details>
|
|
502
|
+
<details class="soln" id="a4"><summary><span class="qn">Q4</span><span class="sl">Reveal the answer</span></summary><div class="solnbody"><p>The arbitrage of buying the cheap month, storing the grain and delivering it against the dear one.</p>
|
|
503
|
+
<p>If the spread between two months ever exceeds the true cost of carrying grain between them — storage plus interest plus handling — anyone with bin space can buy the near month, take delivery, store, and deliver against the far month for a riskless margin. That trade is available to the whole market, so the spread is arbitraged back to full carry and cannot go further. Full carry is a ceiling because storing grain is something you can always choose to do.</p>
|
|
504
|
+
<p>There is no floor because the mirror trade does not exist. To profit from an inverse you would have to deliver grain now and take it back later, and nobody can borrow grain out of next March. So when the market wants tonnes immediately, the inverse can widen as far as urgency pushes it. One direction is bounded by a physical action anybody can take, the other is bounded only by how badly someone needs the crop today.</p>
|
|
505
|
+
<p class="backq"><a href="#q4">↑ Back to question 4</a></p></div></details>
|
|
506
|
+
<details class="soln" id="a5"><summary><span class="qn">Q5</span><span class="sl">Reveal the answer</span></summary><div class="solnbody"><p><strong>conversion drill.</strong> Divide by 25 for the quick version: 85 ÷ 25 = <strong>3.4 inches</strong>. Exact: 85 ÷ 25.4 = <strong>3.35 inches</strong>.</p>
|
|
507
|
+
<p>The shortcut runs about 1.6 percent high, which is harmless here. It stops being harmless when the number is a threshold rather than a quantity — a forecast that reads "three and a half inches" in one system and "under 85 mm" in the other is the same weekend of rain described twice, and a desk that treats them as two confirmations of a wet planting window has counted one forecast as two.</p>
|
|
508
|
+
<h1>The written edition</h1>
|
|
509
|
+
<p class="backq"><a href="#q5">↑ Back to question 5</a></p></div></details><h2 id="two-numbers-one-day">Two numbers, one day<a class="anchor" href="#two-numbers-one-day" aria-label="Link to this section">#</a></h2>
|
|
510
|
+
<p>On Thursday November soybeans rose 22¾ cents. The Gulf export bid for soybeans stayed exactly where it had been the day before, at 100 to 102 over November. Corn rose 6 cents; the Gulf corn bid stayed at 60 to 66 over December.</p>
|
|
511
|
+
<p>Nothing about the export business changed on Thursday. What changed was the number every screen displays.</p>
|
|
512
|
+
<p>Meanwhile something that does matter to the export business moved a great deal, and it moved without a headline. USDA's barge freight index for the week ended 9 September came in at 250.44 against 221.70 the week before — a jump of almost 13 percent in seven days, with truck, rail and ocean all rising behind it. That is the cost of physically moving grain from the middle of the country to a vessel, and it is the single largest component of what a farmer in Iowa is paid.</p>
|
|
513
|
+
<figure class="chartfig">
|
|
514
|
+
<figcaption class="charttitle">Every mode got more expensive</figcaption>
|
|
515
|
+
<svg class="chart" viewBox="0 0 640 356" width="100%" preserveAspectRatio="xMidYMid meet" xmlns="http://www.w3.org/2000/svg" role="img">
|
|
516
|
+
<style>.chart{--c-a:var(--accent,#1d4032);--c-b:var(--gold,#a8813c);--c-c:#4a6f8c;font-family:inherit}html[data-theme="dark"] .chart{--c-c:#7ba3c4}.chart .grid{stroke:var(--line,#ddd6c9);stroke-width:1}.chart .axis{fill:var(--ink-soft,#4a4238);font-size:12px}.chart .unit{fill:var(--ink-soft,#4a4238);font-size:11px;letter-spacing:.06em;text-transform:uppercase}.chart .ln{fill:none;stroke-width:2.25;stroke-linejoin:round;stroke-linecap:round}.chart .lg{fill:var(--ink,#16110c);font-size:12.5px}.chart .vlabel{fill:var(--ink,#16110c);font-size:11.5px;font-weight:600}@media (max-width:900px){.chart .axis{font-size:14px}.chart .unit{font-size:13px}.chart .lg{font-size:14.5px}.chart .vlabel{font-size:13.5px}.chart .ln{stroke-width:2.6}}@media (max-width:640px){.chart .axis{font-size:16px}.chart .unit{font-size:14px}.chart .lg{font-size:16px}.chart .vlabel{font-size:15px}.chart .ln{stroke-width:3.1}}</style>
|
|
517
|
+
<line class="grid" x1="56" y1="312.0" x2="622" y2="312.0"/>
|
|
518
|
+
<text class="axis" x="46" y="316.0" text-anchor="end">0</text>
|
|
519
|
+
<line class="grid" x1="56" y1="225.3" x2="622" y2="225.3" opacity=".45"/>
|
|
520
|
+
<text class="axis" x="46" y="229.3" text-anchor="end">100</text>
|
|
521
|
+
<line class="grid" x1="56" y1="138.7" x2="622" y2="138.7" opacity=".45"/>
|
|
522
|
+
<text class="axis" x="46" y="142.7" text-anchor="end">200</text>
|
|
523
|
+
<line class="grid" x1="56" y1="52.0" x2="622" y2="52.0" opacity=".45"/>
|
|
524
|
+
<text class="axis" x="46" y="56.0" text-anchor="end">300</text>
|
|
525
|
+
<text class="unit" x="46" y="42" text-anchor="end">index</text>
|
|
526
|
+
<text class="axis" x="112.6" y="332" text-anchor="middle">Barge</text>
|
|
527
|
+
<text class="axis" x="225.8" y="332" text-anchor="middle">Truck</text>
|
|
528
|
+
<text class="axis" x="339.0" y="332" text-anchor="middle">Shuttle rail</text>
|
|
529
|
+
<text class="axis" x="452.2" y="332" text-anchor="middle">Gulf vessel</text>
|
|
530
|
+
<text class="axis" x="565.4" y="332" text-anchor="middle">Pacific vessel</text>
|
|
531
|
+
<rect x="75.4" y="119.9" width="34.9" height="192.1" rx="2" fill="var(--c-a)" opacity=".85"/>
|
|
532
|
+
<rect x="188.6" y="129.1" width="34.9" height="182.9" rx="2" fill="var(--c-a)" opacity=".85"/>
|
|
533
|
+
<rect x="301.8" y="197.6" width="34.9" height="114.4" rx="2" fill="var(--c-a)" opacity=".85"/>
|
|
534
|
+
<rect x="415.0" y="147.8" width="34.9" height="164.2" rx="2" fill="var(--c-a)" opacity=".85"/>
|
|
535
|
+
<rect x="528.2" y="159.7" width="34.9" height="152.3" rx="2" fill="var(--c-a)" opacity=".85"/>
|
|
536
|
+
<rect x="115.0" y="95.0" width="34.9" height="217.0" rx="2" fill="var(--c-b)" opacity=".85"/>
|
|
537
|
+
<rect x="228.2" y="117.0" width="34.9" height="195.0" rx="2" fill="var(--c-b)" opacity=".85"/>
|
|
538
|
+
<rect x="341.4" y="194.1" width="34.9" height="117.9" rx="2" fill="var(--c-b)" opacity=".85"/>
|
|
539
|
+
<rect x="454.6" y="144.0" width="34.9" height="168.0" rx="2" fill="var(--c-b)" opacity=".85"/>
|
|
540
|
+
<rect x="567.8" y="157.6" width="34.9" height="154.4" rx="2" fill="var(--c-b)" opacity=".85"/>
|
|
541
|
+
<line class="grid" x1="56" y1="312.0" x2="622" y2="312.0"/>
|
|
542
|
+
<rect x="56" y="22" width="18" height="3" rx="1.5" fill="var(--c-a)"/>
|
|
543
|
+
<text class="lg" x="81" y="29">Week to 2 Sep</text>
|
|
544
|
+
<rect x="189.60000000000002" y="22" width="18" height="3" rx="1.5" fill="var(--c-b)"/>
|
|
545
|
+
<text class="lg" x="214.60000000000002" y="29">Week to 9 Sep</text>
|
|
546
|
+
</svg>
|
|
547
|
+
<figcaption class="chartcap">Barge rates jumped nearly thirteen percent in a single week as harvest movement began, with every other mode rising behind them. None of this appears in a futures price. All of it appears in the bid a farmer is quoted. <span class="chartsrc">USDA AMS grain transportation cost indicators, weeks ended 2 and 9 September 2026</span></figcaption>
|
|
548
|
+
</figure>
|
|
549
|
+
<h2 id="what-basis-is-actually-made-of">What basis is actually made of<a class="anchor" href="#what-basis-is-actually-made-of" aria-label="Link to this section">#</a></h2>
|
|
550
|
+
<p>Four things, and not one of them is an opinion about where prices are going.</p>
|
|
551
|
+
<p><strong>Freight</strong> is the first and the largest. The differential is the price of moving <em>this</em> grain from <em>here</em> to wherever the futures contract lives. Raise the barge rate and every bushel upriver is worth less this afternoon than it was this morning, with the board unchanged.</p>
|
|
552
|
+
<p><strong>Farmer selling</strong> is the second. Grain that has been sold is grain in the pipe. Grain still sitting in a bin is a promise, and promises do not load vessels.</p>
|
|
553
|
+
<p><strong>End demand</strong> is the third — an exporter with a vessel to fill or a crush plant short of beans bids the local market up until the grain comes, and stops when it has enough.</p>
|
|
554
|
+
<p><strong>Space</strong> is the fourth: bin space, barge slots, rail sets, elevator legs. When the pipe is full, the bid falls until somebody stops delivering. It is a queue-management price rather than a valuation.</p>
|
|
555
|
+
<p>What is absent from that list is everything the financial press treats as the market. Argentine weather, fund positioning, a report at lunchtime: those move the board, and the board is a global number. Basis is a local one. The two argue with each other all day, and the argument is where a merchant's money is.</p>
|
|
556
|
+
<h2 id="three-buckets-and-one-of-them-is-always-empty">Three buckets, and one of them is always empty<a class="anchor" href="#three-buckets-and-one-of-them-is-always-empty" aria-label="Link to this section">#</a></h2>
|
|
557
|
+
<p>Take a finished trade, start to finish.</p>
|
|
558
|
+
<p>In October a merchant buys 1,000,000 bushels of corn from farmers in central Illinois at December minus 35. December is at 533.75, so he pays 498.75 a bushel. He sells 200 December lots against it the same afternoon — 1,000,000 bushels at 5,000 to a lot — and from that moment he does not care what corn is worth.</p>
|
|
559
|
+
<p>In late November he rolls the hedge from December into March. The market is paying 14 cents of carry, and he is short: he buys December back and sells March 14 cents higher, collecting the difference. In February he sells the corn to an ethanol plant at March plus 5 and buys his futures back.</p>
|
|
560
|
+
<p>Where did the money come from?</p>
|
|
561
|
+
<div class="tablewrap" tabindex="0" role="region" aria-label="Table, scrolls sideways"><table><thead><tr><th>Bucket</th><th class="num">c/bu</th><th></th></tr></thead><tbody><tr><td>Flat price</td><td class="num">0</td><td>Hedged throughout</td></tr><tr><td>Basis</td><td class="num">+40</td><td>Bought 35 under, sold 5 over</td></tr><tr><td>Calendar</td><td class="num">+14</td><td>The roll, in a carry market</td></tr><tr><td><strong>Gross</strong></td><td class="num"><strong>+54</strong></td><td>$540,000 on a million bushels</td></tr><tr><td>Storage, 4c × 4 months</td><td class="num">−16</td><td></td></tr><tr><td>Interest, 5% on $4.9875 for 4 months</td><td class="num">−8.31</td><td></td></tr><tr><td><strong>Net</strong></td><td class="num"><strong>+29.69</strong></td><td><strong>$296,900</strong></td></tr></tbody></table></div>
|
|
562
|
+
<figure class="chartfig">
|
|
563
|
+
<figcaption class="charttitle">Where a merchant's corn margin comes from</figcaption>
|
|
564
|
+
<svg class="chart" viewBox="0 0 640 330" width="100%" preserveAspectRatio="xMidYMid meet" xmlns="http://www.w3.org/2000/svg" role="img">
|
|
565
|
+
<style>.chart{--c-a:var(--accent,#1d4032);--c-b:var(--gold,#a8813c);--c-c:#4a6f8c;font-family:inherit}html[data-theme="dark"] .chart{--c-c:#7ba3c4}.chart .grid{stroke:var(--line,#ddd6c9);stroke-width:1}.chart .axis{fill:var(--ink-soft,#4a4238);font-size:12px}.chart .unit{fill:var(--ink-soft,#4a4238);font-size:11px;letter-spacing:.06em;text-transform:uppercase}.chart .ln{fill:none;stroke-width:2.25;stroke-linejoin:round;stroke-linecap:round}.chart .lg{fill:var(--ink,#16110c);font-size:12.5px}.chart .vlabel{fill:var(--ink,#16110c);font-size:11.5px;font-weight:600}@media (max-width:900px){.chart .axis{font-size:14px}.chart .unit{font-size:13px}.chart .lg{font-size:14.5px}.chart .vlabel{font-size:13.5px}.chart .ln{stroke-width:2.6}}@media (max-width:640px){.chart .axis{font-size:16px}.chart .unit{font-size:14px}.chart .lg{font-size:16px}.chart .vlabel{font-size:15px}.chart .ln{stroke-width:3.1}}</style>
|
|
566
|
+
<line class="grid" x1="56" y1="286.0" x2="622" y2="286.0"/>
|
|
567
|
+
<text class="axis" x="46" y="290.0" text-anchor="end">0</text>
|
|
568
|
+
<line class="grid" x1="56" y1="199.3" x2="622" y2="199.3" opacity=".45"/>
|
|
569
|
+
<text class="axis" x="46" y="203.3" text-anchor="end">20</text>
|
|
570
|
+
<line class="grid" x1="56" y1="112.7" x2="622" y2="112.7" opacity=".45"/>
|
|
571
|
+
<text class="axis" x="46" y="116.7" text-anchor="end">40</text>
|
|
572
|
+
<line class="grid" x1="56" y1="26.0" x2="622" y2="26.0" opacity=".45"/>
|
|
573
|
+
<text class="axis" x="46" y="30.0" text-anchor="end">60</text>
|
|
574
|
+
<text class="unit" x="46" y="16" text-anchor="end">c/bu</text>
|
|
575
|
+
<text class="axis" x="103.2" y="306" text-anchor="middle">Basis</text>
|
|
576
|
+
<text class="axis" x="197.5" y="306" text-anchor="middle">Calendar roll</text>
|
|
577
|
+
<text class="axis" x="291.8" y="306" text-anchor="middle">Flat price</text>
|
|
578
|
+
<text class="axis" x="386.2" y="306" text-anchor="middle">Storage</text>
|
|
579
|
+
<text class="axis" x="480.5" y="306" text-anchor="middle">Interest</text>
|
|
580
|
+
<text class="axis" x="574.8" y="306" text-anchor="middle">Net</text>
|
|
581
|
+
<rect x="73.9" y="112.7" width="58.5" height="173.3" rx="2" fill="var(--c-a)" opacity=".92"/>
|
|
582
|
+
<text class="vlabel" x="103.2" y="105.7" text-anchor="middle">40</text>
|
|
583
|
+
<line class="grid" x1="132.4" y1="112.7" x2="168.3" y2="112.7" stroke-dasharray="3 3" opacity=".5"/>
|
|
584
|
+
<rect x="168.3" y="52.0" width="58.5" height="60.7" rx="2" fill="var(--c-a)" opacity=".78"/>
|
|
585
|
+
<text class="vlabel" x="197.5" y="45.0" text-anchor="middle">14</text>
|
|
586
|
+
<line class="grid" x1="226.7" y1="52.0" x2="262.6" y2="52.0" stroke-dasharray="3 3" opacity=".5"/>
|
|
587
|
+
<rect x="262.6" y="52.0" width="58.5" height="2.0" rx="2" fill="var(--c-a)" opacity=".78"/>
|
|
588
|
+
<text class="vlabel" x="291.8" y="45.0" text-anchor="middle">0</text>
|
|
589
|
+
<line class="grid" x1="321.1" y1="52.0" x2="356.9" y2="52.0" stroke-dasharray="3 3" opacity=".5"/>
|
|
590
|
+
<rect x="356.9" y="52.0" width="58.5" height="69.3" rx="2" fill="#8a3b2f" opacity=".78"/>
|
|
591
|
+
<text class="vlabel" x="386.2" y="45.0" text-anchor="middle">-16</text>
|
|
592
|
+
<line class="grid" x1="415.4" y1="121.3" x2="451.3" y2="121.3" stroke-dasharray="3 3" opacity=".5"/>
|
|
593
|
+
<rect x="451.3" y="121.3" width="58.5" height="36.0" rx="2" fill="#8a3b2f" opacity=".78"/>
|
|
594
|
+
<text class="vlabel" x="480.5" y="114.3" text-anchor="middle">-8.31</text>
|
|
595
|
+
<line class="grid" x1="509.7" y1="157.3" x2="545.6" y2="157.3" stroke-dasharray="3 3" opacity=".5"/>
|
|
596
|
+
<rect x="545.6" y="157.3" width="58.5" height="128.7" rx="2" fill="var(--c-b)" opacity=".92"/>
|
|
597
|
+
<text class="vlabel" x="574.8" y="150.3" text-anchor="middle">29.7</text>
|
|
598
|
+
</svg>
|
|
599
|
+
<figcaption class="chartcap">Flat price contributes a bar of zero height. That is not a rounding — it is the entire purpose of the hedge, and it means the trade lives or dies on the two bars beside it. <span class="chartsrc">Worked example, episode 19 — 1,000,000 bu of central Illinois corn, October to February</span></figcaption>
|
|
600
|
+
</figure>
|
|
601
|
+
<h3 id="the-part-worth-sitting-with">The part worth sitting with<a class="anchor" href="#the-part-worth-sitting-with" aria-label="Link to this section">#</a></h3>
|
|
602
|
+
<p>The market paid him 14 cents of carry for the December-to-March period. His own cost of carrying for those three months was about 18.23 cents — 12 of storage and 6.23 of interest. The carry covered roughly three quarters of what storage actually cost him.</p>
|
|
603
|
+
<p>That relationship is not an accident of this example. A calendar spread that traded at genuine full carry would be handing free money to anyone with a bin, so the market prices it below. Episode 16 put Chicago Dec/March wheat at 46 percent of full carry; this corn market is paying closer to 77 percent, which is a strong carry and a very different instruction. Either way the number is less than 100.</p>
|
|
604
|
+
<p>So the storage half of the business never pays for itself. Whatever the roll does not cover, the basis has to earn. That is not a footnote to the job. It is the job.</p>
|
|
605
|
+
<h2 id="origination-the-half-that-cannot-be-bought">Origination: the half that cannot be bought<a class="anchor" href="#origination-the-half-that-cannot-be-bought" aria-label="Link to this section">#</a></h2>
|
|
606
|
+
<p>The grain has to come from somewhere, and in North America it comes from several hundred thousand people who each own a small amount of it and none of whom have to sell today.</p>
|
|
607
|
+
<p>A farmer does not simply sell corn. He chooses which of two prices to keep, because every bushel carries exactly two: the board and the basis.</p>
|
|
608
|
+
<div class="tablewrap" tabindex="0" role="region" aria-label="Table, scrolls sideways"><table><thead><tr><th>Contract</th><th>Board</th><th>Basis</th><th>What the elevator ends up holding</th></tr></thead><tbody><tr><td>Cash sale</td><td>Fixed</td><td>Fixed</td><td>Hedged grain, clean</td></tr><tr><td>Forward cash</td><td>Fixed</td><td>Fixed</td><td>The same, earlier</td></tr><tr><td>Basis contract</td><td>Open</td><td>Fixed</td><td>Long the basis, and a pricing deadline to police</td></tr><tr><td>Hedge-to-arrive</td><td>Fixed</td><td>Open</td><td>A fixed futures price against an unknown local market</td></tr><tr><td>Deferred price</td><td>Open</td><td>Open</td><td>Title to the grain and an unsecured payable</td></tr><tr><td>Minimum price</td><td>Floored</td><td>Fixed</td><td>A hedged position plus an option it has to manage</td></tr></tbody></table></div>
|
|
609
|
+
<p>Read the table as a list of transfers. Every row moves one of the two risks across the counter, and the elevator's book at the end of harvest is simply the sum of what the neighbourhood decided to hand over.</p>
|
|
610
|
+
<p>Here is how one of them sounds.</p>
|
|
611
|
+
<blockquote><strong>FARMER:</strong> What's your October?<br><strong>ORIGINATOR:</strong> Thirty-five under December. Same as yesterday.<br><strong>FARMER:</strong> I'll take the thirty-five. Leave the board open.<br><strong>ORIGINATOR:</strong> Basis contract then. You price it by the twentieth of February, or I price it for you.<br><strong>FARMER:</strong> Fine.</blockquote>
|
|
612
|
+
<p>Five lines, and a real trade. The farmer has sold the hardest part of his year — the harvest basis, at its seasonal worst — and kept the part he believes he can win. The elevator now owns corn at a fixed 35 under, a hedge to place before the close, and a deadline it will have to chase him about in February.</p>
|
|
613
|
+
<h3 id="why-the-deadline-is-in-there">Why the deadline is in there<a class="anchor" href="#why-the-deadline-is-in-there" aria-label="Link to this section">#</a></h3>
|
|
614
|
+
<p>An unpriced contract is a credit exposure wearing a marketing costume. On a deferred price contract it is explicit: the farmer has handed over title and taken no money, which makes him an unsecured creditor of a business with thin margins and a large revolving loan. On an HTA it runs the other way — the elevator has a fixed futures price against a basis that has not been agreed, and if the local market collapses it is the elevator holding a price it cannot get.</p>
|
|
615
|
+
<p>That is not theoretical. In 1996 a violent inversion in the corn market left large numbers of farmers holding hedge-to-arrive contracts against a nearby month that had run far above the deferred ones. Rolling those contracts forward, which had always been routine, suddenly cost more than a dollar a bushel. Some elevators absorbed it, some could not, and the affair ended in years of litigation and a long regulatory argument about whether an HTA was a cash contract at all. The mechanism that caused it was entirely ordinary: a contract that leaves one leg open is a position, and a position has to be managed by whoever is left holding it.</p>
|
|
616
|
+
<h2 id="why-farm-selling-clusters-and-where-the-cluster">Why farm selling clusters, and where the cluster lands<a class="anchor" href="#why-farm-selling-clusters-and-where-the-cluster" aria-label="Link to this section">#</a></h2>
|
|
617
|
+
<p>Farm selling is not smooth and never has been. It clusters on round numbers — six dollars on corn pulls out grain that five ninety could not. It clusters on cash-flow dates: land rent, input prepay, the week before the tax year turns. It clusters hardest of all on the day the bin is full and the combine is still running, because that seller has no choice at all.</p>
|
|
618
|
+
<p>Now ask where twenty thousand simultaneous sell decisions actually show up.</p>
|
|
619
|
+
<p>Not in the futures price. Chicago is pricing a world crop against world demand, and a heavy morning in one river district is a rounding error against that. The grain has to be absorbed locally, by elevators with finite space and finite freight, and their only tool is the bid. So they drop it — not to value the corn differently, but to slow the queue at the scale.</p>
|
|
620
|
+
<p>The whole effect lands on the basis. Which is why an experienced originator watches the posted bids up and down the river rather than the screen when he wants to know what the countryside is doing. The board tells him what the world thinks. The basis tells him what his neighbours did this morning.</p>
|
|
621
|
+
<p>The same mechanism runs in reverse, and has a name: a <strong>basis push</strong>. An exporter who is suddenly short tonnes against a vessel raises the bid a few cents for a week to pull grain out of farm storage. He is not revaluing corn. He is paying for delivery speed, and he will take it away again the moment his boat is full.</p>
|
|
622
|
+
<h2 id="relationships-as-infrastructure">Relationships as infrastructure<a class="anchor" href="#relationships-as-infrastructure" aria-label="Link to this section">#</a></h2>
|
|
623
|
+
<p>One last thing, and it is the part that never gets written down.</p>
|
|
624
|
+
<p>The same corn does not fetch the same bid from the same elevator on the same morning. Two farmers in one county, identical grain, quoted four cents apart — and both bids are correct.</p>
|
|
625
|
+
<p>A bid to a stranger has to carry things a bid to a twenty-year counterparty does not:</p>
|
|
626
|
+
<ul><li><strong>An unknown quality distribution.</strong> A known grower's corn has a known moisture and test-weight history, so the discount-schedule risk is priced. An unknown one's is a guess, and guesses get a margin.</li><li><strong>An unknown delivery record.</strong> A farmer who shows up on the day he said is worth real money when there is a vessel on a laytime clock and demurrage running.</li><li><strong>An unknown answer to the only question that matters in a fast market:</strong> who walks away from a contract when the price moves against them? A counterparty with thirty years of never washing out is cheaper to trade with than any credit file will admit.</li></ul>
|
|
627
|
+
<p>That is a credit spread and a quality spread, both sitting inside a differential, neither of them printed anywhere. It is also the honest reason origination relationships are infrastructure rather than sentiment: they are the cheapest form of credit analysis anyone has yet found, and they take a generation to build and one harvest to destroy.</p>
|
|
628
|
+
<p>It is also why origination capacity — the sites, the trucks, the people who know which farms combine early — is the asset that actually constrains a merchant. Anyone can rent a vessel. Nobody can rent a relationship with four hundred farmers in a draw area, which is why the firms that own that network trade the volumes they do.</p>
|
|
629
|
+
<section class="glossec"><h2 id="glossary">Glossary<a class="anchor" href="#glossary" aria-label="Link to this section">#</a></h2><p class="secnote">Every unit, convention and desk expression the show had introduced by episode 19. Nothing said in the audio should ever be unrecoverable.</p><details class="gloss"><summary>Open the glossary<span class="sl">288 terms</span></summary><div class="glossbody"><label class="gsearch"><span class="vh">Search the glossary</span><input type="search" id="gfilter" placeholder="Search terms…" autocomplete="off"></label><div class="gchips" role="group" aria-label="Filter by episode"><button type="button" class="gchip on" data-gep="all">All<span class="gn">288</span></button><button type="button" class="gchip" data-gep="1">Ep 1<span class="gn">37</span></button><button type="button" class="gchip" data-gep="2">Ep 2<span class="gn">15</span></button><button type="button" class="gchip" data-gep="3">Ep 3<span class="gn">11</span></button><button type="button" class="gchip" data-gep="4">Ep 4<span class="gn">13</span></button><button type="button" class="gchip" data-gep="5">Ep 5<span class="gn">12</span></button><button type="button" class="gchip" data-gep="6">Ep 6<span class="gn">13</span></button><button type="button" class="gchip" data-gep="7">Ep 7<span class="gn">14</span></button><button type="button" class="gchip" data-gep="8">Ep 8<span class="gn">16</span></button><button type="button" class="gchip" data-gep="9">Ep 9<span class="gn">18</span></button><button type="button" class="gchip" data-gep="10">Ep 10<span class="gn">18</span></button><button type="button" class="gchip" data-gep="11">Ep 11<span class="gn">18</span></button><button type="button" class="gchip" data-gep="12">Ep 12<span class="gn">15</span></button><button type="button" class="gchip" data-gep="13">Ep 13<span class="gn">17</span></button><button type="button" class="gchip" data-gep="14">Ep 14<span class="gn">17</span></button><button type="button" class="gchip" data-gep="15">Ep 15<span class="gn">13</span></button><button type="button" class="gchip" data-gep="16">Ep 16<span class="gn">10</span></button><button type="button" class="gchip" data-gep="17">Ep 17<span class="gn">8</span></button><button type="button" class="gchip" data-gep="18">Ep 18<span class="gn">12</span></button><button type="button" class="gchip" data-gep="19">Ep 19<span class="gn">11</span></button></div><dl id="glist"><div class="gterm" data-ep="8"><dt>45Z</dt><dd>the US clean fuel production credit, one of the two policy levers that sets American soybean oil demand <span class="gep">ep 8</span></dd></div><div class="gterm" data-ep="6"><dt>abandonment</dt><dd>planted area never harvested for grain, lost to drought, flood or a switch to silage <span class="gep">ep 6</span></dd></div><div class="gterm" data-ep="2"><dt>ABCD</dt><dd>the four historic majors, Archer Daniels Midland, Bunge, Cargill and Louis Dreyfus <span class="gep">ep 2</span></dd></div><div class="gterm" data-ep="18"><dt>against actuals (AA)</dt><dd>the softs market's name for an exchange for physical <span class="gep">ep 18</span></dd></div><div class="gterm" data-ep="14"><dt>anhydrous ethanol</dt><dd>near-water-free ethanol blended into petrol under a mandate, taking 1.7651 kg of ATR per litre <span class="gep">ep 14</span></dd></div><div class="gterm" data-ep="12"><dt>arabica</dt><dd>the high-altitude coffee species, aromatic and acidic, lower-yielding and more fragile, priced on ICE in New York <span class="gep">ep 12</span></dd></div><div class="gterm" data-ep="2"><dt>arb</dt><dd>the full economics of moving a cargo, buy price plus freight and costs against the sale <span class="gep">ep 2</span></dd></div><div class="gterm" data-ep="11"><dt>arb window</dt><dd>the period during which a route's economics work, opening and shutting on freight, differentials and FX rather than on flat price <span class="gep">ep 11</span></dd></div><div class="gterm" data-ep="2"><dt>asset-heavy</dt><dd>owning the physical chain, which converts a volatile trading margin into a steadier toll <span class="gep">ep 2</span></dd></div><div class="gterm" data-ep="2"><dt>asset-light</dt><dd>renting elevators, terminals and plants rather than owning them <span class="gep">ep 2</span></dd></div><div class="gterm" data-ep="1"><dt>at</dt><dd>the small word that introduces the offer side (462 bid, at 462 and a half) <span class="gep">ep 1</span></dd></div><div class="gterm" data-ep="14"><dt>ATR</dt><dd>Acucar Total Recuperavel or total recoverable sugar, the kilos of sugar recoverable from a tonne of cane, the unit in which Brazilian growers are paid and the unit in which a mill compares sugar against ethanol <span class="gep">ep 14</span></dd></div><div class="gterm" data-ep="9"><dt>B50</dt><dd>a blending mandate requiring 50 percent biodiesel in the diesel pool, the level Indonesia moved to in 2026 <span class="gep">ep 9</span></dd></div><div class="gterm" data-ep="1"><dt>bag (coffee)</dt><dd>60 kg, how the coffee trade counts volume <span class="gep">ep 1</span></dd></div><div class="gterm" data-ep="7"><dt>balance sheet</dt><dd>the one-page supply and demand statement for one crop and one marketing year, built so that supply minus use equals ending stocks and the page closes <span class="gep">ep 7</span></dd></div><div class="gterm" data-ep="15"><dt>bale</dt><dd>the standard unit of cotton statistics, 480 lb net in the United States, so one Cotton No. 2 lot is about 104 bales <span class="gep">ep 15</span></dd></div><div class="gterm" data-ep="10"><dt>Baltic Dry Index (BDI)</dt><dd>the Baltic Exchange headline dry bulk freight index, a weighted composite of the Capesize, Panamax, Supramax and Handysize route assessments <span class="gep">ep 10</span></dd></div><div class="gterm" data-ep="19"><dt>basis contract</dt><dd>a farmer contract that fixes the differential now and leaves the futures price to be set later before a deadline <span class="gep now">ep 19</span></dd></div><div class="gterm" data-ep="19"><dt>basis push</dt><dd>a temporary improvement in the posted bid used to pull grain out of farm storage when a buyer needs tonnes quickly <span class="gep now">ep 19</span></dd></div><div class="gterm" data-ep="16"><dt>bear spread</dt><dd>a calendar position short the nearer month and long the deferred, which profits when the carry widens toward full carry <span class="gep">ep 16</span></dd></div><div class="gterm" data-ep="1"><dt>bid</dt><dd>the price a buyer will pay <span class="gep">ep 1</span></dd></div><div class="gterm" data-ep="4"><dt>bill of lading</dt><dd>receipt, contract of carriage and document of title in one, whoever holds it owns the cargo <span class="gep">ep 4</span></dd></div><div class="gterm" data-ep="9"><dt>biomass-based diesel</dt><dd>the RFS category covering biodiesel and renewable diesel made from fats and vegetable oils <span class="gep">ep 9</span></dd></div><div class="gterm" data-ep="9"><dt>blend wall</dt><dd>the physical or warranty limit on how much conventional biodiesel an engine or fuel system will tolerate <span class="gep">ep 9</span></dd></div><div class="gterm" data-ep="11"><dt>blending</dt><dd>combining lots of different quality so the weighted average meets a contract specification, creating value from material nobody else can use <span class="gep">ep 11</span></dd></div><div class="gterm" data-ep="8"><dt>board crush</dt><dd>the processing margin implied purely by futures prices, meal price times 0.022 plus oil price times 0.11 minus the bean price, in dollars per bushel <span class="gep">ep 8</span></dd></div><div class="gterm" data-ep="11"><dt>bottleneck asset</dt><dd>a facility with no near substitute at the moment it is needed, whose owner sets the price rather than quoting one <span class="gep">ep 11</span></dd></div><div class="gterm" data-ep="16"><dt>bull spread</dt><dd>a calendar position long the nearer month and short the deferred, which profits when the carry narrows or the curve inverts <span class="gep">ep 16</span></dd></div><div class="gterm" data-ep="10"><dt>bunkers</dt><dd>the vessel's fuel, priced separately from the hire and carried by the owner on a voyage charter and by the charterer on a time charter <span class="gep">ep 10</span></dd></div><div class="gterm" data-ep="1"><dt>bushel</dt><dd>volume measure standardized into weight, 60 lb for soybeans and wheat, 56 lb for corn <span class="gep">ep 1</span></dd></div><div class="gterm" data-ep="1"><dt>bushels per tonne</dt><dd>about 36.7 for soybeans and wheat, 39.4 for corn <span class="gep">ep 1</span></dd></div><div class="gterm" data-ep="13"><dt>buyer's call</dt><dd>a price-to-be-fixed contract in which the buyer holds the right to choose the moment of fixation <span class="gep">ep 13</span></dd></div><div class="gterm" data-ep="3"><dt>calendar spread</dt><dd>the price difference between two months of the same contract, traded as one instrument at one price <span class="gep">ep 3</span></dd></div><div class="gterm" data-ep="4"><dt>cancelling date</dt><dd>the last day of the laycan, after which the counterparty may cancel <span class="gep">ep 4</span></dd></div><div class="gterm" data-ep="11"><dt>capacity utilisation</dt><dd>the share of storage capacity actually occupied, the best leading indicator of what harvest basis is about to do <span class="gep">ep 11</span></dd></div><div class="gterm" data-ep="10"><dt>Capesize</dt><dd>a bulk carrier of about 180,000 dwt and up, too large for the Panama Canal, used mainly for iron ore and coal <span class="gep">ep 10</span></dd></div><div class="gterm" data-ep="3"><dt>carry market (contango)</dt><dd>a curve with later months above nearer ones, the market pays for storage <span class="gep">ep 3</span></dd></div><div class="gterm" data-ep="2"><dt>carry-in</dt><dd>stocks left over from the previous season, the starting point of a balance sheet <span class="gep">ep 2</span></dd></div><div class="gterm" data-ep="7"><dt>carryout</dt><dd>ending stocks, the desk's one-word name for what is left at the end of the marketing year <span class="gep">ep 7</span></dd></div><div class="gterm" data-ep="14"><dt>Center-South</dt><dd>the Brazilian sugarcane region running from Sao Paulo through Minas Gerais and Goias, about 90 percent of the national crop and the swing supplier of the world sugar market <span class="gep">ep 14</span></dd></div><div class="gterm" data-ep="1"><dt>cents per bushel</dt><dd>Chicago grain quoting unit, 4.39 dollars per bushel is spoken four thirty-nine <span class="gep">ep 1</span></dd></div><div class="gterm" data-ep="12"><dt>certified stock</dt><dd>coffee sampled, graded and stamped as deliverable against the futures contract and held in an exchange-licensed warehouse, the deliverable float rather than world inventory <span class="gep">ep 12</span></dd></div><div class="gterm" data-ep="4"><dt>CFR</dt><dd>cost and freight, the seller pays the voyage to a named destination but risk still passes at loading <span class="gep">ep 4</span></dd></div><div class="gterm" data-ep="4"><dt>charter party</dt><dd>the contract hiring the vessel, between charterer and shipowner <span class="gep">ep 4</span></dd></div><div class="gterm" data-ep="4"><dt>CIF</dt><dd>cost insurance and freight, CFR plus the seller buys the marine insurance the buyer would claim on <span class="gep">ep 4</span></dd></div><div class="gterm" data-ep="15"><dt>citrus greening</dt><dd>huanglongbing, the bacterial disease that permanently reduces an infected orange tree's yield and cannot be cured <span class="gep">ep 15</span></dd></div><div class="gterm" data-ep="12"><dt>Coffee C (KC)</dt><dd>the ICE arabica futures contract, 37,500 lb quoted in US cents per pound with a 0.05 cent tick worth 18.75 dollars <span class="gep">ep 12</span></dd></div><div class="gterm" data-ep="17"><dt>collar (fence)</dt><dd>buying a put and selling a call against the same position so the price is bounded on both sides, the standard hedging structure around unpriced physical <span class="gep">ep 17</span></dd></div><div class="gterm" data-ep="16"><dt>convergence</dt><dd>the pull of a futures price toward the cash value of its deliverable as delivery approaches, which disciplines a calendar spread and has no counterpart across two exchanges <span class="gep">ep 16</span></dd></div><div class="gterm" data-ep="8"><dt>conversion cost</dt><dd>the variable cost of turning beans into products, gas, power, hexane, labour and maintenance, typically 35 to 50 cents a bushel at a modern plant <span class="gep">ep 8</span></dd></div><div class="gterm" data-ep="1"><dt>conversion factors</dt><dd>36.7 bushels per tonne for wheat and beans and 39.4 for corn, so cents per bushel times 0.367 or 0.394 gives dollars per tonne <span class="gep">ep 1</span></dd></div><div class="gterm" data-ep="13"><dt>cooperative (co-op)</dt><dd>a grower-owned body that pools, mills and markets its members' coffee, and often the counterparty an exporter actually buys from <span class="gep">ep 13</span></dd></div><div class="gterm" data-ep="18"><dt>corner</dt><dd>control of enough deliverable supply that the shorts have no economic alternative to paying the holder's price <span class="gep">ep 18</span></dd></div><div class="gterm" data-ep="15"><dt>Cotton No. 2</dt><dd>the ICE cotton futures contract, 50,000 lb net weight quoted in US cents per pound, worth 500 dollars a cent and 5 dollars a point <span class="gep">ep 15</span></dd></div><div class="gterm" data-ep="15"><dt>cotton on-call report</dt><dd>the weekly CFTC publication of unfixed on-call sales and purchases by futures month, read as a map of forced order flow rather than as a price forecast <span class="gep">ep 15</span></dd></div><div class="gterm" data-ep="11"><dt>country elevator</dt><dd>the first commercial storage point off the farm, buying from growers and shipping onward by truck, rail or barge <span class="gep">ep 11</span></dd></div><div class="gterm" data-ep="9"><dt>CPO</dt><dd>crude palm oil, the unrefined oil pressed from the fruit of the oil palm and the benchmark grade traded internationally <span class="gep">ep 9</span></dd></div><div class="gterm" data-ep="7"><dt>Crop Production</dt><dd>the USDA report published alongside WASDE carrying the survey-based yield and area figures <span class="gep">ep 7</span></dd></div><div class="gterm" data-ep="5"><dt>cross-hedge</dt><dd>hedging with a contract that is not your grade or your origin, which removes flat price and adds correlation risk <span class="gep">ep 5</span></dd></div><div class="gterm" data-ep="8"><dt>crush capacity</dt><dd>installed daily processing volume, a physical constraint that cannot be expanded inside a marketing year <span class="gep">ep 8</span></dd></div><div class="gterm" data-ep="1"><dt>cwt</dt><dd>hundredweight, 100 lb, the quoting unit for US rice and cattle <span class="gep">ep 1</span></dd></div><div class="gterm" data-ep="1"><dt>cwt (hundredweight)</dt><dd>100 lb, the quoting unit for US rice <span class="gep">ep 1</span></dd></div><div class="gterm" data-ep="15"><dt>days to liquidate</dt><dd>a position divided by honest daily volume, the sizing measure that replaces a notional limit in a thin market <span class="gep">ep 15</span></dd></div><div class="gterm" data-ep="10"><dt>deadweight (dwt)</dt><dd>the total weight a vessel can carry including cargo, fuel, water, stores and crew, so always more than the cargo she can load <span class="gep">ep 10</span></dd></div><div class="gterm" data-ep="3"><dt>Dec over</dt><dd>spread quoting convention that names the expensive leg, December fifteen over means December is 15 cents above the other month <span class="gep">ep 3</span></dd></div><div class="gterm" data-ep="12"><dt>defect count</dt><dd>the number of black, broken, insect-damaged or foreign items in a fixed sample weight, the primary coffee grading measure <span class="gep">ep 12</span></dd></div><div class="gterm" data-ep="1"><dt>deferred</dt><dd>months or shipment windows further out <span class="gep">ep 1</span></dd></div><div class="gterm" data-ep="19"><dt>deferred price contract</dt><dd>a delivery in which title passes to the buyer with no price set at all, leaving the seller an unsecured creditor of the elevator until he prices <span class="gep now">ep 19</span></dd></div><div class="gterm" data-ep="12"><dt>deliverable float</dt><dd>the quantity actually available to settle a futures delivery, which sets how far a front month can travel regardless of world supply <span class="gep">ep 12</span></dd></div><div class="gterm" data-ep="12"><dt>deliverable origin differential</dt><dd>the fixed premium or discount the contract assigns to each approved origin, unchanged whatever the physical market does <span class="gep">ep 12</span></dd></div><div class="gterm" data-ep="12"><dt>delivery notice period</dt><dd>the window in which shorts may tender certified stock against the expiring contract <span class="gep">ep 12</span></dd></div><div class="gterm" data-ep="10"><dt>demand-to-supply ratio</dt><dd>the Baltic measure of tonne-mile demand growth against fleet growth, above 1.0 when cargo is outrunning ships <span class="gep">ep 10</span></dd></div><div class="gterm" data-ep="2"><dt>demurrage</dt><dd>the penalty owed when a vessel is held beyond the agreed laytime <span class="gep">ep 2</span></dd></div><div class="gterm" data-ep="4"><dt>despatch</dt><dd>the reward paid when loading beats laytime, customarily half the demurrage rate <span class="gep">ep 4</span></dd></div><div class="gterm" data-ep="14"><dt>destination refinery</dt><dd>a standalone refinery at the consuming end that buys raws on the water and sells whites locally, earning the white premium less its costs rather than a crop margin <span class="gep">ep 14</span></dd></div><div class="gterm" data-ep="1"><dt>differential</dt><dd>the premium or discount to a named futures month, as in November plus 80, the negotiated part of a physical quote <span class="gep">ep 1</span></dd></div><div class="gterm" data-ep="1"><dt>differential (basis)</dt><dd>the premium or discount to a named futures month, quoted as plus 80 or minus 20 <span class="gep">ep 1</span></dd></div><div class="gterm" data-ep="11"><dt>discount schedule</dt><dd>the published table of price deductions for grain outside a contract's grade limits, and the raw material of every blending trade <span class="gep">ep 11</span></dd></div><div class="gterm" data-ep="9"><dt>discretionary blending</dt><dd>blending vegetable oil into the fuel pool purely because it is cheaper than gasoil, with no mandate and no subsidy behind it <span class="gep">ep 9</span></dd></div><div class="gterm" data-ep="6"><dt>distillers grains</dt><dd>DDGS, the protein co-product of ethanol production, sold back into the feed market <span class="gep">ep 6</span></dd></div><div class="gterm" data-ep="1"><dt>done</dt><dd>the word that seals a trade <span class="gep">ep 1</span></dd></div><div class="gterm" data-ep="10"><dt>draft</dt><dd>the depth of hull below the waterline, which rises as the ship loads and is the hard physical limit on which berths and rivers a vessel can enter <span class="gep">ep 10</span></dd></div><div class="gterm" data-ep="4"><dt>draft survey</dt><dd>weighing a cargo by reading the ship's displacement before and after loading <span class="gep">ep 4</span></dd></div><div class="gterm" data-ep="8"><dt>draw area</dt><dd>the geographic catchment a crush plant buys its beans from, whose size sets how hard it must bid the local basis <span class="gep">ep 8</span></dd></div><div class="gterm" data-ep="5"><dt>durum</dt><dd>the pasta wheat, a separate species with its own thin market <span class="gep">ep 5</span></dd></div><div class="gterm" data-ep="17"><dt>effective ceiling</dt><dd>the call strike less the net premium paid, the price at which a collar stops participating in a rally <span class="gep">ep 17</span></dd></div><div class="gterm" data-ep="17"><dt>effective floor</dt><dd>the put strike less the net premium paid, the price at which a collar's downside protection actually begins <span class="gep">ep 17</span></dd></div><div class="gterm" data-ep="18"><dt>EFP</dt><dd>a privately negotiated trade in which a futures position and a matching physical position change hands together, reported to the exchange but never executed on it <span class="gep">ep 18</span></dd></div><div class="gterm" data-ep="18"><dt>EFS</dt><dd>an exchange for physical whose paper leg is an OTC swap rather than a futures contract <span class="gep">ep 18</span></dd></div><div class="gterm" data-ep="11"><dt>elevation margin</dt><dd>the toll an elevator earns for taking grain in, conditioning it and loading it out, separate from any gain on the basis <span class="gep">ep 11</span></dd></div><div class="gterm" data-ep="6"><dt>ethanol grind</dt><dd>the rate at which ethanol plants consume corn, which slows when the plant margin turns negative and removes corn demand in steps <span class="gep">ep 6</span></dd></div><div class="gterm" data-ep="14"><dt>ethanol parity</dt><dd>the sugar price at which a mill earns the same per unit of ATR from sugar as from ethanol, the level at which its production decision flips <span class="gep">ep 14</span></dd></div><div class="gterm" data-ep="13"><dt>EUDR</dt><dd>the EU deforestation regulation, which from December 2026 requires proof that a shipment's land was not deforested and which splits origin differentials into compliant and non-compliant <span class="gep">ep 13</span></dd></div><div class="gterm" data-ep="17"><dt>event volatility</dt><dd>the portion of an option's implied volatility that exists only because a dated event such as a WASDE falls before expiry <span class="gep">ep 17</span></dd></div><div class="gterm" data-ep="9"><dt>export levy</dt><dd>a tax charged on a commodity leaving the country, used in Indonesia both to discourage exports of crude palm oil and to fund the domestic blending subsidy <span class="gep">ep 9</span></dd></div><div class="gterm" data-ep="5"><dt>falling number</dt><dd>the sprout-damage test, a low number demotes milling wheat to feed wheat <span class="gep">ep 5</span></dd></div><div class="gterm" data-ep="9"><dt>FAME</dt><dd>fatty acid methyl ester, the chemical name for conventional biodiesel made by reacting a vegetable oil with methanol <span class="gep">ep 9</span></dd></div><div class="gterm" data-ep="13"><dt>farmgate price</dt><dd>what the grower is actually paid at the farm, after the intermediary's margin and inland costs are taken out of the export value <span class="gep">ep 13</span></dd></div><div class="gterm" data-ep="15"><dt>FCOJ-A</dt><dd>the ICE frozen concentrated orange juice contract, 15,000 lb of orange solids quoted in US cents per pound <span class="gep">ep 15</span></dd></div><div class="gterm" data-ep="9"><dt>FCPO</dt><dd>the Bursa Malaysia Derivatives crude palm oil futures contract, 25 tonnes per lot, quoted in Malaysian ringgit per tonne with a one ringgit tick <span class="gep">ep 9</span></dd></div><div class="gterm" data-ep="7"><dt>feed and residual</dt><dd>the inferred demand line that carries livestock feeding together with every measurement error in the rest of the sheet <span class="gep">ep 7</span></dd></div><div class="gterm" data-ep="6"><dt>feed floor</dt><dd>the price at which feed substitution demand appears under a grain, corn setting the floor under feed wheat <span class="gep">ep 6</span></dd></div><div class="gterm" data-ep="6"><dt>feed wheat</dt><dd>wheat sold on energy and protein rather than milling specification, priced relationally against corn rather than at a flat price <span class="gep">ep 6</span></dd></div><div class="gterm" data-ep="1"><dt>firm</dt><dd>a tradable quote that binds if accepted, often with a time limit <span class="gep">ep 1</span></dd></div><div class="gterm" data-ep="13"><dt>first notice day</dt><dd>the first day on which a short futures position may be tendered for delivery, and the practical deadline for rolling a hedge <span class="gep">ep 13</span></dd></div><div class="gterm" data-ep="1"><dt>five percent more or less</dt><dd>the contractual tolerance on cargo size, exercised at the seller's option <span class="gep">ep 1</span></dd></div><div class="gterm" data-ep="13"><dt>fixation</dt><dd>the act of setting the futures leg of a price-to-be-fixed contract, which converts a differential into a flat price <span class="gep">ep 13</span></dd></div><div class="gterm" data-ep="13"><dt>fixation window</dt><dd>the period inside which the fixing party must declare, normally ending before the referenced contract's notice period <span class="gep">ep 13</span></dd></div><div class="gterm" data-ep="10"><dt>fixing</dt><dd>agreeing the charter of a specific vessel, the moment a freight exposure stops being open <span class="gep">ep 10</span></dd></div><div class="gterm" data-ep="13"><dt>fixing risk</dt><dd>the exposure created by the gap between agreeing a differential and setting the price, carried as market risk by the fixing party and as credit risk by the other <span class="gep">ep 13</span></dd></div><div class="gterm" data-ep="1"><dt>flat price</dt><dd>the full outright price level <span class="gep">ep 1</span></dd></div><div class="gterm" data-ep="2"><dt>flat price exposure</dt><dd>outright price risk, removed deliberately by hedging so only the basis remains <span class="gep">ep 2</span></dd></div><div class="gterm" data-ep="2"><dt>FOB</dt><dd>free on board, the cargo is priced at the load port with the buyer taking it from the ship's rail <span class="gep">ep 2</span></dd></div><div class="gterm" data-ep="10"><dt>forward freight agreement (FFA)</dt><dd>a cash-settled swap on a Baltic index route or basket over a calendar month, the only liquid way to hedge freight <span class="gep">ep 10</span></dd></div><div class="gterm" data-ep="3"><dt>front month</dt><dd>the nearest actively traded contract month, where liquidity is deepest <span class="gep">ep 3</span></dd></div><div class="gterm" data-ep="3"><dt>full carry</dt><dd>storage plus interest per month of holding grain, the practical ceiling on a carry spread <span class="gep">ep 3</span></dd></div><div class="gterm" data-ep="16"><dt>FX leg</dt><dd>the currency exposure that arrives unbidden in an inter-exchange spread whose two legs settle in different currencies <span class="gep">ep 16</span></dd></div><div class="gterm" data-ep="9"><dt>gasoil</dt><dd>the traded middle distillate that diesel prices off, and the reference against which discretionary blending economics are judged <span class="gep">ep 9</span></dd></div><div class="gterm" data-ep="10"><dt>geared vessel</dt><dd>a ship carrying its own cranes, which can therefore discharge at a berth with no shore equipment <span class="gep">ep 10</span></dd></div><div class="gterm" data-ep="12"><dt>grading</dt><dd>the exchange pass-fail examination of a sample covering defect count, screen size and a clean cup <span class="gep">ep 12</span></dd></div><div class="gterm" data-ep="7"><dt>Grain Stocks</dt><dd>the quarterly USDA survey of physical inventories, from which the feed and residual line is backed out <span class="gep">ep 7</span></dd></div><div class="gterm" data-ep="13"><dt>green coffee</dt><dd>unroasted milled coffee beans, the form in which all internationally traded coffee moves <span class="gep">ep 13</span></dd></div><div class="gterm" data-ep="8"><dt>gross processing margin</dt><dd>the industry name for product value minus raw material cost, the crush stated as a margin <span class="gep">ep 8</span></dd></div><div class="gterm" data-ep="10"><dt>Handysize</dt><dd>the smallest mainstream dry bulk class at roughly 10,000 to 40,000 dwt, geared and able to work berths larger ships cannot reach <span class="gep">ep 10</span></dd></div><div class="gterm" data-ep="5"><dt>hard red spring (HRS)</dt><dd>the 13.5 percent plus Minneapolis wheat bought to lift the protein of a grist <span class="gep">ep 5</span></dd></div><div class="gterm" data-ep="5"><dt>hard red winter (HRW)</dt><dd>the 11 to 12.5 percent bread wheat priced at Kansas City, the US wheat that competes with the Black Sea <span class="gep">ep 5</span></dd></div><div class="gterm" data-ep="11"><dt>harvest basis</dt><dd>the seasonal low in the cash-minus-futures spread, set when a year of crop arrives in six weeks into a pipe sized to move it over twelve months <span class="gep">ep 11</span></dd></div><div class="gterm" data-ep="19"><dt>harvest run</dt><dd>the six to eight weeks in which a full year of crop arrives at facilities sized to ship it over twelve months <span class="gep now">ep 19</span></dd></div><div class="gterm" data-ep="6"><dt>harvested acres</dt><dd>area actually cut for grain, roughly 8 million acres below planted for US corn, and the denominator that yield is quoted against <span class="gep">ep 6</span></dd></div><div class="gterm" data-ep="19"><dt>hedge-to-arrive</dt><dd>the mirror of a basis contract, fixing the futures price now and leaving the differential to be agreed later <span class="gep now">ep 19</span></dd></div><div class="gterm" data-ep="8"><dt>hexane</dt><dd>the solvent used to extract the last of the oil from the flaked bean, and a real line in the conversion cost <span class="gep">ep 8</span></dd></div><div class="gterm" data-ep="1"><dt>hit</dt><dd>your bid was taken by a seller <span class="gep">ep 1</span></dd></div><div class="gterm" data-ep="1"><dt>hit the bid</dt><dd>to sell into someone else's bid <span class="gep">ep 1</span></dd></div><div class="gterm" data-ep="14"><dt>hydrous ethanol</dt><dd>roughly 95 percent ethanol sold directly at the pump for flex-fuel cars in Brazil, taking 1.6913 kg of ATR per litre <span class="gep">ep 14</span></dd></div><div class="gterm" data-ep="14"><dt>ICUMSA</dt><dd>the colour scale for refined sugar, lower being whiter, with the London No. 5 contract requiring 45 ICUMSA or better <span class="gep">ep 14</span></dd></div><div class="gterm" data-ep="7"><dt>implied disappearance</dt><dd>use derived by subtraction rather than by measurement, the technique that produces the residual lines of a balance sheet <span class="gep">ep 7</span></dd></div><div class="gterm" data-ep="6"><dt>inclusion rate</dt><dd>the share of a single ingredient in a feed ration, capped by nutrition and by anti-nutritional factors <span class="gep">ep 6</span></dd></div><div class="gterm" data-ep="4"><dt>Incoterms</dt><dd>the standard three-letter trade terms that allocate cost and risk between buyer and seller <span class="gep">ep 4</span></dd></div><div class="gterm" data-ep="1"><dt>indication</dt><dd>a guide price that is not firm <span class="gep">ep 1</span></dd></div><div class="gterm" data-ep="3"><dt>initial margin</dt><dd>the deposit the clearing house takes per lot when a position is opened <span class="gep">ep 3</span></dd></div><div class="gterm" data-ep="5"><dt>inter-exchange spread</dt><dd>the price gap between two exchanges pricing related but different goods, such as Kansas City over Chicago <span class="gep">ep 5</span></dd></div><div class="gterm" data-ep="3"><dt>inverse (backwardation)</dt><dd>a curve with nearer months above later ones, the market pays a premium for immediate delivery <span class="gep">ep 3</span></dd></div><div class="gterm" data-ep="8"><dt>joint product</dt><dd>two outputs produced in fixed proportion from one input, so that neither can be made without the other <span class="gep">ep 8</span></dd></div><div class="gterm" data-ep="9"><dt>kilolitre</dt><dd>one thousand litres, the volume unit Asian governments state biofuel mandates in, converted to tonnes using the fuel's density of about 0.88 t per cubic metre for biodiesel <span class="gep">ep 9</span></dd></div><div class="gterm" data-ep="1"><dt>laycan</dt><dd>the window during which a vessel may present for loading <span class="gep">ep 1</span></dd></div><div class="gterm" data-ep="4"><dt>laytime</dt><dd>the contractually allowed time to load or discharge before demurrage begins <span class="gep">ep 4</span></dd></div><div class="gterm" data-ep="16"><dt>leg</dt><dd>one of the individual contracts making up a spread, each executed and margined in its own right <span class="gep">ep 16</span></dd></div><div class="gterm" data-ep="16"><dt>legging in</dt><dd>executing a spread one leg at a time rather than as a single spread order, accepting outright exposure in between in exchange for a better fill <span class="gep">ep 16</span></dd></div><div class="gterm" data-ep="18"><dt>legging risk</dt><dd>the exposure created when the two halves of a trade are executed minutes apart rather than simultaneously, leaving the position briefly unhedged <span class="gep">ep 18</span></dd></div><div class="gterm" data-ep="12"><dt>licensed warehouse</dt><dd>a storage facility the exchange approves to hold deliverable stock, at named ports only <span class="gep">ep 12</span></dd></div><div class="gterm" data-ep="1"><dt>lift the offer</dt><dd>to buy from someone else's offer <span class="gep">ep 1</span></dd></div><div class="gterm" data-ep="1"><dt>lifted</dt><dd>your offer was taken by a buyer <span class="gep">ep 1</span></dd></div><div class="gterm" data-ep="3"><dt>limit move</dt><dd>an exchange-set maximum daily price change, trading pauses beyond it <span class="gep">ep 3</span></dd></div><div class="gterm" data-ep="2"><dt>line-up</dt><dd>the queue of vessels waiting to load at a port, a key driver of origin basis <span class="gep">ep 2</span></dd></div><div class="gterm" data-ep="11"><dt>load-out capacity</dt><dd>how fast an elevator can ship grain out, the lever that decides whether a full house is a crisis or a rotation <span class="gep">ep 11</span></dd></div><div class="gterm" data-ep="18"><dt>load-out rate</dt><dd>the minimum tonnage per day the issuer of a shipping certificate is contractually obliged to ship <span class="gep">ep 18</span></dd></div><div class="gterm" data-ep="19"><dt>long the basis</dt><dd>owning physical hedged with futures, so the position gains when the differential strengthens and is indifferent to the board <span class="gep now">ep 19</span></dd></div><div class="gterm" data-ep="14"><dt>long ton</dt><dd>2,240 lb, the imperial weight unit the sugar No. 11 contract is still sized in at 50 long tons a lot <span class="gep">ep 14</span></dd></div><div class="gterm" data-ep="1"><dt>lot</dt><dd>one futures contract, 5,000 bushels for Chicago grains, the unit desks count positions in <span class="gep">ep 1</span></dd></div><div class="gterm" data-ep="13"><dt>managed money</dt><dd>speculative funds reported as non-commercial in exchange positioning data, which trade direction rather than physical <span class="gep">ep 13</span></dd></div><div class="gterm" data-ep="15"><dt>market depth</dt><dd>the quantity resting on the book near the touch, which is what determines execution cost rather than headline volume <span class="gep">ep 15</span></dd></div><div class="gterm" data-ep="7"><dt>marketing year</dt><dd>the accounting year a crop is measured in, September to August for US corn and soybeans and June to May for US wheat <span class="gep">ep 7</span></dd></div><div class="gterm" data-ep="5"><dt>Matif milling wheat (EBM)</dt><dd>the Paris contract, 50 tonnes a lot quoted in euros per tonne and delivered into Rouen and Dunkirk <span class="gep">ep 5</span></dd></div><div class="gterm" data-ep="8"><dt>meal contract</dt><dd>CBOT soybean meal, 100 short tons, quoted in dollars per short ton <span class="gep">ep 8</span></dd></div><div class="gterm" data-ep="14"><dt>melt loss</dt><dd>the sugar lost between raws in and whites out, roughly six percent, which makes a refiner's break-even white premium a function of the raw price rather than a constant <span class="gep">ep 14</span></dd></div><div class="gterm" data-ep="1"><dt>metric tonne</dt><dd>2,204.6 lb, the grain trading weight unit outside the US <span class="gep">ep 1</span></dd></div><div class="gterm" data-ep="19"><dt>minimum price contract</dt><dd>a cash sale bundled with a bought call, giving the seller a price floor and retained upside in exchange for a fee <span class="gep now">ep 19</span></dd></div><div class="gterm" data-ep="1"><dt>month codes</dt><dd>F G H J K M N Q U V X Z for January through December, the Z is December <span class="gep">ep 1</span></dd></div><div class="gterm" data-ep="7"><dt>NASS</dt><dd>USDA's National Agricultural Statistics Service, the body running the surveys behind the published numbers <span class="gep">ep 7</span></dd></div><div class="gterm" data-ep="12"><dt>natural process</dt><dd>coffee dried with the fruit still attached, giving a sweeter, heavier and more variable cup <span class="gep">ep 12</span></dd></div><div class="gterm" data-ep="13"><dt>net length</dt><dd>a fund category's long positions less its short positions, the number that says how much of a rally is positioning <span class="gep">ep 13</span></dd></div><div class="gterm" data-ep="7"><dt>new crop</dt><dd>the marketing year about to begin, priced by the contract months that follow the coming harvest <span class="gep">ep 7</span></dd></div><div class="gterm" data-ep="14"><dt>No. 11</dt><dd>the ICE raw cane sugar futures contract, 112,000 lb quoted in US cents per pound FOB at origin, and the world price of raw sugar <span class="gep">ep 14</span></dd></div><div class="gterm" data-ep="14"><dt>No. 5</dt><dd>the ICE London white sugar futures contract, 50 tonnes quoted in US dollars per tonne delivered, and the world price of refined sugar <span class="gep">ep 14</span></dd></div><div class="gterm" data-ep="4"><dt>nomination</dt><dd>formally naming the performing vessel under a cargo contract <span class="gep">ep 4</span></dd></div><div class="gterm" data-ep="18"><dt>non-convergence</dt><dd>a futures contract that fails to fall to the cash value of its deliverable at expiry because holding the certificate costs less than the carry the market is paying <span class="gep">ep 18</span></dd></div><div class="gterm" data-ep="8"><dt>NOPA</dt><dd>the National Oilseed Processors Association, whose monthly published crush figure makes US soybean crush a measured line rather than an inferred one <span class="gep">ep 8</span></dd></div><div class="gterm" data-ep="4"><dt>notice of readiness (NOR)</dt><dd>the master's formal declaration that the vessel has arrived and is ready, it starts the laytime clock <span class="gep">ep 4</span></dd></div><div class="gterm" data-ep="1"><dt>offer</dt><dd>the price a seller will accept <span class="gep">ep 1</span></dd></div><div class="gterm" data-ep="8"><dt>oil contract</dt><dd>CBOT soybean oil, 60,000 pounds, quoted in cents per pound <span class="gep">ep 8</span></dd></div><div class="gterm" data-ep="8"><dt>oil share</dt><dd>soybean oil's percentage of the combined value of the meal and oil produced from one bushel <span class="gep">ep 8</span></dd></div><div class="gterm" data-ep="9"><dt>oil share trade</dt><dd>long soybean oil against short soybean meal, the clean expression of a view on a fuel policy because it isolates relative product value from the bean basis <span class="gep">ep 9</span></dd></div><div class="gterm" data-ep="7"><dt>old crop</dt><dd>the marketing year now ending, priced by the contract months before the new harvest arrives <span class="gep">ep 7</span></dd></div><div class="gterm" data-ep="9"><dt>olein and stearin</dt><dd>the liquid and solid fractions palm separates into when refined, sold into cooking oil and into fats respectively <span class="gep">ep 9</span></dd></div><div class="gterm" data-ep="15"><dt>on-call purchase</dt><dd>cotton bought by a merchant from a grower with the futures leg left for the seller to fix later, which makes it latent futures selling <span class="gep">ep 15</span></dd></div><div class="gterm" data-ep="15"><dt>on-call sale</dt><dd>cotton sold by a merchant to a mill at an agreed differential with the futures leg left for the buyer to fix later, which makes it latent futures buying <span class="gep">ep 15</span></dd></div><div class="gterm" data-ep="19"><dt>origination</dt><dd>the business of buying physical crop from farmers, co-ops and country elevators, together with the network of people and facilities that makes it possible <span class="gep now">ep 19</span></dd></div><div class="gterm" data-ep="13"><dt>outright</dt><dd>a contract agreed at a flat price rather than as a differential, with no fixation to come <span class="gep">ep 13</span></dd></div><div class="gterm" data-ep="10"><dt>P7 and P8</dt><dd>Baltic Panamax route codes for US Gulf to Qingdao and Santos to Qingdao, the two assessments that set the soybean origin arb <span class="gep">ep 10</span></dd></div><div class="gterm" data-ep="10"><dt>Panamax and Kamsarmax</dt><dd>the 75,000 to 82,000 dwt workhorse of the grain and coal trades, usually gearless and drawing about fourteen metres fully loaded <span class="gep">ep 10</span></dd></div><div class="gterm" data-ep="2"><dt>paper</dt><dd>exchange futures and options, used by a physical desk to hedge rather than to speculate <span class="gep">ep 2</span></dd></div><div class="gterm" data-ep="10"><dt>part cargo</dt><dd>loading a vessel below capacity because the berth, river or canal cannot take her full draft <span class="gep">ep 10</span></dd></div><div class="gterm" data-ep="11"><dt>pass-fail specification</dt><dd>a contract term that cannot be met on average, such as contamination, infestation or an unapproved genetic event, where blending increases the affected tonnage instead of diluting it <span class="gep">ep 11</span></dd></div><div class="gterm" data-ep="16"><dt>percent of full carry</dt><dd>a calendar spread expressed as a fraction of the interest and storage cost of holding the grain to the later month, the standard way a desk reads how badly a market wants storage <span class="gep">ep 16</span></dd></div><div class="gterm" data-ep="2"><dt>physical (cash)</dt><dd>real cargoes under contract with specs and load windows, as opposed to paper <span class="gep">ep 2</span></dd></div><div class="gterm" data-ep="8"><dt>plant crush</dt><dd>what a physical plant actually earns, the board crush adjusted for bean, meal and oil basis and net of conversion cost <span class="gep">ep 8</span></dd></div><div class="gterm" data-ep="6"><dt>planted acres</dt><dd>area sown, the number that moves on farmer decisions and USDA area surveys <span class="gep">ep 6</span></dd></div><div class="gterm" data-ep="1"><dt>point</dt><dd>one hundredth of a cent per pound, how softs desks count moves <span class="gep">ep 1</span></dd></div><div class="gterm" data-ep="1"><dt>point (softs)</dt><dd>one hundredth of a cent per pound, so up 300 points means up 3 cents <span class="gep">ep 1</span></dd></div><div class="gterm" data-ep="14"><dt>polarisation (pol)</dt><dd>the sucrose purity of a sugar measured by the rotation of polarised light and expressed in degrees, the basis on which raw sugar is priced and settled <span class="gep">ep 14</span></dd></div><div class="gterm" data-ep="6"><dt>pollination</dt><dd>the roughly one-week corn window in mid-July in the northern hemisphere after which the ear count is fixed and no forecast can change it <span class="gep">ep 6</span></dd></div><div class="gterm" data-ep="19"><dt>posted bid</dt><dd>the price an elevator displays to growers for immediate delivery, quoted as a differential to a named futures month and used to manage the delivery queue as much as to set a price <span class="gep now">ep 19</span></dd></div><div class="gterm" data-ep="5"><dt>price assessment</dt><dd>a published daily price built by surveying brokers and exporters, used where no futures contract exists <span class="gep">ep 5</span></dd></div><div class="gterm" data-ep="19"><dt>price-later deadline</dt><dd>the date by which an unpriced farmer contract must be fixed, after which the buyer prices it at the market <span class="gep now">ep 19</span></dd></div><div class="gterm" data-ep="13"><dt>price-to-be-fixed (PTBF)</dt><dd>a physical contract where quantity, quality, shipment and differential are agreed now and the futures price is set later <span class="gep">ep 13</span></dd></div><div class="gterm" data-ep="1"><dt>prompt</dt><dd>the nearby month or shipment window, ready to move now <span class="gep">ep 1</span></dd></div><div class="gterm" data-ep="5"><dt>protein spec</dt><dd>the contractual protein percentage that turns the word wheat into a price <span class="gep">ep 5</span></dd></div><div class="gterm" data-ep="8"><dt>putting on the crush</dt><dd>buying bean futures and selling meal and oil futures against them in a 10-11-9 lot ratio, which fixes the processing margin <span class="gep">ep 8</span></dd></div><div class="gterm" data-ep="5"><dt>quality basis</dt><dd>the spread between the grade you own and the grade the futures contract delivers <span class="gep">ep 5</span></dd></div><div class="gterm" data-ep="6"><dt>ration</dt><dd>the formulated feed mix a mill grinds, in which every ingredient carries an inclusion limit and a substitution price against the others <span class="gep">ep 6</span></dd></div><div class="gterm" data-ep="14"><dt>raws</dt><dd>raw cane sugar, the crystalline product a cane mill exports before refining, traded at 96 degrees polarisation <span class="gep">ep 14</span></dd></div><div class="gterm" data-ep="11"><dt>receiving capacity</dt><dd>how fast an elevator can take grain in, in bushels or tonnes per hour, a different constraint from how much it can hold <span class="gep">ep 11</span></dd></div><div class="gterm" data-ep="18"><dt>registered stocks</dt><dd>the quantity currently certificated and therefore available to settle a futures delivery <span class="gep">ep 18</span></dd></div><div class="gterm" data-ep="18"><dt>regular warehouse</dt><dd>a facility approved by an exchange to issue deliverable certificates at a named delivery point <span class="gep">ep 18</span></dd></div><div class="gterm" data-ep="16"><dt>relative value</dt><dd>a position expressing a view on the difference between two prices rather than on the direction of either <span class="gep">ep 16</span></dd></div><div class="gterm" data-ep="9"><dt>renewable diesel</dt><dd>hydrotreated vegetable oil or HVO, a drop-in diesel chemically identical to fossil diesel and not limited by a blend wall, unlike FAME <span class="gep">ep 9</span></dd></div><div class="gterm" data-ep="11"><dt>replacement value</dt><dd>what it would cost to buy back today what you have just sold, the test of whether a price was genuinely good <span class="gep">ep 11</span></dd></div><div class="gterm" data-ep="2"><dt>residual</dt><dd>a figure obtained by subtraction, such as ending stocks, which absorbs any error in the larger numbers almost in full <span class="gep">ep 2</span></dd></div><div class="gterm" data-ep="13"><dt>retracement</dt><dd>the partial give-back of a price move once the fear that produced it fails to be confirmed <span class="gep">ep 13</span></dd></div><div class="gterm" data-ep="8"><dt>reverse crush</dt><dd>the opposite position, short beans and long products, used when a processor expects to idle capacity rather than run it <span class="gep">ep 8</span></dd></div><div class="gterm" data-ep="9"><dt>RFS</dt><dd>the US Renewable Fuel Standard, the rule that sets annual minimum volumes of renewable fuel that must be blended into American transport fuel <span class="gep">ep 9</span></dd></div><div class="gterm" data-ep="9"><dt>RIN</dt><dd>renewable identification number, the tradable compliance certificate generated with each gallon of renewable fuel, at 1.5 RINs per gallon of biodiesel, which is why a mandate volume must be checked for basis before it is multiplied by a feedstock factor <span class="gep">ep 9</span></dd></div><div class="gterm" data-ep="10"><dt>river-sea vessel</dt><dd>a small shallow-draft ship built to work both inland waterways and short sea legs, the only class able to load in the Sea of Azov <span class="gep">ep 10</span></dd></div><div class="gterm" data-ep="12"><dt>robusta</dt><dd>the low-altitude coffee species, hardier and higher-yielding, about double the caffeine and a flatter cup, priced in London <span class="gep">ep 12</span></dd></div><div class="gterm" data-ep="12"><dt>robusta contract (RC)</dt><dd>the London robusta futures contract, 10 tonnes quoted in dollars per tonne with a one dollar tick worth 10 dollars <span class="gep">ep 12</span></dd></div><div class="gterm" data-ep="3"><dt>roll</dt><dd>closing a hedge in one month and reopening it further out, executed as a spread trade <span class="gep">ep 3</span></dd></div><div class="gterm" data-ep="13"><dt>roll cost</dt><dd>the gain or loss from moving a hedge to a later month, equal to the spread between the two months and negative for a short hedge in an inverted market <span class="gep">ep 13</span></dd></div><div class="gterm" data-ep="19"><dt>roll return</dt><dd>the gain or loss taken when a hedge is moved from one futures month to the next, positive for a short hedger in a carry market <span class="gep now">ep 19</span></dd></div><div class="gterm" data-ep="15"><dt>rough rice contract</dt><dd>the CBOT rice future, 2,000 hundredweight of long grain rough rice quoted in US dollars per hundredweight <span class="gep">ep 15</span></dd></div><div class="gterm" data-ep="8"><dt>run rate</dt><dd>the share of installed capacity a plant is actually operating at, the lever a crusher pulls when margins move <span class="gep">ep 8</span></dd></div><div class="gterm" data-ep="9"><dt>RVO</dt><dd>renewable volume obligation, the share of the national mandate assigned to an individual refiner or importer <span class="gep">ep 9</span></dd></div><div class="gterm" data-ep="6"><dt>safrinha</dt><dd>Brazil's second corn crop, planted February to March into soybean stubble and pollinating April to May, about three quarters of Brazilian corn production <span class="gep">ep 6</span></dd></div><div class="gterm" data-ep="12"><dt>screen size</dt><dd>bean size measured by the mesh it will not fall through, part of the deliverable specification <span class="gep">ep 12</span></dd></div><div class="gterm" data-ep="13"><dt>Section 301</dt><dd>the US statute under which country-specific tariffs are imposed after a trade-practice investigation, applied to Brazilian goods from 22 July 2026 with coffee exempt <span class="gep">ep 13</span></dd></div><div class="gterm" data-ep="11"><dt>segregation</dt><dd>keeping identities and grades physically apart in separate bins, the precondition for being able to blend deliberately later <span class="gep">ep 11</span></dd></div><div class="gterm" data-ep="13"><dt>seller's call</dt><dd>a price-to-be-fixed contract in which the seller holds the right to choose the moment of fixation <span class="gep">ep 13</span></dd></div><div class="gterm" data-ep="18"><dt>shipping certificate</dt><dd>the paper actually delivered against Chicago wheat and corn, obliging a regular warehouse to load the holder out on demand at a contractual rate against a daily storage charge <span class="gep">ep 18</span></dd></div><div class="gterm" data-ep="1"><dt>short ton</dt><dd>2,000 lb, used by US soybean meal, about 10 percent lighter than a metric tonne <span class="gep">ep 1</span></dd></div><div class="gterm" data-ep="11"><dt>shrink</dt><dd>weight lost when grain is dried to a safe keeping moisture, deducted as a percentage and a real cost to whoever owns the grain <span class="gep">ep 11</span></dd></div><div class="gterm" data-ep="17"><dt>skew</dt><dd>the difference in implied volatility between equidistant call and put strikes, in grains usually richer on the call side because supply shocks push price up <span class="gep">ep 17</span></dd></div><div class="gterm" data-ep="5"><dt>soft red winter (SRW)</dt><dd>the low-protein soft wheat the Chicago contract delivers, used for cakes biscuits and crackers <span class="gep">ep 5</span></dd></div><div class="gterm" data-ep="12"><dt>soluble solids</dt><dd>the share of the coffee bean that dissolves in water, higher in robusta, which is why robusta dominates instant coffee <span class="gep">ep 12</span></dd></div><div class="gterm" data-ep="2"><dt>space time form</dt><dd>the three transformations a merchant is paid for, geography, storage and processing <span class="gep">ep 2</span></dd></div><div class="gterm" data-ep="16"><dt>spread margin credit</dt><dd>the reduction in initial margin an exchange grants a recognised spread, which lowers the cost of a position without lowering its risk per tonne <span class="gep">ep 16</span></dd></div><div class="gterm" data-ep="18"><dt>squeeze</dt><dd>a front month bid far above the cash value of its deliverable because open interest exceeds what can physically be delivered in the time available <span class="gep">ep 18</span></dd></div><div class="gterm" data-ep="9"><dt>standing bid</dt><dd>demand that is present regardless of price because it is created by legal obligation rather than by choice <span class="gep">ep 9</span></dd></div><div class="gterm" data-ep="15"><dt>state reserve auction</dt><dd>a government selling cotton or grain from its own stockpile into its domestic market, whose clearing rate is read as a signal of domestic tightness <span class="gep">ep 15</span></dd></div><div class="gterm" data-ep="4"><dt>statement of facts</dt><dd>the port log of events both sides use to fight laytime claims <span class="gep">ep 4</span></dd></div><div class="gterm" data-ep="2"><dt>stocks-to-use</dt><dd>ending stocks divided by total use, the market's tension gauge <span class="gep">ep 2</span></dd></div><div class="gterm" data-ep="11"><dt>storage tariff</dt><dd>the published charge for commercial storage, quoted in cents per bushel per month or per day, or in dollars per tonne per month <span class="gep">ep 11</span></dd></div><div class="gterm" data-ep="9"><dt>substitution spread</dt><dd>the price gap between two competing vegetable oils, which sets the point at which a refiner reformulates from one to the other <span class="gep">ep 9</span></dd></div><div class="gterm" data-ep="14"><dt>sugar mix</dt><dd>the share of a mill's recoverable sugars turned into sugar rather than ethanol, bounded above by the plant's crystallisation capacity <span class="gep">ep 14</span></dd></div><div class="gterm" data-ep="10"><dt>Supramax</dt><dd>a dry bulk vessel of roughly 50,000 to 60,000 dwt, normally carrying its own cranes, working minor bulks and shorter legs <span class="gep">ep 10</span></dd></div><div class="gterm" data-ep="11"><dt>temporary storage</dt><dd>ground piles, bunkers and bags used when permanent capacity is full, cheap per bushel to build and expensive per bushel in spoilage and rehandling <span class="gep">ep 11</span></dd></div><div class="gterm" data-ep="11"><dt>terminal elevator</dt><dd>large storage at a port, river or rail hub whose business is blending, load-out speed and access rather than farm origination <span class="gep">ep 11</span></dd></div><div class="gterm" data-ep="5"><dt>test weight</dt><dd>the density measure telling a miller how much flour comes out of a tonne <span class="gep">ep 5</span></dd></div><div class="gterm" data-ep="15"><dt>thin market</dt><dd>a market in which the price obtainable depends materially on the size being traded, whatever a single lot is worth in notional terms <span class="gep">ep 15</span></dd></div><div class="gterm" data-ep="11"><dt>throughput</dt><dd>the volume moved through a facility in a period, the number that actually pays for a fixed asset because capacity earns nothing standing still <span class="gep">ep 11</span></dd></div><div class="gterm" data-ep="1"><dt>tick</dt><dd>smallest price increment, a quarter cent per bushel in Chicago grains, worth 12.50 dollars per lot <span class="gep">ep 1</span></dd></div><div class="gterm" data-ep="3"><dt>ticker</dt><dd>the short screen code a contract is spoken by, ZW wheat, ZC corn, ZS soybeans, ZM meal, ZL oil, KC coffee, SB sugar, CT cotton <span class="gep">ep 3</span></dd></div><div class="gterm" data-ep="10"><dt>time charter</dt><dd>hiring the vessel itself for a period at a price in dollars per day, with the charterer taking speed, weather, port delay and usually fuel <span class="gep">ep 10</span></dd></div><div class="gterm" data-ep="10"><dt>time charter equivalent (TCE)</dt><dd>a voyage's economics restated as dollars per day, which is how a shipowner compares one employment against another <span class="gep">ep 10</span></dd></div><div class="gterm" data-ep="14"><dt>toll refining</dt><dd>refining someone else's raws for a fee per tonne, which converts the white premium from a trading position into a fixed margin <span class="gep">ep 14</span></dd></div><div class="gterm" data-ep="7"><dt>total supply</dt><dd>carry-in plus production plus imports, the top block of a balance sheet <span class="gep">ep 7</span></dd></div><div class="gterm" data-ep="7"><dt>total use</dt><dd>domestic use plus exports, the bottom block of a balance sheet <span class="gep">ep 7</span></dd></div><div class="gterm" data-ep="7"><dt>trade average</dt><dd>the published mean of analysts' pre-report estimates, and therefore the expectation already contained in the price <span class="gep">ep 7</span></dd></div><div class="gterm" data-ep="6"><dt>trend yield</dt><dd>the yield a crop would produce on normal weather, the baseline against which a weather premium is measured <span class="gep">ep 6</span></dd></div><div class="gterm" data-ep="15"><dt>unfixed</dt><dd>the state of a price-to-be-fixed contract whose futures leg has not yet been set, so the exposure is still outright <span class="gep">ep 15</span></dd></div><div class="gterm" data-ep="18"><dt>variable storage rate</dt><dd>the CBOT rule that resets the daily storage charge on a wheat certificate according to where a nearby calendar spread sits as a percentage of full carry <span class="gep">ep 18</span></dd></div><div class="gterm" data-ep="3"><dt>variation margin</dt><dd>the daily cash settlement of a position mark to market, paid the same day <span class="gep">ep 3</span></dd></div><div class="gterm" data-ep="14"><dt>VHP</dt><dd>very high polarisation raw sugar of around 99 degrees, the grade Brazil exports and which trades at a premium to the No. 11 screen <span class="gep">ep 14</span></dd></div><div class="gterm" data-ep="17"><dt>vol crush</dt><dd>the collapse in implied volatility immediately after a scheduled event, which marks an option lower even when the underlying future has not moved <span class="gep">ep 17</span></dd></div><div class="gterm" data-ep="10"><dt>voyage charter</dt><dd>hiring a vessel to move a stated cargo between named ports for a price in dollars per tonne, with the owner carrying the voyage and delay risk <span class="gep">ep 10</span></dd></div><div class="gterm" data-ep="2"><dt>war-risk premium</dt><dd>an insurance surcharge on a vessel's hull value for sailing into a conflict zone, quoted as a percentage <span class="gep">ep 2</span></dd></div><div class="gterm" data-ep="1"><dt>WASDE</dt><dd>the USDA monthly World Agricultural Supply and Demand Estimates report <span class="gep">ep 1</span></dd></div><div class="gterm" data-ep="1"><dt>washed out</dt><dd>offsetting trades cancel each other and only the price difference is settled <span class="gep">ep 1</span></dd></div><div class="gterm" data-ep="12"><dt>washed process</dt><dd>coffee with the fruit stripped off before drying, giving a cleaner and more consistent cup <span class="gep">ep 12</span></dd></div><div class="gterm" data-ep="1"><dt>washout</dt><dd>cancelling two offsetting physical contracts by settling the price difference instead of shipping <span class="gep">ep 1</span></dd></div><div class="gterm" data-ep="6"><dt>weather premium</dt><dd>the gap between where a crop trades and where it would trade at trend yield, the price of a distribution of outcomes rather than of a forecast <span class="gep">ep 6</span></dd></div><div class="gterm" data-ep="4"><dt>weather working day</dt><dd>a laytime day that counts only when weather permits cargo work <span class="gep">ep 4</span></dd></div><div class="gterm" data-ep="16"><dt>wheat-corn spread</dt><dd>the price difference between wheat and corn futures, read as the distance wheat must still fall before feeders substitute it into a ration <span class="gep">ep 16</span></dd></div><div class="gterm" data-ep="7"><dt>whisper number</dt><dd>the expectation the market is actually trading into a report, which can sit away from the published trade average <span class="gep">ep 7</span></dd></div><div class="gterm" data-ep="14"><dt>white premium</dt><dd>the London white sugar price less the New York raw sugar price converted to the same unit, which is what the market pays for the act of refining <span class="gep">ep 14</span></dd></div><div class="gterm" data-ep="17"><dt>wing</dt><dd>an out-of-the-money strike away from where the market is trading, the part of the curve a hedger buys or sells rather than the at-the-money <span class="gep">ep 17</span></dd></div><div class="gterm" data-ep="1"><dt>work</dt><dd>leave an order resting with a broker <span class="gep">ep 1</span></dd></div><div class="gterm" data-ep="1"><dt>work an order</dt><dd>leave an order resting at your price and wait <span class="gep">ep 1</span></dd></div><div class="gterm" data-ep="1"><dt>workable</dt><dd>the quoted price is negotiable <span class="gep">ep 1</span></dd></div><div class="gterm" data-ep="17"><dt>zero-cost fence</dt><dd>a collar whose strikes are chosen so the call premium received roughly offsets the put premium paid, leaving a small net debit or credit <span class="gep">ep 17</span></dd></div></dl><p class="gnone" hidden>No term matches that.</p></div></details></section>
|
|
630
|
+
</main>
|
|
631
|
+
<nav class="epnav" aria-label="Episodes">
|
|
632
|
+
<a class="epprev" href="ep18.html"><span class="dir">← Previous</span><span class="ept">EFP, Delivery and the Squeeze</span><span class="epn">Episode 18</span></a>
|
|
633
|
+
</nav>
|
|
634
|
+
<details class="archive"><summary>All episodes<span class="sl">19 so far</span></summary><ol class="arclist"><li><a href="ep01.html"><b>01</b> The Units and the Language of the Desk</a></li><li><a href="ep02.html"><b>02</b> What a Merchant Does, and Why Basis Is the Whole Game</a></li><li><a href="ep03.html"><b>03</b> Futures Plumbing and the Shape of the Curve</a></li><li><a href="ep04.html"><b>04</b> The Physical Chain, End to End</a></li><li><a href="ep05.html"><b>05</b> Wheat: The Map and the Screens</a></li><li><a href="ep06.html"><b>06</b> Corn, Crop Calendars and Weather Risk</a></li><li><a href="ep07.html"><b>07</b> WASDE and Building a Balance Sheet</a></li><li><a href="ep08.html"><b>08</b> The Soybean Complex and the Crush</a></li><li><a href="ep09.html"><b>09</b> Vegetable oils and biofuels</a></li><li><a href="ep10.html"><b>10</b> Freight: Dry Bulk and Chartering</a></li><li><a href="ep11.html"><b>11</b> Storage, Elevation and Trade Flows</a></li><li><a href="ep12.html"><b>12</b> Coffee: The Market</a></li><li><a href="ep13.html"><b>13</b> Coffee: Differentials, PTBF and Volatility</a></li><li><a href="ep14.html"><b>14</b> Sugar: Two Contracts, the Switch and the Refiner</a></li><li><a href="ep15.html"><b>15</b> Cotton, Rice and Juice</a></li><li><a href="ep16.html"><b>16</b> Spreads: Calendar, Inter-Commodity, Inter-Exchange</a></li><li><a href="ep17.html"><b>17</b> Options: The Fence, the Vol Crush and the Wing You Sold</a></li><li><a href="ep18.html"><b>18</b> EFP, Delivery and the Squeeze</a></li><li class="here" aria-current="page"><a href="ep19.html"><b>19</b> Basis Deep Dive and Origination</a></li></ol></details>
|
|
635
|
+
<footer>
|
|
636
|
+
<span class="sig"><b>Soft Commodity Trading</b> — a daily briefing on physical commodity trading.</span>
|
|
637
|
+
<span><a href="https://storage.googleapis.com/podcast-audio-2647223968/index.html">All episodes</a> · <a href="https://storage.googleapis.com/podcast-audio-2647223968/commodity-desk-daily/feed.xml">RSS</a></span>
|
|
638
|
+
</footer>
|
|
639
|
+
</div>
|
|
640
|
+
<script>
|
|
641
|
+
(function(){
|
|
642
|
+
var doc = document.documentElement;
|
|
643
|
+
|
|
644
|
+
/* theme */
|
|
645
|
+
var btn = document.querySelector('.themebtn');
|
|
646
|
+
if(btn) btn.addEventListener('click', function(){
|
|
647
|
+
var next = doc.getAttribute('data-theme') === 'dark' ? 'light' : 'dark';
|
|
648
|
+
doc.setAttribute('data-theme', next);
|
|
649
|
+
try{ localStorage.setItem('cdd-theme', next); }catch(e){}
|
|
650
|
+
});
|
|
651
|
+
|
|
652
|
+
/* reading progress */
|
|
653
|
+
var bar = document.getElementById('bar'), ticking = false;
|
|
654
|
+
function progress(){
|
|
655
|
+
var h = doc.scrollHeight - innerHeight;
|
|
656
|
+
bar.style.width = (h > 0 ? Math.min(100, Math.max(0, scrollY / h * 100)) : 0) + '%';
|
|
657
|
+
ticking = false;
|
|
658
|
+
}
|
|
659
|
+
if(bar){
|
|
660
|
+
addEventListener('scroll', function(){
|
|
661
|
+
if(!ticking){ ticking = true; requestAnimationFrame(progress); }
|
|
662
|
+
}, {passive:true});
|
|
663
|
+
addEventListener('resize', progress, {passive:true});
|
|
664
|
+
progress();
|
|
665
|
+
}
|
|
666
|
+
|
|
667
|
+
/* contents: mark the section being read */
|
|
668
|
+
var links = [].slice.call(document.querySelectorAll('.toc a'));
|
|
669
|
+
if(links.length && 'IntersectionObserver' in window){
|
|
670
|
+
var map = {};
|
|
671
|
+
links.forEach(function(a){
|
|
672
|
+
var el = document.getElementById(decodeURIComponent(a.hash.slice(1)));
|
|
673
|
+
if(el) map[el.id] = a.parentNode;
|
|
674
|
+
});
|
|
675
|
+
var seen = [];
|
|
676
|
+
var io = new IntersectionObserver(function(entries){
|
|
677
|
+
entries.forEach(function(en){
|
|
678
|
+
var id = en.target.id, at = seen.indexOf(id);
|
|
679
|
+
if(en.isIntersecting){ if(at < 0) seen.push(id); }
|
|
680
|
+
else if(at >= 0){ seen.splice(at, 1); }
|
|
681
|
+
});
|
|
682
|
+
links.forEach(function(a){ a.parentNode.classList.remove('on'); });
|
|
683
|
+
if(seen.length && map[seen[0]]) map[seen[0]].classList.add('on');
|
|
684
|
+
}, {rootMargin:'-64px 0px -70% 0px'});
|
|
685
|
+
Object.keys(map).forEach(function(id){
|
|
686
|
+
var el = document.getElementById(id); if(el) io.observe(el);
|
|
687
|
+
});
|
|
688
|
+
}
|
|
689
|
+
|
|
690
|
+
/* playback speed */
|
|
691
|
+
var audio = document.querySelector('audio');
|
|
692
|
+
[].forEach.call(document.querySelectorAll('.rate'), function(b){
|
|
693
|
+
b.addEventListener('click', function(){
|
|
694
|
+
if(!audio) return;
|
|
695
|
+
audio.playbackRate = parseFloat(b.dataset.rate);
|
|
696
|
+
[].forEach.call(document.querySelectorAll('.rate'), function(o){
|
|
697
|
+
o.setAttribute('aria-pressed', String(o === b));
|
|
698
|
+
});
|
|
699
|
+
});
|
|
700
|
+
});
|
|
701
|
+
|
|
702
|
+
/* offline: keep a copy of this page through the folder's service worker */
|
|
703
|
+
var offBtn = document.getElementById('offline'), offNote = document.getElementById('offnote');
|
|
704
|
+
if(offBtn && 'serviceWorker' in navigator && 'caches' in window &&
|
|
705
|
+
(location.protocol === 'https:' || location.hostname === 'localhost')){
|
|
706
|
+
var CACHE = 'sct-offline-v1';
|
|
707
|
+
var pageKey = location.origin + location.pathname;
|
|
708
|
+
navigator.serviceWorker.register('sw.js').catch(function(){});
|
|
709
|
+
offBtn.hidden = false;
|
|
710
|
+
function note(t){ if(offNote){ offNote.textContent = t; offNote.hidden = !t; } }
|
|
711
|
+
function markSaved(){
|
|
712
|
+
offBtn.classList.add('saved'); offBtn.textContent = 'Saved offline ✓';
|
|
713
|
+
offBtn.disabled = false;
|
|
714
|
+
note('This page opens without a connection at this address. Tap again to remove the copy.');
|
|
715
|
+
}
|
|
716
|
+
caches.open(CACHE).then(function(c){ return c.match(pageKey); }).then(function(hit){
|
|
717
|
+
if(hit) markSaved();
|
|
718
|
+
}).catch(function(){});
|
|
719
|
+
offBtn.addEventListener('click', function(){
|
|
720
|
+
if(offBtn.classList.contains('saved')){
|
|
721
|
+
caches.open(CACHE).then(function(c){ return c.delete(pageKey); }).then(function(){
|
|
722
|
+
offBtn.classList.remove('saved'); offBtn.textContent = 'Save offline'; note('');
|
|
723
|
+
});
|
|
724
|
+
return;
|
|
725
|
+
}
|
|
726
|
+
offBtn.disabled = true; offBtn.textContent = 'Saving…';
|
|
727
|
+
caches.open(CACHE).then(function(c){
|
|
728
|
+
return fetch(pageKey, {cache:'reload'}).then(function(r){
|
|
729
|
+
if(!r.ok) throw new Error('page'); return c.put(pageKey, r);
|
|
730
|
+
});
|
|
731
|
+
}).then(markSaved).catch(function(){
|
|
732
|
+
offBtn.disabled = false; offBtn.textContent = 'Save offline';
|
|
733
|
+
note('Could not save here. Use Share → Add to Reading List instead.');
|
|
734
|
+
});
|
|
735
|
+
});
|
|
736
|
+
}
|
|
737
|
+
|
|
738
|
+
/* solutions: reveal all / hide all */
|
|
739
|
+
[].forEach.call(document.querySelectorAll('[data-solnall]'), function(b){
|
|
740
|
+
b.addEventListener('click', function(){
|
|
741
|
+
var open = b.dataset.solnall === 'open';
|
|
742
|
+
[].forEach.call(document.querySelectorAll('details.soln'), function(d){
|
|
743
|
+
d.open = open;
|
|
744
|
+
});
|
|
745
|
+
});
|
|
746
|
+
});
|
|
747
|
+
|
|
748
|
+
/* an answer linked to directly should already be open */
|
|
749
|
+
function openTarget(){
|
|
750
|
+
var id = location.hash.slice(1);
|
|
751
|
+
if(!id) return;
|
|
752
|
+
var el = document.getElementById(decodeURIComponent(id));
|
|
753
|
+
while(el){
|
|
754
|
+
if(el.tagName === 'DETAILS') el.open = true;
|
|
755
|
+
el = el.parentElement;
|
|
756
|
+
}
|
|
757
|
+
}
|
|
758
|
+
addEventListener('hashchange', openTarget); openTarget();
|
|
759
|
+
|
|
760
|
+
/* glossary: an episode chip and a search box, which compose */
|
|
761
|
+
var gf = document.getElementById('gfilter'), list = document.getElementById('glist');
|
|
762
|
+
if(list){
|
|
763
|
+
var rows = [].slice.call(list.querySelectorAll('.gterm'));
|
|
764
|
+
var chips = [].slice.call(document.querySelectorAll('.gchip'));
|
|
765
|
+
var none = document.querySelector('.gnone');
|
|
766
|
+
var pick = 'all';
|
|
767
|
+
function apply(){
|
|
768
|
+
var q = gf ? gf.value.trim().toLowerCase() : '', hits = 0;
|
|
769
|
+
rows.forEach(function(r){
|
|
770
|
+
var on = (pick === 'all' || r.dataset.ep === pick) &&
|
|
771
|
+
(!q || r.textContent.toLowerCase().indexOf(q) > -1);
|
|
772
|
+
r.hidden = !on; if(on) hits++;
|
|
773
|
+
});
|
|
774
|
+
if(none) none.hidden = hits > 0;
|
|
775
|
+
}
|
|
776
|
+
if(gf) gf.addEventListener('input', apply);
|
|
777
|
+
chips.forEach(function(c){
|
|
778
|
+
c.addEventListener('click', function(){
|
|
779
|
+
pick = c.dataset.gep;
|
|
780
|
+
chips.forEach(function(o){ o.classList.toggle('on', o === c); });
|
|
781
|
+
apply();
|
|
782
|
+
});
|
|
783
|
+
});
|
|
784
|
+
}
|
|
785
|
+
|
|
786
|
+
/* printing: paper has no disclosure triangles */
|
|
787
|
+
var reopen = [];
|
|
788
|
+
addEventListener('beforeprint', function(){
|
|
789
|
+
reopen = [].filter.call(document.querySelectorAll('details'), function(d){
|
|
790
|
+
return !d.open;
|
|
791
|
+
});
|
|
792
|
+
reopen.forEach(function(d){ d.open = true; });
|
|
793
|
+
});
|
|
794
|
+
addEventListener('afterprint', function(){
|
|
795
|
+
reopen.forEach(function(d){ d.open = false; });
|
|
796
|
+
reopen = [];
|
|
797
|
+
});
|
|
798
|
+
})();
|
|
799
|
+
</script>
|
|
800
|
+
</body>
|
|
801
|
+
</html>
|