Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified Crypto Trading Bot Case Study.pdf
Binary file not shown.
2 changes: 1 addition & 1 deletion docs/OPERATIONS.md
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ docker compose ps # bot should become "healthy" withi

The image contains the code. Only `user_data/` is mounted from the host:
config, strategies, data, databases, logs and the audit trail. To pin a
release, set `RIDGELINE_VERSION=0.1.0` (in `.env` or the shell). The default
release, set `RIDGELINE_VERSION=0.1.1` (in `.env` or the shell). The default
is `latest`.

Data and the strategy's pair list (see the README's Data section) can be
Expand Down
29 changes: 29 additions & 0 deletions docs/releases/v0.1.1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
A research fix and an overfitting check. The app behaves the same as 0.1.0; upgrading keeps your `user_data`.

**Paper money only.** The panel runs Freqtrade in dry-run mode and cannot start a live bot. No strategy is eligible for real money yet.

## Install

- **Windows:** download `Ridgeline-Setup-0.1.1.exe` below and run it.
- Installing over 0.1.0 keeps your private config, paper sessions, data and audit trail.
- The installer isn't code-signed, so SmartScreen may warn: choose *More info → Run anyway*.
- **Docker:** `RIDGELINE_VERSION=0.1.1 docker compose pull && docker compose up -d`.
- **From source:** `pip install -r requirements.txt`.

## What changed

- **Fixed: tuning leaked hindsight.** `research.py hyperopt` was tuning on `config.json`'s live pair list (today's top coins). It now tunes on the point-in-time pairs at the start of the in-sample period, like every backtest does.
- **New candidate, and a negative result.** `TrendRider4hPIT` is TrendRider4h re-tuned that way (300 trials, in-sample only). It overfits:

| | In-sample | Out-of-sample | Profit factor | Walk-forward | Gates |
|---|---|---|---|---|---|
| TrendRider4h | +5.6% | **+17.3%** | **1.43** | **64%** | **8 / 9** |
| TrendRider4hPIT | +45.6% | +13.8% | 1.33 | 50% | 7 / 9 |

The in-sample gain didn't carry over to new data, so TrendRider4h keeps its original parameters and stays the lead candidate.
- **Updated research:**
- Gates re-run for all five strategies at 1,000 and 65 USDT (≈100 AUD).
- `RESEARCH.md` updated.
- The case study (attached) has a new section 5.7 and covers five strategies.

Backtests are not a promise of future results. This is software, not financial advice.
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "ridgeline"
version = "0.1.0"
version = "0.1.1"
description = "Freqtrade crypto bot with paper trading, point-in-time research gates, risk controls and reporting"
requires-python = ">=3.11"

Expand Down
2 changes: 1 addition & 1 deletion ridgeline/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from pathlib import Path

# Keep in step with pyproject.toml; release tags are v<version>.
__version__ = "0.1.0"
__version__ = "0.1.1"

ROOT = Path(__file__).resolve().parent.parent
USERDIR = ROOT / "user_data"
Loading