¿Vanguard sigue funcionando?
[[ data.diagnosis.summary ]]
Diagnóstico independiente de Vanguard V10 frente a SA Quant y SPY
[[ error ]]
Ejecuta rd2_vanguard_efficiency_install.sql. El análisis de Vanguard y SPY puede mostrarse, pero no podrás guardar datos manuales del Quant hasta instalar el esquema.
[[ data.diagnosis.summary ]]
Cada componente muestra cuánto aporta al resultado automático.
Son señales para estudiar; no ejecutan operaciones ni cambian las reglas de Vanguard.
Máximo → caída → mínimo → recuperación, junto con las posiciones que concentran el equity.
Registro prospectivo de Winners, rotaciones sectoriales, versiones de reglas, aportes y decisiones. El pasado sin evidencia permanece marcado como legacy.
rd2_vanguard_efficiency_intelligence_install_v2_0_0.sql. La eficiencia actual seguirá funcionando, pero no se guardarán snapshots diarios, eventos Winner, regímenes, versiones, aportes ni decisiones.
Clasifica símbolos una sola vez y registra únicamente los eventos que no pueden inferirse automáticamente. El snapshot diario detecta nuevos Winners, Hold y cierres.
| Fecha | Símbolo | Evento | Peso | Retorno |
|---|---|---|---|---|
| [[ formatDate(event.event_date) ]] | [[ event.symbol ]] | [[ winnerEventLabel(event.event_type) ]] | [[ formatPct(event.position_weight_pct,1) ]] | [[ formatPct(event.position_return_pct,1) ]] |
| Sin eventos registrados. | ||||
| Régimen | Periodo | Tema dominante | Vanguard | Quant | SPY | Vs Quant | Vs SPY | Drawdown | Acción |
|---|---|---|---|---|---|---|---|---|---|
| [[ row.regime_name ]] [[ row.status ]] | [[ formatDate(row.start_date) ]] → [[ formatDate(row.end_date) ]] | [[ row.dominant_theme || row.dominant_sector || '—' ]] | [[ formatPct(row.metrics?.return_pct,1) ]] Peak [[ formatPct(row.metrics?.peak_return_pct,1) ]] · retención [[ formatPct(row.metrics?.gain_retention_pct,0) ]] | [[ formatPct(row.metrics?.quant_return_pct,1) ]] | [[ formatPct(row.metrics?.spy_return_pct,1) ]] | [[ formatPP(row.metrics?.alpha_vs_quant_pp,1) ]] | [[ formatPP(row.metrics?.alpha_vs_spy_pp,1) ]] | [[ formatPct(row.metrics?.max_drawdown_pct,1) ]] | |
| Registra el rally de Mineras/Oro y la transición a AI como los primeros regímenes históricos. |
| Versión | Inicio | Fin | Estado | Acción |
|---|---|---|---|---|
| [[ row.version_code ]] · [[ row.version_name ]] [[ row.change_summary || 'Sin resumen' ]] | [[ formatDate(row.start_date) ]] | [[ formatDate(row.end_date) ]] | [[ row.status ]] | |
| Crea “Formation Phase” y la versión actual para comenzar la genealogía de Vanguard. |
| Fecha | Tipo | Monto | Fuente | Acción |
|---|---|---|---|---|
| [[ formatDate(row.flow_date) ]] | [[ row.flow_type==='initial_capital'?'Capital inicial':row.flow_type==='deposit'?'Aporte':'Retiro' ]] | [[ formatMoney(row.amount) ]] | [[ row.source || '—' ]] | |
| Registra los aportes desde mayo de 2026 para separar el historial prospectivo. |
| Fecha | Tipo | Posiciones | Mantener | Winner grace | Salidas | Cumplimiento | Acción |
|---|---|---|---|---|---|---|---|
| [[ formatDate(row.review_date) ]] | [[ reviewTypeLabel(row.review_type) ]] | [[ row.items?.length || 0 ]] | [[ row.action_counts?.keep || 0 ]] | [[ row.action_counts?.winner_grace || 0 ]] | [[ (row.action_counts?.sell_replace || 0)+(row.action_counts?.instant_sell || 0) ]] | [[ formatPct(row.compliance_rate_pct,1) ]] | |
| Registra la próxima revisión del viernes para iniciar la auditoría de disciplina. |
| Fecha | Tipo | Símbolo | Acción | Título | Reemplazo | Acción |
|---|---|---|---|---|---|---|
| [[ formatDate(row.event_date) ]] | [[ journalTypeLabel(row.event_type) ]] | [[ row.symbol || 'Cartera' ]] | [[ row.action_taken || '—' ]] | [[ row.title ]] | [[ row.replacement_symbol || '—' ]] | |
| La próxima revisión del viernes será la primera entrada completamente trazable. |
| Símbolo | Peso | Sector | Industria | Tema | Subtema | Acción |
|---|---|---|---|---|---|---|
| [[ row.symbol ]] [[ row.company_name ]] | [[ formatPct(row.weight_pct,1) ]] | [[ row.sector ]] | [[ row.industry || '—' ]] | [[ row.theme ]] | [[ row.subtheme || '—' ]] |
Revisión histórica cada 15 días con importación JSON de Ratings, rankings, Factor Grades, revisiones, estimaciones y sorpresas.
rd2_vanguard_efficiency_health_install_v1_4_0.sql. El análisis de eficiencia seguirá funcionando, pero todavía no podrás guardar revisiones por acción.
rd2_vanguard_efficiency_sa_import_install_v2_1_0.sql para activar el extractor de Ratings, Factor Grades y Earnings.
Metodología v2.1: Quant/rankings, Revisions, calidad de Factor Grades, tendencia 3M/6M y consenso externo. Los campos vacíos nunca se convierten en cero.
[[ positionHealth.status?.label || 'Sin datos' ]]| Acción | Peso | Salud | Cambio 15d | Quant | Revisions | Factores | Revisión | Alerta | Acción |
|---|---|---|---|---|---|---|---|---|---|
| [[ position.symbol ]][[ position.name || position.symbol ]] | [[ formatPct(position.weight_pct) ]] | [[ position.latest_review?.overall_health_score===null || position.latest_review?.overall_health_score===undefined ? '—' : Math.round(position.latest_review.overall_health_score) ]] | [[ formatNumber(position.health_change_15d,1) ]] | [[ position.latest_review?.quant_score ? formatNumber(position.latest_review.quant_score,2) : '—' ]] | [[ revisionSummary(position.latest_review) ]] | G [[ position.latest_review?.growth_grade || '—' ]]P [[ position.latest_review?.profitability_grade || '—' ]]M [[ position.latest_review?.momentum_grade || '—' ]]V [[ position.latest_review?.valuation_grade || '—' ]] |
[[ position.latest_review ? formatDate(position.latest_review.review_date) : 'Pendiente' ]] | ||
| No hay posiciones activas en Vanguard. |
[[ alert.message ]]
Todos los registros pertenecen a una misma curva acumulada. El sistema los reajusta a la primera fecha común con Vanguard y SPY.
| Fecha | Vanguard | Quant ajustado | SPY | Vs Quant | Vs SPY | Riqueza vs Quant | Alineación | Acción |
|---|---|---|---|---|---|---|---|---|
[[ formatDate(row.observation_date) ]] Cierre usado: [[ formatDate(row.market_date_used) ]] |
[[ formatPct(row.vanguard_return_pct) ]] | [[ formatPct(row.quant_return_pct) ]] Archivo: [[ formatPct(row.quant_file_pct ?? row.quant_source_pct) ]] |
[[ formatPct(row.spy_return_pct) ]] | [[ formatPP(row.edge_vs_quant_pp) ]] | [[ formatPP(row.edge_vs_spy_pp) ]] | [[ formatPct(row.wealth_edge_vs_quant_pct) ]] | [[ !row.comparable?'Sin comparar':row.is_baseline?'Base común':row.is_exact_1y?'Fecha exacta':'Cierre previo' ]] | |
| Todavía no se han registrado datos del Quant. |
El diagnóstico es reproducible y no inventa datos faltantes.
xf_rd2_strategy_chart_points. Fuente Quant: puntos de una misma gráfica acumulada SA Quant 1Y, importados desde el CSV o corregidos manualmente. Las tres series se reajustan a 0% en la primera fecha utilizable por Quant, Vanguard y SPY. En días sin cierre se usa el último cierre anterior con un máximo de cuatro días. Las nuevas extracciones móviles se empalman automáticamente mediante sus fechas solapadas, usando la mediana del factor de conversión y sin sobrescribir puntos históricos. Los puntos del Quant no se tratan como ventanas móviles independientes ni se suman entre sí. La salud v2.1 conserva cada revisión y el JSON original. El score usa Quant/rankings (25%), Revisions y estimaciones (30%), Factor Grades actuales (30%), tendencia 3M/6M (10%) y consenso externo (5%). Los campos faltantes permanecen NULL. Sharpe y Sortino usan tasa libre de riesgo 0. Las puntuaciones son sistemas de seguimiento, no señales automáticas de compra o venta.
Historial completo, factores, cobertura y alertas de la posición.
Cobertura [[ formatPct(healthDetail.reviews[0].data_coverage_pct,1) ]] · Confianza [[ confidenceLabel(healthDetail.reviews[0].confidence_level) ]] · [[ healthDetail.reviews.length ]] revisiones guardadas.
[[ alert.message ]]
| Fecha | Tipo | Salud | Cobertura | Quant | Revisions | Alertas | Acción |
|---|---|---|---|---|---|---|---|
| [[ formatDate(review.review_date) ]] JSON SA · v[[ review.source_import.extractor_version ]] | [[ reviewTypeLabel(review.review_type) ]] | [[ formatNumber(review.overall_health_score,1) ]] | [[ formatPct(review.data_coverage_pct,0) ]] | [[ review.quant_rating || '—' ]] · [[ formatNumber(review.quant_score,2) ]] | [[ revisionSummary(review) ]] | [[ review.alert_count || 0 ]] |
Todos los campos son opcionales excepto símbolo y fecha. Un campo vacío reduce cobertura; nunca se interpreta como cero.
Para eliminar esta revisión escribe exactamente el símbolo: [[ healthForm.symbol ]]
El JSON conserva Ratings, Quant Ranking, Factor Grades, estimaciones, revisiones y sorpresas de earnings.
Ya existe una revisión de [[ healthImport.preview.symbol ]] para [[ formatDate(healthImport.preview.review_date) ]].
Los registros prospectivos nunca rellenan datos antiguos por estimación. Edita únicamente información que puedas respaldar.
| Acción | Winner | Rating | Quant | Rank | Acción exigida | Acción ejecutada | Reemplazo | Disciplina |
|---|---|---|---|---|---|---|---|---|
| [[ item.symbol ]] | [[ reviewComplianceLabel(item) ]] |
Introduce exactamente el porcentaje que muestra el tooltip de la gráfica para esa fecha.
Para eliminar este registro, escribe exactamente su fecha: [[ modal.originalDate ]]
El sistema detecta el cambio de base, valida las fechas compartidas e inserta únicamente los puntos que todavía no existen.
| Fecha nueva | Valor del archivo | Valor empalmado | Tipo |
|---|---|---|---|
| [[ formatDate(row.observation_date) ]] | [[ formatPct(row.source_pct,4) ]] | [[ formatPct(row.adjusted_pct,4) ]] | [[ row.kind==='forward'?'Nuevo cierre':'Relleno histórico' ]] |