The only peer-reviewed paper that says FVGs work: we read it, and ran its code
If you search for evidence that fair value gaps "work", you land on the same document: Quantifying Fair Value Gaps: A Novel Metric for Price Reaction Prediction in Financial Markets (Kondapally, 2026), published in the World Journal of Applied Mathematics and Statistics 2(1) and also posted to SSRN. It reports 32,202 FVG events across forex, indices, commodities and crypto, a 78.3% "success rate" for its low-degree gaps, a backtest with a 2.17 Sharpe ratio and a 72.4% win rate, and a public GitHub repository "for full python implementation".
We run a public, append-only ledger of mechanically detected ICT/SMC setups — including every losing one — so we have a direct interest in whether this evidence holds. We read the paper end to end and ran the code it points to. This is what we found, with every step listed at the bottom so you can repeat it.
What the paper claims about its data
Page 3, "Data Sources and Quality": "Primary Source: Interactive Brokers API (tick-by-tick data)", "Data Frequency: 1-second OHLC for degree calculation, 1-minute for FVG identification", covering January 2023 to June 2025. The paper's central metric — the "degree" of a gap — is the slope of a regression line fitted to 1-second prices during the three minutes the gap forms. Everything downstream (the 78.3%, the backtest, the Sharpe ratio) depends on those 1-second prices being real.
What the code it cites actually does
The paper gives one code reference,
github.com/aryan1ko/fvg-degree-study, which now redirects to a
repository named Time-series-modeling containing a README and a
single file, fvg.py (1,445 lines; created 18 July 2025, last
changed 26 September 2025). We read it in full.
There is no Interactive Brokers client in the file. Market data enters
through one function that downloads one-minute candles from Yahoo
Finance (yfinance, default period='5d',
interval='1m'). The 1-second series the degree metric needs is
then produced by a function whose own docstring reads:
Generate simulated 1-second tick data from 1-minute OHLC
data
This creates realistic intrabar price movements
The function walks each one-minute candle along a fixed path — open
toward high for the first 30% of the minute, high toward low for the next
40%, low toward close for the last 30% — and adds
np.random.normal noise at each second. The returned dictionary
labels the result, in its own words, tick_1sec (simulated).
A second function, generate_sample_data(), builds an
entirely synthetic market from np.random.seed(42); its
docstring says it is not called by default, and we confirmed it is not. In
the Yahoo-Finance entry point, the call that would actually run the FVG
analysis over the loaded data is commented out.
We want to be precise about what this does and does not show. It shows that the only implementation the paper makes public cannot have produced tick-level results from Interactive Brokers data, because it contains no such data path and synthesises the intrabar prices the headline metric is computed on. It does not show what the author ran privately. But a reader who wants to reproduce the 78.3% has nothing to reproduce it with, and the published code's degree values are measurements of a simulated path, not of a market.
Other things a careful reader would notice
- Keywords. The paper's keyword list is "Graph Convolutional Networks, Distance-Based Propagation, Graph Neural Networks, Node Classification, Message Passing, Citation Networks". None of these topics appear in the paper.
- Review time. Submitted 30 January 2026, accepted 10 February, published 16 February — eleven days from submission to acceptance, for an eight-page empirical study.
- The venue. The publisher, MK Science Set LLC, is new enough not to appear on the commonly used lists of questionable publishers; researchers discussing it on ResearchGate raise the usual flags (a large fleet of new titles, unverifiable metrics, an article charge that is hard to find). We could not verify the fee ourselves and do not repeat figures we have seen quoted elsewhere.
- References. Four in total, one of which is a trading-education text. No prior empirical literature on FVGs is cited — which is consistent with there not being much.
- Costs. To be fair to the paper: it does list spread, commission and slippage assumptions and reports a net figure (28.3% annual versus 32.8% gross). That is more than most trading content does. It does not change the data problem above.
Why this matters beyond one paper
This article is cited, in forum posts and in product pages, as the academic evidence for fair value gaps. If your confidence in FVGs rests on "there's a peer-reviewed study with 32,000 samples", you now know what that study's public code measures.
Our own position has not moved: we do not know whether FVG entries beat random entries after costs. We have a pre-registered test running for exactly that question, with its design frozen before any result, and we will publish the outcome whichever way it goes. Until then, the honest answer to "do fair value gaps work?" is the same one it was before this paper: not established.
Verification log
Everything above was checked on 22 August 2026:
- Paper PDF —
mkscienceset.com/articles_file/862-_article1772532938.pdf, 8 pages, read in full. Quotes: p.1 (abstract, keywords, dates), p.3 ("Data Sources and Quality", code URL), p.4 (Table 1, 32,202; 78.3%), p.5 (backtest: 147.3%, Sharpe 2.17, win rate 72.4%), p.6 (cost section, 28.3% net), p.8 (references, CC-BY notice). - Repository —
github.com/aryan1ko/fvg-degree-study→ redirects toaryan1ko/Time-series-modeling; files:README.md,fvg.py. Commit history: 18 Jul 2025 (initial, "Create fvg.py"), README edits to 26 Sep 2025.fvg.pyread in full; quoted lines:import yfinance as yf(l.9),load_market_data(returnstick_1sec (simulated)),generate_tick_data_from_ohlc(l.951–1007),generate_sample_data(l.1136–1214,np.random.seed(42)), analysis call commented out (l.1122–1127). - Publisher —
mkscienceset.comhome and journal page: no fee stated on either page; "double-blind review" claimed without duration; indexing shown as unlabeled logos. ResearchGate thread on the publisher: flags as summarised above. - SSRN listing (abstract id 6032676) exists; the page itself returned 403 to our fetch, so we cite the PDF, not SSRN, for all quotes.
Corrections welcome at hello@ardenalgo.com. If the author publishes the Interactive Brokers data pipeline, we will run it and update this page with the result, whatever it is.
Three questions we expect
Is this an attack on the author? No. It is a check of a claim that many people repeat. The author is welcome to publish the data path; we will update this page.
Do you think FVGs don't work? We think nobody has shown it either way after costs. We are running a pre-registered test and will publish it.
Why should we trust your numbers instead? You shouldn't trust them; you should check them. Our ledger is public and append-only, losses included.
Joining locks the launch rate before the evaluation verdict is out — and gets you two mails, ever: launch + the verdict, whichever way it goes.