Skip to content

The daily rebalance

AlphaHouse does not watch the market tick by tick. It runs once a day, works out what your account should be holding, compares that to what it currently holds, and sends only the difference to your exchange.

Everything else in the app is a view onto that one event.

  1. Refresh the tradable universe. Venue listings change constantly, and a delisted symbol must never reach the order stage.

  2. Enrich those listings. Funding rates, contract sizes, order minimums and quantity steps. These constraints later decide whether an order is placeable at all.

  3. Produce the day’s ranking. The model ranks the universe and the result becomes that day’s targets. This is the proprietary part and the docs do not describe how the ranking is formed.

  4. Size and place orders for each account. For every active subscription the system computes a target book, compares it against your live positions, and places only the differences. This is the step that touches your money.

  5. Record performance. Snapshots and metrics are written so the dashboard, portfolio and trade history have something to show.

Each step depends on the one before it, so a failure early on stops the rest rather than trading on stale inputs. The run retries a few times before giving up.

Within step 4, orders are placed in two phases, labelled separately on Trade history:

  • Phase 1: reductions. Anything being closed or trimmed.
  • Phase 2: additions. Anything being opened or increased.

Reducing first frees margin, so the additions have room to fill. If additions went first, a fully committed account could reject its own reductions for lack of margin, the worst possible direction for that failure to point.

If your account already holds roughly the right position in a symbol, nothing is sent for it. This is why a healthy run often places far fewer orders than you hold positions. A run with 40 open positions and 6 orders is not a failure. It is a run where 34 positions were already close enough to target.

The schedule is set per trading system, not per user. Your Dashboard shows Next Run as a countdown and Last Action as a time since the previous run.

If Next Run is marked (estimated), the app is computing it from the schedule rather than a stored timestamp, and can drift a few minutes either way. A run starting later than the countdown suggested has not necessarily failed.

Intraday moves are not acted on. If a position moves sharply against you at 11am, nothing happens until the next run. This is not a stop-loss system.

Your positions drift between runs. Your exposure equals target only immediately after a run. Drift is expected and corrected at the next one.

Turning a system off does not close positions immediately. Stopping a system stops future rebalancing. What happens to positions you already hold depends on how you stop it, and the app asks you when positions are open. See Systems.