Login Page - Create Account

Support Board


Date/Time: Thu, 16 May 2024 04:04:24 +0000



Post From: Sierra needs to handle IB pacing violations more gracefully

[2015-09-30 21:01:12]
i960 - Posts: 360
The way SC functions now when hitting a pacing violation is to drop the data for that which it got a violation for, shift the time window to the next day, and hit a pacing violation again - basically continuing until either the violations stop (which won't happen until SC stops trying to download) or the contract runs out.

This is a problem because if a contract is long enough (say a quarterly like ES, SPI, N225, HSI, HHI, etc) then one may end up in a state where they can never effectively download the missing data. Delete and redownload is not a solution because you cannot say "redownload from the middle of the contract." Aside from that, it just makes no sense for SC to keep trying to download things that it's just going to get a pacing violation on.

How it should be resolved: at the first pacing violation, SC should not move the time window to the next day - it should pause and retry to download the data it just got a violation for. If it gets another pacing violation, it should pace itself by doubling the pause time, and then attempting to download again. When it then successfully downloads the the current time window it should revert the pause interval back to normal and continue to the next day. Additionally, it can optionally give up if it never succeeds and the pause time has been doubled to some max n value, but that's an implementation detail.

I have had a bear of a time getting intraday data for contracts with long duration (3 months) where I'm trying to get a year worth of intraday data. It takes multiple attempts to redownload the data and one has to keep deleting and redownloading but being very careful to only delete the contract month back which actually had the problem. It's quite tedious and if SC's pacing handling would simply retry/pause longer after the first pacing violation nobody would have to do this because it would do the right thing.
Date Time Of Last Edit: 2015-09-30 21:02:14