Run the daily loop on a server with systemd user units
deploy/systemd holds an IB Gateway service (IBC under Xvfb, paper) and timers for the 09:50 ET rebalance, 16:15 ET fills, and a weekly constituents refresh; make install-units installs them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
12
Makefile
12
Makefile
@@ -6,7 +6,7 @@
|
||||
# open, so start after 09:47 ET.
|
||||
RUN = uv run ibkr-quant
|
||||
|
||||
.PHONY: test universe check bars plan submit fills backtest
|
||||
.PHONY: test universe check bars plan submit fills backtest install-units
|
||||
|
||||
test:
|
||||
uv run pytest -q
|
||||
@@ -32,3 +32,13 @@ fills:
|
||||
# e.g. make backtest ARGS="--top-n 5 10 20 --every 1 5 --capital 10000"
|
||||
backtest:
|
||||
$(RUN) backtest $(ARGS)
|
||||
|
||||
# On the server: install the systemd user units from deploy/systemd. The timers
|
||||
# start now; the Gateway is only enabled for boot, so start it by hand
|
||||
# (systemctl --user start ibgateway) once ~/ibc/config.ini has the credentials.
|
||||
install-units:
|
||||
mkdir -p ~/.config/systemd/user
|
||||
cp deploy/systemd/* ~/.config/systemd/user/
|
||||
systemctl --user daemon-reload
|
||||
systemctl --user enable ibgateway.service
|
||||
systemctl --user enable --now ibkr-quant-trade.timer ibkr-quant-fills.timer ibkr-quant-universe.timer
|
||||
|
||||
Reference in New Issue
Block a user