mirror of
https://github.com/jaxperro/winning-wallet-finder.git
synced 2026-07-28 00:07:47 +00:00
paper-run realism: taker fees, resolved-only scoring, bounded collect, local runner
- copybot: model Polymarket taker fees (V2, since 2026-03-30: shares*rate*p*(1-p), sports 0.03) on every paper/live fill; track fees_paid in state + feed; settle P&L nets the entry fee. publish_feed now commits state + fills ledger with the feed (autostash rebase) so the local poller is the sole state writer. - validate_timing: copy_pnl/held_pnl are fee-aware -> sharp selection now requires clearing real copy costs; conv stats + lead profile use resolved bets only. - conviction_scan/skill: exclude res_t>now rows (early-sold positions in unresolved markets scored at curPrice - a mark, not an outcome; was ~5% of the June test window at a 72% pseudo-win rate). - portfolio: skip unresolved rows (stake used to vanish from equity); missed bets of kind=open no longer KeyError - mark-to-market hypothetical P&L. - collect: cap stale refreshes at STALE_CAP=2500/run (bulk-aged pool turned the daily refresh into a ~40h pull holding the DuckDB lock). - Actions cron disabled: GitHub ran */5 every ~1.5-2.5h and the 10-min stale window skipped the rest -> 1 of ~104 qualifying buys copied. launchd --poll 60 is now the runner; workflow stays as manual backstop. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -10,9 +10,16 @@ name: copybot-paper
|
||||
# not Actions.)
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: "*/5 * * * *" # GitHub may delay/skip under load; fine for ≥3h leads
|
||||
workflow_dispatch: {} # lets you run it manually from the Actions tab
|
||||
# cron DISABLED 2026-07-01: GitHub throttled "*/5" to one run every ~1.5-2.5h in
|
||||
# practice, and copybot skips any trade older than RECENT_TRADE_WINDOW_S (10 min)
|
||||
# — measured result: 1 of ~104 qualifying conviction buys copied June 25-Jul 1.
|
||||
# The launchd poller (com.jaxperro.copybot.plist, --poll 60) is now the sole
|
||||
# runner; it commits state + feed + fills itself. Keep this workflow for manual
|
||||
# runs only — re-enabling the cron alongside the local poller would fork the
|
||||
# book's state.
|
||||
# schedule:
|
||||
# - cron: "*/5 * * * *"
|
||||
workflow_dispatch: {} # manual backstop from the Actions tab
|
||||
|
||||
permissions:
|
||||
contents: write # GITHUB_TOKEN pushes the feed + state
|
||||
@@ -44,6 +51,7 @@ jobs:
|
||||
git config user.name "copybot[bot]"
|
||||
git config user.email "copybot@users.noreply.github.com"
|
||||
git add -f live/copybot_live.json copybot_state.json
|
||||
git add -f copybot_fills.jsonl 2>/dev/null || true # per-fill lag/slippage ledger
|
||||
if git diff --cached --quiet; then
|
||||
echo "no change this run"
|
||||
exit 0
|
||||
|
||||
Reference in New Issue
Block a user