DEV Community

Jim L
Jim L

Posted on

Test Title for Inspection

My spreadsheet habit probably saved me a few hundred HK dollars last quarter. Not because I found some secret arbitrage — because I finally stopped trusting marketing pages.For 30 days I logged every fee my brokers actually deducted after each trade: the timestamp, the asset, the notional value, the stated commission, and everything else that showed up in the settlement confirmation. I use three main brokers for Hong Kong equities — Futu (Moomoo's sibling app), Moomoo, and Interactive Brokers — plus three smaller ones I was evaluating. The gap between what some of them advertise and what they actually collect is wide enough to fit a CCASS settlement fee and two regulatory levies.Here's what the data showed.---## The "free commission" gotchaThree of the brokers I tested market themselves with some variation of "0 commission" or "commission-free trading." In Hong Kong this framing is technically defensible but practically misleading for anyone coming from a US brokerage context.What zero-commission means in HK: the platform commission line item is zero. What it doesn't mean: you pay zero to trade.Every HK equity trade carries mandatory charges that no broker waives:- HK Stamp Duty: 0.13% on each side of the transaction — buyer and seller both pay. On a HK$50,000 position that's HK$65 per direction before you've even thought about spreads.- Transaction Levy (SFC): 0.0027% — small, but real.- Trading Fee (HKEx): 0.005% — similarly small.- CCASS Settlement Fee: 0.005% of the settlement value, minimum HK$2, maximum HK$100. I mention this specifically because it's the one I see omitted most often from fee comparison tables. Most brokers don't surface it prominently in their marketing.None of these are broker decisions. They're statutory or exchange-mandated. But two of the three "free" brokers I tested buried these figures deep in fee schedule PDFs and didn't surface them in the pre-trade order summary.---## What Futu and Moomoo actually chargedFutu and Moomoo are different apps running on the same regulated entity (Futu Securities International (Hong Kong) Limited, licensed by the SFC). The product experience differs — Moomoo skews slightly more toward the retail-data-dashboard aesthetic, Futu's interface is a bit cleaner for HK-domiciled users who primarily trade HKEX — but for fee purposes they're running the same underlying rate card during the period I tracked.Commission structure: Both apps charged zero platform commission on HK stocks during my test period. The statutory charges above applied in full. For US stocks the picture changes — there's a per-share or per-trade commission structure that is comparably low but nonzero. I focused mainly on HK equities so I won't extrapolate my US data here.FX conversion spread: This one surprised me. I fund primarily in HKD, but occasionally held positions denominated in USD. When Futu converted at settlement, I tracked the spread versus the mid-market rate I pulled from Bloomberg at the same timestamp. Over my sample it ran roughly 0.18-0.25% per conversion. That's not unusual for retail FX at a brokerage, but it's worth knowing if you're doing frequent HKD/USD switches. Moomoo's spread on the same conversion pairs was in a comparable range — I didn't see a material difference between the two apps in my sample.Order types and trailing stops: One area where the two apps diverged noticeably in my usage: trailing stop orders on HK-listed stocks. Futu's interface for setting a trailing stop on HKEX equities requires navigating a few additional taps compared to the US equities flow — the "trailing" option wasn't visible at the top-level order screen on the HK tab during the period I tested; I had to switch order type from the expanded menu. Moomoo's flow surfaced the same option one step earlier for me. This is minor UX friction, not a fee issue, but if you're doing active risk management with stops it's the kind of thing you notice on a day with fast-moving prices.---## IBKR: the mid + markup modelInteractive Brokers charges differently. Rather than zero commission + mandatory levies (which you also pay), IBKR applies a commission — around HK$18-35 minimum per order depending on the tier — and then adds exchange fees on top. For small trades that minimum can make IBKR more expensive per transaction than Futu/Moomoo. For larger trades the per-trade minimum matters less and the FX spread becomes the relevant comparison point.IBKR's HKD/USD FX spread ran measurably tighter in my sample — mid plus roughly 0.2 basis points (not 0.2%, basis points — this is the IBKR institutional FX routing advantage). If you're regularly converting large amounts between HKD and USD, that difference compounds. For HK$500,000 conversions even a 0.15% spread improvement saves HK$750 per round trip.The IBKR platform is also more configurable for order routing, which appeals to the developer-minded investor who wants to see exactly what's happening at the exchange level. The tradeoff is a more complex interface and a minimum activity fee structure that penalises infrequent traders.---## The CCASS detail that tripped me upI want to return to the CCASS settlement fee because it generated the most confusion in my data cleaning.CCASS (Central Clearing and Settlement System) is the HK clearing infrastructure. The fee is 0.005% of settlement value, minimum HK$2, maximum HK$100. On a HK$20,000 trade that's HK$1 — but capped at HK$100 it doesn't scale with large trades.Here's where the confusion arose in my spreadsheet: two of the brokers I tested showed the CCASS fee as a single line item in settlement confirmations. One bundled it under "other charges." One didn't itemise it at all — I only found it by reconciling the total deducted against the statutory charges I could calculate manually.When I asked their support teams about this, the responses ranged from "it's in our fee schedule" (true, buried in a PDF appendix) to a helpful agent who confirmed the exact calculation. The point isn't that any broker was deducting more than the statutory amount — in my data they weren't. The point is that if you don't know to look for it, you'll spend time wondering why your net proceeds don't match your mental model.---## How I tracked thisMy methodology was deliberately simple: after every executed trade I logged the trade confirmation email or in-app notification into a Google Sheet with columns for broker, date, instrument, direction (buy/sell), notional in HKD, each fee line item as shown, and a calculated "total cost as % of notional" column.I didn't try to account for market impact or slippage — this was purely about explicit fee deductions. For 30 days across six brokers I ended up with around 200 trade records.The main insight wasn't a dramatic fee arbitrage discovery. It was that I now have a clear picture of when each broker is actually cheaper: Futu/Moomoo win on low-to-mid size HK equity trades where you're not doing frequent FX conversion; IBKR wins on large trades with significant HKD/USD conversion where the tighter FX spread outweighs the commission differential.---## The practical upshotA few things I'd tell a developer-investor starting this exercise:Build the reconciliation sheet from day one. Don't wait until you've been trading for six months and want to understand your actual costs. The data is right there in settlement confirmations — it just needs to be captured systematically.Don't compare headline commission rates. Compare "total cost as % of notional" for the trade sizes you actually execute. The CCASS minimum means small trades are always proportionally more expensive. The FX spread matters more than commission on anything with currency conversion.Stamp duty is the dominant cost for most retail HK equity trades. At 0.13% each way, it's not a trivial number. It's also a useful floor: if someone is advertising a fee structure that sounds like it undercuts 0.26% round-trip total cost on an HK stock, read the footnotes.Platform UX affects your actual trading behaviour. The trailing stop UX difference I described above sounds minor. But over 30 days of active trading I noticed it affecting when I bothered to set stop orders versus leaving positions unprotected. Friction that reduces good habits is a hidden cost.The spreadsheet isn't glamorous. But it's the only way I found to actually understand what I'm paying.---Any figures quoted are from my personal trading records over 30 days in early 2026 and are illustrative of the general fee structures I observed. Fee schedules change — verify current rates directly with each broker before making decisions.

Top comments (0)