Agent Wealth HubFree public resources
中文 EN العربية

Build a reproducible crypto research workflow

Fix the data, timestamps, fees, and formula. Use a small worked example to see how costs affect compound results, then extend the research with independent samples and simulation.

Reviewed · 2026-10-15 · Content updated · 2026-10-17

Direct answer

Fix the data, timestamps, fees, and formula. Use a small worked example to see how costs affect compound results, then extend the research with independent samples and simulation. Fictional returns A=[4%,-2%], B=[2%,1%]. At fee f per trade, net compound is product(1+return-f)-1. Calculate at 0.2%, then 0.4%.

Decision

Fix the data, timestamps, fees, and formula. Use a small worked example to see how costs affect compound results, then extend the research with independent samples and simulation.

Worked example

Fictional returns A=[4%,-2%], B=[2%,1%]. At fee f per trade, net compound is product(1+return-f)-1. Calculate at 0.2%, then 0.4%. Here f means a single abstract total cost deducted once per complete toy trade; it is not Freqtrade’s --fee setting, which charges entry and exit separately.

Failure checks

Use identical trades and assumptions, retain calculations, then test a holdout and realistic fills. Two trades cannot establish an edge or support a live recommendation.

Offline example and Agent acceptance workflow

Compare the example input with the result and acceptance checks.

Input text

Compare two cost levels on the frozen return data below. Here f is one abstract total cost deducted per complete toy trade, not Freqtrade’s --fee setting; two observations cannot support a performance claim.

returns:
  A: [0.04, -0.02]
  B: [0.02, 0.01]
cost_per_complete_toy_trade f: [0.002, 0.004]
net_return = product(1 + return - f) - 1

Prompt for an Agent interface you already use

Calculate at both fees; return JSON with exactly these string fields: fee_0_2pct_A, fee_0_2pct_B, fee_0_4pct_A, fee_0_4pct_B, limitation. Two trades cannot support a performance claim.

Expected result

{
  "fee_0_2pct_A": "1.5164%",
  "fee_0_2pct_B": "2.6144%",
  "fee_0_4pct_A": "1.1136%",
  "fee_0_4pct_B": "2.2096%",
  "limitation": "two fictional trades; no performance inference"
}

Review checklist

Selected resources

Strategy backtesting: control data bias before evaluating results

Why it is included: Build reproducible simulations that address look-ahead, survivorship, overfit, and trading costs.

When it does not fit: Two toy trades are too small to choose or validate a production backtesting framework.

wshobson/agents · plugins/quantitative-trading/skills/backtesting-frameworks/SKILL.md · 2026-10-14

Compare strategies on identical data

Why it is included: Compare strategies under the same pairs, timeframe, fees, and wallet.

When it does not fit: Do not compare strategy results from different datasets or time windows.

freqtrade/freqtrade · docs/backtesting.md · 2026-10-14

Stress-test how fees affect backtest results

Why it is included: Vary the backtest fee explicitly to measure its impact per round trip and across the strategy.

When it does not fit: Include slippage, market impact, and funding when modeling trading costs.

freqtrade/freqtrade · docs/backtesting.md · 2026-10-14

Check whether a strategy only fits one market period

Why it is included: Separate development and later validation windows instead of repeatedly tuning and reporting on one period.

When it does not fit: Two trades cannot provide a meaningful holdout performance estimate.

freqtrade/freqtrade · docs/backtesting.md · 2026-10-14

Detect lookahead bias before using a strategy

Why it is included: Check whether a strategy uses future candle information unavailable at decision time.

When it does not fit: A hand calculation with no time-series features has no lookahead path to inspect.

freqtrade/freqtrade · docs/lookahead-analysis.md · 2026-10-14

Portfolio risk metrics: state sample and tail assumptions

Why it is included: Calculate volatility, VaR/CVaR, drawdown, and risk-adjusted returns from aligned observations.

When it does not fit: Two observations cannot estimate stable drawdown or tail-risk metrics.

wshobson/agents · plugins/quantitative-trading/skills/risk-metrics-calculation/SKILL.md · 2026-10-14

Observe paper trades using dry-run configuration

Why it is included: Use a simulated wallet and dedicated database to observe signals and fills without live orders.

When it does not fit: A local arithmetic example does not need exchange credentials or a paper account.

freqtrade/freqtrade · docs/configuration.md · 2026-10-14

Sources and review dates