Skip to main content

Historical Data And Import

HyperionX can request history from supported connections, read its local market-data store, import tick files, and download selected KuCoin archive data. Historical data affects charts, Validator, Optimizer, and Research Lab, so validate the source before trusting results.

Open the importer

The historical-data importer is opened from the Historical Data area in Tools > Options. The separate Tools > Import command imports C# Code Lab source files.

The importer has three areas:

  • Settings for local tick files or a folder of files.
  • KuCoin Archive for supported public archive downloads.
  • Import Log for progress and errors.

Local tick-file format

Use UTF-8 text with semicolon-delimited rows. The minimum supported shape is:

DateTime;Price;Volume
20260722 093000 000000;6421.25;3
20260722 093000 250000;6421.50;1

The parser reads:

  • The first field as date/time.
  • The last field as volume.
  • The field immediately before volume as price.

This also allows source rows containing additional fields between time and price. Price uses invariant-culture decimal formatting. Volume can be an integer or a non-negative decimal that HyperionX rounds to an integer.

The first row may be a header. A malformed data row after that stops the import with its line number.

File naming

Use a suffix that matches the selected data type:

NQ 09-26.Last.txt
NQ 09-26.Bid.txt
NQ 09-26.Ask.txt

For a futures-style filename, HyperionX preserves the first symbol token plus a MM-YY contract token, such as NQ 09-26. Without that pattern, it uses the first token as the symbol.

Batch import recursively selects .txt files whose suffix matches Last, Bid, or Ask.

Time-zone limitation in 1.1.10

Validate timestamps before research

The importer displays a time-zone selector, but the selected value is not forwarded to the file parser in 1.1.10. Parsed timestamps have no explicit zone and are normalized using the Windows machine's local-time interpretation. Do not assume selecting ET, CT, MT, PT, or UTC changes the imported values.

Until this is fixed and release-tested:

  1. Normalize the source file to the Windows time zone used by the import machine.
  2. Import a small sample first.
  3. Open a chart around a known session boundary.
  4. Confirm the first/last tick and generated bar times.
  5. Keep the original source file so the import can be rebuilt.

Existing-data behavior

The dialog asks whether to overwrite when it finds existing data, but the implementation performs a merge:

  1. Existing and incoming candles are combined.
  2. Rows are grouped by timestamp.
  3. The last row for a duplicate timestamp wins.
  4. The result is sorted and written back.

The confirmation therefore authorizes modification of existing history; it is not a guaranteed delete-and-replace operation.

Generated bars

For imported ticks, the Settings tab can also generate:

  • One-minute candles.
  • Daily candles.

Generated OHLCV is derived from the imported tick stream. Verify out-of-order warnings and session boundaries, especially before comparing it with provider-native bars.

KuCoin archives

The KuCoin Archive tab supports:

  • Futures or Spot markets.
  • Klines converted into the normal KuCoin candle store.
  • Raw trade ZIP downloads.
  • Raw depth ZIP downloads.
  • Kline intervals from one minute through one day as exposed in the UI.
  • A UTC start and end date.

Raw trade/depth downloads are not the same thing as an immediately chartable candle series. Review the import log and resulting storage before selecting the data in a chart or research job.

Storage

Imported market data is written below:

%USERPROFILE%\Documents\HyperionX\DB\HistoricalData

Depending on provider and timeframe, the store uses provider, asset-class, series, and symbol subdirectories. Do not hand-edit active data files while HyperionX is running.

Validation checklist

Before using imported history in a backtest:

  1. Preserve the source and note its vendor, zone, and data type.
  2. Import a small date range.
  3. Review every warning in Import Log and Output.
  4. Confirm symbol/contract extraction.
  5. Confirm time-zone and session alignment on a chart.
  6. Check duplicates, gaps, out-of-order rows, and implausible volume.
  7. Compare generated minute/day bars with a trusted reference.
  8. Record whether existing data was merged.
  9. Run the same research test twice and confirm deterministic results.

For model assumptions, continue with Backtesting. For local data backup and removal behavior, see Install, Update, And Uninstall.