{"id":445,"date":"2026-01-05T18:59:51","date_gmt":"2026-01-05T18:59:51","guid":{"rendered":"https:\/\/www.blackholdcapital.com\/?page_id=445"},"modified":"2026-01-05T19:25:04","modified_gmt":"2026-01-05T19:25:04","slug":"backtesting","status":"publish","type":"page","link":"https:\/\/www.blackholdcapital.com\/es\/backtesting\/","title":{"rendered":"BackTesting"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"445\" class=\"elementor elementor-445\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3e3ff5c e-con-full e-flex e-con e-parent\" data-id=\"3e3ff5c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c9df47a elementor-widget elementor-widget-html\" data-id=\"c9df47a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!doctype html>\r\n<html lang=\"es\">\r\n<head>\r\n<meta charset=\"utf-8\" \/>\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" \/>\r\n<title>Backtesting \u2014 BlackHold Capital<\/title>\r\n<meta name=\"description\" content=\"Backtesting profesional en BlackHold Capital: metodolog\u00eda, m\u00e9tricas, control de sesgos, walk-forward, Monte Carlo y validaci\u00f3n. Widgets ampliables a pantalla completa.\" \/>\r\n\r\n<style>\r\n\/* =========================================================\r\n   BLACKHOLD CAPITAL \u2014 BACKTESTING PREMIUM (Elementor-safe)\r\n   Wrapper: .bhc-backtest\r\n========================================================= *\/\r\n.bhc-backtest, .bhc-backtest *{ box-sizing:border-box; }\r\n.bhc-backtest{\r\n  font-family: ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", Roboto, Inter, Arial, sans-serif;\r\n  color:#0b1220;\r\n  background:#fff;\r\n  overflow-x:hidden;\r\n\r\n  --bg:#ffffff;\r\n  --panel:#ffffff;\r\n  --soft:#f6f8ff;\r\n  --soft2:#eef3ff;\r\n  --text:#0b1220;\r\n  --muted:#5f6b7a;\r\n  --muted2:#7d8898;\r\n  --line:rgba(15,23,42,.10);\r\n\r\n  --brand:#2f6bff;\r\n  --brand2:#1f54ff;\r\n\r\n  --shadow:0 28px 120px rgba(2,6,23,.12);\r\n  --shadow2:0 10px 26px rgba(2,6,23,.06);\r\n\r\n  --r:18px;\r\n  --r2:28px;\r\n  --max:1200px;\r\n\r\n  --ease:cubic-bezier(.2,.8,.2,1);\r\n  --dur:820ms;\r\n\r\n  --mx: 0px;\r\n  --my: 0px;\r\n}\r\n.bhc-backtest a{ color:inherit; text-decoration:none; }\r\n.bhc-backtest .container{ width:min(var(--max), calc(100% - 44px)); margin:0 auto; }\r\n\r\n\/* ===== Progress bar ===== *\/\r\n.bhc-backtest .progress{\r\n  position: sticky;\r\n  top:0;\r\n  z-index:99999;\r\n  height: 3px;\r\n  background: rgba(15,23,42,.06);\r\n}\r\n.bhc-backtest .progress > i{\r\n  display:block; height:100%;\r\n  width: 0%;\r\n  background: linear-gradient(90deg, var(--brand2), var(--brand));\r\n  box-shadow: 0 12px 40px rgba(47,107,255,.35);\r\n  border-radius: 999px;\r\n}\r\n\r\n\/* ===== Hero ===== *\/\r\n.bhc-backtest .hero{\r\n  position:relative;\r\n  padding:78px 0 28px;\r\n  overflow:hidden;\r\n  background:\r\n    radial-gradient(1200px 700px at 30% -10%, rgba(47,107,255,.10), transparent 55%),\r\n    linear-gradient(180deg, rgba(47,107,255,.08), rgba(255,255,255,0) 55%);\r\n}\r\n.bhc-backtest .aurora{\r\n  position:absolute;\r\n  inset:-240px -240px auto -240px;\r\n  height: 820px;\r\n  pointer-events:none;\r\n  transform: translate3d(var(--mx), var(--my), 0);\r\n  transition: transform .14s linear;\r\n}\r\n.bhc-backtest .aurora:before{\r\n  content:\"\";\r\n  position:absolute; inset:0;\r\n  background:\r\n    radial-gradient(closest-side at 18% 30%, rgba(47,107,255,.30), transparent 62%),\r\n    radial-gradient(closest-side at 82% 22%, rgba(47,107,255,.18), transparent 64%),\r\n    radial-gradient(closest-side at 55% 82%, rgba(47,107,255,.12), transparent 66%);\r\n  opacity:.85;\r\n}\r\n.bhc-backtest .blob{\r\n  position:absolute;\r\n  width: 520px; height: 520px;\r\n  border-radius: 50%;\r\n  background: radial-gradient(circle at 30% 30%, rgba(47,107,255,.28), rgba(47,107,255,.06) 55%, transparent 70%);\r\n  opacity:.8;\r\n  animation: bhc-float 10s var(--ease) infinite;\r\n}\r\n.bhc-backtest .blob.b1{ left:-120px; top: 140px; animation-duration: 13s; }\r\n.bhc-backtest .blob.b2{ right:-160px; top: 40px; animation-duration: 15s; opacity:.7; }\r\n.bhc-backtest .blob.b3{ left: 32%; top: 300px; animation-duration: 17s; opacity:.5; }\r\n@keyframes bhc-float{\r\n  0%,100%{ transform: translate3d(0,0,0) scale(1); }\r\n  50%{ transform: translate3d(18px,-18px,0) scale(1.04); }\r\n}\r\n\r\n\/* ===== Layout ===== *\/\r\n.bhc-backtest .heroGrid{\r\n  position:relative;\r\n  z-index:1;\r\n  display:grid;\r\n  grid-template-columns: 1.15fr .85fr;\r\n  gap: 18px;\r\n  align-items:start;\r\n}\r\n\r\n\/* Chips links *\/\r\n.bhc-backtest .toplinks{ display:flex; gap:10px; flex-wrap:wrap; margin: 0 0 16px; }\r\n.bhc-backtest .chip{\r\n  display:inline-flex; align-items:center; gap:10px;\r\n  padding: 10px 12px;\r\n  border-radius: 999px;\r\n  border: 1px solid rgba(15,23,42,.10);\r\n  background: rgba(255,255,255,.92);\r\n  box-shadow: var(--shadow2);\r\n  font-weight: 900;\r\n  font-size: 12px;\r\n  color: var(--muted);\r\n  transition: transform .2s var(--ease), background .2s var(--ease);\r\n}\r\n.bhc-backtest .chip:hover{ transform: translateY(-2px); background: rgba(47,107,255,.08); }\r\n.bhc-backtest .dot{\r\n  width:8px; height:8px;\r\n  border-radius:50%;\r\n  background: linear-gradient(180deg, var(--brand), var(--brand2));\r\n  box-shadow: 0 0 0 3px rgba(47,107,255,.14);\r\n}\r\n\r\n\/* Typo *\/\r\n.bhc-backtest h1{\r\n  margin: 10px 0 10px;\r\n  font-size: clamp(42px, 5vw, 68px);\r\n  line-height: 1.03;\r\n  letter-spacing: -0.058em;\r\n}\r\n.bhc-backtest .accent{\r\n  background: linear-gradient(90deg, var(--brand2), var(--brand));\r\n  -webkit-background-clip:text;\r\n  background-clip:text;\r\n  color: transparent;\r\n}\r\n.bhc-backtest .lead{\r\n  margin:0 0 16px;\r\n  color: var(--muted);\r\n  font-size: 16px;\r\n  line-height: 1.95;\r\n  max-width: 96ch;\r\n}\r\n\r\n\/* Buttons *\/\r\n.bhc-backtest .cta{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; }\r\n.bhc-backtest .btn{\r\n  display:inline-flex; align-items:center; justify-content:center; gap:10px;\r\n  padding:12px 14px;\r\n  border-radius: 999px;\r\n  border: 1px solid rgba(15,23,42,.10);\r\n  background:#fff;\r\n  box-shadow: var(--shadow2);\r\n  font-weight: 950;\r\n  font-size: 13px;\r\n  transition: transform .2s var(--ease), box-shadow .2s var(--ease), background .2s var(--ease);\r\n  white-space:nowrap;\r\n}\r\n.bhc-backtest .btn:hover{ transform: translateY(-2px); box-shadow: 0 26px 90px rgba(2,6,23,.10); }\r\n.bhc-backtest .btn-solid{\r\n  border-color: rgba(47,107,255,.35);\r\n  background: linear-gradient(180deg, rgba(47,107,255,.98), rgba(31,84,255,.90));\r\n  color:#fff;\r\n  box-shadow: 0 30px 110px rgba(47,107,255,.25);\r\n}\r\n.bhc-backtest .btn-ghost{\r\n  border-color: rgba(47,107,255,.22);\r\n  background: linear-gradient(180deg, rgba(47,107,255,.10), rgba(47,107,255,.04));\r\n}\r\n\r\n\/* Hero card *\/\r\n.bhc-backtest .heroCard{\r\n  border-radius: var(--r2);\r\n  border: 1px solid rgba(15,23,42,.10);\r\n  background:#fff;\r\n  box-shadow: var(--shadow);\r\n  overflow:hidden;\r\n  position:relative;\r\n}\r\n.bhc-backtest .heroCard:after{\r\n  content:\"\";\r\n  position:absolute;\r\n  inset:-120px;\r\n  background: linear-gradient(115deg, transparent 35%, rgba(255,255,255,.65) 45%, transparent 55%);\r\n  transform: translateX(-55%);\r\n  opacity:.0;\r\n}\r\n.bhc-backtest .heroCard.is-tilt:after{ animation: bhc-sheen 2.6s var(--ease) infinite; opacity:.12; }\r\n@keyframes bhc-sheen{\r\n  0%{ transform: translateX(-65%) rotate(0.001deg); }\r\n  60%{ transform: translateX(65%) rotate(0.001deg); }\r\n  100%{ transform: translateX(65%) rotate(0.001deg); }\r\n}\r\n.bhc-backtest .heroCardTop{\r\n  padding: 14px 16px;\r\n  border-bottom: 1px solid rgba(15,23,42,.08);\r\n  display:flex; align-items:center; justify-content:space-between; gap: 10px;\r\n  background: linear-gradient(180deg, rgba(47,107,255,.14), rgba(47,107,255,.04));\r\n}\r\n.bhc-backtest .heroCardTop strong{ font-weight: 1000; font-size: 13px; letter-spacing:.02em; }\r\n.bhc-backtest .pill{\r\n  padding: 8px 10px;\r\n  border-radius: 999px;\r\n  border: 1px solid rgba(47,107,255,.22);\r\n  background: rgba(47,107,255,.10);\r\n  font-weight: 1000;\r\n  font-size: 12px;\r\n}\r\n.bhc-backtest .heroCardBody{ padding: 16px; }\r\n.bhc-backtest .miniGrid{ display:grid; grid-template-columns: 1fr 1fr; gap: 10px; }\r\n.bhc-backtest .mini{\r\n  border-radius: 16px;\r\n  border: 1px solid rgba(15,23,42,.10);\r\n  background: var(--soft);\r\n  padding: 12px;\r\n  transition: transform .2s var(--ease), box-shadow .2s var(--ease);\r\n}\r\n.bhc-backtest .mini:hover{ transform: translateY(-2px); box-shadow: var(--shadow2); }\r\n.bhc-backtest .mini .k{ font-size: 10px; letter-spacing:.14em; text-transform:uppercase; font-weight: 950; color: var(--muted2); }\r\n.bhc-backtest .mini .v{ margin-top: 6px; font-weight: 1000; font-size: 15px; letter-spacing:-0.01em; }\r\n.bhc-backtest .note{ margin: 12px 0 0; color: var(--muted); font-size: 13px; line-height: 1.7; }\r\n\r\n\/* Layout with sidenav *\/\r\n.bhc-backtest .layout{\r\n  display:grid;\r\n  grid-template-columns: 290px 1fr;\r\n  gap: 18px;\r\n  padding: 18px 0 0;\r\n}\r\n.bhc-backtest .side{\r\n  position: sticky;\r\n  top: 18px;\r\n  align-self: start;\r\n  border-radius: var(--r2);\r\n  border: 1px solid rgba(15,23,42,.10);\r\n  background: #fff;\r\n  box-shadow: var(--shadow2);\r\n  overflow:hidden;\r\n}\r\n.bhc-backtest .sideTop{\r\n  padding: 14px 16px;\r\n  border-bottom: 1px solid rgba(15,23,42,.08);\r\n  background: linear-gradient(180deg, rgba(47,107,255,.12), rgba(47,107,255,.03));\r\n}\r\n.bhc-backtest .sideTop .t{\r\n  font-weight: 1000;\r\n  font-size: 12px;\r\n  letter-spacing: .14em;\r\n  text-transform: uppercase;\r\n  color: var(--muted2);\r\n}\r\n.bhc-backtest .sideNav{ padding: 10px; display:grid; gap:8px; }\r\n.bhc-backtest .sideNav a{\r\n  padding: 10px 12px;\r\n  border-radius: 14px;\r\n  border: 1px solid rgba(15,23,42,.08);\r\n  background:#fff;\r\n  color: var(--muted);\r\n  font-weight: 900;\r\n  font-size: 13px;\r\n  transition: .2s var(--ease);\r\n}\r\n.bhc-backtest .sideNav a:hover{\r\n  background: rgba(47,107,255,.10);\r\n  color: var(--text);\r\n  transform: translateY(-1px);\r\n}\r\n.bhc-backtest .sideNav a.active{\r\n  background: linear-gradient(180deg, rgba(47,107,255,.18), rgba(47,107,255,.07));\r\n  border-color: rgba(47,107,255,.28);\r\n  color: var(--text);\r\n}\r\n\r\n\/* Tabs *\/\r\n.bhc-backtest .tabs{\r\n  margin-top: 14px;\r\n  display:flex;\r\n  gap:10px;\r\n  flex-wrap:wrap;\r\n}\r\n.bhc-backtest .tabBtn{\r\n  padding: 10px 12px;\r\n  border-radius: 999px;\r\n  border: 1px solid rgba(15,23,42,.10);\r\n  background:#fff;\r\n  box-shadow: var(--shadow2);\r\n  font-weight: 950;\r\n  font-size: 13px;\r\n  color: var(--muted);\r\n  cursor:pointer;\r\n  transition: transform .2s var(--ease), background .2s var(--ease), box-shadow .2s var(--ease);\r\n}\r\n.bhc-backtest .tabBtn:hover{ transform: translateY(-2px); box-shadow: 0 26px 90px rgba(2,6,23,.10); }\r\n.bhc-backtest .tabBtn.active{\r\n  background: linear-gradient(180deg, rgba(47,107,255,.18), rgba(47,107,255,.07));\r\n  border-color: rgba(47,107,255,.28);\r\n  color: var(--text);\r\n}\r\n.bhc-backtest .tabPanel{ display:none; }\r\n.bhc-backtest .tabPanel.active{ display:block; }\r\n\r\n\/* Sections *\/\r\n.bhc-backtest section{ padding: 46px 0; }\r\n.bhc-backtest .kicker{\r\n  font-size: 12px;\r\n  letter-spacing:.18em;\r\n  text-transform:uppercase;\r\n  font-weight: 950;\r\n  color: var(--muted2);\r\n}\r\n.bhc-backtest h2{\r\n  margin: 10px 0 10px;\r\n  font-size: clamp(26px, 3vw, 44px);\r\n  letter-spacing: -0.03em;\r\n}\r\n.bhc-backtest .sub{\r\n  margin: 0;\r\n  color: var(--muted);\r\n  line-height: 1.95;\r\n  font-size: 15px;\r\n  max-width: 95ch;\r\n}\r\n\r\n\/* Cards *\/\r\n.bhc-backtest .cards{\r\n  margin-top: 18px;\r\n  display:grid;\r\n  grid-template-columns: repeat(3, 1fr);\r\n  gap: 14px;\r\n}\r\n.bhc-backtest .card{\r\n  border-radius: var(--r2);\r\n  border: 1px solid rgba(15,23,42,.10);\r\n  background:#fff;\r\n  box-shadow: var(--shadow2);\r\n  padding: 18px;\r\n  position:relative;\r\n  overflow:hidden;\r\n  transition: transform .25s var(--ease), box-shadow .25s var(--ease);\r\n  will-change: transform;\r\n  transform-style: preserve-3d;\r\n}\r\n.bhc-backtest .card:before{\r\n  content:\"\";\r\n  position:absolute;\r\n  inset:-120px -120px auto -120px;\r\n  height: 280px;\r\n  background: radial-gradient(closest-side at 30% 40%, rgba(47,107,255,.18), transparent 65%);\r\n  opacity:0;\r\n  transition: opacity .25s var(--ease);\r\n}\r\n.bhc-backtest .card:hover{ box-shadow: var(--shadow); }\r\n.bhc-backtest .card:hover:before{ opacity:1; }\r\n.bhc-backtest .card h3{ margin: 6px 0 8px; font-size: 16px; font-weight: 1000; position:relative; z-index:1; }\r\n.bhc-backtest .card p{ margin:0; color: var(--muted); line-height: 1.8; font-size: 14px; position:relative; z-index:1; }\r\n\r\n\/* Panels *\/\r\n.bhc-backtest .grid2{\r\n  margin-top: 18px;\r\n  display:grid;\r\n  grid-template-columns: 1fr 1fr;\r\n  gap: 14px;\r\n}\r\n.bhc-backtest .panel{\r\n  border-radius: var(--r2);\r\n  border: 1px solid rgba(15,23,42,.10);\r\n  background:#fff;\r\n  box-shadow: var(--shadow2);\r\n  overflow:hidden;\r\n  position:relative;\r\n}\r\n.bhc-backtest .panel:after{\r\n  content:\"\";\r\n  position:absolute;\r\n  inset:-140px;\r\n  background: linear-gradient(115deg, transparent 35%, rgba(255,255,255,.7) 45%, transparent 55%);\r\n  transform: translateX(-55%);\r\n  opacity:.0;\r\n  pointer-events:none;\r\n}\r\n.bhc-backtest .panel.is-tilt:after{ animation: bhc-sheen 3.1s var(--ease) infinite; opacity:.10; }\r\n.bhc-backtest .panelTop{\r\n  padding: 14px 16px;\r\n  border-bottom: 1px solid rgba(15,23,42,.08);\r\n  background: linear-gradient(180deg, rgba(47,107,255,.12), rgba(47,107,255,.03));\r\n  display:flex; align-items:center; justify-content:space-between; gap:10px;\r\n}\r\n.bhc-backtest .panelTop .t{ font-weight: 1000; font-size: 13px; letter-spacing:.02em; }\r\n.bhc-backtest .tag{\r\n  padding: 8px 10px;\r\n  border-radius: 999px;\r\n  border: 1px solid rgba(15,23,42,.10);\r\n  background: var(--soft2);\r\n  font-weight: 950;\r\n  font-size: 12px;\r\n  color: var(--muted);\r\n}\r\n.bhc-backtest .panelBody{ padding: 16px; }\r\n.bhc-backtest ul.clean{\r\n  margin:0;\r\n  padding: 0 0 0 18px;\r\n  color: var(--muted);\r\n  line-height: 1.95;\r\n  font-size: 14px;\r\n}\r\n.bhc-backtest ul.clean li{ margin: 7px 0; }\r\n.bhc-backtest .callout{\r\n  margin-top: 14px;\r\n  border-radius: 18px;\r\n  border: 1px solid rgba(47,107,255,.18);\r\n  background: linear-gradient(180deg, rgba(47,107,255,.13), rgba(47,107,255,.05));\r\n  padding: 14px;\r\n  color: var(--muted);\r\n  line-height: 1.9;\r\n  font-size: 14px;\r\n}\r\n\r\n\/* Widgets *\/\r\n.bhc-backtest .widget{\r\n  margin-top: 16px;\r\n  border-radius: var(--r2);\r\n  border: 1px solid rgba(15,23,42,.10);\r\n  background:#fff;\r\n  box-shadow: var(--shadow2);\r\n  overflow:hidden;\r\n}\r\n.bhc-backtest .widgetHead{\r\n  padding: 14px 16px;\r\n  border-bottom: 1px solid rgba(15,23,42,.08);\r\n  display:flex; align-items:center; justify-content:space-between; gap:10px;\r\n  background: linear-gradient(180deg, rgba(47,107,255,.12), rgba(47,107,255,.03));\r\n}\r\n.bhc-backtest .widgetHead .t{ font-weight: 1000; font-size: 13px; letter-spacing:.02em; }\r\n.bhc-backtest .widgetActions{ display:flex; gap:10px; align-items:center; }\r\n.bhc-backtest .iconBtn{\r\n  width:40px; height:40px;\r\n  display:grid; place-items:center;\r\n  border-radius: 999px;\r\n  border: 1px solid rgba(15,23,42,.10);\r\n  background:#fff;\r\n  box-shadow: var(--shadow2);\r\n  cursor:pointer;\r\n  transition: transform .2s var(--ease), box-shadow .2s var(--ease);\r\n}\r\n.bhc-backtest .iconBtn:hover{ transform: translateY(-2px); box-shadow: 0 26px 90px rgba(2,6,23,.10); }\r\n.bhc-backtest .widgetBody{ background:#fff; min-height: 120px; }\r\n.bhc-backtest .widgetBody.big{ min-height: 720px; }\r\n.bhc-backtest .widgetBody.mid{ min-height: 560px; }\r\n\r\n\/* TradingView *\/\r\n.bhc-backtest .tradingview-widget-container{ width:100%; margin:0; }\r\n.bhc-backtest .tradingview-widget-copyright{ display:none !important; }\r\n.bhc-backtest .blue-text{ display:none !important; }\r\n\r\n\/* CTA band *\/\r\n.bhc-backtest .ctaBand{\r\n  margin-top: 18px;\r\n  border-radius: var(--r2);\r\n  border: 1px solid rgba(47,107,255,.18);\r\n  background: linear-gradient(180deg, rgba(47,107,255,.14), rgba(47,107,255,.05));\r\n  box-shadow: 0 28px 110px rgba(47,107,255,.18);\r\n  padding: 18px;\r\n  display:flex;\r\n  align-items:center;\r\n  justify-content:space-between;\r\n  gap: 14px;\r\n  flex-wrap:wrap;\r\n  position:relative;\r\n  overflow:hidden;\r\n}\r\n.bhc-backtest .ctaBand:before{\r\n  content:\"\";\r\n  position:absolute;\r\n  inset:-140px -160px auto -160px;\r\n  height: 360px;\r\n  background: radial-gradient(closest-side at 50% 45%, rgba(47,107,255,.28), transparent 66%);\r\n  pointer-events:none;\r\n}\r\n.bhc-backtest .ctaBand h3{\r\n  margin:0;\r\n  font-size: 16px;\r\n  font-weight: 1000;\r\n  position:relative;\r\n  z-index:1;\r\n}\r\n.bhc-backtest .ctaBand p{\r\n  margin: 6px 0 0;\r\n  color: var(--muted);\r\n  font-size: 14px;\r\n  line-height: 1.7;\r\n  position:relative;\r\n  z-index:1;\r\n  max-width: 92ch;\r\n}\r\n\r\n\/* FAQ *\/\r\n.bhc-backtest .faqGrid{\r\n  margin-top: 18px;\r\n  display:grid;\r\n  grid-template-columns: 1fr 1fr;\r\n  gap: 14px;\r\n}\r\n.bhc-backtest details{\r\n  border-radius: var(--r2);\r\n  border: 1px solid rgba(15,23,42,.10);\r\n  background:#fff;\r\n  box-shadow: var(--shadow2);\r\n  padding: 16px;\r\n}\r\n.bhc-backtest summary{ cursor:pointer; font-weight: 1000; list-style:none; }\r\n.bhc-backtest details p{ margin: 10px 0 0; color: var(--muted); line-height: 1.95; font-size: 14px; }\r\n\r\n\/* Reveal *\/\r\n.bhc-backtest .reveal{\r\n  opacity: 0;\r\n  transform: translateY(18px);\r\n  transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease);\r\n  will-change: opacity, transform;\r\n}\r\n.bhc-backtest .reveal.is-visible{ opacity: 1; transform: translateY(0); }\r\n.bhc-backtest .stagger.is-visible > *:nth-child(1){ transition-delay: 70ms; }\r\n.bhc-backtest .stagger.is-visible > *:nth-child(2){ transition-delay: 140ms; }\r\n.bhc-backtest .stagger.is-visible > *:nth-child(3){ transition-delay: 210ms; }\r\n\r\n\/* Fullscreen modal *\/\r\n.bhc-backtest .fsOverlay{\r\n  position:fixed; inset:0;\r\n  background: rgba(2,6,23,.62);\r\n  display:none;\r\n  z-index: 9998;\r\n  backdrop-filter: blur(10px);\r\n  -webkit-backdrop-filter: blur(10px);\r\n}\r\n.bhc-backtest .fsModal{\r\n  position:fixed;\r\n  inset: 14px;\r\n  display:none;\r\n  z-index: 9999;\r\n  border-radius: 28px;\r\n  border: 1px solid rgba(255,255,255,.22);\r\n  background: rgba(255,255,255,.96);\r\n  box-shadow: 0 38px 170px rgba(2,6,23,.32);\r\n  overflow:hidden;\r\n}\r\n.bhc-backtest .fsTop{\r\n  padding: 12px 14px;\r\n  display:flex;\r\n  justify-content:space-between;\r\n  align-items:center;\r\n  gap:10px;\r\n  background: linear-gradient(180deg, rgba(47,107,255,.14), rgba(47,107,255,.04));\r\n  border-bottom: 1px solid rgba(15,23,42,.10);\r\n}\r\n.bhc-backtest .fsTitle{ font-weight: 1000; font-size: 13px; letter-spacing:.02em; }\r\n.bhc-backtest .fsClose{\r\n  width:42px; height:42px;\r\n  border-radius: 999px;\r\n  border: 1px solid rgba(15,23,42,.10);\r\n  background:#fff;\r\n  box-shadow: var(--shadow2);\r\n  cursor:pointer;\r\n  font-size: 18px;\r\n  display:grid; place-items:center;\r\n  transition: transform .2s var(--ease), box-shadow .2s var(--ease);\r\n}\r\n.bhc-backtest .fsClose:hover{ transform: translateY(-2px); box-shadow: 0 26px 90px rgba(2,6,23,.10); }\r\n.bhc-backtest .fsBody{ height: calc(100% - 66px); background:#fff; overflow:hidden; padding: 0; }\r\n.bhc-backtest .fsSlot{ height:100%; }\r\n\r\n\/* Responsive *\/\r\n@media (max-width: 980px){\r\n  .bhc-backtest .heroGrid{ grid-template-columns: 1fr; }\r\n  .bhc-backtest .layout{ grid-template-columns: 1fr; }\r\n  .bhc-backtest .side{ position:relative; top:auto; }\r\n  .bhc-backtest .cards{ grid-template-columns: 1fr; }\r\n  .bhc-backtest .grid2{ grid-template-columns: 1fr; }\r\n  .bhc-backtest .faqGrid{ grid-template-columns: 1fr; }\r\n  .bhc-backtest .fsModal{ inset: 10px; }\r\n}\r\n@media (prefers-reduced-motion: reduce){\r\n  .bhc-backtest .blob,\r\n  .bhc-backtest .heroCard:after,\r\n  .bhc-backtest .panel:after{ animation:none !important; }\r\n  .bhc-backtest .reveal{ transition:none !important; opacity:1 !important; transform:none !important; }\r\n}\r\n<\/style>\r\n<\/head>\r\n\r\n<body>\r\n<div class=\"bhc-backtest\" id=\"bhc-backtest\">\r\n\r\n  <div class=\"progress\" aria-hidden=\"true\"><i id=\"bhcProg\"><\/i><\/div>\r\n\r\n  <!-- HERO -->\r\n  <header class=\"hero\" id=\"top\">\r\n    <div class=\"aurora\" aria-hidden=\"true\"><\/div>\r\n    <div class=\"blob b1\" aria-hidden=\"true\"><\/div>\r\n    <div class=\"blob b2\" aria-hidden=\"true\"><\/div>\r\n    <div class=\"blob b3\" aria-hidden=\"true\"><\/div>\r\n\r\n    <div class=\"container\">\r\n      <div class=\"heroGrid\">\r\n        <div class=\"reveal\">\r\n          <div class=\"toplinks\">\r\n            <a class=\"chip\" href=\"https:\/\/www.blackholdcapital.com\/\"><span class=\"dot\"><\/span> Inicio<\/a>\r\n            <a class=\"chip\" href=\"https:\/\/www.blackholdcapital.com\/mercados\/\"><span class=\"dot\"><\/span> Mercados<\/a>\r\n            <a class=\"chip\" href=\"https:\/\/www.blackholdcapital.com\/estrategia\/\"><span class=\"dot\"><\/span> Estrategia<\/a>\r\n            <a class=\"chip\" href=\"https:\/\/www.blackholdcapital.com\/gestion-del-riesgo\/\"><span class=\"dot\"><\/span> Riesgo<\/a>\r\n            <a class=\"chip\" href=\"https:\/\/www.blackholdcapital.com\/analisis-tecnico\/\"><span class=\"dot\"><\/span> T\u00e9cnico<\/a>\r\n          <\/div>\r\n\r\n          <div class=\"chip\" style=\"width:max-content\"><span class=\"dot\"><\/span> Backtesting \u00b7 validaci\u00f3n, sesgos y m\u00e9tricas reales<\/div>\r\n\r\n          <h1>Sin backtesting, tu estrategia es <span class=\"accent\">una opini\u00f3n<\/span>.<\/h1>\r\n\r\n          <p class=\"lead\">\r\n            Backtesting serio = reglas claras + datos limpios + m\u00e9tricas correctas + control de sesgos.\r\n            Aqu\u00ed tienes un framework completo para validar estrategias en acciones, opciones, FX y cripto.\r\n          <\/p>\r\n\r\n          <div class=\"cta\">\r\n            <a class=\"btn btn-solid\" href=\"#framework\">Ver metodolog\u00eda<\/a>\r\n            <a class=\"btn btn-ghost\" href=\"#metricas\">M\u00e9tricas clave<\/a>\r\n            <a class=\"btn\" href=\"#terminal\">Abrir terminal<\/a>\r\n          <\/div>\r\n\r\n          <div class=\"tabs\" aria-label=\"Tabs\">\r\n            <button class=\"tabBtn active\" data-tab=\"tab-framework\" type=\"button\">Framework<\/button>\r\n            <button class=\"tabBtn\" data-tab=\"tab-metricas\" type=\"button\">M\u00e9tricas<\/button>\r\n            <button class=\"tabBtn\" data-tab=\"tab-validacion\" type=\"button\">Validaci\u00f3n<\/button>\r\n            <button class=\"tabBtn\" data-tab=\"tab-terminal\" type=\"button\">Terminal<\/button>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <aside class=\"heroCard reveal js-tilt\">\r\n          <div class=\"heroCardTop\">\r\n            <strong>Checklist<\/strong>\r\n            <span class=\"pill\">Quality<\/span>\r\n          <\/div>\r\n          <div class=\"heroCardBody\">\r\n            <div class=\"miniGrid\">\r\n              <div class=\"mini\"><div class=\"k\">Reglas<\/div><div class=\"v\">100% objetivas<\/div><\/div>\r\n              <div class=\"mini\"><div class=\"k\">Datos<\/div><div class=\"v\">sin sesgos<\/div><\/div>\r\n              <div class=\"mini\"><div class=\"k\">Costes<\/div><div class=\"v\">slippage+fees<\/div><\/div>\r\n              <div class=\"mini\"><div class=\"k\">Robustez<\/div><div class=\"v\">walk-forward<\/div><\/div>\r\n            <\/div>\r\n            <p class=\"note\">La curva bonita no paga facturas. La robustez s\u00ed.<\/p>\r\n          <\/div>\r\n        <\/aside>\r\n      <\/div>\r\n\r\n      <!-- Ticker (dark transparente) -->\r\n      <div class=\"widget reveal\" style=\"margin-top:16px\" data-fs-title=\"Radar de mercado (Ticker)\" data-fs-id=\"wTicker\">\r\n        <div class=\"widgetHead\">\r\n          <div class=\"t\">Radar (contexto en vivo)<\/div>\r\n          <div class=\"widgetActions\">\r\n            <button class=\"iconBtn js-fullscreen\" type=\"button\" aria-label=\"Pantalla completa\">\u2922<\/button>\r\n          <\/div>\r\n        <\/div>\r\n        <div class=\"widgetBody\" id=\"wTicker\" style=\"min-height:84px\">\r\n          <!-- TradingView Widget BEGIN -->\r\n          <div class=\"tradingview-widget-container\">\r\n            <div class=\"tradingview-widget-container__widget\"><\/div>\r\n            <script type=\"text\/javascript\" src=\"https:\/\/s3.tradingview.com\/external-embedding\/embed-widget-ticker-tape.js\" async>\r\n            {\r\n              \"symbols\": [\r\n                { \"proName\": \"FOREXCOM:SPXUSD\", \"title\": \"S&P 500 Index\" },\r\n                { \"proName\": \"FOREXCOM:NSXUSD\", \"title\": \"US 100 Cash CFD\" },\r\n                { \"proName\": \"FX_IDC:EURUSD\", \"title\": \"EUR to USD\" },\r\n                { \"proName\": \"BITSTAMP:BTCUSD\", \"title\": \"Bitcoin\" },\r\n                { \"proName\": \"BITSTAMP:ETHUSD\", \"title\": \"Ethereum\" }\r\n              ],\r\n              \"showSymbolLogo\": false,\r\n              \"isTransparent\": true,\r\n              \"displayMode\": \"adaptive\",\r\n              \"colorTheme\": \"dark\",\r\n              \"locale\": \"en\"\r\n            }\r\n            <\/script>\r\n          <\/div>\r\n          <!-- TradingView Widget END -->\r\n        <\/div>\r\n      <\/div>\r\n\r\n    <\/div>\r\n  <\/header>\r\n\r\n  <div class=\"container\">\r\n    <div class=\"layout\">\r\n\r\n      <!-- SIDENAV -->\r\n      <aside class=\"side reveal\">\r\n        <div class=\"sideTop\"><div class=\"t\">BACKTEST<\/div><\/div>\r\n        <nav class=\"sideNav\" aria-label=\"Men\u00fa interno\">\r\n          <a href=\"#framework\" class=\"js-nav\">Framework<\/a>\r\n          <a href=\"#metricas\" class=\"js-nav\">M\u00e9tricas<\/a>\r\n          <a href=\"#validacion\" class=\"js-nav\">Validaci\u00f3n<\/a>\r\n          <a href=\"#errores\" class=\"js-nav\">Errores<\/a>\r\n          <a href=\"#terminal\" class=\"js-nav\">Terminal<\/a>\r\n          <a href=\"#faq\" class=\"js-nav\">FAQ<\/a>\r\n        <\/nav>\r\n      <\/aside>\r\n\r\n      <main>\r\n\r\n        <!-- TAB: FRAMEWORK -->\r\n        <div class=\"tabPanel active\" id=\"tab-framework\">\r\n          <section id=\"framework\">\r\n            <div class=\"reveal\">\r\n              <div class=\"kicker\">FRAMEWORK<\/div>\r\n              <h2>Metodolog\u00eda de backtesting profesional<\/h2>\r\n              <p class=\"sub\">\r\n                Un backtest no es \u201cprobar una idea\u201d. Es construir un experimento controlado.\r\n                Aqu\u00ed tienes el proceso que evita que te autoenga\u00f1es.\r\n              <\/p>\r\n            <\/div>\r\n\r\n            <div class=\"cards reveal stagger\">\r\n              <div class=\"card js-tilt\">\r\n                <h3>1) Reglas objetivas<\/h3>\r\n                <p>Entrada, salida, invalidez, tama\u00f1o, filtros. Sin \u201csi me parece\u201d. Todo parametrizable.<\/p>\r\n              <\/div>\r\n              <div class=\"card js-tilt\">\r\n                <h3>2) Datos + costes<\/h3>\r\n                <p>Comisiones, spread, slippage y horarios reales. Si no simulas costes, te mientes.<\/p>\r\n              <\/div>\r\n              <div class=\"card js-tilt\">\r\n                <h3>3) Robustez<\/h3>\r\n                <p>Out-of-sample, walk-forward, Monte Carlo. La estrategia debe sobrevivir cambios.<\/p>\r\n              <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"grid2 reveal\">\r\n              <div class=\"panel js-tilt\">\r\n                <div class=\"panelTop\"><div class=\"t\">Checklist m\u00ednimo<\/div><div class=\"tag\">obligatorio<\/div><\/div>\r\n                <div class=\"panelBody\">\r\n                  <ul class=\"clean\">\r\n                    <li>Reglas 100% definidas y replicables<\/li>\r\n                    <li>Costes: fees + slippage + spread<\/li>\r\n                    <li>Datos sin lookahead \/ survivorship<\/li>\r\n                    <li>Out-of-sample + walk-forward<\/li>\r\n                    <li>Drawdown y rachas modeladas<\/li>\r\n                  <\/ul>\r\n                  <div class=\"callout\"><strong>Objetivo:<\/strong> convertir una idea en un sistema.<\/div>\r\n                <\/div>\r\n              <\/div>\r\n              <div class=\"panel js-tilt\">\r\n                <div class=\"panelTop\"><div class=\"t\">Plantilla de prueba<\/div><div class=\"tag\">framework<\/div><\/div>\r\n                <div class=\"panelBody\">\r\n                  <ul class=\"clean\">\r\n                    <li>Hip\u00f3tesis: \u201cpor qu\u00e9 deber\u00eda funcionar\u201d<\/li>\r\n                    <li>Mercado: r\u00e9gimen + activo + timeframe<\/li>\r\n                    <li>Reglas: entrada\/salida\/invalidaci\u00f3n<\/li>\r\n                    <li>M\u00e9tricas: PF, DD, Sharpe, expectancy<\/li>\r\n                    <li>Decisi\u00f3n: se descarta \/ se mejora \/ se opera<\/li>\r\n                  <\/ul>\r\n                  <div class=\"callout\"><strong>Regla:<\/strong> si no hay hip\u00f3tesis, no hay backtest.<\/div>\r\n                <\/div>\r\n              <\/div>\r\n            <\/div>\r\n          <\/section>\r\n        <\/div>\r\n\r\n        <!-- TAB: M\u00c9TRICAS -->\r\n        <div class=\"tabPanel\" id=\"tab-metricas\">\r\n          <section id=\"metricas\">\r\n            <div class=\"reveal\">\r\n              <div class=\"kicker\">M\u00c9TRICAS<\/div>\r\n              <h2>Qu\u00e9 m\u00e9tricas importan (y por qu\u00e9)<\/h2>\r\n              <p class=\"sub\">\r\n                Winrate alto puede ser malo. Profit Factor alto puede ser fr\u00e1gil.\r\n                Mira el conjunto completo.\r\n              <\/p>\r\n            <\/div>\r\n\r\n            <div class=\"cards reveal stagger\">\r\n              <div class=\"card js-tilt\"><h3>Expectancy<\/h3><p>Ganancia esperada por operaci\u00f3n. Si es baja, te come el coste.<\/p><\/div>\r\n              <div class=\"card js-tilt\"><h3>Max Drawdown<\/h3><p>La pregunta real: \u00bfpuedes aguantar la peor fase sin romper reglas?<\/p><\/div>\r\n              <div class=\"card js-tilt\"><h3>Profit Factor<\/h3><p>Relaci\u00f3n entre ganancias y p\u00e9rdidas. \u00datil, pero no lo es todo.<\/p><\/div>\r\n            <\/div>\r\n\r\n            <div class=\"grid2 reveal\">\r\n              <div class=\"panel js-tilt\">\r\n                <div class=\"panelTop\"><div class=\"t\">M\u00e9tricas de calidad<\/div><div class=\"tag\">robustez<\/div><\/div>\r\n                <div class=\"panelBody\">\r\n                  <ul class=\"clean\">\r\n                    <li>Sharpe \/ Sortino (retorno vs riesgo)<\/li>\r\n                    <li>Ulcer Index (dolor del DD)<\/li>\r\n                    <li>Rachas m\u00e1ximas (loss streak)<\/li>\r\n                    <li>Stability (consistencia por meses)<\/li>\r\n                  <\/ul>\r\n                  <div class=\"callout\"><strong>Clave:<\/strong> consistencia > rendimiento puntual.<\/div>\r\n                <\/div>\r\n              <\/div>\r\n              <div class=\"panel js-tilt\">\r\n                <div class=\"panelTop\"><div class=\"t\">M\u00e9tricas enga\u00f1osas<\/div><div class=\"tag\">trampas<\/div><\/div>\r\n                <div class=\"panelBody\">\r\n                  <ul class=\"clean\">\r\n                    <li>Winrate sin R:R<\/li>\r\n                    <li>Backtest sin costes<\/li>\r\n                    <li>Curva perfecta con pocos trades<\/li>\r\n                    <li>Optimizaci\u00f3n excesiva (curve fitting)<\/li>\r\n                  <\/ul>\r\n                  <div class=\"callout\"><strong>Regla:<\/strong> si parece demasiado bueno, suele estar roto.<\/div>\r\n                <\/div>\r\n              <\/div>\r\n            <\/div>\r\n          <\/section>\r\n        <\/div>\r\n\r\n        <!-- TAB: VALIDACI\u00d3N -->\r\n        <div class=\"tabPanel\" id=\"tab-validacion\">\r\n          <section id=\"validacion\">\r\n            <div class=\"reveal\">\r\n              <div class=\"kicker\">VALIDACI\u00d3N<\/div>\r\n              <h2>C\u00f3mo validar una estrategia de verdad<\/h2>\r\n              <p class=\"sub\">\r\n                Si solo optimizas sobre el pasado, no est\u00e1s validando: est\u00e1s memorizando.\r\n              <\/p>\r\n            <\/div>\r\n\r\n            <div class=\"cards reveal stagger\">\r\n              <div class=\"card js-tilt\"><h3>Out-of-sample<\/h3><p>Separar datos: entrenas en un per\u00edodo, validas en otro.<\/p><\/div>\r\n              <div class=\"card js-tilt\"><h3>Walk-forward<\/h3><p>Recalibras por ventanas y verificas que sigue funcionando.<\/p><\/div>\r\n              <div class=\"card js-tilt\"><h3>Monte Carlo<\/h3><p>Simulas permutaciones para estimar rango real de drawdown\/retorno.<\/p><\/div>\r\n            <\/div>\r\n\r\n            <div class=\"ctaBand reveal\">\r\n              <div>\r\n                <h3>Si no defines riesgo, el backtest te enga\u00f1a<\/h3>\r\n                <p>La validaci\u00f3n sin sizing y l\u00edmites es un espejismo. El riesgo es parte del sistema.<\/p>\r\n              <\/div>\r\n              <a class=\"btn btn-solid\" href=\"https:\/\/www.blackholdcapital.com\/gestion-del-riesgo\/\">Ir a Gesti\u00f3n del riesgo<\/a>\r\n            <\/div>\r\n          <\/section>\r\n        <\/div>\r\n\r\n        <!-- ERRORES (siempre visible) -->\r\n        <section id=\"errores\">\r\n          <div class=\"reveal\">\r\n            <div class=\"kicker\">ERRORES<\/div>\r\n            <h2>Los 7 errores que destruyen un backtest<\/h2>\r\n            <p class=\"sub\">Si evitas estos 7, ya est\u00e1s por encima del 90%.<\/p>\r\n          <\/div>\r\n\r\n          <div class=\"cards reveal stagger\">\r\n            <div class=\"card js-tilt\"><h3>Lookahead bias<\/h3><p>Usar informaci\u00f3n que no exist\u00eda en ese momento.<\/p><\/div>\r\n            <div class=\"card js-tilt\"><h3>Survivorship bias<\/h3><p>Ignorar activos que desaparecieron (especialmente en acciones).<\/p><\/div>\r\n            <div class=\"card js-tilt\"><h3>Curve fitting<\/h3><p>Optimizar par\u00e1metros hasta \u201cdibujar\u201d el pasado.<\/p><\/div>\r\n          <\/div>\r\n\r\n          <div class=\"grid2 reveal\">\r\n            <div class=\"panel js-tilt\">\r\n              <div class=\"panelTop\"><div class=\"t\">Se\u00f1ales de fragilidad<\/div><div class=\"tag\">alerta<\/div><\/div>\r\n              <div class=\"panelBody\">\r\n                <ul class=\"clean\">\r\n                  <li>Resultados cambian mucho con 1 par\u00e1metro<\/li>\r\n                  <li>Rendimiento depende de 1 mes \u201cm\u00e1gico\u201d<\/li>\r\n                  <li>Pocos trades (muestra peque\u00f1a)<\/li>\r\n                  <li>DD real probablemente mayor (sin Monte Carlo)<\/li>\r\n                <\/ul>\r\n              <\/div>\r\n            <\/div>\r\n            <div class=\"panel js-tilt\">\r\n              <div class=\"panelTop\"><div class=\"t\">C\u00f3mo corregir<\/div><div class=\"tag\">acci\u00f3n<\/div><\/div>\r\n              <div class=\"panelBody\">\r\n                <ul class=\"clean\">\r\n                  <li>Reduce par\u00e1metros y simplifica reglas<\/li>\r\n                  <li>Exige robustez por reg\u00edmenes<\/li>\r\n                  <li>Incluye costes y spreads reales<\/li>\r\n                  <li>Valida out-of-sample + walk-forward<\/li>\r\n                <\/ul>\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n        <\/section>\r\n\r\n        <!-- TAB: TERMINAL -->\r\n        <div class=\"tabPanel\" id=\"tab-terminal\">\r\n          <section id=\"terminal\">\r\n            <div class=\"reveal\">\r\n              <div class=\"kicker\">TERMINAL<\/div>\r\n              <h2>Visualiza y valida ideas (en vivo)<\/h2>\r\n              <p class=\"sub\">Un backtest vive y muere por la lectura de estructura y ejecuci\u00f3n.<\/p>\r\n            <\/div>\r\n\r\n            <!-- Advanced Chart -->\r\n            <div class=\"widget reveal\" data-fs-title=\"Gr\u00e1fico avanzado (TradingView) \u2014 Pantalla completa\" data-fs-id=\"wChart\">\r\n              <div class=\"widgetHead\">\r\n                <div class=\"t\">Gr\u00e1fico avanzado<\/div>\r\n                <div class=\"widgetActions\">\r\n                  <span class=\"tag\">AAPL \u00b7 editable<\/span>\r\n                  <button class=\"iconBtn js-fullscreen\" type=\"button\" aria-label=\"Pantalla completa\">\u2922<\/button>\r\n                <\/div>\r\n              <\/div>\r\n              <div class=\"widgetBody mid\" id=\"wChart\">\r\n                <!-- TradingView Widget BEGIN -->\r\n                <div class=\"tradingview-widget-container\">\r\n                  <div class=\"tradingview-widget-container__widget\"><\/div>\r\n                  <script type=\"text\/javascript\" src=\"https:\/\/s3.tradingview.com\/external-embedding\/embed-widget-advanced-chart.js\" async>\r\n                  {\r\n                    \"width\": \"100%\",\r\n                    \"height\": \"560\",\r\n                    \"symbol\": \"NASDAQ:AAPL\",\r\n                    \"interval\": \"D\",\r\n                    \"timezone\": \"Etc\/UTC\",\r\n                    \"theme\": \"light\",\r\n                    \"style\": \"1\",\r\n                    \"locale\": \"en\",\r\n                    \"enable_publishing\": false,\r\n                    \"allow_symbol_change\": true,\r\n                    \"calendar\": false,\r\n                    \"support_host\": \"https:\/\/www.tradingview.com\"\r\n                  }\r\n                  <\/script>\r\n                <\/div>\r\n                <!-- TradingView Widget END -->\r\n              <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"ctaBand reveal\">\r\n              <div>\r\n                <h3>Del backtest al plan<\/h3>\r\n                <p>Una estrategia validada sin plan de ejecuci\u00f3n es papel mojado. Lleva la idea a reglas.<\/p>\r\n              <\/div>\r\n              <div style=\"display:flex;gap:10px;flex-wrap:wrap;position:relative;z-index:1\">\r\n                <a class=\"btn btn-ghost\" href=\"https:\/\/www.blackholdcapital.com\/plan-de-trading\/\">Plan de trading<\/a>\r\n                <a class=\"btn btn-ghost\" href=\"https:\/\/www.blackholdcapital.com\/psicologia-en-el-trading\/\">Psicolog\u00eda<\/a>\r\n                <a class=\"btn btn-solid\" href=\"https:\/\/www.blackholdcapital.com\/mercados\/\">Mercados<\/a>\r\n              <\/div>\r\n            <\/div>\r\n          <\/section>\r\n        <\/div>\r\n\r\n        <!-- FAQ -->\r\n        <section id=\"faq\">\r\n          <div class=\"reveal\">\r\n            <div class=\"kicker\">FAQ<\/div>\r\n            <h2>Preguntas frecuentes<\/h2>\r\n            <p class=\"sub\">Backtesting: lo que la gente no te dice (pero importa).<\/p>\r\n          <\/div>\r\n\r\n          <div class=\"faqGrid reveal\">\r\n            <details>\r\n              <summary>\u00bfCu\u00e1ntos trades necesito para confiar?<\/summary>\r\n              <p>Depende de la estrategia, pero como norma: cuanta m\u00e1s frecuencia, m\u00e1s estabilidad estad\u00edstica. Pocos trades = conclusi\u00f3n d\u00e9bil.<\/p>\r\n            <\/details>\r\n            <details>\r\n              <summary>\u00bfQu\u00e9 es walk-forward?<\/summary>\r\n              <p>Validaci\u00f3n por ventanas: calibras en un tramo y pruebas en el siguiente. Repite. Si sobrevive, es m\u00e1s robusta.<\/p>\r\n            <\/details>\r\n            <details>\r\n              <summary>\u00bfPor qu\u00e9 incluir slippage?<\/summary>\r\n              <p>Porque el mercado real no te da entradas perfectas. Si el edge es peque\u00f1o, el slippage lo mata.<\/p>\r\n            <\/details>\r\n            <details>\r\n              <summary>\u00bfPuedo backtestear opciones igual?<\/summary>\r\n              <p>S\u00ed, pero necesitas modelar volatilidad, spreads y ejecuci\u00f3n. Sin eso, el backtest de opciones suele ser ficci\u00f3n.<\/p>\r\n            <\/details>\r\n          <\/div>\r\n\r\n          <div class=\"ctaBand reveal\">\r\n            <div>\r\n              <h3>Backtesting es disciplina, no creatividad<\/h3>\r\n              <p>La creatividad dise\u00f1a la hip\u00f3tesis. La disciplina decide si merece existir.<\/p>\r\n            <\/div>\r\n            <a class=\"btn btn-solid\" href=\"https:\/\/www.blackholdcapital.com\/\">Volver a Inicio<\/a>\r\n          <\/div>\r\n        <\/section>\r\n\r\n      <\/main>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <!-- FULLSCREEN MODAL -->\r\n  <div class=\"fsOverlay\" id=\"fsOverlay\" aria-hidden=\"true\"><\/div>\r\n  <div class=\"fsModal\" id=\"fsModal\" role=\"dialog\" aria-modal=\"true\" aria-label=\"Pantalla completa\">\r\n    <div class=\"fsTop\">\r\n      <div class=\"fsTitle\" id=\"fsTitle\">Pantalla completa<\/div>\r\n      <button class=\"fsClose\" id=\"fsClose\" type=\"button\" aria-label=\"Cerrar\">\u00d7<\/button>\r\n    <\/div>\r\n    <div class=\"fsBody\">\r\n      <div class=\"fsSlot\" id=\"fsSlot\"><\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n  const root = document.getElementById('bhc-backtest');\r\n  if(!root) return;\r\n\r\n  \/\/ Scroll progress\r\n  const prog = document.getElementById('bhcProg');\r\n  function onScroll(){\r\n    const doc = document.documentElement;\r\n    const scrollTop = doc.scrollTop || document.body.scrollTop;\r\n    const height = (doc.scrollHeight - doc.clientHeight) || 1;\r\n    const pct = Math.max(0, Math.min(1, scrollTop \/ height));\r\n    if(prog) prog.style.width = (pct * 100).toFixed(2) + '%';\r\n  }\r\n  window.addEventListener('scroll', onScroll, {passive:true});\r\n  onScroll();\r\n\r\n  \/\/ Aurora parallax\r\n  const hero = root.querySelector('.hero');\r\n  if(hero){\r\n    hero.addEventListener('mousemove', (e)=>{\r\n      const r = hero.getBoundingClientRect();\r\n      const x = ((e.clientX - r.left) \/ r.width - 0.5) * 26;\r\n      const y = ((e.clientY - r.top) \/ r.height - 0.5) * 18;\r\n      hero.style.setProperty('--mx', x + 'px');\r\n      hero.style.setProperty('--my', y + 'px');\r\n    }, {passive:true});\r\n  }\r\n\r\n  \/\/ Reveal\r\n  const els = Array.from(root.querySelectorAll('.reveal'));\r\n  if(!('IntersectionObserver' in window)){\r\n    els.forEach(el => el.classList.add('is-visible'));\r\n  } else {\r\n    const obs = new IntersectionObserver((entries)=>{\r\n      entries.forEach(e=>{\r\n        if(e.isIntersecting){\r\n          e.target.classList.add('is-visible');\r\n          if(e.target.classList.contains('stagger')) e.target.classList.add('is-visible');\r\n          obs.unobserve(e.target);\r\n        }\r\n      });\r\n    }, { threshold: 0.12, rootMargin: '0px 0px -10% 0px' });\r\n    els.forEach(el => obs.observe(el));\r\n  }\r\n\r\n  \/\/ Scrollspy\r\n  const navLinks = Array.from(root.querySelectorAll('.js-nav'));\r\n  const sections = navLinks.map(a => root.querySelector(a.getAttribute('href'))).filter(Boolean);\r\n  function setActive(id){\r\n    navLinks.forEach(a => a.classList.toggle('active', a.getAttribute('href') === '#' + id));\r\n  }\r\n  if('IntersectionObserver' in window && sections.length){\r\n    const spy = new IntersectionObserver((entries)=>{\r\n      const visible = entries.filter(e=>e.isIntersecting).sort((a,b)=>b.intersectionRatio-a.intersectionRatio)[0];\r\n      if(visible && visible.target && visible.target.id) setActive(visible.target.id);\r\n    }, { threshold:[0.2,0.35,0.5], rootMargin:'-10% 0px -70% 0px' });\r\n    sections.forEach(s => spy.observe(s));\r\n  }\r\n\r\n  \/\/ Tabs\r\n  const tabBtns = Array.from(root.querySelectorAll('.tabBtn'));\r\n  const panels = Array.from(root.querySelectorAll('.tabPanel'));\r\n  tabBtns.forEach(btn=>{\r\n    btn.addEventListener('click', ()=>{\r\n      const id = btn.getAttribute('data-tab');\r\n      tabBtns.forEach(b=>b.classList.toggle('active', b===btn));\r\n      panels.forEach(p=>p.classList.toggle('active', p.id === id));\r\n      const map = {\r\n        'tab-framework':'#framework',\r\n        'tab-metricas':'#metricas',\r\n        'tab-validacion':'#validacion',\r\n        'tab-terminal':'#terminal'\r\n      };\r\n      const jump = map[id];\r\n      if(jump){\r\n        const el = root.querySelector(jump);\r\n        if(el) el.scrollIntoView({behavior:'smooth', block:'start'});\r\n      }\r\n    });\r\n  });\r\n\r\n  \/\/ Fullscreen: move widgetBody into modal and back\r\n  const overlay = root.querySelector('#fsOverlay');\r\n  const modal = root.querySelector('#fsModal');\r\n  const slot = root.querySelector('#fsSlot');\r\n  const title = root.querySelector('#fsTitle');\r\n  const close = root.querySelector('#fsClose');\r\n\r\n  let parked=null, parkedHome=null, parkedNext=null;\r\n\r\n  function openFS(widget){\r\n    const bodyId = widget.getAttribute('data-fs-id');\r\n    const body = bodyId ? root.querySelector('#' + bodyId) : widget.querySelector('.widgetBody');\r\n    if(!body) return;\r\n\r\n    parked = body;\r\n    parkedHome = body.parentNode;\r\n    parkedNext = body.nextSibling;\r\n\r\n    if(title) title.textContent = widget.getAttribute('data-fs-title') || 'Pantalla completa';\r\n    slot.innerHTML = '';\r\n    slot.appendChild(body);\r\n\r\n    overlay.style.display = 'block';\r\n    modal.style.display = 'block';\r\n    document.body.style.overflow = 'hidden';\r\n  }\r\n\r\n  function closeFS(){\r\n    if(parked && parkedHome){\r\n      if(parkedNext) parkedHome.insertBefore(parked, parkedNext);\r\n      else parkedHome.appendChild(parked);\r\n    }\r\n    parked=null; parkedHome=null; parkedNext=null;\r\n\r\n    overlay.style.display = 'none';\r\n    modal.style.display = 'none';\r\n    slot.innerHTML = '';\r\n    document.body.style.overflow = '';\r\n  }\r\n\r\n  root.querySelectorAll('.js-fullscreen').forEach(btn=>{\r\n    btn.addEventListener('click', (e)=>{\r\n      const widget = e.currentTarget.closest('.widget');\r\n      if(widget) openFS(widget);\r\n    });\r\n  });\r\n  if(close) close.addEventListener('click', closeFS);\r\n  if(overlay) overlay.addEventListener('click', closeFS);\r\n  window.addEventListener('keydown', (e)=>{ if(e.key === 'Escape') closeFS(); });\r\n\r\n  \/\/ Tilt\r\n  const tiltEls = Array.from(root.querySelectorAll('.js-tilt'));\r\n  tiltEls.forEach(el=>{\r\n    el.classList.add('is-tilt');\r\n    let raf=null;\r\n    function move(e){\r\n      const r = el.getBoundingClientRect();\r\n      const px = (e.clientX - r.left) \/ r.width;\r\n      const py = (e.clientY - r.top) \/ r.height;\r\n      const rx = (py - 0.5) * -6;\r\n      const ry = (px - 0.5) * 8;\r\n      if(raf) cancelAnimationFrame(raf);\r\n      raf = requestAnimationFrame(()=>{\r\n        el.style.transform = `perspective(900px) rotateX(${rx}deg) rotateY(${ry}deg) translateY(-2px)`;\r\n        el.style.boxShadow = '0 28px 120px rgba(2,6,23,.14)';\r\n      });\r\n    }\r\n    function reset(){\r\n      if(raf) cancelAnimationFrame(raf);\r\n      el.style.transform = '';\r\n      el.style.boxShadow = '';\r\n    }\r\n    el.addEventListener('mousemove', move);\r\n    el.addEventListener('mouseleave', reset);\r\n    el.addEventListener('blur', reset);\r\n  });\r\n\r\n})();\r\n<\/script>\r\n<\/body>\r\n<\/html>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Backtesting \u2014 BlackHold Capital Inicio Mercados Estrategia Riesgo T\u00e9cnico Backtesting \u00b7 validaci\u00f3n, sesgos y m\u00e9tricas reales Sin backtesting, tu estrategia [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-445","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Backtesting \u2014 BlackHold Capital | Valida Estrategias con M\u00e9tricas Reales<\/title>\n<meta name=\"description\" content=\"Backtesting profesional: metodolog\u00eda, m\u00e9tricas clave, control de sesgos, walk-forward y Monte Carlo. Valida estrategias en acciones, opciones, FX y cripto.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.blackholdcapital.com\/es\/backtesting\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Backtesting \u2014 BlackHold Capital | Valida Estrategias con M\u00e9tricas Reales\" \/>\n<meta property=\"og:description\" content=\"Backtesting profesional: metodolog\u00eda, m\u00e9tricas clave, control de sesgos, walk-forward y Monte Carlo. Valida estrategias en acciones, opciones, FX y cripto.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.blackholdcapital.com\/es\/backtesting\/\" \/>\n<meta property=\"og:site_name\" content=\"BlackHold Capital\" \/>\n<meta property=\"article:modified_time\" content=\"2026-01-05T19:25:04+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.blackholdcapital.com\\\/backtesting\\\/\",\"url\":\"https:\\\/\\\/www.blackholdcapital.com\\\/backtesting\\\/\",\"name\":\"Backtesting \u2014 BlackHold Capital | Valida Estrategias con M\u00e9tricas Reales\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.blackholdcapital.com\\\/#website\"},\"datePublished\":\"2026-01-05T18:59:51+00:00\",\"dateModified\":\"2026-01-05T19:25:04+00:00\",\"description\":\"Backtesting profesional: metodolog\u00eda, m\u00e9tricas clave, control de sesgos, walk-forward y Monte Carlo. Valida estrategias en acciones, opciones, FX y cripto.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.blackholdcapital.com\\\/backtesting\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.blackholdcapital.com\\\/backtesting\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.blackholdcapital.com\\\/backtesting\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/www.blackholdcapital.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"BackTesting\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.blackholdcapital.com\\\/#website\",\"url\":\"https:\\\/\\\/www.blackholdcapital.com\\\/\",\"name\":\"BlackHold Capital\",\"description\":\"Trading accesible, \u00e9xito imparable.\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.blackholdcapital.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.blackholdcapital.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.blackholdcapital.com\\\/#organization\",\"name\":\"BlackHold Capital\",\"url\":\"https:\\\/\\\/www.blackholdcapital.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.blackholdcapital.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.blackholdcapital.com\\\/wp-content\\\/uploads\\\/2024\\\/01\\\/cropped-BHC-2-removebg-preview.png\",\"contentUrl\":\"https:\\\/\\\/www.blackholdcapital.com\\\/wp-content\\\/uploads\\\/2024\\\/01\\\/cropped-BHC-2-removebg-preview.png\",\"width\":500,\"height\":167,\"caption\":\"BlackHold Capital\"},\"image\":{\"@id\":\"https:\\\/\\\/www.blackholdcapital.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Backtesting \u2014 BlackHold Capital | Valida Estrategias con M\u00e9tricas Reales","description":"Backtesting profesional: metodolog\u00eda, m\u00e9tricas clave, control de sesgos, walk-forward y Monte Carlo. Valida estrategias en acciones, opciones, FX y cripto.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.blackholdcapital.com\/es\/backtesting\/","og_locale":"es_ES","og_type":"article","og_title":"Backtesting \u2014 BlackHold Capital | Valida Estrategias con M\u00e9tricas Reales","og_description":"Backtesting profesional: metodolog\u00eda, m\u00e9tricas clave, control de sesgos, walk-forward y Monte Carlo. Valida estrategias en acciones, opciones, FX y cripto.","og_url":"https:\/\/www.blackholdcapital.com\/es\/backtesting\/","og_site_name":"BlackHold Capital","article_modified_time":"2026-01-05T19:25:04+00:00","twitter_card":"summary_large_image","twitter_misc":{"Tiempo de lectura":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.blackholdcapital.com\/backtesting\/","url":"https:\/\/www.blackholdcapital.com\/backtesting\/","name":"Backtesting \u2014 BlackHold Capital | Valida Estrategias con M\u00e9tricas Reales","isPartOf":{"@id":"https:\/\/www.blackholdcapital.com\/#website"},"datePublished":"2026-01-05T18:59:51+00:00","dateModified":"2026-01-05T19:25:04+00:00","description":"Backtesting profesional: metodolog\u00eda, m\u00e9tricas clave, control de sesgos, walk-forward y Monte Carlo. Valida estrategias en acciones, opciones, FX y cripto.","breadcrumb":{"@id":"https:\/\/www.blackholdcapital.com\/backtesting\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.blackholdcapital.com\/backtesting\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.blackholdcapital.com\/backtesting\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/www.blackholdcapital.com\/"},{"@type":"ListItem","position":2,"name":"BackTesting"}]},{"@type":"WebSite","@id":"https:\/\/www.blackholdcapital.com\/#website","url":"https:\/\/www.blackholdcapital.com\/","name":"BlackHold Capital","description":"Trading accesible, \u00e9xito imparable.","publisher":{"@id":"https:\/\/www.blackholdcapital.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.blackholdcapital.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.blackholdcapital.com\/#organization","name":"BlackHold Capital","url":"https:\/\/www.blackholdcapital.com\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.blackholdcapital.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.blackholdcapital.com\/wp-content\/uploads\/2024\/01\/cropped-BHC-2-removebg-preview.png","contentUrl":"https:\/\/www.blackholdcapital.com\/wp-content\/uploads\/2024\/01\/cropped-BHC-2-removebg-preview.png","width":500,"height":167,"caption":"BlackHold Capital"},"image":{"@id":"https:\/\/www.blackholdcapital.com\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.blackholdcapital.com\/es\/wp-json\/wp\/v2\/pages\/445","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.blackholdcapital.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.blackholdcapital.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.blackholdcapital.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.blackholdcapital.com\/es\/wp-json\/wp\/v2\/comments?post=445"}],"version-history":[{"count":7,"href":"https:\/\/www.blackholdcapital.com\/es\/wp-json\/wp\/v2\/pages\/445\/revisions"}],"predecessor-version":[{"id":452,"href":"https:\/\/www.blackholdcapital.com\/es\/wp-json\/wp\/v2\/pages\/445\/revisions\/452"}],"wp:attachment":[{"href":"https:\/\/www.blackholdcapital.com\/es\/wp-json\/wp\/v2\/media?parent=445"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}