{
  "schemaVersion": "1.0",
  "item": {
    "slug": "backtest-expert-0-1-0",
    "name": "Backtest Expert 0.1.0",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/itsjustFred/backtest-expert-0-1-0",
    "canonicalUrl": "https://clawhub.ai/itsjustFred/backtest-expert-0-1-0",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/backtest-expert-0-1-0",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=backtest-expert-0-1-0",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "_meta.json",
      "references/failed_tests.md",
      "references/methodology.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/backtest-expert-0-1-0"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/backtest-expert-0-1-0",
    "agentPageUrl": "https://openagent3.xyz/skills/backtest-expert-0-1-0/agent",
    "manifestUrl": "https://openagent3.xyz/skills/backtest-expert-0-1-0/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/backtest-expert-0-1-0/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Backtest Expert",
        "body": "Systematic approach to backtesting trading strategies based on professional methodology that prioritizes robustness over optimistic results."
      },
      {
        "title": "Core Philosophy",
        "body": "Goal: Find strategies that \"break the least\", not strategies that \"profit the most\" on paper.\n\nPrinciple: Add friction, stress test assumptions, and see what survives. If a strategy holds up under pessimistic conditions, it's more likely to work in live trading."
      },
      {
        "title": "When to Use This Skill",
        "body": "Use this skill when:\n\nDeveloping or validating systematic trading strategies\nEvaluating whether a trading idea is robust enough for live implementation\nTroubleshooting why a backtest might be misleading\nLearning proper backtesting methodology\nAvoiding common pitfalls (curve-fitting, look-ahead bias, survivorship bias)\nAssessing parameter sensitivity and regime dependence\nSetting realistic expectations for slippage and execution costs"
      },
      {
        "title": "1. State the Hypothesis",
        "body": "Define the edge in one sentence.\n\nExample: \"Stocks that gap up >3% on earnings and pull back to previous day's close within first hour provide mean-reversion opportunity.\"\n\nIf you can't articulate the edge clearly, don't proceed to testing."
      },
      {
        "title": "2. Codify Rules with Zero Discretion",
        "body": "Define with complete specificity:\n\nEntry: Exact conditions, timing, price type\nExit: Stop loss, profit target, time-based exit\nPosition sizing: Fixed $$, % of portfolio, volatility-adjusted\nFilters: Market cap, volume, sector, volatility conditions\nUniverse: What instruments are eligible\n\nCritical: No subjective judgment allowed. Every decision must be rule-based and unambiguous."
      },
      {
        "title": "3. Run Initial Backtest",
        "body": "Test over:\n\nMinimum 5 years (preferably 10+)\nMultiple market regimes (bull, bear, high/low volatility)\nRealistic costs: Commissions + conservative slippage\n\nExamine initial results for basic viability. If fundamentally broken, iterate on hypothesis."
      },
      {
        "title": "4. Stress Test the Strategy",
        "body": "This is where 80% of testing time should be spent.\n\nParameter sensitivity:\n\nTest stop loss at 50%, 75%, 100%, 125%, 150% of baseline\nTest profit target at 80%, 90%, 100%, 110%, 120% of baseline\nVary entry/exit timing by ±15-30 minutes\nLook for \"plateaus\" of stable performance, not narrow spikes\n\nExecution friction:\n\nIncrease slippage to 1.5-2x typical estimates\nModel worst-case fills (buy at ask+1 tick, sell at bid-1 tick)\nAdd realistic order rejection scenarios\nTest with pessimistic commission structures\n\nTime robustness:\n\nAnalyze year-by-year performance\nRequire positive expectancy in majority of years\nEnsure strategy doesn't rely on 1-2 exceptional periods\nTest in different market regimes separately\n\nSample size:\n\nAbsolute minimum: 30 trades\nPreferred: 100+ trades\nHigh confidence: 200+ trades"
      },
      {
        "title": "5. Out-of-Sample Validation",
        "body": "Walk-forward analysis:\n\nOptimize on training period (e.g., Year 1-3)\nTest on validation period (Year 4)\nRoll forward and repeat\nCompare in-sample vs out-of-sample performance\n\nWarning signs:\n\nOut-of-sample <50% of in-sample performance\nNeed frequent parameter re-optimization\nParameters change dramatically between periods"
      },
      {
        "title": "6. Evaluate Results",
        "body": "Questions to answer:\n\nDoes edge survive pessimistic assumptions?\nIs performance stable across parameter variations?\nDoes strategy work in multiple market regimes?\nIs sample size sufficient for statistical confidence?\nAre results realistic, not \"too good to be true\"?\n\nDecision criteria:\n\n✅ Deploy: Survives all stress tests with acceptable performance\n🔄 Refine: Core logic sound but needs parameter adjustment\n❌ Abandon: Fails stress tests or relies on fragile assumptions"
      },
      {
        "title": "Punish the Strategy",
        "body": "Add friction everywhere:\n\nCommissions higher than reality\nSlippage 1.5-2x typical\nWorst-case fills\nOrder rejections\nPartial fills\n\nRationale: Strategies that survive pessimistic assumptions often outperform in live trading."
      },
      {
        "title": "Seek Plateaus, Not Peaks",
        "body": "Look for parameter ranges where performance is stable, not optimal values that create performance spikes.\n\nGood: Strategy profitable with stop loss anywhere from 1.5% to 3.0%\nBad: Strategy only works with stop loss at exactly 2.13%\n\nStable performance indicates genuine edge; narrow optima suggest curve-fitting."
      },
      {
        "title": "Test All Cases, Not Cherry-Picked Examples",
        "body": "Wrong approach: Study hand-picked \"market leaders\" that worked\nRight approach: Test every stock that met criteria, including those that failed\n\nSelective examples create survivorship bias and overestimate strategy quality."
      },
      {
        "title": "Separate Idea Generation from Validation",
        "body": "Intuition: Useful for generating hypotheses\nValidation: Must be purely data-driven\n\nNever let attachment to an idea influence interpretation of test results."
      },
      {
        "title": "Common Failure Patterns",
        "body": "Recognize these patterns early to save time:\n\nParameter sensitivity: Only works with exact parameter values\nRegime-specific: Great in some years, terrible in others\nSlippage sensitivity: Unprofitable when realistic costs added\nSmall sample: Too few trades for statistical confidence\nLook-ahead bias: \"Too good to be true\" results\nOver-optimization: Many parameters, poor out-of-sample results\n\nSee references/failed_tests.md for detailed examples and diagnostic framework."
      },
      {
        "title": "Methodology Reference",
        "body": "File: references/methodology.md\n\nWhen to read: For detailed guidance on specific testing techniques.\n\nContents:\n\nStress testing methods\nParameter sensitivity analysis\nSlippage and friction modeling\nSample size requirements\nMarket regime classification\nCommon biases and pitfalls (survivorship, look-ahead, curve-fitting, etc.)"
      },
      {
        "title": "Failed Tests Reference",
        "body": "File: references/failed_tests.md\n\nWhen to read: When strategy fails tests, or learning from past mistakes.\n\nContents:\n\nWhy failures are valuable\nCommon failure patterns with examples\nCase study documentation framework\nRed flags checklist for evaluating backtests"
      },
      {
        "title": "Critical Reminders",
        "body": "Time allocation: Spend 20% generating ideas, 80% trying to break them.\n\nContext-free requirement: If strategy requires \"perfect context\" to work, it's not robust enough for systematic trading.\n\nRed flag: If backtest results look too good (>90% win rate, minimal drawdowns, perfect timing), audit carefully for look-ahead bias or data issues.\n\nTool limitations: Understand your backtesting platform's quirks (interpolation methods, handling of low liquidity, data alignment issues).\n\nStatistical significance: Small edges require large sample sizes to prove. 5% edge per trade needs 100+ trades to distinguish from luck."
      },
      {
        "title": "Discretionary vs Systematic Differences",
        "body": "This skill focuses on systematic/quantitative backtesting where:\n\nAll rules are codified in advance\nNo discretion or \"feel\" in execution\nTesting happens on all historical examples, not cherry-picked cases\nContext (news, macro) is deliberately stripped out\n\nDiscretionary traders study differently—this skill may not apply to setups requiring subjective judgment."
      }
    ],
    "body": "Backtest Expert\n\nSystematic approach to backtesting trading strategies based on professional methodology that prioritizes robustness over optimistic results.\n\nCore Philosophy\n\nGoal: Find strategies that \"break the least\", not strategies that \"profit the most\" on paper.\n\nPrinciple: Add friction, stress test assumptions, and see what survives. If a strategy holds up under pessimistic conditions, it's more likely to work in live trading.\n\nWhen to Use This Skill\n\nUse this skill when:\n\nDeveloping or validating systematic trading strategies\nEvaluating whether a trading idea is robust enough for live implementation\nTroubleshooting why a backtest might be misleading\nLearning proper backtesting methodology\nAvoiding common pitfalls (curve-fitting, look-ahead bias, survivorship bias)\nAssessing parameter sensitivity and regime dependence\nSetting realistic expectations for slippage and execution costs\nBacktesting Workflow\n1. State the Hypothesis\n\nDefine the edge in one sentence.\n\nExample: \"Stocks that gap up >3% on earnings and pull back to previous day's close within first hour provide mean-reversion opportunity.\"\n\nIf you can't articulate the edge clearly, don't proceed to testing.\n\n2. Codify Rules with Zero Discretion\n\nDefine with complete specificity:\n\nEntry: Exact conditions, timing, price type\nExit: Stop loss, profit target, time-based exit\nPosition sizing: Fixed $$, % of portfolio, volatility-adjusted\nFilters: Market cap, volume, sector, volatility conditions\nUniverse: What instruments are eligible\n\nCritical: No subjective judgment allowed. Every decision must be rule-based and unambiguous.\n\n3. Run Initial Backtest\n\nTest over:\n\nMinimum 5 years (preferably 10+)\nMultiple market regimes (bull, bear, high/low volatility)\nRealistic costs: Commissions + conservative slippage\n\nExamine initial results for basic viability. If fundamentally broken, iterate on hypothesis.\n\n4. Stress Test the Strategy\n\nThis is where 80% of testing time should be spent.\n\nParameter sensitivity:\n\nTest stop loss at 50%, 75%, 100%, 125%, 150% of baseline\nTest profit target at 80%, 90%, 100%, 110%, 120% of baseline\nVary entry/exit timing by ±15-30 minutes\nLook for \"plateaus\" of stable performance, not narrow spikes\n\nExecution friction:\n\nIncrease slippage to 1.5-2x typical estimates\nModel worst-case fills (buy at ask+1 tick, sell at bid-1 tick)\nAdd realistic order rejection scenarios\nTest with pessimistic commission structures\n\nTime robustness:\n\nAnalyze year-by-year performance\nRequire positive expectancy in majority of years\nEnsure strategy doesn't rely on 1-2 exceptional periods\nTest in different market regimes separately\n\nSample size:\n\nAbsolute minimum: 30 trades\nPreferred: 100+ trades\nHigh confidence: 200+ trades\n5. Out-of-Sample Validation\n\nWalk-forward analysis:\n\nOptimize on training period (e.g., Year 1-3)\nTest on validation period (Year 4)\nRoll forward and repeat\nCompare in-sample vs out-of-sample performance\n\nWarning signs:\n\nOut-of-sample <50% of in-sample performance\nNeed frequent parameter re-optimization\nParameters change dramatically between periods\n6. Evaluate Results\n\nQuestions to answer:\n\nDoes edge survive pessimistic assumptions?\nIs performance stable across parameter variations?\nDoes strategy work in multiple market regimes?\nIs sample size sufficient for statistical confidence?\nAre results realistic, not \"too good to be true\"?\n\nDecision criteria:\n\n✅ Deploy: Survives all stress tests with acceptable performance\n🔄 Refine: Core logic sound but needs parameter adjustment\n❌ Abandon: Fails stress tests or relies on fragile assumptions\nKey Testing Principles\nPunish the Strategy\n\nAdd friction everywhere:\n\nCommissions higher than reality\nSlippage 1.5-2x typical\nWorst-case fills\nOrder rejections\nPartial fills\n\nRationale: Strategies that survive pessimistic assumptions often outperform in live trading.\n\nSeek Plateaus, Not Peaks\n\nLook for parameter ranges where performance is stable, not optimal values that create performance spikes.\n\nGood: Strategy profitable with stop loss anywhere from 1.5% to 3.0% Bad: Strategy only works with stop loss at exactly 2.13%\n\nStable performance indicates genuine edge; narrow optima suggest curve-fitting.\n\nTest All Cases, Not Cherry-Picked Examples\n\nWrong approach: Study hand-picked \"market leaders\" that worked Right approach: Test every stock that met criteria, including those that failed\n\nSelective examples create survivorship bias and overestimate strategy quality.\n\nSeparate Idea Generation from Validation\n\nIntuition: Useful for generating hypotheses Validation: Must be purely data-driven\n\nNever let attachment to an idea influence interpretation of test results.\n\nCommon Failure Patterns\n\nRecognize these patterns early to save time:\n\nParameter sensitivity: Only works with exact parameter values\nRegime-specific: Great in some years, terrible in others\nSlippage sensitivity: Unprofitable when realistic costs added\nSmall sample: Too few trades for statistical confidence\nLook-ahead bias: \"Too good to be true\" results\nOver-optimization: Many parameters, poor out-of-sample results\n\nSee references/failed_tests.md for detailed examples and diagnostic framework.\n\nAvailable Reference Documentation\nMethodology Reference\n\nFile: references/methodology.md\n\nWhen to read: For detailed guidance on specific testing techniques.\n\nContents:\n\nStress testing methods\nParameter sensitivity analysis\nSlippage and friction modeling\nSample size requirements\nMarket regime classification\nCommon biases and pitfalls (survivorship, look-ahead, curve-fitting, etc.)\nFailed Tests Reference\n\nFile: references/failed_tests.md\n\nWhen to read: When strategy fails tests, or learning from past mistakes.\n\nContents:\n\nWhy failures are valuable\nCommon failure patterns with examples\nCase study documentation framework\nRed flags checklist for evaluating backtests\nCritical Reminders\n\nTime allocation: Spend 20% generating ideas, 80% trying to break them.\n\nContext-free requirement: If strategy requires \"perfect context\" to work, it's not robust enough for systematic trading.\n\nRed flag: If backtest results look too good (>90% win rate, minimal drawdowns, perfect timing), audit carefully for look-ahead bias or data issues.\n\nTool limitations: Understand your backtesting platform's quirks (interpolation methods, handling of low liquidity, data alignment issues).\n\nStatistical significance: Small edges require large sample sizes to prove. 5% edge per trade needs 100+ trades to distinguish from luck.\n\nDiscretionary vs Systematic Differences\n\nThis skill focuses on systematic/quantitative backtesting where:\n\nAll rules are codified in advance\nNo discretion or \"feel\" in execution\nTesting happens on all historical examples, not cherry-picked cases\nContext (news, macro) is deliberately stripped out\n\nDiscretionary traders study differently—this skill may not apply to setups requiring subjective judgment."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/itsjustFred/backtest-expert-0-1-0",
    "publisherUrl": "https://clawhub.ai/itsjustFred/backtest-expert-0-1-0",
    "owner": "itsjustFred",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/backtest-expert-0-1-0",
    "downloadUrl": "https://openagent3.xyz/downloads/backtest-expert-0-1-0",
    "agentUrl": "https://openagent3.xyz/skills/backtest-expert-0-1-0/agent",
    "manifestUrl": "https://openagent3.xyz/skills/backtest-expert-0-1-0/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/backtest-expert-0-1-0/agent.md"
  }
}