FTSE China A50 futures: SGX sessions, specs and backtest setup
SGX FTSE China A50 futures trade in USD at US$1 per index point, in a day and a night session that run on Taiwan time. A realistic backtest models both sessions, the monthly roll, Chinese and Singapore holidays, and costs in US dollars.
By Soren Huang · Published · updated · Editorial policy
Contents
- What exactly is the SGX FTSE China A50 futures contract?
- What are the A50 futures trading hours in Taiwan time?
- How do the day and night sessions change a backtest?
- What happens to A50 futures on Chinese and Singapore holidays?
- How should you roll A50 futures in a backtest?
- What costs and slippage should an A50 backtest use?
- Frequently asked questions
SGX FTSE China A50 futures (新加坡A50) are cash-settled contracts on the Singapore Exchange, quoted in US dollars at US$1 per index point. They trade in a day session from 9:00 to 16:35 and a night session from 17:00 into the early morning, Taiwan time. A realistic backtest models both sessions, monthly rolls, holidays and USD costs.
What exactly is the SGX FTSE China A50 futures contract?
The contract is a US-dollar future on an index of 50 large mainland Chinese companies, and every point of the index is worth US$1. The FTSE China A50 Index is a FTSE Russell index of the 50 largest A-share companies listed in Shanghai and Shenzhen. A-shares are shares of mainland companies that trade in yuan on those two exchanges. The futures contract (富時中國A50指數期貨) lists on SGX, so traders outside mainland China can trade the index in US dollars.
The table lists the specification items that change a backtest. Exchanges can change contract values, so take the current tick size, contract months and last trading day from SGX's contract page for the product. The free futures contract calculator turns tick size and point value into the profit or loss of a trade.
| Item | SGX FTSE China A50 futures | What it means for a backtest |
|---|---|---|
| Underlying | FTSE China A50 Index | The index only updates while Shanghai and Shenzhen are open. |
| Contract size | US$1 × index points | A move of 10 points is US$10 per contract. |
| Currency | US dollars | Profit, loss, commission and margin are in USD. Keep the backtest in USD. |
| Settlement | Cash | There is no delivery. The position closes at the final settlement price if you hold it to expiry. |
| Contract months | Monthly contracts (see SGX for the current list) | You roll every month, not every quarter. |
| Tick size | See SGX's contract page | At US$1 per point, the tick value in dollars equals the tick size in points. |
What are the A50 futures trading hours in Taiwan time?
Singapore and Taiwan use the same clock (UTC+8, with no daylight saving time), so SGX's published hours are already Taiwan time. You do not need to convert anything, and the hours do not shift in March or November the way US futures sessions do.
| Session | Taiwan time | What happens in the underlying index |
|---|---|---|
| Day session (SGX calls it the T session) | 9:00 to 16:35 | A-shares trade 9:30–11:30 and 13:00–15:00. The index updates only in these windows. |
| Short break | 16:35 to 17:00 | No futures trading. |
| Night session (SGX calls it the T+1 session) | 17:00 into the early morning of the next day | The index is closed. Futures prices react to Hong Kong, European and US markets and to news. |
Take the exact closing minute of the night session from SGX's contract page, because that is the value most likely to differ between data vendors and older articles. The free futures market hours tool shows sessions by exchange in your own time zone.
How do the day and night sessions change a backtest?
The two sessions behave differently, so your backtest must decide which session the strategy trades and where one trading day ends. A strategy built on all hours mixes periods when the index is live with long hours when it is not.
- Choose the session the rules may trade. Test day-only, night-only and all-hours versions separately. A rule that only works in one session is useful information, not a failure.
- Fix the trading-day boundary. Decide whether a trading day starts at 17:00 with the night session or at 9:00 with the day session. Every daily indicator, daily high and low, and "exit at end of day" rule must use that same boundary.
- Check how your data vendor builds bars. Some vendors put the night session on the next date and some on the same date. A mismatch shifts every daily bar.
- Treat session breaks as gaps. A position held from 16:35 to 17:00, or from the night close to 9:00, can open at a very different price. A stop does not protect you inside the break.
- Look at volume by hour in your own data. Thin hours need higher slippage assumptions than the busy hours around the A-share open and close.
The same questions apply to Mini-TAIEX and US index futures, and the guide to night sessions in futures backtests compares day-only and full-session bars in more detail.
What happens to A50 futures on Chinese and Singapore holidays?
Two holiday calendars apply: Singapore's decides whether the futures trade, and mainland China's decides whether the index updates. Your backtest needs both, because they do not match.
| Situation | What happens | What to do in the backtest |
|---|---|---|
| Singapore public holiday, SGX closed | No futures trading, no bars. | Make sure the strategy treats the missing day as a gap, not as a flat day. |
| Mainland markets closed, SGX open | The futures can trade while the index stays at its last value. | Mark these days. Volume can be lower, so test with more slippage or exclude them. |
| Mainland markets reopen after a long break (for example Chinese New Year or the National Day week) | The index catches up with several days of news at once. | Check the trades around these reopenings in the trade list. A large share of profit or loss on a few days is a fragile result. |
Take both calendars from the exchanges' published trading calendars, and use the free stock market holidays tool to check closures and early closes before you trust a gap in the data.
How should you roll A50 futures in a backtest?
Because A50 futures list monthly contracts and traders usually hold the nearest one, a backtest rolls about once a month, so the roll method affects results more than it does for quarterly contracts. A roll is the switch from an expiring contract to the next contract month. A continuous contract is one price series built by joining contract months at each roll. The performance report in AlphaPrime (Valynox) lists every trade, so the ones that fall near each monthly roll can be picked out and checked against the contract calendar.
- Pick a roll rule and keep it. Common choices are a fixed number of trading days before the last trading day, or the day the next month's volume passes the front month's.
- Check roll dates against SGX's last trading days. A roll that happens after expiry means the series contains prices from a contract that no longer traded.
- Decide on back-adjustment. An unadjusted series shows a price jump at every roll. A back-adjusted series removes the jump by shifting older prices, so old price levels no longer match what traded at the time.
- Stop the strategy from trading the roll jump. In an unadjusted series, a breakout rule can fire on a gap that no one could trade.
- Charge for the roll. A position held across a roll pays one extra round trip: closing the old month and opening the new one.
What costs and slippage should an A50 backtest use?
Use your broker's all-in commission per side in US dollars and at least one tick of slippage per side, and use more slippage in the hours your own data shows as thin. Slippage is the distance between the price in the test and the price of your real fill. Then compare the round-trip cost with the strategy's average trade in index points.
Hypothetical example
Assume commission and fees of US$3 per side and an assumed tick of 2.5 points, which is US$2.50 at US$1 per point. With one tick of slippage per side, a round trip costs 2 × US$3 + 2 × US$2.50 = US$11, or 11 index points.
A strategy with a gross average trade of 15 points keeps 4 points per trade after costs. If its night-session trades get two ticks of slippage per side instead, their round trip costs US$16, and the same 15-point trade loses 1 point.
A Taiwan-based trader whose account is in New Taiwan dollars has one more effect: profits and losses arrive in USD. Keep the backtest in USD and judge the exchange-rate effect separately, so that a currency move does not hide or invent an edge. The guide to trading costs in backtests explains the average-trade test step by step.
What this means if you use AlphaPrime: set the A50 trading session, commission and slippage in AlphaPrime's backtesting settings before the first search, so every candidate is ranked after USD costs and with next-bar execution. Then review the trades around roll dates and holiday reopenings before you keep a strategy.
Frequently asked questions
What are the 新加坡A50 trading hours in Taiwan time?
The day session runs from 9:00 to 16:35 and the night session starts at 17:00 and runs into the early morning of the next day. Singapore and Taiwan share UTC+8 with no daylight saving time, so SGX's published hours are Taiwan time. Check SGX's contract page for the exact night-session close.
How much is one point of A50 futures worth?
One index point is worth US$1 per contract. A 20-point move is US$20 per contract, before costs. Because of this, the tick value in dollars equals the tick size in points.
Do A50 futures trade when Chinese stock markets are closed?
They can, when SGX is open and mainland markets are on holiday. During those days the index does not update, so the futures price reflects only expectations. A backtest should mark these days and test them with higher slippage or without them.
Why does my A50 backtest show a price jump every month?
A50 futures are usually rolled monthly, and an unadjusted continuous series jumps at each roll by the price difference between two contract months. Use a back-adjusted series or make sure the strategy cannot trade on the roll gap. Also charge one extra round trip for each position held across a roll.

