martes, 16 de septiembre de 2025

Curso Inversionista Inteligente – todo lo necesario para comenzar a invertir

República Dominicana • Modo Básico • 90–120 min

Curso Inversionista Inteligente – todo lo necesario para comenzar a invertir

Aprende a invertir con lenguaje sencillo y enfoque práctico para el mercado de valores dominicano y la exposición global. Incluye módulos con casos, gráficos, ejemplos y examen final (40 preguntas, mayoría cualitativas). Al aprobar (≥70%) obtienes tu certificado Invertix.

Curso Inversionista Inteligente

Aprende estrategias de inversión prácticas y claras.

Invierte en RD y en bolsas globales paso a paso.

Conoce los principales instrumentos financieros.

Curso práctico, intuitivo y sin tecnicismos innecesarios.

Hazlo a tu ritmo, sin límite de tiempo.

Certificado oficial Invertix para tu currículum.

Compra y Acceso

Precio: US$10 (pago único). Paga con PayPal o tarjeta (vía PayPal). El acceso queda guardado en este navegador.

Si ya pagaste antes en este navegador, puedes entrar directamente.
Contenido educativo general. No constituye asesoría financiera personalizada.

Inversionista Inteligente — Modo Básico RD

Duración 90–120 min • Aprobación ≥ 70% • Certificado incluido

Lo que aprenderás

  • Economía práctica: inflación, tasas y valor en palabras simples.
  • Plan personal paso a paso (50/30/20, deudas, IPS, seguros).
  • Instrumentos del mercado de valores dominicano y exposición global.
  • Estrategias simples aplicables (indexación, dividendos, aportes periódicos, etc.).
  • Ejecución sin sustos: tipos de órdenes y costos.
  • Riesgo, seguridad y buenas prácticas.
  • Inversiones alternativas: materias primas, cripto, inmobiliario, y cómo encajarlas en tu perfil.
Tip: La clave es la intuición y las reglas prácticas. La matemática es mínima.

Contenido del Curso

Examen Final — 40 Preguntas

/* ================== CONTENIDO DE MÓDULOS (AMPLIADOS) ================== */ const modulesData = [ { id:'m1', title:'Módulo 1 · Economía práctica y valoración', intro:'Conecta inflación, tasas y valor sin enredos. Qué cambia cuando suben/bajan las tasas.', apartados:[ 'Tasa nominal vs tasa real: real ≈ nominal − inflación esperada.', 'Curva de rendimientos: pendiente, tramos y señales (normal, plana, invertida).', 'Valor presente (PV) y por qué al bajar la tasa “sube el valor”.', 'Regla mental: si exiges más rendimiento hoy, pagarás menos precio por el mismo flujo.', 'Cómo afectan inflación y expectativas a los plazos cortos vs largos.' ], notas:`
Notas rápidas: La inflación erosiona el poder de compra; la tasa real te dice si realmente “ganas”. En dudas, pide tasa real.
`, errores:`
Errores comunes: confundir cupón con rendimiento; ignorar la inflación futura; comparar rendimientos de plazos distintos sin ajustar riesgo.
`, checklist:`
Checklist: (1) ¿Cuál es la inflación esperada? (2) ¿La tasa que miro es nominal o real? (3) ¿Mi horizonte calza con el plazo del activo?
`, caso:{ titulo:'Caso — ¿Conviene ahora o luego?', texto:'Si esperas que las tasas bajen, los precios de bonos suelen subir. Entra por tramos (aportes periódicos) para no depender del “momento perfecto”.' }, grafico:{ tipo:'line', labels:['4%','6%','8%','10%','12%'], datasetLabel:'PV relativo de $100 a 1 año (ilustrativo)', data:[0.96,0.94,0.93,0.91,0.89] }, ejemplos:[ {q:'Si la inflación esperada sube y la tasa nominal no cambia, la tasa real…', a:['Sube','Baja','Se mantiene igual','No se puede inferir'], c:1}, {q:'Cuando la tasa de descuento baja, el valor presente…', a:['Baja','Sube','No cambia','Se indetermina'], c:1}, {q:'Una curva invertida suele sugerir…', a:['Recortes de tasas/desaceleración','Aceleración fuerte','Mayor comisión','Nada concluyente'], c:0} ] }, { id:'m2', title:'Módulo 2 · Finanzas personales e IPS (plan simple)', intro:'Bases para invertir con calma: orden de prioridades y reglas claras.', apartados:[ 'Presupuesto 50/30/20: necesidades, deseos, ahorro/inversión.', 'Deudas: método avalancha (primero la TAE más alta).', 'IPS: metas, asignación objetivo, bandas de rebalanceo y seguros.', 'Fondo de emergencia, aportes automáticos y revisión trimestral.', 'Errores a evitar: cuotas impagables, altos gastos fijos, seguros ausentes.' ], notas:`
Notas rápidas: Paga deudas caras antes de tomar riesgo. Ahorra de forma automática justo después de cobrar.
`, errores:`
Errores comunes: no tener emergencia; endeudarse para invertir; no documentar el plan (IPS).
`, checklist:`
Checklist: (1) 3–6 meses cubiertos. (2) Deuda cara bajando. (3) IPS escrita. (4) Aportes automáticos.
`, caso:{ titulo:'Caso — Tarjeta al 29% vs empezar a invertir', texto:'Primero completa 3–6 meses de emergencia y baja deuda cara; luego empieza con aportes periódicos. Si la deuda cuesta más que lo que esperas ganar, paga la deuda primero.' }, grafico:{ tipo:'doughnut', labels:['Necesidades 50%','Deseos 30%','Ahorro 20%'], datasetLabel:'50/30/20', data:[50,30,20] }, ejemplos:[ {q:'¿Qué método reduce más intereses pagados?', a:['Bola de nieve','Avalancha','Aleatorio','La más pequeña primero'], c:1}, {q:'Un fondo de emergencia recomendado es…', a:['3–6 meses de gastos','1 mes','12–24 meses siempre','No hace falta'], c:0}, {q:'Una IPS debería incluir…', a:['Metas, asignación y reglas','Solo metas','Solo comisiones','Nada formal'], c:0} ] }, { id:'m3', title:'Módulo 3 · Instrumentos del mercado dominicano y global', intro:'Qué existe en RD y cómo se usa. Ventajas y riesgos clave con palabras claras.', apartados:[ 'Acciones: participación en empresas; ganancia por precio y/o dividendos.', 'Fondos de inversión (abiertos y cerrados): diversificación y políticas de liquidez.', 'ETFs: fondos que cotizan; replican índices locales/globales; comisiones bajas.', 'Renta fija local: bonos corporativos, papel comercial, deuda subordinada, cupón cero.', 'Fideicomisos de oferta pública: flujo de proyectos (p.ej. inmobiliarios).', 'Exposición global: ETFs de índices amplios (ej. acciones globales, bonos globales).', 'Forex (concepto): riesgo divisa al tener USD/DOP; no se recomienda trading especulativo para principiantes.', 'Infraestructura del mercado en RD: BVRD, SIMV, CEVALDOM, puestos, primario/secundario.' ], notas:`
Notas rápidas: Empieza por fondos/ETFs amplios; usa acciones individuales solo si entiendes el negocio. Revisa comisiones y liquidez.
`, errores:`
Errores comunes: perseguir “la del momento”; ignorar costos; no diversificar emisores/plazos en renta fija.
`, checklist:`
Checklist: (1) ¿Liquidez suficiente? (2) ¿Costo total (TER/comisiones)? (3) ¿Riesgo de crédito/sector? (4) ¿Exposición divisa?
`, caso:{ titulo:'Caso — Necesito ingresos periódicos', texto:'Un bono corporativo o un fondo de renta fija puede pagar intereses/cuotas. Revisa calificación, plazos y liquidez. Diversifica emisores y plazos.' }, grafico:{ tipo:'bar', labels:['Acciones','ETF amplio','Fondo abierto','Fondo cerrado','Bono corp.','Papel comercial'], datasetLabel:'Liquidez/Acceso (ilustrativo)', data:[6,9,9,6,7,8] }, tablaHtml:`
InstrumentoVentajaRiesgo claveLiquidez
AccionesPotencial de crecimientoVolatilidadMedia/Alta
ETF amplioDiversificación + bajo costoRiesgo de mercadoAlta
Fondo abiertoRescate a valor cuotaValor cuota puede bajarAlta
Fondo cerradoProyectos a plazoMenor liquidezMedia
Bono corporativoIngreso periód./cupónCrédito + tasaMedia
Papel comercialCorto plazoCréditoAlta
`, ejemplos:[ {q:'Un ETF permite…', a:['Invertir en una canasta diversificada en bolsa','Evitar todo riesgo','No pagar comisiones','Garantiza retorno'], c:0}, {q:'Un fondo abierto…', a:['Rescata a valor cuota','Solo al vencimiento','Nunca rescata','Es un depósito bancario'], c:0}, {q:'El papel comercial es…', a:['Deuda de corto plazo de empresas','Una acción preferente','Un dividendo','Un futuro'], c:0} ] }, { id:'m4', title:'Módulo 4 · Bonos en sencillo: precio y rendimiento', intro:'Cómo se calcula el precio de un bono y su rendimiento al vencimiento. Diferencia con el cupón.', apartados:[ 'Cupón: % del nominal que se paga periódicamente.', 'Rendimiento al vencimiento (YTM): tasa que iguala precio y flujos.', 'Relación precio–tasa: sube tasa ⇒ baja precio (y viceversa).', 'Bonos cupón cero: descuento y pago único al final.', 'Duración (idea): sensibilidad del precio a movimientos de tasa (sin fórmulas).' ], notas:`
Notas rápidas: Cupón ≠ rendimiento. Si compras con descuento, YTM puede ser mayor que el cupón.
`, errores:`
Errores comunes: mirar solo el cupón; no comparar YTM vs alternativas.
`, checklist:`
Checklist: (1) Cupón. (2) Precio de compra. (3) YTM. (4) Plazo y liquidez.
`, caso:{ titulo:'Caso — ¿Me conviene este bono a 3 años?', texto:'Si el precio está por debajo del nominal y el cupón es fijo, el YTM puede ser mayor que el cupón. Compara YTM con alternativas y tu horizonte.' }, grafico:{ tipo:'line', labels:['4%','6%','8%','10%','12%'], datasetLabel:'Precio relativo de un bono (ilustrativo)', data:[1.08,1.02,0.96,0.91,0.86] }, ejemplos:[ {q:'El cupón es…', a:['Interés periódico sobre el nominal','La tasa YTM','Un impuesto','La prima'], c:0}, {q:'Si baja el precio de un bono, el YTM tiende a…', a:['Subir','Bajar','Igual','Indefinido'], c:0}, {q:'Un bono cupón cero…', a:['Se compra con descuento y paga al vencimiento','Paga cupones cada año','No vence','Paga dividendos'], c:0} ], calculadora:true }, { id:'m5', title:'Módulo 5 · Estrategias de inversión prácticas', intro:'Enfoques simples para empezar y mantenerse en ruta.', apartados:[ 'Indexación + aportes periódicos (promedio del costo).', 'Dividendos, valor y crecimiento: qué considerar.', 'Base + complementos (core + tilts), 60/40 y barbell.', 'Reglas de rebalanceo (p. ej., ±5%).' ], notas:`
Notas rápidas: Empieza con un núcleo amplio de bajo costo; usa “complementos” en pequeña proporción. Rebalancea para volver al plan.
`, errores:`
Errores comunes: cambiar sin plan; perseguir lo que más subió; no rebalancear.
`, checklist:`
Checklist: (1) Núcleo diversificado. (2) Aportes automáticos. (3) Límites a complementos. (4) Calendario de rebalanceo.
`, caso:{ titulo:'Caso — Cartera base + complementos', texto:'70–80% en fondo amplio (local/global) y 20–30% en temas/sectores. Rebalancea con bandas para mantener el riesgo bajo control.' }, grafico:{ tipo:'line', labels:['Año 1','Año 2','Año 3','Año 4','Año 5'], datasetLabel:'Aportes periódicos (base 100) – ilustrativo', data:[100,106,112,119,126] }, ejemplos:[ {q:'Aportes periódicos ayudan a reducir…', a:['Riesgo de mal “timing”','Liquidez','Horizonte','Costos siempre'], c:0}, {q:'“Base + complementos” es…', a:['Núcleo diversificado + apuestas pequeñas','Todo en efectivo','Solo bonos','Solo materias primas'], c:0}, {q:'Rebalancear es…', a:['Volver a la asignación objetivo','Seguir al ganador','Comprar lo que sube','Cerrar la cartera'], c:0} ] }, { id:'m6', title:'Módulo 6 · Ejecución, costos y seguridad', intro:'Compra/venta sin errores comunes; cuida tu seguridad y la contraparte.', apartados:[ 'Órdenes: mercado, limitada, stop, stop-limit; tiempos: del día, IOC, FOK.', 'Costos: comisiones, diferencial compra–venta, deslizamiento; horarios y subastas.', 'Riesgos: mercado, liquidez, divisa y contraparte. 2FA y buenas prácticas.', ], notas:`
Notas rápidas: Con poco volumen usa limitadas y por tramos. Evita aperturas muy volátiles.
`, errores:`
Errores comunes: ejecutar al mercado en activos ilíquidos; no verificar costos; descuidar la seguridad (sin 2FA).
`, checklist:`
Checklist: (1) Tipo de orden. (2) Volumen/Spreads. (3) Horario. (4) 2FA y contraseñas fuertes.
`, caso:{ titulo:'Caso — Comprar 3,000 unidades con poco volumen', texto:'Divide en tramos con órdenes limitadas cerca del punto medio; evita la apertura; considera la subasta de cierre para el remanente.' }, grafico:{ tipo:'bar', labels:['Apertura','Media sesión','Cierre'], datasetLabel:'Deslizamiento medio (pbs, ilustrativo)', data:[12,7,5] }, ejemplos:[ {q:'Una orden al mercado prioriza…', a:['Ejecución inmediata','Precio exacto','Cancelar','No ejecutar'], c:0}, {q:'El diferencial compra–venta es…', a:['Diferencia mejor compra/venta','Un impuesto','Un bono','Un dividendo'], c:0}, {q:'Para reducir deslizamiento ayuda…', a:['Tramos + limitadas','Ignorar volumen','Solo abrir','Nunca límites'], c:0} ] }, { id:'m7', title:'Módulo 7 · Inversiones alternativas y tu perfil', intro:'Materias primas, cripto, inmobiliario: cuándo y cuánto, alineado a tu perfil.', apartados:[ 'Materias primas (oro, petróleo, agrícolas): cobertura y sensibilidad al ciclo.', 'Criptoactivos: alta volatilidad, custodia y riesgos operativos.', 'Inmobiliario: renta + apreciación vs menor liquidez.', 'Asignación por perfil (conservador, moderado, dinámico) y horizonte; límites sugeridos.', ], notas:`
Notas rápidas: Alternativas complementan, no sustituyen el núcleo. Empieza con pesos pequeños y reglas claras.
`, errores:`
Errores comunes: concentrar demasiado; seguridad deficiente en cripto; ignorar liquidez en inmobiliario.
`, checklist:`
Checklist: (1) ¿Por qué la quiero? (2) ¿Cuánto tolero que caiga? (3) ¿Cómo custodio? (4) ¿Cómo salgo si necesito liquidez?
`, caso:{ titulo:'Caso — Alternativas para un moderado', texto:'Tope del 10–20% en alternativas, diversificando entre oro e inmobiliario. Cripto, si se usa, con monto pequeño y custodia segura.' }, grafico:{ tipo:'bar', labels:['Oro','Crudo','Inmobiliario','Cripto'], datasetLabel:'Volatilidad relativa (ilustrativa)', data:[4,7,3,10] }, ejemplos:[ {q:'El oro en cartera sirve para…', a:['Diversificar en crisis','Eliminar todo riesgo','Garantizar 20% anual','Nada'], c:0}, {q:'Cripto se caracteriza por…', a:['Alta volatilidad','Estabilidad','Garantía estatal','Riesgo cero'], c:0}, {q:'Un peso razonable de alternativas debe…', a:['Alinear con tu perfil y límites','Ser 100% del portafolio','Ignorar riesgos','No considerar horizonte'], c:0} ] } ]; /* ========== CALCULADORA DE BONOS (M4) ========== */ function renderBondCalculator(container){ const html = `
Calculadora de bonos (simple, anual)
Precio teórico:
Rendimiento al vencimiento (aprox.):
Cupón = lo que paga el bono; Rendimiento = lo que ganas según el precio actual.
`; container.insertAdjacentHTML('beforeend', html); const out = container.querySelector('#bn_out'); container.querySelector('#bn_calc').addEventListener('click', ()=>{ const VN = parseFloat(container.querySelector('#bn_nom').value||'0'); const c = parseFloat(container.querySelector('#bn_cpn').value||'0')/100; const Pm = parseFloat(container.querySelector('#bn_prc').value||'0'); const N = parseInt(container.querySelector('#bn_n').value||'1',10); function priceGivenYield(r){ let pv=0; for(let t=1;t<=N;t++){ pv += (VN*c)/Math.pow(1+r,t); } pv += VN/Math.pow(1+r,N); return pv; } function solveYield(target){ let lo=0, hi=1.0; for(let k=0;k<60;k++){ const mid=(lo+hi)/2, p=priceGivenYield(mid); if (p>target) lo=mid; else hi=mid; } return ((lo+hi)/2); } const y = solveYield(Pm); const pth = priceGivenYield(y); out.innerHTML = `
Precio teórico: ${pth.toFixed(2)}
Rendimiento al vencimiento (aprox.): ${(y*100).toFixed(2)} %
`; }); } /* ========== EXAMEN FINAL (40 PREGUNTAS) ========== */ const finalExamData = [ // Economía (6) {q:'La tasa real aproximada =',a:['Nominal − inflación esperada','Nominal + inflación','Inflación × nominal','No se calcula'],c:0}, {q:'Una curva invertida suele anticipar…',a:['Recesión o recorte de tasas','Expansión fuerte','Nada relevante','Inflación alta segura'],c:0}, {q:'Si bajan las tasas de interés, los precios de bonos tienden a…',a:['Subir','Bajar','No cambiar','Desaparecer'],c:0}, {q:'El valor presente es más alto cuando…',a:['La tasa de descuento es baja','La tasa es alta','Hay inflación','Nunca cambia'],c:0}, {q:'Un bono cupón cero se compra…',a:['Con descuento y paga al vencimiento','Con prima','Sin precio','Con dividendo'],c:0}, {q:'Si la inflación esperada sube y la tasa nominal no cambia, la tasa real…',a:['Baja','Sube','Igual','Indefinida'],c:0}, // Finanzas personales (6) {q:'Presupuesto recomendado 50/30/20 significa…',a:['50 necesidades, 30 deseos, 20 ahorro','50 ahorro, 30 deuda, 20 ocio','50 ocio, 30 ahorro, 20 inversión','50 impuestos, 30 consumo, 20 ahorro'],c:0}, {q:'El método avalancha paga primero…',a:['La deuda de mayor tasa','La deuda más pequeña','La más antigua','La de menor cuota'],c:0}, {q:'Un fondo de emergencia inicial es…',a:['3–6 meses de gastos','1 mes','10 años','No necesario'],c:0}, {q:'Una IPS debe contener…',a:['Metas, asignación y reglas','Solo metas','Solo comisiones','Nada'],c:0}, {q:'Si tu deuda cuesta 29% y esperas ganar 8%, lo correcto es…',a:['Pagar deuda primero','Invertir de inmediato','Ir a cripto','Dejar igual'],c:0}, {q:'Seguro clave contra riesgos severos:',a:['Salud/Vida','Viajes','Gadgets','Mascotas'],c:0}, // Instrumentos (6) {q:'Un ETF permite…',a:['Invertir en canasta diversificada en bolsa','Evitar todo riesgo','No pagar comisiones','Garantiza retorno'],c:0}, {q:'Un fondo abierto…',a:['Rescata a valor cuota','Solo al vencimiento','Nunca rescata','Es un depósito bancario'],c:0}, {q:'El papel comercial es…',a:['Deuda corto plazo empresas','Una acción','Un dividendo','Un futuro'],c:0}, {q:'La deuda subordinada cobra…',a:['Después de otras deudas','Primero siempre','Nunca','Antes que todos'],c:0}, {q:'Un fideicomiso de oferta pública capta…',a:['Recursos para proyectos y renta','Solo impuestos','Siempre pérdidas','Nada'],c:0}, {q:'Forex para principiantes…',a:['Implica riesgo alto si se especula; mejor limitarlo a exposición divisa','Es seguro siempre','No tiene apalancamiento','Garantiza ganancia'],c:0}, // Bonos (5) {q:'El cupón es…',a:['Interés periódico sobre nominal','La tasa YTM','Un impuesto','Una prima'],c:0}, {q:'Si baja el precio de un bono, el YTM tiende a…',a:['Subir','Bajar','Igual','Indefinido'],c:0}, {q:'Diferencia cupón vs rendimiento:',a:['Cupón = paga; rendimiento = ganas según precio','Son iguales','Cupón siempre mayor','Rendimiento no existe'],c:0}, {q:'Un bono cupón cero paga…',a:['Solo al vencimiento','Cupones cada año','Dividendos','Nunca'],c:0}, {q:'Si cotiza sobre el nominal, su YTM es…',a:['Menor al cupón','Mayor','Igual','No existe'],c:0}, // Estrategias (6) {q:'Indexación + aportes periódicos ayudan a…',a:['Reducir riesgo de mal “timing”','Eliminar inflación','Aumentar deuda','Evitar liquidez'],c:0}, {q:'“Base + complementos” significa…',a:['Núcleo diversificado + apuestas pequeñas','Todo en efectivo','Solo bonos','Solo materias primas'],c:0}, {q:'Una cartera 60/40 es…',a:['60% acciones y 40% bonos','60% efectivo, 40% oro','60% cripto','Un fideicomiso'],c:0}, {q:'El rebalanceo consiste en…',a:['Volver a la asignación objetivo','Seguir al ganador','Comprar lo que sube','No hacer nada'],c:0}, {q:'Dividendos vs crecimiento:',a:['Dividendos = flujo, crecimiento = reinversión','Son iguales','Ambas garantizan','No existen'],c:0}, {q:'Error común al invertir:',a:['Cambiar sin plan','Seguir plan','Rebalancear','Usar aportes periódicos'],c:0}, // Ejecución/Seguridad (5) {q:'Una orden al mercado prioriza…',a:['Ejecución inmediata','Precio fijo','No ejecutar','Cancelar'],c:0}, {q:'El diferencial compra–venta es…',a:['Diferencia mejor compra/venta','Un impuesto','Un bono','Un dividendo'],c:0}, {q:'El deslizamiento es…',a:['Diferencia precio esperado y ejecutado','Un impuesto','La tasa real','La inflación'],c:0}, {q:'Seguridad básica en cripto:',a:['Custodia fría y 2FA','Enviar claves por chat','Reusar contraseñas','Guardar seed en email'],c:0}, {q:'Riesgo de contraparte significa…',a:['Problemas de quien debe pagarte/custodiar','Variación de precios','Un impuesto','Diferencial'],c:0}, // Alternativas (6) — incluye USD vs DOP {q:'El oro en cartera puede…',a:['Diversificar en crisis','Eliminar todo riesgo','Garantizar 20% anual','Nada'],c:0}, {q:'Cripto se caracteriza por…',a:['Alta volatilidad','Estabilidad','Garantía estatal','Seguro fijo'],c:0}, {q:'Inmobiliario ofrece…',a:['Renta y/o apreciación con menor liquidez','Alta liquidez inmediata','Dividendos fijos','Nada'],c:0}, {q:'Un peso razonable de alternativas debe…',a:['Alinear con tu perfil y límites','Ser todo el portafolio','Ignorar riesgos','No importar el horizonte'],c:0}, {q:'Para custodiar cripto con seguridad…',a:['Cartera fría + buenas prácticas','Compartir clave','Clave débil','No usar 2FA'],c:0}, {q:'Un CD en DOP paga 10% y el peso pasa de 61.10 a 62.10 en 1 año (~1.64% depre.). Un CD en USD paga 4%. ¿Cuál fue mejor?',a:['DOP: ~10% − 1.64% ≈ 8.36% en USD equivalente, mayor que 4% en USD','USD siempre','Empate','DOP siempre pierde'],c:0} ]; /* ========== RENDER MÓDULOS + GRÁFICOS + EJEMPLOS ========== */ function renderModules(){ const cont = document.getElementById('modules'); cont.innerHTML = ''; modulesData.forEach((m, mi)=>{ const box = document.createElement('div'); box.className='card'; const h = document.createElement('h3'); h.textContent = m.title; box.appendChild(h); const k = document.createElement('div'); k.className='k'; k.innerHTML = 'Objetivo: '+m.intro; box.appendChild(k); const ap = document.createElement('details'); ap.open = (mi===0); ap.appendChild(Object.assign(document.createElement('summary'),{textContent:'Apartados'})); const ul = document.createElement('ul'); ul.style.margin='6px 0 0 18px'; m.apartados.forEach(t=>{ const li=document.createElement('li'); li.textContent=t; ul.appendChild(li); }); ap.appendChild(ul); box.appendChild(ap); if (m.notas){ const div = document.createElement('div'); div.innerHTML = m.notas; box.appendChild(div); } if (m.errores){ const div = document.createElement('div'); div.innerHTML = m.errores; box.appendChild(div); } if (m.checklist){ const div = document.createElement('div'); div.innerHTML = m.checklist; box.appendChild(div); } const cs = document.createElement('details'); cs.appendChild(Object.assign(document.createElement('summary'),{textContent:'Caso práctico'})); const cst = document.createElement('h4'); cst.textContent=m.caso.titulo; cs.appendChild(cst); const csd = document.createElement('div'); csd.className='k'; csd.textContent=m.caso.texto; cs.appendChild(csd); box.appendChild(cs); const chartWrap = document.createElement('div'); chartWrap.className='chartwrap'; chartWrap.innerHTML = ``; box.appendChild(chartWrap); if (m.tablaHtml){ const tb = document.createElement('div'); tb.innerHTML = m.tablaHtml; box.appendChild(tb); } if (m.calculadora){ const calcBox = document.createElement('div'); renderBondCalculator(calcBox); box.appendChild(calcBox); } const ex = document.createElement('div'); ex.innerHTML = '

3 preguntas de ejemplo

'; m.ejemplos.forEach((it, qi)=>{ const qDiv = document.createElement('div'); qDiv.className='q'; const qH = document.createElement('h4'); qH.textContent = (qi+1)+') '+it.q; qDiv.appendChild(qH); it.a.forEach((opt, oi)=>{ const label = document.createElement('label'); label.innerHTML = ` ${opt}`; qDiv.appendChild(label); }); ex.appendChild(qDiv); }); const btn = document.createElement('button'); btn.className='cta'; btn.type='button'; btn.textContent='Calificar ejemplos'; const status = document.createElement('div'); status.className='status muted'; btn.addEventListener('click', ()=>{ const checked = box.querySelectorAll('input[type=radio]:checked'); let ok=0, total=m.ejemplos.length; checked.forEach(inp=>{ if (inp.dataset.correct==='1') ok++; }); status.textContent = (ok>=2? '✅ Bien' : '❌ A practicar') + ` — Aciertos: ${ok}/${total}`; }); ex.appendChild(btn); ex.appendChild(status); box.appendChild(ex); cont.appendChild(box); }); } /* ========== CHARTS ========== */ function renderCharts(){ if (!window.Chart) return; modulesData.forEach(m=>{ const ctx = document.getElementById('chart_'+m.id); if (!ctx) return; const cfg = { type: m.grafico.tipo, data: { labels: m.grafico.labels, datasets: [{label: m.grafico.datasetLabel, data: m.grafico.data, borderWidth:2, fill:false, tension:0.2}] }, options: { plugins:{ legend:{display:true}}, scales: (m.grafico.tipo==='doughnut')? {} : { y:{ beginAtZero:false } } } }; new Chart(ctx, cfg); }); } /* ========== EXAMEN FINAL RENDER/CALC ========== */ function renderFinalExam(){ const qz = document.getElementById('finalQuizContainer'); qz.innerHTML = ''; finalExamData.forEach((it, i)=>{ const qDiv = document.createElement('div'); qDiv.className='q'; const qH = document.createElement('h4'); qH.textContent = (i+1)+') '+it.q; qDiv.appendChild(qH); it.a.forEach((opt,oi)=>{ const label = document.createElement('label'); label.innerHTML = ` ${opt}`; qDiv.appendChild(label); }); qz.appendChild(qDiv); }); document.getElementById('progressFillFinal').style.width='0%'; document.getElementById('finalStatus').textContent=''; document.getElementById('finalScoreTag').textContent=''; document.getElementById('btnCert').style.display='none'; } function calcFinalScore(){ const inputs = document.querySelectorAll('#finalQuizContainer input[type=radio]:checked'); const total = finalExamData.length; // 40 let correct = 0; inputs.forEach(inp=>{ if (inp.dataset.correct==='1') correct++; }); const pct = Math.round((correct/total)*100); document.getElementById('finalScoreTag').textContent = ' — Puntaje: '+pct+'% ('+correct+'/'+total+')'; document.getElementById('finalStatus').textContent = (pct>=70 ? '✅ Aprobado' : '❌ No aprobado'); document.getElementById('progressFillFinal').style.width = Math.min((inputs.length/total)*100,100) + '%'; const btn = document.getElementById('btnCert'); btn.style.display = (pct>=70) ? 'inline-block' : 'none'; if (pct>=70) btn.dataset.score = pct; } function resetFinal(){ document.querySelectorAll('#finalQuizContainer input[type=radio]').forEach(r=>r.checked=false); document.getElementById('progressFillFinal').style.width='0%'; document.getElementById('finalStatus').textContent=''; document.getElementById('finalScoreTag').textContent=''; document.getElementById('btnCert').style.display='none'; } document.getElementById('btnCalificarFinal').addEventListener('click', calcFinalScore); document.getElementById('btnReiniciarFinal').addEventListener('click', resetFinal); /* ========== CERTIFICADO PDF (con ID único) ========== */ async function ensureJsPDF(){ if (window.jspdf && window.jspdf.jsPDF) return true; try{ await new Promise((resolve, reject)=>{ const s = document.createElement('script'); s.src = "https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.umd.min.js"; s.onload = resolve; s.onerror = reject; document.head.appendChild(s); }); return !!(window.jspdf && window.jspdf.jsPDF); }catch(e){ alert('No se pudo cargar jsPDF.'); return false; } } async function urlToDataURL(url){ try{ const res = await fetch(url, { mode:'cors' }); const blob = await res.blob(); return await new Promise((resolve)=>{ const reader = new FileReader(); reader.onloadend = ()=>resolve(reader.result); reader.readAsDataURL(blob); }); }catch(e){ console.warn('No se pudo convertir la imagen a base64.', e); return null; } } document.addEventListener('click', async (e)=>{ const btn = e.target.closest('#btnCert'); if (!btn) return; const ok = await ensureJsPDF(); if (!ok) return; const alumno = (document.getElementById('studentName')?.value || '').trim(); const scoreText = document.getElementById('finalScoreTag')?.textContent || 'Puntaje: N/D'; const pct = parseInt(((scoreText.match(/(\d+)\%/)||[])[1]||'0'), 10); if (!alumno){ alert('Ingresa tu nombre para el certificado.'); return; } if (pct < 70){ alert('Necesitas aprobar con 70% o más para descargar el certificado.'); return; } try{ const { jsPDF } = window.jspdf; const doc = new jsPDF({ unit:'pt', format:'a4' }); const pageW = 595; // ID único del certificado const now = new Date(); const y = now.getFullYear(); const mm = String(now.getMonth()+1).padStart(2,'0'); const dd = String(now.getDate()).padStart(2,'0'); const hh = String(now.getHours()).padStart(2,'0'); const mi = String(now.getMinutes()).padStart(2,'0'); const rand = Math.random().toString(36).slice(2,6).toUpperCase(); const certId = `INV-${y}${mm}${dd}-${hh}${mi}-${rand}`; doc.setDrawColor(56,176,0); doc.setLineWidth(3); doc.rect(30,30,535,780); const logo = await urlToDataURL('https://invertix.com.do/wp-content/uploads/2025/06/Invertix-Logo.png'); if (logo) doc.addImage(logo, 'PNG', (pageW-220)/2, 60, 220, 60); doc.setFont('helvetica','bold'); doc.setFontSize(28); doc.text('Certificado de Aprobación', pageW/2, 150, {align:'center'}); doc.setFont('helvetica','normal'); doc.setFontSize(12); doc.text('Invertix certifica que', pageW/2, 180, {align:'center'}); doc.setFont('helvetica','bold'); doc.setFontSize(28); doc.text(alumno, pageW/2, 220, {align:'center'}); doc.setDrawColor(56,176,0); doc.setLineWidth(2); doc.line(140,230, pageW-140,230); doc.setFont('helvetica','normal'); doc.setFontSize(14); doc.text('ha completado y aprobado el curso', pageW/2, 260, {align:'center'}); doc.setFont('helvetica','bold'); doc.text('“Inversionista Inteligente — Invertix (Modo Básico RD)”', pageW/2, 285, {align:'center', maxWidth: 500}); const fecha = now.toLocaleDateString('es-ES', { day:'2-digit', month:'2-digit', year:'numeric' }); doc.setFont('helvetica','normal'); doc.setFontSize(12); doc.text(`Puntaje: ${pct}% • Fecha: ${fecha}`, pageW/2, 320, {align:'center'}); doc.setFont('helvetica','normal'); doc.setFontSize(11); doc.text(`ID de certificado: ${certId}`, pageW/2, 345, {align:'center'}); doc.setFontSize(10); doc.setTextColor(100); doc.text('Este documento tiene fines académicos. © Invertix', pageW/2, 780, {align:'center'}); const safeName = alumno.replace(/[^a-zA-Z0-9_-]+/g,'_'); doc.save(`Certificado-Invertix-${safeName}.pdf`); }catch(err){ console.error(err); alert('Ocurrió un error generando el PDF. Intenta de nuevo.'); } }); /* ================== INICIO ================== */ function init(){ if (isUnlocked()) showCourse(); else hideCourse(); renderModules(); renderCharts(); renderFinalExam(); } init();
Invertix

Invertix EIRL es una plataforma informativa de asesoría financiera virtual y se limita a recomendar productos financieros que encajen con su perfil de inversionista. Invertix EIRL no se responsabiliza de realizar la inversión, garantizar ganancias o asumir cualquier pérdida que pueda generar su inversión. Invertix EIRL no almacena los datos de nuestros usuarios.

¡Síguenos!

Copyright © 2025 Invertix | Todos los derechos reservados

📈 Las 7 Magníficas

Símbolo Precio Cambio
META $779.00 1.87%
AAPL $238.15 0.61%
AMZN $234.05 1.13%
MSFT $509.04 -1.23%
TSLA $421.62 2.82%
GOOGL $251.16 -0.18%
NVDA $174.88 -1.61%

💱 Divisas en Tiempo Real

Cortesía de Investing.com

Powered by Rubycom

Invertix

Aviso legal | Condiciones de uso | Política de Cookies | Política de privacidad

Invertix