No description
Find a file
2026-06-05 15:03:40 +00:00
HurstProfile.mq5 Upload files to "/" 2026-06-05 15:00:50 +00:00
MicroStructure_Foundation.mqh Upload files to "/" 2026-06-05 15:00:50 +00:00
README.md Update README.md 2026-06-05 15:02:23 +00:00

Article-22598-Market-Microstructure-GPH-ARFIMA-Estimator

This repository is an article-derived reference project based on the original MQL5 article. It does not claim to reproduce the full original source code unless files are explicitly attached.

Overview

Reference/reconstruction repository for the MQL5 article describing the addition of a Geweke-Porter-Hudak (GPH) estimator and ARFIMA-oriented analysis to an existing market microstructure foundation header. The article extends a prior Hurst-analysis framework by estimating the fractional differencing parameter d from log-periodogram regression and validating it against previously computed Hurst values.

The implementation is described as modifications to an existing include file rather than a standalone new project.

Original Article

Repository Purpose

This repository serves as a technical reference for reconstructing the article's described additions to MicroStructure_Foundation.mqh:

  • GPHEstimator()
  • PopulateARFIMAAnalysis()

It documents how the article integrates ARFIMA-style fractional differencing diagnostics into a shared RobustFractalAnalysis workflow, specifically by populating:

  • arfima_d
  • arfima_confidence

No claim is made that the full original repository or all article files are available here.

Key Concepts

  • Geweke-Porter-Hudak log-periodogram regression
  • Fractional differencing parameter d
  • Relationship between Hurst exponent and differencing:
  • d = H - 0.5
  • H = d + 0.5
  • ARFIMA interpretation:
  • d > 0: persistence / positive long memory
  • d = 0: random-walk-like behavior
  • d < 0: anti-persistence / mean reversion
  • Confidence via regression
  • Validation of d against previously computed Hurst outputs
  • Session-level intraday analysis for US100 M1 data

Algorithm / Architecture Summary

The article describes two additions to an existing header-only foundation.

1. GPHEstimator(const double &returns[], int n, double &confidence)

Purpose:

  • Estimate fractional differencing parameter d directly from return series.

Method summary:

  • Validate minimum bar count.
  • Choose low-frequency bandwidth:
  • m = floor(N^g)
  • default exponent g = 0.65
  • Compute the first m periodogram ordinates using a direct DFT.
  • Regress:
  • log I(ω_j) on log |2 sin(ω_j / 2)|²
  • OLS slope gives -d, so:
  • d = -slope
  • Return regression as confidence.
  • Clamp d to approximately (-0.49, 0.49).

2. PopulateARFIMAAnalysis(const string symbol, const int tf, const int period, RobustFractalAnalysis &result)

Purpose:

  • Fetch close prices
  • Build filtered log-return array
  • Call GPHEstimator()
  • Store outputs into the shared result struct
  • Perform H–d consistency diagnostics

Described validation flow:

  • Validate symbol and minimum period
  • Fetch closes via SafeCopyClose()
  • Compute log returns
  • Filter invalid prices and artifact returns above ±10%
  • Require enough valid returns
  • Compute d and confidence
  • Compare implied H = d + 0.5 against existing Hurst output when available
  • Flag inconsistency if discrepancy exceeds threshold
  • Mark low-confidence estimates as unreliable

Constants added in the article

The article states that five constants are added to the existing header:

  • GPH_MIN_BARS
  • GPH_BANDWIDTH_EXP
  • GPH_MIN_FREQ
  • GPH_CONF_THRESHOLD
  • GPH_D_CONSISTENCY

Mentioned or Attached Files

Explicitly attached files

No attached source files were available in the processed input.

Files mentioned in the article text

  • MQL5/Indicators/HurstProfile/HurstProfile.mq5
  • MQL5/Indicators/HurstProfile/Includes/MicroStructure_Foundation.mqh

Also mentioned as existing dependencies or related functions/structures:

  • RobustFractalAnalysis
  • PopulateHurstAnalysis()
  • ValidateSymbolV2()
  • SafeCopyClose()
  • SafeLog()

Statistics

  • Series context: Part 3 of a market microstructure series
  • Study sample: 72 NY sessions
  • Instrument / timeframe: US100 M1
  • Session window: 09:30–16:00 ET
  • Pooled bars: 27,930
  • Pooled GPH estimate: d = -0.006
  • Implied pooled H: 0.494
  • Pooled regression confidence (): 0.0001
  • Session-level mean d: -0.016
  • Session-level median d: -0.012
  • Session-level standard deviation: 0.153
  • Interquartile range: [-0.124, 0.084]
  • Regime breakdown:
  • d < -0.1: 21 sessions (29.2%)
  • -0.1 <= d <= 0.1: 34 sessions (47.2%)
  • d > 0.1: 17 sessions (23.6%)

Tags

mql5, market-microstructure, arfima, gph, hurst-exponent, fractional-differencing, spectral-analysis, time-series

Difficulty

Intermediate to advanced.

Limitations

  • The full original source code repository is unavailable from the provided input.
  • No attached .mq5 or .mqh files were included in the processed input.
  • This README is based on article content and code excerpts only.
  • Metadata such as author, publication date, and category were not provided in the input and therefore cannot be verified here.
  • The project appears to be an incremental modification of an existing codebase from earlier articles, so it is not self-contained from this article alone.

Reference

Original article: https://www.mql5.com/en/articles/22598