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

Posted 2 days ago

Worldwide

Summary

** 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.

  • $5,000.00

    Fixed-price
  • Expert
    Experience Level
  • Remote Job
  • Complex project
    Project Type

Contract-to-hire opportunity

This lets talent know that this job could become full time.
Learn more
Skills and Expertise
Mandatory skills
Trading Automation
Robotic Process Automation
Activity on this job
  • Proposals:50+
  • Last viewed by client:yesterday
  • Interviewing:
    0
  • Invites sent:
    0
  • Unanswered invites:
    0
About the client
Member since Aug 31, 2007
  • United States
    Watsonville9:34 AM
  • $36K total spent
    107 hires, 8 active
  • 1,654 hours

Explore similar jobs on Upwork

n8n
Zapier
Web Development
JavaScript
CSS
Web Design
Webflow
Automation
HTML
Python
C++
Forex Trading
API
Machine Learning
Cryptocurrency
Node.js
Bot Development
Artificial Intelligence
Bitcoin

How it works

  • Post a job icon
    Create your free profile
    Highlight your skills and experience, show your portfolio, and set your ideal pay rate.
  • Talent comes to you icon
    Work the way you want
    Apply for jobs, create easy-to-by projects, or access exclusive opportunities that come to you.
  • Payment simplified icon
    Get paid securely
    From contract to payment, we help you work safely and get paid securely.
Want to get started? Create a profile

About Upwork

  • Rating is 4.9 out of 5.
    4.9/5
    (Average rating of clients by professionals)
  • G2 2021
    #1 freelance platform
  • 49,000+
    Signed contract every week
  • $2.3B
    Freelancers earned on Upwork in 2020

Find the best freelance jobs

Growing your career is as easy as creating a free profile and finding work like this that fits your skills.

Trusted by

  • Microsoft Logo
  • Airbnb Logo
  • Bissell Logo
  • GoDaddy Logo