← Вакансії

Python/IBKR Engineer to Operate Tested Trading Bot — Retainer + Weekly Reports (Paper Only)

Бюджет: $5000.0 FIXED / ⭐ 4.80 (23) United States

robotic-process-automation, python, bot-development, linux-system-administration, sqlite, git

** Python/IBKR DevOps Engineer to Operate an Existing, Tested Earnings Trading Bot on a VPS (Fixed Milestones + Monthly Retainer, Weekly Reporting) ## Summary I have a **working, twice-reviewed, tested** earnings-reaction trading system built in Python (asyncio) with ib_insync for Interactive Brokers. I am NOT hiring you to design or build a bot. I'm hiring you to **deploy it, operate it on paper, keep it healthy, and send me one report every Friday.** All strategy rules are frozen in a specification document — your job is operations, not trading decisions. ## What the system is - Single documented Python file (~2,200 lines, v6.3 release candidate, four review passes by two independent AI code reviews with the full trail in the handover doc) + launchers for Windows and Linux, a handover README, and an entry/exit specification - Runs as a 24/7 daemon: parses earnings headlines from the IBKR API news feed (EPS vs consensus, revenue vs consensus, guidance direction), scores each signal 0–100, enters price- and volume-confirmed trades pre-market and after-hours, manages its own stops/targets/time exits - Hardened: expected-account verification (fatal exit on mismatch), broker-state reconciliation on every connect with confirmed-terminal order handling, durable partial-fill accounting, oversell guard, symbol-exclusivity for shared accounts, DURABLE degraded mode with an operator clear command, single-instance lock, atomic state writes with backup recovery, SQLite trade + incident database with schema auto-migration, durable order journal, Pushover alerting plus a local alerts file, daily heartbeat - Ships with an offline self-test suite (20 tests: parsers, scoring, dedup, state atomicity, lock) and was verified against a stubbed broker (reconciliation, partial fills, shared-account safety) - One command produces the weekly report (txt + html): P&L, win rate, profit factor, confidence calibration, top winners/losers, MFE/MAE per trade, open positions, incident counts — and a computed GO-LIVE ACCEPTANCE STATUS section with a pass/fail verdict against written criteria ## Scope of work **Milestone 1 — Deploy & verify the flagship bot (fixed price)** 1. Provision the bot on a Linux VPS that I own and pay for (or advise me on specs and I'll provision it) 2. Install IB Gateway or TWS connected to my IBKR **paper** account (credentials provided; see Access below), stable auto-restart config 3. Run the provided self-tests and system check; deploy with the provided supervised launcher (systemd preferred — propose your setup) 4. Execute the paper acceptance checklist in the handover doc (account-mismatch fatal exit, duplicate-instance rejection, restart with open position, partial fills, TWS restart mid-position, blocked-SELL handling, corrupted-state recovery) and attach logs/screenshots for each item 5. Add: automated Friday report email to me, log rotation, nightly database backup **Milestone 1.5 — Nonblocking order engine (fixed price; required before any live use)** 1. The bot currently uses blocking order waits (documented limitation: an in-flight exit can delay evaluation of other positions by up to ~135s per cycle). Replace enter/exit waits with a nonblocking order-state machine evaluated each main-loop pass. 2. Deliver with tests: multiple simultaneous positions, one illiquid symbol, forced-exit timing under load — verified on the paper account and submitted as a PR with logs. **Milestone 2 — Fleet takeover (fixed price; unlocked after 2–3 clean weeks on Milestone 1)** 1. Migrate my 3–4 other Python/ib_insync strategy bots (same stack, simpler) onto the same VPS, all against the paper account 2. Extend the report generator into ONE consolidated weekly fleet report (per-bot and combined) 3. Note: the flagship bot is already fleet-safe (it ignores other strategies' positions in the shared account and only ever touches its own share count) — keep it that way in anything you add **Phase 3 — Operations (monthly retainer, ongoing)** 1. Keep all daemons healthy: TWS/Gateway restarts, feed issues, OS patches, disk/memory hygiene 2. Respond to Pushover/watchdog alerts within agreed hours (propose your SLA — I expect same-business-day for non-critical, faster for stuck-exit alerts during US market hours) 3. Every Friday after the after-hours session: run the report, add a short commentary paragraph (incidents this week, changes made, anything needing my decision), email it to me. A missed report pauses the retainer. 4. Propose improvements as GitHub pull requests. Nothing merges without my approval. Strategy parameters (entry/exit thresholds) are frozen by spec and are not yours or mine to tune casually — changes go through a documented approval. ## Access you'll receive — and won't You WILL receive: - IBKR **paper trading** credentials (separate login from the live account; I can reset it at any time), API enabled on the paper port - My GitHub repository (code lives in my org from day one) - The VPS (my account, my billing, my root access retained) - Pushover keys for alerting You will NEVER receive: - My live brokerage username, password, or two-factor device - Live API access or any ability to move real money - Payment credentials of any kind I alone switch individual bots to live, on my own machine, only after the paper results meet the written acceptance criteria (minimum 8 weeks / 25 closed trades, profit factor, calibration, incident and drawdown thresholds — the spec is in the repo). Do not ask for live access; it is not part of this engagement at any milestone. ## Required skills - Python 3.11+ and asyncio in production (not just scripts) - ib_insync / IBKR TWS API — you have personally run it against TWS or IB Gateway and dealt with its quirks - Linux server administration: systemd, cron, log rotation, backups - SQLite, Git/GitHub PR workflow - Clear written English — the Friday report is a deliverable, not an afterthought Nice to have: IB Gateway headless setup (IBC/ib-gateway-docker), market-data entitlement debugging, Pushover/alerting pipelines, experience operating other people's trading systems. ## How to apply (read carefully — generic applications are ignored) Answer these three, briefly: 1. Describe one IBKR API gotcha you personally hit (disconnects, pacing violations, precautionary settings, contract qualification, market-data farms — anything real) and how you solved it. 2. How would you run IB Gateway unattended on a Linux VPS through IBKR's forced daily restart? 3–5 sentences. 3. Your proposed monthly retainer for ~2–5 hrs/week of operations plus incident response, and your alert-response SLA. ## Budget - Milestone 1: $500–1,500 fixed, based on experience - Milestone 2: $1,000–2,500 fixed - Phase 3: your proposed monthly retainer - Separately, a second freelancer will audit significant code changes; if you'd rather be that auditor, say so. ## Working style Async-first (I run a business during the day, US Pacific time). Everything in writing: GitHub issues/PRs and the Friday email. I value operators who surface problems early over ones who go quiet. The handover documentation is thorough — I expect you to read it before asking questions it already answers.
Відкрити на Upwork