VALYNOXSTRATEGY RESEARCH TECHNOLOGY
AlphaPrimeAlphaPrime
ACADEMY / Markets and trading sessions

TAIEX futures pre-open: quotes, orders and backtests

Before 08:45, TAIFEX collects orders and publishes an indicative opening price from simulated matching, but nothing trades until the opening auction. A backtest can model the auction price and the overnight gap, but not the indicative quotes. Next-bar execution keeps open trades honest.

By · Published · updated · Editorial policy

Contents
  1. What happens in TAIEX futures before the day session opens?
  2. What is 試撮, and why is the indicative price not a fill?
  3. Where does the opening gap come from?
  4. Can a backtest model the pre-open?
  5. How does next-bar execution stop optimistic opens?
  6. Which settings should you check before testing trades at the open?
  7. Frequently asked questions

Before the TAIEX futures day session opens at 08:45 Taiwan time, TAIFEX accepts orders and runs simulated matching (試撮), which shows an indicative opening price. Nothing trades until the opening auction sets a single price at 08:45. A backtest cannot trade the indicative price. It can model the auction fill and the overnight gap honestly.

What happens in TAIEX futures before the day session opens?

The 15 minutes before the open are an order-collection period, not a trading period. The pre-open period is the time before a session opens when the exchange accepts orders but does not match them into trades. For the TAIEX futures (TX) and Mini-TAIEX (MTX) day session, TAIFEX lists order entry from 08:30 and the open at 08:45.

A typical morning looks like this:

Taiwan timeWhat happensCan you trade?
05:00The night (after-hours) session ends.No
05:00–08:30The market is closed. The exchange does not accept orders.No
08:30–08:45Pre-open: orders are entered, changed and cancelled. Simulated matching shows an indicative opening price.No, orders only wait
08:45The opening auction matches the collected orders at one opening price.Yes, at the auction price
After 08:45Continuous trading until 13:45.Yes

The Taiwan stock market opens at 09:00, so TX trades for 15 minutes before the cash index starts moving. Exchanges can change session times and rules, so check the TAIFEX contract page for the current values. The free futures market hours tool shows TAIFEX sessions in your own time zone.

A TAIEX futures morning in Taiwan time, not to scale: the market is closed with no orders from 05:00 to 08:30, orders wait in the pre-open from 08:30 to 08:45, the opening auction sets one price at 08:45 and trading continues after it, and the Taiwan stock market opens at 09:00 Orders wait until 08:45 TAIEX futures morning, Taiwan time Auction Stocks open Closed Pre-open Trading 05:00 08:30 08:45 09:00 No orders Orders wait One price first The first trade is the 08:45 auction. So: never fill before 08:45.
A TAIEX futures morning: orders collect from 08:30, but the first trade happens at the 08:45 opening auction.

What is 試撮, and why is the indicative price not a fill?

The indicative price is a preview of the auction, not a price that anyone traded. Simulated matching (試撮) is the exchange's practice run of the opening auction: it takes all orders waiting at that moment and calculates the price at which they would match. The indicative opening price is the result of that calculation, published during the pre-open so traders can see where the open is heading.

Think of it like a live poll before an election. The poll tells you how people lean right now. It is not the vote count, and people can still change their minds before the polls close.

Three reasons the indicative price cannot be treated as a fill:

  1. Orders keep changing. Traders can add, change and cancel orders until the auction. A large order that appears at 08:40 and disappears at 08:44 moves the indicative price but never trades.
  2. Your own order changes the result. The indicative price reflects the orders already in the book. If you add a buy order, the matching price can move up.
  3. Only the auction price is real. The opening auction (call auction, 集合競價) is the single matching that collects all orders and executes every matched order at one price. That price is the first trade of the day, and it can differ from the last indicative price.

For a backtest, this matters in the data. The first day-session bar should open at the auction price. If a data feed records indicative prices as if they were trades, the first bar can show a high or low that never traded. Strategies with stops or limit orders near the open then get fills that were never possible.

Where does the opening gap come from?

The opening gap is the price move that happened while TX could not trade, and its size depends on which session your data includes. An opening gap is the difference between the last price of the previous session and the opening price of the next one.

Between 05:00 and 08:45, the world keeps moving. The US cash stock market closes at 04:00 Taiwan time during US daylight saving time and at 05:00 the rest of the year. Japanese and Korean stock markets open at 08:00 Taiwan time, 45 minutes before TX. News, US index futures and those Asian opens all feed into the orders collected before 08:45.

Your data choice decides which gap the backtest sees:

  • Full-session data (day plus night) shows a gap from the 05:00 night close to the 08:45 open. The overnight US session is already inside the night bars. See all-sessions TAIEX futures data (台指全) for how these series are built.
  • Day-only data shows a gap from the previous 13:45 close to the 08:45 open. That gap contains the whole night session, so it is usually larger and more frequent.

A strategy that looks great on day-only data may simply be harvesting moves that, in reality, happened during the night. The Mini-TAIEX night session guide explains how to test the night itself. A day-only edge like that should face the same walk-forward analysis and thresholds as any other rule in the strategy validation of AlphaPrime (Valynox) before you trust it.

Can a backtest model the pre-open?

A backtest can model the result of the pre-open, but not the pre-open itself. Bar data starts at the first trade, so the order queue and the indicative quotes are not in it. What the data does contain is enough for most strategies.

Pre-open elementIn normal bar data?How a backtest handles it
Orders entered 08:30–08:45NoCannot be modelled. Queue position and cancellations are not recorded in bars.
Indicative price from simulated matchingShould not beNot usable as a fill. If it appears in bars, treat it as a data error and clean it.
Opening auction priceYes, as the open of the first day barUsable as a fill for decisions made before the open.
Overnight gapYes, as the jump between two barsModelled automatically if the fill rule is honest.
Trading after 08:45YesNormal fills with fees and slippage.

A market order sent during the pre-open usually executes at the auction price, because all matched orders in the auction trade at one price. So "enter at the open" is a fair backtest assumption, with one condition: the decision must use only information that existed before 08:45. In live trading, the order also has to reach the exchange during the pre-open window. Check how your broker and platform handle orders a strategy generates while the market is closed.

Strategies that read the indicative price itself ("buy if 試撮 is 1% above the night close") cannot be tested on bar data. They need recorded pre-open snapshots, which most bar histories do not include.

How does next-bar execution stop optimistic opens?

Next-bar execution makes a rule fill only after it could have known its signal, and that removes the most common opening-bar error. Next-bar execution (also called N+1 execution) means a signal calculated on a completed bar fills at the open of the following bar.

The common error is a rule that uses the opening price to decide and also fills at that same opening price. A gap rule such as "buy if the open is 50 points above the night close" only knows the open after the auction has printed. By then the auction is over, and the next available price comes from continuous trading.

Hypothetical example

TX closes the night session at 22,000. At 08:40 the indicative opening price is 22,150. The auction opens at 22,090. On 1-minute bars, the 08:45 bar closes at 22,120 and the 08:46 bar opens at 22,120.

The rule is "buy when the open is at least 50 points above the night close." Three fill assumptions give three results:

Fill at the indicative price: 22,150. This price never traded.
Same-bar fill at the open: 22,090. The rule needed this price to decide, so it could not also buy at it.
Next-bar fill: 22,120, the open of the 08:46 bar.

The gap between the same-bar fill and the next-bar fill is 30 points. TX is worth NT$200 per point, so that is NT$6,000 per contract on one trade, before fees and slippage. Repeated over every gap day in a test, this difference can turn a losing rule into an apparent winner.

Hypothetical example in points above the night close: the indicative price at +150 never traded, a same-bar fill at the +90 open uses the price the rule needed to decide, and the next-bar fill at +120 is the first price actually available after the signal Fill at the next bar Points above night close, hypothetical Indicative +150, never traded Night close 0 08:45 08:46 Same bar +90 Next bar +120 The rule needs +90 before it can buy. So: fill on the next bar.
Using the hypothetical example, in points above the night close: a gap rule cannot buy at the opening price it needed to see. Next-bar execution fills at the first price that was actually available.

Next-bar execution is also honest in the other direction. A signal calculated on the last night bar fills at the open of the next bar, which is the 08:45 auction price. That matches a real order sent during the pre-open, and the backtest takes the full overnight gap, good or bad.

Which settings should you check before testing trades at the open?

Five settings decide whether opening trades in a backtest are realistic. Check them in this order:

  1. Session definition. Confirm whether the series is day-only or full-session, and that the session times match the TAIFEX contract page.
  2. Bar timestamps. Some data labels a bar by its start time, some by its end time. Make sure "the first day bar" is the one that opens at 08:45. Backtest data quality covers time-zone and timestamp checks.
  3. First-bar prices. Compare a few opening bars with the official opening price. A first bar whose high or low lies far outside the following bars may contain indicative quotes.
  4. Execution rule. Use next-bar execution for any signal calculated on a bar close.
  5. Costs near the open. Price moves fast in the first minutes of continuous trading. Use at least your normal slippage, then rerun with double slippage. The guide to trading costs in backtests shows how to compare costs with the average trade.

A strategy that keeps a positive average trade after these checks has a backtest result that does not depend on prices it could never have traded.

What this means if you use AlphaPrime: load TAIEX futures bars with the session you intend to trade and include fees and slippage from the first run; AlphaPrime's backtesting always uses next-bar execution. Opening gaps then count against every candidate in the search instead of flattering the ones that trade at the open.

Frequently asked questions

What time can you place orders for TAIEX futures before the open?

For the TX and Mini-TAIEX day session, TAIFEX lists order entry from 08:30, with trading starting at 08:45 Taiwan time. Orders entered in this window wait for the opening auction. Session times can change, so confirm them on the TAIFEX contract page.

Is the 台指期試撮 price the opening price?

No. The simulated matching price shows where the auction would match the orders waiting at that moment. Orders can still change before 08:45, so the actual opening price set by the auction can differ from the last indicative price.

Why is the TAIEX futures day open so different from the night close?

Between the 05:00 night close and the 08:45 open, TX does not trade, while US futures, news and the 08:00 Japanese and Korean stock market opens keep moving prices. The orders collected during the pre-open reflect all of that. With day-only data, the gap also contains the entire night session.

Can I backtest a strategy that enters at the TAIEX futures open?

Yes, if the entry decision uses only information available before 08:45 and the fill uses the auction price, which is the open of the first day bar. A rule that needs the opening price to decide should fill on the next bar instead. Next-bar execution handles both cases correctly.