Roman Prigodskii

Work

Zacks to Interactive Brokers

Paid client work Private client work. The figures are schematics of the counts, the limits and the daily run.

A commissioned execution pipeline that turns a published stock rank into Interactive Brokers orders, on a schedule, dry run by default.

stocks in one day’s screen
4,369
positions targeted, at equal weight
25
no single order over this share of the book
10%
a run that would sell more than this share of what is held stops
80%
by default: nothing reaches the account unless it is told to
Dry run
One day’s screen: 4,369 stocks, one dot each.The book is 25 of them, drawn at the same scale beneath the screen and then opened out: 25 equal positions, 4% each. A schematic: it draws the counts only.

What it does

Paid client work, commissioned by a third party. It ingests screen exports from Zacks, turns them into an equal-weight book of 25 positions, and works out the orders that close the gap to what the Interactive Brokers account holds. Collection runs every trading day on a VPS.

So far it runs in dry run. The connection to a live account is next, on a paper account first.

Why dry run is the default

A mistake here costs real money, so the pipeline does nothing to the account unless it is told to, and a malformed export or a surprising position stops the run rather than guessing its way through it.

No single order may exceed 10% of the book, and a run that would sell more than 80% of what is held stops before it starts.

The daily run, as a schematic

The stages one run passes through, in order, and the three conditions that stop it. A drawing, not data.

The daily run, as a schematicA schematic of one daily run, not data. Every trading day a Zacks screen export is collected on a VPS; one day's screen held 4,369 stocks. It is parsed and validated, and a malformed export stops the run. It becomes an equal-weight target book of 25 positions, 4% each, which is diffed against what the Interactive Brokers account holds; a surprising position stops the run. The difference is the orders that close the gap. Then the interlocks: no single order may exceed 10% of the book, and a run that would sell more than 80% of what is held stops before it starts. Last is the dry-run switch, on by default: nothing is sent to the account unless it is told to. So far it runs in dry run; the connection to the account comes next, on a paper account first.what the account holdsordersInteractive Brokersaccountconnected nexta malformedexporta surprisingpositionwould sell over 80%of what is heldThe run stopsEvery trading day, on a VPSZacks screenexport4,369 stocks inone day’s screenParse andvalidateTarget book25 positions atequal weight,4% eachDiff againstthe accountOrdersthat closethe gapInterlocksNo single order over10% of the bookNo run that sells over80% of what is heldDry runthe defaultnothing is sentunless it is told to
The daily run, as a schematicA schematic of one daily run, not data. Every trading day a Zacks screen export is collected on a VPS; one day's screen held 4,369 stocks. It is parsed and validated, and a malformed export stops the run. It becomes an equal-weight target book of 25 positions, 4% each, which is diffed against what the Interactive Brokers account holds; a surprising position stops the run. The difference is the orders that close the gap. Then the interlocks: no single order may exceed 10% of the book, and a run that would sell more than 80% of what is held stops before it starts. Last is the dry-run switch, on by default: nothing is sent to the account unless it is told to. So far it runs in dry run; the connection to the account comes next, on a paper account first.ordersInteractive Brokersaccountconnected next, on a paper account firsta malformedexporta surprisingpositionwould sellover 80%The run stopsEvery trading day, on a VPSZacks screen export4,369 stocks inone day’s screenParse and validateTarget book25 positionsat equal weight,4% eachDiff against the accountOrdersthat closethe gapInterlocksNo single order over10% of the bookNo run that sells over80% of what is heldDry runthe defaultnothing is sentunless it is told to

Where it stands

  1. So far Dry run
  2. Next Paper account
  3. Then Live account