How to run Kiploks engine locally: getting started guide
Run the Apache-2.0 Kiploks engine locally for reproducible metrics: Node prerequisites, pinned versions, minimal analyze flow, and how local engine work differs from hosted Kiploks product features.
Open source walk-forward analysis and quant trading tools open source searches often land on repositories before products. The Kiploks engine is published under Apache 2.0 so you can audit math, reproduce metrics, and pin versions (Apache 2.0).
This page is a getting started orientation, not a substitute for the canonical README in the repo.
Why run locally
- Verify definitions match what you see in hosted reports
- Integrate analysis into your CI or research pipelines
- Debug discrepancies between an export and a metric printout
- Build internal tooling without depending on a UI session
Prerequisites
- A supported Node.js version (see engine repository)
- Deterministic inputs: same data revision, same bar rules, same package versions
- A habit of pinning semver: engine packages move; silent upgrades break audits
Minimal path
- Clone the engine repository (
https://github.com/kiploks/engine). - Install dependencies per package instructions in the repo.
- Run the package build steps if required by that revision.
- Follow analyze examples in open engine docs.
Reproducibility checklist (short)
- commit hash recorded
package-lock.json(or equivalent) stored- dataset file hash recorded
- config JSON stored next to outputs
If you cannot reproduce a number a month later, you do not have an audit trail.
What local engine is not
Local engine access does not automatically grant hosted product features (accounts, storage, collaboration). Those are separate (Engine overview).
Common failure modes
- mixing browser bundling with server-only imports
- running analysis on non-deterministic data pulls without snapshotting
- comparing outputs across two engine versions without noticing
Use a small golden fixture
Pick one tiny dataset and one known config as a regression fixture.
When engine upgrades happen, diff metrics on the fixture before you trust large batch reruns.
Docker can help, but volumes need discipline
Mounting a live-synced data folder can introduce silent file changes between runs.
Prefer immutable snapshot files for anything you cite as evidence.
Environment parity with CI
Run the same Node version locally and in CI. Version skew is a classic source of "works on my machine" metric drift.