We Value Your Privacy

    We use cookies to enhance your experience, provide essential functionality, and analyze site usage. You can customize your preferences or accept all cookies. Learn more

    Research log
    Research finding

    Sweep #13 · October 2026

    Does the Tokyo-fix gotobi effect still work?

    Yes — smaller than the paper that popularised it, and smaller every year since that paper appeared. It is the first sub-daily strategy in thirteen sweeps to clear all six of our gates in both windows, and the only one whose signal is a calendar rather than a chart.

    The sweep this came from is #13 in the research log. The strategy it produced is entry #7.

    A flow you can read off a calendar

    Japanese companies settle invoices on gotobi days — the 5th, 10th, 15th, 20th, 25th and 30th of the month, moved back to the previous business day over weekends and holidays. Importers buy the dollars they owe at the rate their bank fixes at 09:55 Tokyo time, and the banks buy those dollars in the interbank market ahead of the fix. Ito and Yamada (Journal of International Economics, 2017) documented that the client flow at the Tokyo fixing is one-sided and predictable. Bessho, Sugimoto and Suzuki (arXiv 2301.13204, 2023) traded the gotobi version of it: long USD/JPY from 03:00 to 09:55 Tokyo on gotobi days, which they report at a profit factor of 1.46 after spreads over 2018–2020, against 0.51 on matched ordinary days.

    A gotobi morning, Tokyo time 00:00 15:00 UTC 02:00 17:00 UTC 04:00 19:00 UTC 06:00 21:00 UTC 08:00 23:00 UTC 10:00 01:00 UTC 12:00 03:00 UTC 09:55 fix G1: long on the bar closing at 03:00 Tokyo, exit on the bar closing at 09:55 — entry #7 G1 · long into the fix (entry #7) 03:00 → 09:55 G2: short on the bar closing at 09:55, exit on the bar closing at 12:00 — killed at the null G2 · short out of the fix: killed at the null
    The two legs the paper describes, as tested. G1 holds through the 09:55 fix, when the banks' dollar buying for their settling clients is done. Tokyo keeps no daylight saving, so the UTC times never move: the entry is 18:00 UTC the evening before.

    Every sub-daily idea in our first twelve sweeps read the market's own state — price shape, volume, session structure, funding, open interest — and the best of them (entry #5) clears the bar in one window and not the next. This one reads none of that. It reads who must buy dollars, and when. The flow exists because of a business custom, not a market regime, and that was the claim under test.

    The paper pools its three years and gives no year-by-year breakdown, so whether the effect survived its own publication was an open question. Our first window ends before the paper's sample starts, and most of our second window comes after it.

    What was frozen before the run

    Nothing here was chosen by us. The days are the custom's, the 09:55 fix is the banks', and the 03:00 entry is the paper's.

    • Spec. Long on the five-minute bar closing at 03:00 Tokyo, exit on the bar closing at 09:55, gotobi days, Tuesday to Friday. No stop, no target. The paper's in-sample refinements — a moving-average filter on the entry, a "the morning was profitable" filter on the reversal — were not used.
    • Data. Five-minute bid candles, Dukascopy's free feed through 2011 and FXCM's public archive from January 2012, checked bar for bar against each other where they overlap (USD/JPY closes differ by a tenth of a pip at the median). Dukascopy blocked the download part-way through, and the switch was decided on that comparison before any hypothesis ran. The archive has holes, mostly May to August 2026: 27 of 1,028 gotobi days have no entry bar and drop out of both the strategy and the null.
    • Costs. 0.006% per side — half a pip at the bottom of the USD/JPY range, a pip at the top — stressed at 0.012%. Rollover is not modelled; for a long USD/JPY held through the New York roll that was roughly zero before 2016 and a credit through most of the second window, so leaving it out is conservative.
    • Windows. January 2010 to January 2018, entirely before the paper's sample, and January 2018 to September 2026. EUR/JPY's data starts in 2012, so its first window is six years instead of eight.
    • Gates. Net positive in both windows, positive after deleting the best trade in both, max drawdown of 20 or less in sum-of-returns points, and — the sixth — at or above the 95th percentile of a 400-draw null in both windows. For a calendar strategy the null keeps the clock, the exit and the costs and replaces the gotobi days with the same number of random eligible days. It asks the only question that matters here: did the day matter?
    • A control and a reverse trade. C1 runs the same clock window on every eligible day, to measure how much of the result is just the Tokyo morning. G2 is the paper's other leg: short from the fix to noon on gotobi days.
    • Robustness, for a passer only. The stress cost, and both fills five minutes late — what someone acting on an alert gets instead of a resting order. Entries at 01:00 and 05:00 as a plateau check.

    The decision rule was written down first: clear all six gates on USD/JPY and survive the late fills, and it ships as entry #7, on USD/JPY plus any cross that also passes at the stress cost. Anything else is a kill. The whole protocol is in the research log, committed on 8 October 2026 before the run.

    What it produced

    Returns are the sum of per-trade returns, unlevered, at 0.006% per side. The null column is where the real result lands among 400 random-day draws.

    Cell Trades Win % Profit factor Return Net pips / trade Strip-best Max DD Null
    USD/JPY 2010–17 490 65.1 2.74 +41.7% 8.1 +38.8% 1.1 100th
    USD/JPY 2018–26 511 61.3 1.36 +11.1% 2.5 +10.1% 3.6 100th
    EUR/JPY 2012–17 367 62.1 1.97 +19.7% 6.6 +18.7% 1.2 100th
    EUR/JPY 2018–26 511 61.6 1.61 +16.3% 4.4 +14.8% 1.7 100th
    AUD/JPY 2010–17 490 55.3 1.50 +25.0% 4.3 +21.3% 3.3 100th
    AUD/JPY 2018–26 511 54.0 1.15 +7.3% 1.3 +5.9% 3.9 98th

    Go down the vetting bar with that table:

    • Profitable after deleting the best trade? Yes, in all six cells.
    • Two independent multi-year windows? Yes, both positive everywhere.
    • More than one instrument? USD/JPY and EUR/JPY. AUD/JPY passes everything except the stress cost, where it turns negative after deleting its best trade in the second window, so under the rule written before the run it does not count toward breadth.
    • Net of realistic fees? Yes, and still passing at double the fee on the two pairs that ship.
    • Drawdown within reason? The worst cell is 3.9 against a bar of 20.
    • Beats random entry timing? 98th to 100th percentile in all six cells; 100th in every USD/JPY and EUR/JPY cell.

    The null medians make the case on their own. Random eligible days through the same clock window return +14.2% on USD/JPY in the first window and −1.0% in the second, with 95th percentiles of +21.7% and +5.0%. Gotobi days return +41.7% and +11.1%.

    Two trades in the first window and four in the second were held past 09:55 because the exit bar is missing from the archive. A recomputation straight from the bars, with no engine and those days left out, gives USD/JPY 488 trades, +41.5% and a profit factor of 2.74 in the first window, and 507 trades, +10.3% and 1.33 in the second.

    The control says the day is what matters

    C1 is G1's clock window on every eligible day, gotobi or not:

    Cell Trades Profit factor Return Net pips / trade Strip-best Max DD
    USD/JPY 2010–17 1,593 1.40 +46.3% 2.6 +43.4% 6.2
    USD/JPY 2018–26 1,650 0.97 −4.4% −0.5 −5.5% 16.8
    EUR/JPY 2012–17 1,195 1.31 +25.7% 2.8 +24.4% 4.8
    EUR/JPY 2018–26 1,650 1.12 +12.7% 1.0 +11.2% 6.2
    AUD/JPY 2010–17 1,593 1.05 +9.9% 0.6 +6.2% 14.1
    AUD/JPY 2018–26 1,650 0.91 −15.6% −0.8 −17.0% 21.1

    In 2010–17 the Tokyo morning itself paid: the yen weakened into the fix on ordinary days too. But gotobi days carried three times the move, 8.1 net pips against 2.6. From 2018 the ordinary-day drift is gone on USD/JPY, at −4.4%, and the gotobi days alone still pay, at +11.1%. What remains is the settlement-day flow, not the time of day.

    The reverse trade dies at the null

    Shorting from the fix to noon made money on USD/JPY in both windows. It is still killed.

    Cell Trades Profit factor Return Strip-best Max DD Null Verdict
    USD/JPY 2010–17 488 1.48 +11.8% +7.9% 2.3 79th gates 1–5 pass, null fails
    USD/JPY 2018–26 507 1.14 +3.3% +2.7% 2.4 98.5th passes
    EUR/JPY, both windows 365 / 507 1.16 / 0.99 +3.5% / −0.3% −2.7% / −1.0% 4.1 / 4.7 83rd / 94.3rd strip-best fails
    AUD/JPY, both windows 488 / 507 1.21 / 0.96 +10.3% / −1.6% +3.3% / −4.8% 5.6 / 5.3 77.3rd / 89.5th second window fails

    In the first window random days made nearly as much: the null's median is +8.5% against the real +11.8%. The give-back after the fix is a feature of the Tokyo morning, not of gotobi days, and a strategy that cannot beat its own null in a window is not a strategy, whatever five other checks say. This is the same test that stopped a different candidate of ours from shipping; the page on that is here.

    What the paper could not show

    It needs the fill at the minute

    Cell At 0.012% per side Both fills five minutes late
    USD/JPY 2010–17 +35.8% · PF 2.38 · strip-best +33.0% +33.1% · 2.25 · +30.3%
    USD/JPY 2018–26 +5.0% · 1.15 · +4.0% +2.7% · 1.08 · +1.4%
    EUR/JPY 2012–17 +15.3% · 1.70 · +14.4% +14.3% · 1.62 · +13.4%
    EUR/JPY 2018–26 +10.2% · 1.35 · +8.7% +10.6% · 1.36 · +9.0%
    AUD/JPY 2010–17 +19.1% · 1.36 · +15.4% +15.8% · 1.30 · +12.2%
    AUD/JPY 2018–26 +1.2% · 1.02 · −0.2% +2.5% · 1.05 · +1.1%

    USD/JPY stays positive, and positive after deleting its best trade, with both fills late — so the strategy is not killed as execution-fragile. But look at what is left in the second window: a quarter of a pip a trade, against 2.5 on time. This trade wants an order working at the fix, or a fill within the minute. Not an alert acted on at leisure.

    It has decayed since the paper

    Sum of trade returns by calendar year of entry, in percent:

    2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026*
    USD/JPY +5.5 +8.8 +3.9 +9.3 +3.2 +2.5 +5.4 +3.2 +3.5 +1.6 +2.1 +2.3 +3.0 −1.1 −0.7 −0.4 +0.9
    EUR/JPY — — +4.0 +6.6 +1.3 +1.4 +2.9 +3.5 +2.8 +2.7 +2.9 +2.0 +2.7 −0.2 −0.3 +2.5 +1.2
    AUD/JPY +1.3 +9.6 +2.8 +2.6 −2.3 +6.8 +1.5 +2.7 +2.8 +1.1 −1.2 +1.5 +2.1 −0.8 −1.8 +1.4 +2.2

    *2026 runs to September, with the May–August data hole.

    USD/JPY: sum of trade returns by year of entry, at the registered spec +10% +5% 0 gotobi paper published, Jan 2023 2010: +5.5% 2010 2011: +8.8% +8.8 2012: +3.9% 2012 2013: +9.3% +9.3 2014: +3.2% 2014 2015: +2.5% 2016: +5.4% 2016 2017: +3.2% 2018: +3.5% 2018 2019: +1.6% 2020: +2.1% 2020 2021: +2.3% 2022: +3.0% 2022 2023: −1.1% −1.1 2024: −0.7% −0.7 2024 2025: −0.4% −0.4 2026 (to September): +0.9% +0.9* 2026
    Long from 03:00 to 09:55 Tokyo on gotobi days, USD/JPY, 0.006% a side, unlevered. Thirteen positive years, then three small losing years after the paper that popularised the trade appeared. *2026 runs to September, with the May–August data hole.

    USD/JPY made money in every one of the thirteen years to 2022, then lost a little in each of 2023, 2024 and 2025 — the three years after the gotobi paper appeared in January 2023. That is the decay the pre-registered prior named: a publicised calendar trade gets front-run until it is gone. It is not a collapse. The losses are 0.4 to 1.1% a year, EUR/JPY lost only in 2023–24, and over the last twelve months (October 2025 to September 2026, 46 trades per pair) all three pairs are positive: USD/JPY +1.8% at a profit factor of 1.85, EUR/JPY +2.2% at 3.18, AUD/JPY +3.5% at 2.84. But it is the most important fact on this page, and the entry carries it.

    The neighbours are a plateau, not a knife-edge

    Entry (Tokyo) USD/JPY 2010–17 / 2018–26 EUR/JPY AUD/JPY
    01:00 +46.4% / +17.1% (PF 2.36 / 1.52) +31.3% / +24.0% (2.22 / 1.75) +30.8% / +15.0% (1.52 / 1.28)
    03:00, registered +41.7% / +11.1% (2.74 / 1.36) +19.7% / +16.3% (1.97 / 1.61) +25.0% / +7.3% (1.50 / 1.15)
    05:00 +30.1% / +3.5% (2.40 / 1.13) +10.7% / +10.0% (1.56 / 1.44) +16.0% / +0.8% (1.39 / 1.02)

    All eighteen cells pass the first five gates. The earlier entry does better, and the entry stays at the paper's 03:00 anyway: the neighbour check exists to catch a knife-edge, not to pick a winner after the fact.

    What it means for the bar

    Twelve sweeps of sub-daily hypotheses read the market's own state, and the best of them clears the bar in one window and not the next — the full account is on the low-timeframe page. The first to clear it in both reads none of that. It reads a business custom, known in advance from the calendar. That is the sense in which "internals beat price shape" generalises: not to more indicators, but to flows with a cause outside the chart.

    The edge is real and it is small. Net of the registered cost it is about 2.5 pips a trade on USD/JPY over 2018–26, 1.5 since 2021, and a quarter of a pip if both fills come five minutes late. It lost a little on USD/JPY in each of the three years after it was published. Two things would end it: slow execution, and the decay resuming. Entry #7 says both, and ships as a paper-trade candidate on USD/JPY and EUR/JPY.

    How to check it

    The harness is committed at scripts/research/sweep13-tokyo-fix.ts and runs on public data with no keys; --phase vendorcheck prints the Dukascopy-versus-FXCM comparison. The pre-registration was committed on 8 October 2026 and the results in a later commit, so the git history is the timestamp. The entry runs in the app on a gotobi_day calendar atom computed from the bar's time and the holiday list, so live equals backtest by construction, and adopting it seeds a plan with this exact configuration to re-run.

    Other findings