Compare commits

..

9 Commits

Author SHA1 Message Date
Tyler Goodlet 4cb240adbe Bump `brokers.toml`, update ib and deribit sections
For `[ib]` adjust content to match changes to the
`dockering/ib/README.rst` and for `[deribit]` toss in the WIP options
related params for anyone who wants to play around with @nt's work.
2026-01-07 13:23:41 -05:00
Tyler Goodlet b74756d595 Bump ib-container docs and compose file
Add necessary details for the `brokers.toml`, cleanup and link to the
new GH container repo in the `docker-compose.yml`.
2026-01-07 13:23:41 -05:00
Tyler Goodlet b97166c7af Bump various `.brokers.core` doc string content/style 2026-01-07 13:23:41 -05:00
Tyler Goodlet 9bf447fe75 ib: multiline stylings, typing, timeout report 2026-01-07 13:23:41 -05:00
Tyler Goodlet 23ae5f4b86 Woops, fix to read `.api_port` ref from the `Client.ib.client`.. 2026-01-07 13:23:41 -05:00
Tyler Goodlet 183da97a52 Support per-`ib.vnc_addrs` vnc passwords
Such that the `brokers.toml` can contain any of the following
<port> = dict|tuple styles,

```toml
    [ib.vnc_addrs]
    4002 = {host = 'localhost', port = 5900, pw = 'doggy'}  # host, port, pw
    4002 = {host = 'localhost', port = 5900}  # host, port, pw
    4002 = ['localhost', 5900]  # host, port, pw
```

With the first line demonstrating a vnc-server password (as normally set
via a `.env` file in the `dockering/ib/` subdir) with the `pw =` field.
This obviously removes the hardcoded `'doggy'` password from prior.

Impl details in `.brokers.ib._util`:
- pass the `ib.api.Client` down into `vnc_click_hack()` doing all config
 reading within and removing host, port unpacking in the callingn
 `data_reset_hack()`.
- also pass the client `try_xdo_manual()` and comment (with plans to
  remove) the recently added localhost-only fallback section since
  we now have a fully working py vnc client again with `pyvnc` B)
- in `vnc_click_hack()` match for all the possible config line styles
  and,
  * pass any `pw` field to `pyvncVNCConfig`,
  * continue matching host, port without password,
  * fallthrough to raising a val-err when neither ^ match.
2026-01-07 13:23:41 -05:00
Tyler Goodlet 47063de096 ib: bump `docker/ib/README.rst`
For the new github image, a high-level look at its basic
features/usage/docs and prosing around our expected default usage with
the `piker.brokers.ib` backend.
2026-01-07 13:23:41 -05:00
Tyler Goodlet 6374968eb5 ib.feed: better no-bars error-log message format 2026-01-07 13:23:41 -05:00
Tyler Goodlet 4ba497329a Set `.bs_mktid` on all IB position-msg emissions.. 2026-01-07 13:23:41 -05:00
1 changed files with 6 additions and 1 deletions

View File

@ -362,6 +362,10 @@ async def update_and_audit_pos_msg(
size=ibpos.position,
avg_price=pikerpos.ppu,
# XXX ensures matching even if multiple venue-names
# in `.bs_fqme`, likely from txn records..
bs_mktid=mkt.bs_mktid,
)
ibfmtmsg: str = pformat(ibpos._asdict())
@ -430,7 +434,8 @@ async def aggr_open_orders(
) -> None:
'''
Collect all open orders from client and fill in `order_msgs: list`.
Collect all open orders from client and fill in `order_msgs:
list`.
'''
trades: list[Trade] = client.ib.openTrades()