DEV Community

finaltype
finaltype

Posted on Originally published at finaltype.github.io

Confirming a One-Share Live Test Path - Manual Orders Over Automation

Planning a one-share buy-and-sell test on a live account, I chose manual order entry over reviving a retired automated path. Also rolled up a batch of changes and restarted two resident processes today.

This is the English version of a post originally written in Korean for my algorithmic trading system devlog(new tab).

Planning a one-share test on the live account

There was one thing the live account had never actually done.

Place a real order and track it all the way through to confirm it lands correctly in the ledger.

So tomorrow during market hours, a small test is planned: buy one share, then sell it. The dollar amount involved is a tiny fraction of total managed assets, so even if something goes wrong, the downside is close to nothing.

Chose manual orders over the automated path

There were two options for how to run this.

One was to revive an automated sell-probe path that had been retired a while back. The other was simply to place the order by hand in the broker's app and have the system only record and reconcile the result.

Reviving the retired path would have required un-retiring it, transferring funds, and securing a week's worth of setup — none of which could realistically finish by tomorrow. So manual orders won out.

The plan: place the order manually, then hand the order number to the system, which first dry-runs it for a sanity check and then books it into the ledger for real. The system never places an order on its own — it only records and reconciles.

This is a story about the order-recording and reconciliation layer, not the trading logic itself. More on how that layer is designed is in this post on execution architecture(new tab).

Once the test wraps up, the plan is to confirm that both the buy and sell match the ledger exactly, and to record the actual fees and taxes deducted.

Rolled up pending changes, restarted two resident processes

Separately, two changes that had been in progress on side branches got finished today.

One adds a fallback: if the external API used for price lookups goes unresponsive — in anticipation of it eventually being retired — the system now switches to an alternate source automatically.

The other fixes a date-comparison mismatch in one of the intraday audit checks.

Both merged in, along with refreshing a baseline constant one of the checkers relies on against recent data, and two resident processes got restarted together to pick it all up. The restart went cleanly; whether it actually took effect will get confirmed from tomorrow's intraday logs.

Day one of the longer-holding-period experiment: early signs favorable

A few days ago, an experiment started: loosen the rule for how quickly a holding gets exited, letting positions ride longer. Today was the first trading day under the new rule.

A single day isn't enough to call it yet, but the early supporting metrics — unfilled-order rate, idle cash after the last round — came in better than the baseline.

The real verdict is scheduled for after about 20 more trading days of data.

Top comments (0)