Uber basic stock (not sure any other instrument does this?) split support in pps.toml files by allowing an split_ratio: float field in each position section that can avoid size discrepancies from a backend (like ib) when a split happens behind the scenes.
Probably more ideally we support different types of "events" in the clears table (but maybe relabel it as events: list[dict] and then we can have the user insert a split/reversesplit entry which will then generate a new ppu and accum_size when detected?
This patch also includes some general fixes to the .ib.broker module that seems to have been missed/broken as part of #372?
Mainly:
ensuring that pp tables and ledgers are loaded for each account and used per-account in stead of what was a factoring bug where only the last account-set loaded was being used resulting in incorrect pos sizing..
repairing the client scan loop to only register clients that actually connect to API endpoints.. f202699
starting one and only one order handler task pair per loaded client instead of per account since accounts are a surjection onto clients:
Uber basic stock (not sure any other instrument does this?) split support in
pps.toml
files by allowing ansplit_ratio: float
field in each position section that can avoid size discrepancies from a backend (likeib
) when a split happens behind the scenes.Probably more ideally we support different types of "events" in the
clears
table (but maybe relabel it asevents: list[dict]
and then we can have the user insert a split/reversesplit entry which will then generate a newppu
andaccum_size
when detected?This patch also includes some general fixes to the
.ib.broker
module that seems to have been missed/broken as part of #372?Mainly: