Observed price arrays are kept as source records and are not back-adjusted. The 23 Jul TTTA starch range (20.80–21.20) is retained as a market cross-check; the TTSA 4 Aug domestic quote of 22.30 is the weekly model anchor. Note there is no TTSA print for 28 July — the published series steps from 21 July to 4 August, so the near-term carry spans a two-week gap rather than one. Forecast = confirmed level shift + persistent supply-pressure carry + weak seasonality + median-confirmed root momentum. Seasonal reversion is capped and cannot force a downturn until root medians weaken. R25 forecast is plotted with its uncertainty spread. R30 forward calculation is retained internally and folded into the starch forecast cone instead of being plotted as a separate line.
Stage 1 — weekly baseline
$$\hat{P}^{base}_{j,h} = \hat{P}_{j,h-1} + \rho(T_{j,h}-\hat{P}_{j,h-1}) + d_h m_j$$
$$T_{j,h}=A_j\frac{1+H_j(w_t+h)}{1+H_j(w_t)}, \qquad A_j=0.70P_{j,t}+0.30\overline{P_j}^{(4w)}$$
$$\rho=0.22,\qquad d_h=[0.65,0.35,0.12,0.05,0.02]$$
Muted seasonal harmonic
$$H_R(w)=-0.020\sin\left(\frac{2\pi w}{52}\right)+0.016\cos\left(\frac{2\pi w}{52}\right)$$
$$H_S(w)=-0.012\sin\left(\frac{2\pi w}{52}\right)+0.006\cos\left(\frac{2\pi w}{52}\right)$$
Stage 2 — NETTA bias correction
$$Bias^{NETTA}=\overline{R^{NETTA}_{25}}_{(t_a,t_a+7d]}-\hat{R}^{base}_{25,1}$$
$$\hat{R}^{bias}_{25,h}=\hat{R}^{base}_{25,h}+\gamma_h Bias^{NETTA},\qquad
\gamma_h=[0.85,0.55,0.30,0.15,0.05]$$
Stage 3 — factory-pressure index
$$PI_t=
0.30Z(R^{NETTA}_{30}-R^{NETTA}_{25})
+0.30Z(C^{NETTA}/2.5-R^{NETTA}_{25})
+0.15Z(G^{NETTA})
+0.15Z(R^{NETTA}_{25}-R^{weekly}_{25})
+0.20B_t
+0.10U_t$$
$$B_t=+1\ \text{for constrained cross-border/import flow},\qquad U_t=0.75\ \text{when utilization}<50\%$$
Final forecasts
$$\hat{R}_{25,h}=\hat{R}^{base}_{25,h}+\gamma_h Bias^{NETTA}+\beta_h PI_t+\kappa_h(K_{25,t}-R^{NETTA}_{25,t})$$
$$\beta_h=[0.055,0.040,0.025,0.015,0.005],\qquad \kappa_h=[0.35,0.22,0.12,0.06,0.02]$$
$$\hat{R}_{30,h}=\hat{R}_{25,h}+\bar{Q}+\eta_h(Q_t-\bar{Q}),\qquad Q_t=R^{NETTA}_{30,t}-R^{NETTA}_{25,t}$$
$$\eta_h=[0.65,0.45,0.28,0.15,0.06]$$
$$\hat{S}_{h}=\hat{S}^{base}_{h}+\lambda_h PI_t+\omega_h J_t$$
$$\lambda_h=[0.105,0.075,0.050,0.030,0.015],\qquad \omega_h=[0.28,0.15,0.07,0.03,0.00]$$
$$J_t=\max\left(0,\Delta S_t-\overline{\Delta S}_{prior}\right)$$
Conversion checks
$$R^{chips}_t=\frac{C^{NETTA}_t}{2.5}$$
$$R^{starch,gross}_t=0.20S^{TTSA}_t$$