Daily UpCap+MomGap trading on an IBKR paper account
Connects to IB Gateway through ib_async and trades the S&P 500 with the UpCap+MomGap factor combo ported from quant-trading's fc_up_cap_mom_gap_daily: signal on opens through today's open, equal weight top 10, MOC orders filled at today's close, 10% resize band. - make universe/bars/check/plan/submit/fills for the daily loop; refuses non-paper accounts unless allow_live, open orders, stale bars, and orders outside 09:31-15:45 ET - make backtest replays the live loop day by day with plan_orders and IBKR Fixed commissions; selection uses each day's index members - make bars fails fast when the Gateway's historical farm is down Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
34
Makefile
Normal file
34
Makefile
Normal file
@@ -0,0 +1,34 @@
|
||||
# Needs IB Gateway or TWS running and logged in, with
|
||||
# "Enable ActiveX and Socket Clients" on and the port matching config.toml.
|
||||
# Daily flow, 09:31-15:45 ET on a trading day: `make bars` (picks up today's
|
||||
# open), `make plan` to review, `make submit` to send MOC orders filled at the close.
|
||||
# With delayed data (market_data_type = 3) today's bar appears ~15 min after the
|
||||
# open, so start after 09:47 ET.
|
||||
RUN = uv run ibkr-quant
|
||||
|
||||
.PHONY: test universe check bars plan submit fills backtest
|
||||
|
||||
test:
|
||||
uv run pytest -q
|
||||
|
||||
universe:
|
||||
$(RUN) universe
|
||||
|
||||
check:
|
||||
$(RUN) check
|
||||
|
||||
bars:
|
||||
$(RUN) bars
|
||||
|
||||
plan:
|
||||
$(RUN) rebalance
|
||||
|
||||
submit:
|
||||
$(RUN) rebalance --submit
|
||||
|
||||
fills:
|
||||
$(RUN) fills
|
||||
|
||||
# e.g. make backtest ARGS="--top-n 5 10 20 --every 1 5 --capital 10000"
|
||||
backtest:
|
||||
$(RUN) backtest $(ARGS)
|
||||
Reference in New Issue
Block a user