Premarket track: scheduled accumulate-then-re-validate automation

The pm1 verdict is promising-but-underpowered (n=21): the forward moves are real (+11-14%) but the
sample is too small to conclude. The live loop ingests premarket bars every trading day, so this
automates the "accumulate more days then re-validate" step:

- research/premarket_eval.py: rebuild pm1 from the grown DB, append a timestamped metrics row
  (n, days, +1R rate, Wilson-95 LB, median upside/adverse, big-gap +1R, pass/fail) to
  data/premarket_eval_history.tsv, and print the current validate output. Watch n climb + the
  Wilson bound tighten until the locked bar is decisively cleared or failed.
- deploy/systemd/momentum-premarket-eval.{service,timer}: weekday-evening (Mon-Fri 20:00) oneshot,
  Persistent=true (catches reboots). Installed to ~/.config/systemd/user and enabled.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
momentum devandClaude Opus 4.8 committed 2026-07-01 18:48:23 -04:00
1 parent 7e4925d778
commit b523b962ca
4 files changed
+102

No files matched your search

@@ -0,0 +1,10 @@
[Unit]
Description=Momentum premarket (pm1) shadow track rebuild + re-validate
[Service]
Type=oneshot
WorkingDirectory=/mnt/c/code/momentum
# DATABASE_URL loads from the repo's gitignored .env via research.premarket_eval (python-dotenv)
ExecStart=/home/philip/.venvs/momentum/bin/python -m research.premarket_eval
StandardOutput=append:/mnt/c/code/momentum/data/premarket_eval.log
StandardError=append:/mnt/c/code/momentum/data/premarket_eval.log
@@ -0,0 +1,10 @@
[Unit]
Description=Weekday-evening rebuild + re-validate of the premarket (pm1) shadow track
[Timer]
# after each trading day's premarket data is ingested; Persistent catches missed runs (reboots)
OnCalendar=Mon-Fri *-*-* 20:00:00
Persistent=true
[Install]
WantedBy=timers.target