A month after launching my strategy analysis engine, I hit a wall of skepticism. While some users loved the integrations, others were blunt: "How do I know these numbers are real? Is there some backend 'magic' inflating the results?"
In my previous articles, I covered how to integrate strategy analysis with Freqtrade and Octobot. Those integrations were well-received, but they also triggered a lot of questions about what's happening 'under the hood'.
In trading, anything hidden is a red flag. If it happens on the backend and the user can't see the logic, it's a Black Box. And nobody trusts their capital to a black box.
To solve this, I've moved the entire calculation core to a public monorepo. Now, the same code that powers my UI and bot integrations is available for anyone to audit or use.
The Kiploks Engine
The kiploks/engine is a set of npm packages under the Apache 2.0 license. It's not just a part of the system, it is the math behind it.
What's inside:
- @kiploks/engine-contracts: Standardized data structures.
- @kiploks/engine-core: The heavy lifting — trade analysis, Walk-Forward Analysis (WFA), stability metrics, and benchmarking.
- @kiploks/engine-adapters: Tools to convert raw CSV data into engine-ready formats.
-
@kiploks/engine-cli: For those who prefer running
kiploks analyzedirectly from the terminal.
Explore the complete @kiploks ecosystem on npm package manager.
The backend doesn't reinvent the wheel, it simply calls these packages. If you use the same version locally, you get the exact same metrics you see in the product reports.
How to use it
The goal was to make it plug-and-play. You don't need to read the entire source code to start.
- Install:
npm install @kiploks/engine-core - Import: Use
analyzeFromTradesoranalyzeFromWindows. - Feed Data: Pass your trade history (JSON format with profit as a share of capital, timestamps in ms).
- Check Docs: I've added a "Map of Entrypoints" in
docs/ENTRYPOINTS.mdto help you choose the right function based on your data.
Transparency over "Magic"
I've made a conscious choice: transparency over convenience.
The engine won't give you a "perfect" report if data is missing. If a specific WFA mode lacks the necessary inputs, the engine explicitly returns available: false with a clear reason. We don't guess or smooth out numbers on the backend. It's a strict contract.
Why this matters
If you've ever wondered if a platform is "tweaking" metrics to make strategies look better, you now have a way to verify it. You can run the code locally, compare the results with the UI, and even use these packages to build your own research tools.
Check it out on GitHub: Kiploks/engine (Apache 2.0)
I'm Radiks Alijevs, the developer behind Kiploks.
My work focuses on strategy robustness analysis and bringing institutional-grade validation tools into the retail algorithmic trading ecosystem.
Follow me along if you're interested in building safer and more robust trading strategies.
Top comments (0)