piker icon indicating copy to clipboard operation
piker copied to clipboard

`ib` uses "FIFO" positioning logic - that's super anti-retail.. lame

Open goodboy opened this issue 3 years ago • 0 comments

i got lots more examples of plain old pure nonsense that goes on with this broker (and hint, issues like this are exactly why this project got started by a bunch of weirdos in the first place) but the latest is a truly exemplary inverse-hanlon's, icing-on-cake, can you be more rigged, idiotic, plain-laughable-while-despicable.

The easiest way to understand the issue in it's entirety is to read this elitetrader thread which breaks down the issue in great detail.

synopsis:

ib's stack, despite being probably the most advanced in the retail space, magically can't give you more then 7days worth of your own trade events without using their even shoddier "PLEX RePOrtz" (which you then have to parse and correlate on your own with the traditional APIs, oh and did i mention it's delayed a day...smh**2); even the worst crypto exchanges give you at least your trades history ledger (even if they don't compute pps or PnL for you 😿 ).

I'd really love to hear the explanation for why literally the most important ledger as a trader isn't available through the API over a timeframe suitable for actually calculating long running pp pnls..

What ib will give you is their horribly calculated FIFO style "average price" in PnL events and by default in TWS's (mosaic) "portfolio view". FIFO is horrible because as you exit a pp your average price changes. This is just plain idiotic: it means the trader has to manually recompute what the "magic price is" that determines whether you exit the pp at a profit or a loss (sorry to anyone who can't grok this but i have no clue how you can even compute a net-zero pnl without this). Using FIFO is mysteriously convenient for the broker (and i'm sure their larger clients who trade against most retail traders who get stuck with this accounting reporting model) yet in pretty much all the ways, makes their client's more susceptible to lose money unless they're saavy enough to compute a LIFO style pp avg price themselves. I'll say it again, i don't know how you can calculate a sane pnl with LIFO - i've experienced it first hand - the avg price will never be the price that determines the net-zero position pnl.

technicalities

  • ib's "PnL Eventz" i've now first hand experienced, do FIFO "pnl calculations" and made me take a larger loss (on a stop out) then intended since the "average price" calculated from a now scaled out of positiion was "lower" then it should have been..
  • we need to either start capturing trade logs ourselves and storing them in the db or filesystem or hacking together some "plex report" thing to get long term trade data
  • there's a slew of things to muck with in tws: (TODO)

but why aren't we reporting this issue to them?

bc honestly f#$% them. we'll hack around it ourselves just like we do everything else they have; there's no time around these parts for dealing with clearly incompetant-but-possibly-malicious, absolutely ridiculous nonsense like this.

goodboy avatar May 05 '22 22:05 goodboy