Skip to content
Course contents
From backtest to live strategy

The smallest possible first trade

Going live is a threshold to cross slowly, not a button to press. This chapter gives the checklist for the transition, start at an absurdly small size, keep a human hand on a kill switch, watch every order by hand at first, and treat the first live weeks as a test of the plumbing, not a search for profit. It is the most cautious chapter in the course.

10 min readChapter 17 of 28
What you will learn
  • List the preconditions for going live and the smallest-size rule
  • Keep a manual kill switch and human oversight in the early live phase
  • Frame the first live period as verifying the system, not proving the strategy

Everything in this course so far has been safe, because it ran against a simulator. This chapter is about the one irreversible step, connecting the same program to a real broker and a real account, and it is written to slow you down. Most strategies should never reach this step at all, because they do not survive honest testing. For the rare one that does, going live is not a moment of triumph but a careful, boring, closely watched procedure, done at the smallest size that is real.

The preconditions

Going live is a threshold crossed slowly: start at an absurdly small size, watch every order by hand, keep a kill switch, and scale only gradually.
Going live is a threshold crossed slowly: start at an absurdly small size, watch every order by hand, keep a kill switch, and scale only gradually.

Before a single live order, every part you have built must be in place and proven. You should have a strategy with a tested edge, not just one that runs. You should have forward-tested the whole program in the sandbox until it handled normal days cleanly. You should have the risk controls of the next part in place, the gate that can refuse an order and the kill switch that can stop everything. You should have reconciliation on startup and logging of every action. Going live is the moment all of that has to already exist, not a thing you add later. A short preflight check makes the gate explicit.

ExampleA preflight checklist that refuses to go live if any item failsch17/preflight.py
# A preflight check before any live trading. Going live is not a switch you flip;
# it is a gate every item must pass. If a single check fails, you do not go live.
# This one deliberately fails one item, to show the gate doing its job.
checks = {
    "forward_test_passed":        True,
    "risk_gate_in_place":         True,
    "reconciliation_on_startup":  True,
    "logging_enabled":            True,
    "starting_at_smallest_size":  True,
    "kill_switch_reachable":      False,     # not ready yet
}

print("Preflight checklist:")
ready = True
for name, ok in checks.items():
    print(f"  [{'PASS' if ok else 'FAIL'}]  {name}")
    ready = ready and ok

print()
if ready:
    print("All checks pass. You MAY go live, at the smallest possible size.")
else:
    failed = [name for name, ok in checks.items() if not ok]
    print(f"NOT READY. Do not go live. Fix first: {', '.join(failed)}")
Output
Preflight checklist:
  [PASS]  forward_test_passed
  [PASS]  risk_gate_in_place
  [PASS]  reconciliation_on_startup
  [PASS]  logging_enabled
  [PASS]  starting_at_smallest_size
  [FAIL]  kill_switch_reachable

NOT READY. Do not go live. Fix first: kill_switch_reachable

The check is deliberately simple and deliberately strict: if a single item fails, you do not go live. Here the kill switch is not yet reachable, so the answer is a flat NOT READY, whatever the other passes say. That is the correct spirit. Going live is not a weighing of pros and cons; it is a gate, and a gate with one broken bar is shut.

Start absurdly small

When you do cross, cross with the smallest position the market allows, smaller than makes any economic sense. One share. One lot. An amount whose entire loss you would not notice. The first live period is not for making money; it is for discovering the difference between the sandbox and reality: the fills that come back slightly worse, the timing that is a little off, the broker quirk your simulator did not model. You want to learn those lessons on one share, not on a real position. Size up only later, slowly, and only once the live system has behaved for long enough that its behaviour is boring.

Keep a human in the loop

In the early days, watch it. Sit with the program while it trades, read every order it sends, and keep your hand near the kill switch, the manual off-switch that flattens positions and halts the program at once. The whole promise of automation is that you can eventually walk away, but you earn that by first not walking away, by confirming with your own eyes that the program does what you believe it does when real money is live. A program you have never watched trade is a program you do not yet know.

The first weeks test the plumbing

Hold the right expectation for the first live stretch. You are not testing whether the strategy is profitable; the sample is far too small to tell you that, as the Risk and Psychology course showed when it counted how many trades it takes to tell an edge from luck. You are testing whether the machinery behaves live as it did in the sandbox. Do the fills match roughly what you expected. Does reconciliation stay clean. Does nothing surprising happen at the open or the close. Judge the first weeks by the plumbing, not the profit, and let the strategy prove itself over a much longer horizon, at a size you increase only grudgingly.

What to carry forward

Going live is a threshold to cross slowly and rarely, and it is a gate: every part must already be in place, a tested edge, a clean forward test, the risk gate and kill switch, reconciliation, and logging, or you do not go, as the preflight check made plain by failing on a single missing item. When you do cross, start at the smallest real size, watch every order by hand, and keep the kill switch in reach, because the first live period exists to prove the plumbing, not the profit. The kill switch and the risk gate you kept invoking are the subject of the final part. First, one more piece of running reliably: doing it on the market's schedule, every day, without your hand on it.