VALYNOX
VALYNOXSTRATEGY RESEARCH TECHNOLOGY
AlphaPrimeAlphaPrime
ACADEMY / Strategy generation

Mini-TAIEX (MXF) Fees per Contract and Backtest Costs

The cost of one side of a Mini-TAIEX (MXF) trade is three parts added together: broker commission, TAIFEX fee and futures transaction tax, and a round trip pays them twice. Divide the total cost by NT$50 per point to get the points a trade must earn back at a minimum. Add slippage to that figure and put it into the backtest at the very start of the strategy search.

By · Published · updated · Editorial policy

Contents
  1. Mini-TAIEX (MXF) Commission per Contract: The Three Costs That Add Up
  2. How Is the Futures Transaction Tax Calculated?
  3. How Many Points Is a Mini-TAIEX Round-Trip Cost? Converting NT$ to Points
  4. How Do You Add Slippage on Top of Commission?
  5. How Much Bigger Must the Average Trade Be Than Total Costs?
  6. Why Do High-Frequency Rules Get Eaten by Costs First?
  7. How Do You Set Mini-TAIEX Costs in a Backtest, Step by Step?
  8. Frequently asked questions
  9. References

Mini-TAIEX (MXF) Commission per Contract: The Three Costs That Add Up

How much is the commission on one Mini-TAIEX (MXF) contract? The cost of one side of a Mini-TAIEX trade is the sum of three parts: broker commission (negotiable, so confirm the range with your broker), the TAIFEX fee (a fixed amount per contract, usually already included in the broker's quote) and the futures transaction tax (0.002% of contract value). You pay once on entry and once on exit. Add them up and divide by NT$50 per point to get the points needed to break even.

Mini-TAIEX (MXF) is the mini-sized TAIEX futures contract on the Taiwan Futures Exchange (TAIFEX), and its contract value is the index level times NT$50 per point. When people talk about futures commission, many look only at the one number their broker quotes, but the money that actually leaves your account comes from three sources, each set in a different way:

Cost itemWho charges itHow the amount is setHow to enter it in a backtest
Broker commissionYour futures brokerA fixed amount per contract, negotiable by contract volume and your relationship with the brokerEnter the per-contract amount your broker confirmed
TAIFEX feeTAIFEX (collected by your broker)A fixed amount per contract, announced by TAIFEXUsually already included in the broker's quote, so don't add it again
Futures transaction taxThe national treasury (withheld by your broker)Contract value × statutory tax rate, so it moves with the index levelCalculated per fill, from each fill price

The most common mistake when comparing futures commission is adding the TAIFEX fee on top of the broker's quoted “commission.” For most brokers, the single number they quote already includes the TAIFEX fixed fee. The only thing to ask is: “Does this quote include the TAIFEX fee?” If yes, don't add it again. TAIFEX may change these fees and specifications, so before you enter them in a backtest, check TAIFEX's contract page, or use the free futures contract and profit calculator to look up the value per point and the profit or loss on a trade. If you haven't built your first strategy yet, the zero-to-first-strategy route for TAIEX futures program trading shows where cost settings come in.

A Mini-TAIEX round trip pays costs twice: entry and exit each pay the broker's quote (which already includes the TAIFEX fee) plus the futures transaction tax A round trip pays twice Cost per side, one contract Entry Quote Tax Exit Quote Tax Quote already includes TAIFEX fee Each side pays the quote plus tax. So: don't count the TAIFEX fee twice.
Entry and exit each pay all three costs once. The broker's quote usually already includes the TAIFEX fee, so don't add it again.

How Is the Futures Transaction Tax Calculated?

The futures transaction tax is not a fixed amount. It is contract value times the statutory rate, so the higher the index, the more tax. It is a transaction tax the government levies on every futures fill. For stock index futures the rate is 0.002% of contract value, charged once on entry and once on exit. Contract value is the fill points times the value per point, and for the Mini-TAIEX the value per point is NT$50.

There is only one formula to remember in this article:

Tax per side = fill points × value per point × tax rate

Here “fill points” is the index level where you actually filled, “value per point” is the Mini-TAIEX's NT$50, and “tax rate” is 0.002% (0.00002). Multiply the three and you get the tax due for that side.

Hypothetical example

Suppose a Mini-TAIEX fills at 15,000 points. Contract value is 15,000 × 50 = NT$750,000, and the tax per side is 750,000 × 0.00002 = NT$15. Suppose instead it fills at 20,000 points. Contract value is 20,000 × 50 = NT$1,000,000, and the tax per side is 1,000,000 × 0.00002 = NT$20. The formula is the same; the tax goes from NT$15 to NT$20 as the index rises.

Tax per side rises with the index: in the hypothetical example, a fill at the lower index pays NT$15 and a fill at an index one-third higher pays NT$20, calculated as points × 50 × 0.00002 Higher index, more tax Tax = points × 50 × 0.00002 Lower index NT$15 Higher index NT$20 Tax follows the fill price. So: calculate each trade.
Same formula: the higher the index, the more tax per side. A backtest should calculate it from each fill price, not enter one fixed number.

For a backtest this means the tax should not be entered as a fixed “NT$ per contract.” Over ten years of historical data, the index can range from low to high by more than double, so a fixed amount overstates cost in low-index years and understates it in high-index years. The right approach is to let the backtest calculate the tax from each trade's fill price. If your tool only accepts a fixed amount, calculate it at a high index level within the data period and err on the conservative side.

How Many Points Is a Mini-TAIEX Round-Trip Cost? Converting NT$ to Points

Add up the commission, TAIFEX fee and futures transaction tax on both entry and exit, then divide by NT$50 per point, and you get the number of points a trade must earn back to break even. This number is the base unit for judging whether a strategy survives: the average points your strategy captures per trade must first cover it, and what is left is yours.

  1. Work out the cost per side: the broker's quote (including the TAIFEX fee) plus the futures transaction tax calculated from the fill price.
  2. Multiply by two for the round-trip cost: once on entry, once on exit.
  3. Divide by the value per point: the Mini-TAIEX is NT$50 per point, and the result is the points needed to break even.

Hypothetical example

Suppose the broker's quote is NT$30 per contract per side (TAIFEX fee included), the Mini-TAIEX fills at 20,000 points, and the tax per side is NT$20. Cost per side is 30 + 20 = NT$50, and the round-trip cost is NT$100. 100 ÷ NT$50 per point = 2 points. That is, the trade must first capture 2 points just to cover commission and tax, before counting slippage.

Converting cost to points: suppose a round trip costs NT$100 (NT$30 quote plus NT$20 tax per side); divided by NT$50 per point, it takes 2 points to break even before slippage Converting cost to points Quote NT$30 + tax NT$20, both sides Round trip NT$100 ÷ NT$50 Breakeven 2 points Fees and tax only, before slippage A trade must first earn 2 points. So: compare with the average trade.
Round-trip cost in NT$ divided by value per point becomes the points a trade needs to break even, the unit you can compare directly with a strategy's profit per trade.

Value per point differs by contract, so the same NT$ cost converts to a different number of points. The Mini-TAIEX is NT$50 per point, TAIEX futures (TX) and Micro TAIEX futures have different values per point, and Taiwan index futures listed in Singapore have yet another specification and currency. FTSE Taiwan index futures: specs vs TAIEX and backtest notes explains why the same index direction converts to a different number of cost points. The data you backtest on also affects this conversion: if you use Mini-TAIEX near-month full-session data, fill prices on contract month change days and in the night session all enter the tax calculation, so the average cost will differ somewhat from one calculated on day-session data alone.

How Do You Add Slippage on Top of Commission?

Slippage is a separate layer of cost beyond commission. Start with at least one tick per side, then run again with double the slippage. Slippage is the gap between the fill price the backtest assumed and the price you actually got. A backtest's entry price is usually the price when the signal appeared, but by the time a market order or stop order actually fills, the price has often moved a tick or more.

Slippage hits hardest in three situations:

  • Market orders: you ask for an immediate fill, so you accept whatever price the other side is showing at that moment.
  • Stop orders: when triggered, the price is moving against you, and the fill is usually worse than the trigger price.
  • Thin-liquidity sessions: resting orders are few, and a single market order can move the price. Most of the night session has thinner resting orders than the day session. Mini-TAIEX night session: hours, liquidity and how to backtest it explains how much slippage to allow when the same rule fills in the night session.

With no actual fills to compare against, start with one tick per side. A Mini-TAIEX tick is 1 point, which equals NT$50, so one tick on entry and one on exit adds another 2 points per trade. After setting that, do one more thing: double the slippage and run again. If the strategy turns from positive to negative at double slippage, it relies on cheap fills, not on price behavior itself.

Hypothetical example

Continuing from the previous section: counting only commission and futures transaction tax, the round-trip cost is 2 points. Adding one tick of slippage per side makes it 2 + 2 = 4 points. With two ticks per side, the round-trip cost is 2 + 4 = 6 points. Suppose a strategy captures an average of 5 points per trade before costs: counting only commission and tax it nets 3 points, with one tick of slippage it keeps 1 point, and with two ticks of slippage it loses 1 point. Whether this strategy is good or bad is decided entirely by the slippage assumption.

Slippage flips the result: suppose a strategy captures 5 points per trade; after 2 points of commission and tax it nets 3 points, with one tick of slippage per side it keeps 1 point, and with two ticks per side it loses 1 point Slippage flips the result Edge of 5 points per trade, hypothetical Edge: 5 points Net Fees + tax +1 tick +2 ticks +3 pts +1 pt −1 pt Two ticks per side turns it negative. So: rerun with double slippage.
Slippage is another layer on top of commission. Running again with double slippage shows how much of a strategy's profit is propped up by cheap fills.

How Much Bigger Must the Average Trade Be Than Total Costs?

After costs, the average profit per trade must be clearly larger than the total round-trip cost; the smaller the gap, the sooner slightly worse slippage turns it into a loss. Average trade is net profit divided by the number of trades. It is in the same unit as cost points, so the two numbers can be compared directly. A rule of thumb many systematic traders use is that the average trade before costs should be several times the round-trip cost, and how many times depends on how confident you are in your own cost estimate. The free win rate calculator with expectancy and break-even win rate can work out expectancy per trade from win rate, average win and average loss, which you then compare with the cost points.

The report box below shows how to read this. It is not the Mini-TAIEX but ES (E-mini S&P 500) daily bars, from 2019-01-02 to 2025-06-30, long and short, one contract. The rule is an alternative rule: it enters and exits on Percent Range (%R) alone, with no stop loss, no profit target and no filters, assembled from standard indicators. The purpose is to show how to read costs, not to test this article's subject. It is the one kept from a search of 1,024 candidates, ranked on return relative to drawdown. Picking the best performer after the fact flatters the result by itself, and Bailey et al. (2014) showed that the more candidates there are, the more the in-sample performance of the survivor is inflated.

Source: AlphaPrime product engine (CPU), run 2026-10-31. ES daily bars, 2019-01-02 to 2025-06-30, long and short, 1 contract, commission $20, slippage $25 per trade.

NumberResult
Net profit (closed trades)$78,662.5
Max drawdown$77,195
Trades280
Win rate53.93%
Profit factor1.205
Average trade$280.94
Time in market71.78%
Look at two cells, net profit and number of trades: net profit divided by trades gives the average trade, which you then compare with the commission plus slippage already deducted from every trade.
Look at two cells, net profit and number of trades: net profit divided by trades gives the average trade, which you then compare with the commission plus slippage already deducted from every trade. ES · Daily · 2019-01-02 to 2025-06-30 · CPU engine backtest

Here is how to read it. Net profit of $78,662.5 divided by 280 trades gives an average trade of $280.94, and that number is already after $45 of cost per trade ($20 commission plus $25 slippage). $45 is less than one-sixth of the average trade, so even if slippage doubled, the average trade would still be positive. But the maximum drawdown of $77,195 is almost as large as net profit, so this candidate's problem is not cost but drawdown. The dollar costs here and the Mini-TAIEX's NT$ costs belong to different markets and currencies, so it can only illustrate the step “net profit ÷ trades, then compare with the cost per trade,” and cannot be taken as an expectation for a Mini-TAIEX strategy. Harvey and Liu (2015) suggest discounting backtest results by the number of candidates tried, and the survivor's average trade should be discounted the same way before comparing it with costs.

Why Do High-Frequency Rules Get Eaten by Costs First?

With the same cost settings, the rules that capture fewer points per trade and trade more often are the first to turn from positive to negative net profit. The reason is only arithmetic: the round-trip cost is about the same for every trade, so a trade capturing 3 points and a trade capturing 30 points pay almost the same commission, futures transaction tax and slippage, and the fixed cost takes a much larger share of the profit on small-point rules.

Think of a taxi's flag-drop fare: whether you ride one block or to the airport, the starting fare is the same, and for the one-block rider almost the whole fare is the starting fare. A high-frequency intraday rule is the one-block passenger.

Hypothetical example

Suppose three rules all have a 4-point round-trip cost (commission, futures transaction tax and one tick of slippage per side). The high-frequency intraday rule captures an average of 3 points per trade before costs and keeps −1 point after costs, so cost is 133% of its pre-cost profit. The intraday swing rule captures an average of 10 points and keeps 6 after costs, with cost at 40%. The overnight swing rule captures an average of 30 points and keeps 26 after costs, with cost at 13%. The cost is the same; only the points captured differ, and one loses while two make money.

With the same 4-point round-trip cost assumed, cost is 133% of gross profit for a fast rule capturing 3 points, 40% for an intraday swing rule capturing 10 points, and 13% for an overnight rule capturing 30 points Fixed costs hit small trades Cost vs gross profit, 4-pt round trip 100% Fast 133% Day swing 40% Overnight 13% Fewer points, bigger cost share. So: rank after costs.
Round-trip cost is fixed, so the fewer points a trade captures, the larger the share cost takes; the high-frequency intraday rule turns negative first.

This is also why strategy searches with no costs often rank a pile of high-frequency rules first: their equity curves are the smoothest and have the most trades, so they look best before costs and disappear first once costs are added. Trading costs in backtests: commission, slippage and the average trade works through the same thing with U.S. futures examples and reaches the same conclusion.

How Do You Set Mini-TAIEX Costs in a Backtest, Step by Step?

Enter costs and the fill method into the backtest in a fixed order, and do it before the strategy search begins, not by deducting them after you've picked a strategy. The order is:

  1. Commission per contract: enter the per-side amount your broker confirmed. First ask whether this quote includes the TAIFEX fee.
  2. TAIFEX fee: if the broker's quote already includes it, leave this field empty; only if the quote does not include it, enter the per-contract amount TAIFEX announces.
  3. Futures transaction tax by fill price: set it to “contract value × 0.00002” so the backtest calculates it from each trade's fill points; for tools that only accept a fixed value, calculate it at a high index level within the data period.
  4. Slippage per side: start at one tick (1 point for the Mini-TAIEX, NT$50); give rules that fill in the night session more. After setting it, run again with double slippage.
  5. Next-bar fill: a signal is confirmed at a bar's close, and the fill is placed at the next bar's open. Deciding at the close and filling at the close uses a price you couldn't get at the time.
Five backtest settings in order: broker commission, TAIFEX fee, tax by fill price, slippage per side and next-bar fill, all done before the strategy search starts Set costs first Five settings, in this order 12345 Broker commission TAIFEX fee Tax on fill price Slippage per side Next-bar fill Search Rankings already net of costs. So: never deduct costs afterward.
All five settings are done before the strategy search, so by the time rankings appear they are already net of costs.

The order matters for the reason in the previous section: if costs come after the search, the top of the ranking will be a batch of high-frequency rules that costs eat first, and the time you spent searching is wasted. In AlphaPrime (Valynox), these five steps are set once and then applied to every candidate in the search. AlphaPrime's backtesting already counts commission, slippage and next-bar fills in every evaluation, so the candidate rankings you read are net of costs from the start. Whether it runs on the CPU or a graphics card, these settings work the same way; only the time to finish differs.

The next step is concrete: open the report from your most recent Mini-TAIEX backtest, divide net profit by the number of trades to get the average trade, convert it to points, and compare it with the break-even points calculated in the third section of this article. If the gap is smaller than one tick of slippage per side, double the slippage and re-run to see whether the result is still positive.

Frequently asked questions

How much is the commission on one Mini-TAIEX (MXF) contract?

The cost per side of one Mini-TAIEX contract has three parts: broker commission, TAIFEX fee and futures transaction tax. Broker commission is negotiable, so confirm the amount with your futures broker; the TAIFEX fee is a fixed amount per contract, and most brokers' quotes already include it; the futures transaction tax is 0.002% of contract value and moves with the fill index level. You pay once on entry and once on exit.

Is the futures transaction tax paid on both entry and exit?

Yes, it is charged on every fill. So a complete trade (entry plus exit) pays the tax twice, and the two amounts may differ because the index level at the two fills differs. A backtest should calculate it from each fill price, not enter one fixed amount.

How many points does a Mini-TAIEX round trip cost to break even?

Add the broker commission (including the TAIFEX fee) and the futures transaction tax on both sides, then divide by NT$50 per point to get the points needed to break even. Then add at least one tick of slippage per side; a Mini-TAIEX tick is 1 point, so that is at least 2 more points per round trip. The exact number depends on your broker's quote and the index level at the fill, so calculate it once with your own numbers.

How do you read a futures commission comparison table?

First confirm whether each listed amount includes the TAIFEX fee; any that don't need it added back before they can be compared with those that do. The futures transaction tax is the same at every broker, so there's no need to compare it. After comparing commission, convert the difference into points: the Mini-TAIEX is NT$50 per point, so a commission gap of NT$25 per side is a gap of 1 point per round trip, which matters a lot for a rule that captures only a few points per trade and little for a rule that captures dozens of points per trade.

What slippage is reasonable to use for the Mini-TAIEX in a backtest?

With no fill records of your own, start at one tick (1 point) per side, and give more to rules that fill in the night session or enter and exit on stop orders. After setting it, double the slippage and run again; if the strategy turns from positive to negative, it depends on cheap fills. If you have actual fill records, replace this assumption with the average gap between your fill prices and signal prices.

References

  • Taiwan Futures Exchange. Mini-TAIEX Futures. https://www.taifex.com.tw/enl/eng2/mTX
  • Bailey, D. H., Borwein, J., López de Prado, M., & Zhu, Q. J. (2014). Pseudo-Mathematics and Financial Charlatanism: The Effects of Backtest Overfitting on Out-of-Sample Performance. Notices of the American Mathematical Society, 61(5), 458–471.
  • Harvey, C. R., & Liu, Y. (2015). Backtesting. The Journal of Portfolio Management, 42(1), 13–28.