I'm building against the REST API and have a handful of questions where I can't reconcile IG's own published documentation/examples with what I'm observing, or where a field's convention isn't documented. Grouped by topic below.
1. Overnight funding — worked examples don't reconcile
Your published worked examples (https://www.ig.com/uk/help-and-support/articles/681712-what-is-overnight-funding-how-is-it-charged-and-how-is-it-calculated) don't check out arithmetically for me, and not in the same way for both examples, which makes me doubt I understand the real formula.
Example 1 (long, spread bet, FTSE 100): "Cost = £6 x 7720 x (3.4% admin fee + 0.48%) / 365 = £4.92", footnoted "*The SONIA rate is 4.4871%". The 0.48% actually used in the sum doesn't match the footnoted SONIA rate of 4.4871%. No positive/negative admin fee makes the two consistent if the full 4.4871% is used raw — some transformation of the reference rate seems to happen before it's combined with the admin fee (arithmetically, 4.4871% - 4% = 0.4871%, which truncates to 0.48%, but I don't know if that's real or coincidental). Separately, live data doesn't fit this either: your published GBP "indication rate" was 3.76% for two full weeks in August 2026 while actual BoE SONIA was ~3.73% the whole time — a small positive gap, not the large negative one implied by the "-4%" reading of example 1.
Example 2 (short, CFD, US Tech 100): "Cost = 2 x $100 x 6957 x (3% admin fee - 1.53%) / 360 = $37.49", footnoted "*The SOFR rate is 1.53%". $37.49 only comes from a combined rate of 0.97%, not 1.47% (i.e. 3% - 1.53%). The reference rate (1.53%) plugs in fine here — it's the admin fee that doesn't: 2.5% - 1.53% = 0.97% exactly. So either "3%" is a typo for "2.5%", or the real CFD admin fee for US Tech 100 (indices) is different from the general CFD admin fee — does the admin fee vary by instrument or market rather than being a single flat CFD rate?
The two examples are inconsistent in different ways (one needs an adjusted reference rate, the other needs a different admin fee), so I don't think there's a single hidden rule I'm missing — more likely each example has an independent error, or admin fees genuinely vary by instrument in a way I'm not capturing. Could you confirm the exact formula, whether the admin fee varies by instrument/market, and whether these two published examples are actually correct?
2. Overnight funding — "indication rate" table derivation
The published GBP indication rate was 3.76 for both WC 10 Aug 2026 and WC 17 Aug 2026, but the Bank of England's actual SONIA prints for those weeks ranged 3.7307-3.7323 (essentially flat, ~3bp below your figure). What is the GBP indication rate actually derived from, if not the raw daily SONIA print? Is it based on a specific snapshot day (e.g. the Friday before the week starts, or the Sunday), a forward-looking/OIS rate, or rounded to some fixed interval rather than tracking SONIA day-to-day?
3. Overnight funding — charge time/timezone
What time and timezone is overnight funding actually charged at? I've assumed 22:00 Europe/London but haven't found this documented anywhere. Is it fixed, or does it vary by instrument/market? Does the charge time follow London clock time year-round, or shift with the underlying market's own session (e.g. US markets charged relative to US close rather than a fixed UTC/London time)?
4. Instrument expiry — lastDealingDate timezone
expiryDetails.lastDealingDate has no timezone in the API response. I've assumed UTC based on one observed example (NASDAQ shows 20:00, which lines up with the 4pm ET Nasdaq-100 cash close in UTC). Does this hold for all instrument types, or is it sometimes exchange-local time instead?
5. Margin deposit band boundaries
marginDepositBands entries have adjacent bands where one band's max equals the next band's min (e.g. band A: 0-5000, band B: 5000-10000). Is the convention min <= size < max (i.e. a size of exactly 5000 falls into band B, not band A)? And does the last band having no max mean there's no upper limit?
Thanks,
Christian
I'm building against the REST API and have a handful of questions where I can't reconcile IG's own published documentation/examples with what I'm observing, or where a field's convention isn't documented. Grouped by topic below.
1. Overnight funding — worked examples don't reconcile
Your published worked examples (https://www.ig.com/uk/help-and-support/articles/681712-what-is-overnight-funding-how-is-it-charged-and-how-is-it-calculated) don't check out arithmetically for me, and not in the same way for both examples, which makes me doubt I understand the real formula.
Example 1 (long, spread bet, FTSE 100): "Cost = £6 x 7720 x (3.4% admin fee + 0.48%) / 365 = £4.92", footnoted "*The SONIA rate is 4.4871%". The 0.48% actually used in the sum doesn't match the footnoted SONIA rate of 4.4871%. No positive/negative admin fee makes the two consistent if the full 4.4871% is used raw — some transformation of the reference rate seems to happen before it's combined with the admin fee (arithmetically, 4.4871% - 4% = 0.4871%, which truncates to 0.48%, but I don't know if that's real or coincidental). Separately, live data doesn't fit this either: your published GBP "indication rate" was 3.76% for two full weeks in August 2026 while actual BoE SONIA was ~3.73% the whole time — a small positive gap, not the large negative one implied by the "-4%" reading of example 1.
Example 2 (short, CFD, US Tech 100): "Cost = 2 x $100 x 6957 x (3% admin fee - 1.53%) / 360 = $37.49", footnoted "*The SOFR rate is 1.53%". $37.49 only comes from a combined rate of 0.97%, not 1.47% (i.e. 3% - 1.53%). The reference rate (1.53%) plugs in fine here — it's the admin fee that doesn't: 2.5% - 1.53% = 0.97% exactly. So either "3%" is a typo for "2.5%", or the real CFD admin fee for US Tech 100 (indices) is different from the general CFD admin fee — does the admin fee vary by instrument or market rather than being a single flat CFD rate?
The two examples are inconsistent in different ways (one needs an adjusted reference rate, the other needs a different admin fee), so I don't think there's a single hidden rule I'm missing — more likely each example has an independent error, or admin fees genuinely vary by instrument in a way I'm not capturing. Could you confirm the exact formula, whether the admin fee varies by instrument/market, and whether these two published examples are actually correct?
2. Overnight funding — "indication rate" table derivation
The published GBP indication rate was 3.76 for both WC 10 Aug 2026 and WC 17 Aug 2026, but the Bank of England's actual SONIA prints for those weeks ranged 3.7307-3.7323 (essentially flat, ~3bp below your figure). What is the GBP indication rate actually derived from, if not the raw daily SONIA print? Is it based on a specific snapshot day (e.g. the Friday before the week starts, or the Sunday), a forward-looking/OIS rate, or rounded to some fixed interval rather than tracking SONIA day-to-day?
3. Overnight funding — charge time/timezone
What time and timezone is overnight funding actually charged at? I've assumed 22:00 Europe/London but haven't found this documented anywhere. Is it fixed, or does it vary by instrument/market? Does the charge time follow London clock time year-round, or shift with the underlying market's own session (e.g. US markets charged relative to US close rather than a fixed UTC/London time)?
4. Instrument expiry — lastDealingDate timezone
expiryDetails.lastDealingDatehas no timezone in the API response. I've assumed UTC based on one observed example (NASDAQ shows 20:00, which lines up with the 4pm ET Nasdaq-100 cash close in UTC). Does this hold for all instrument types, or is it sometimes exchange-local time instead?5. Margin deposit band boundaries
marginDepositBandsentries have adjacent bands where one band's max equals the next band's min (e.g. band A: 0-5000, band B: 5000-10000). Is the conventionmin <= size < max(i.e. a size of exactly 5000 falls into band B, not band A)? And does the last band having no max mean there's no upper limit?Thanks,
Christian