Central Bank Policy Impact Forecasting Tool Central Bank Policy Impact Forecasting Tool Simulate the economic impact of monetary policy changes. 1. Policy Levers 2. Economic Assumptions 3. Forecast Results Monetary Policy Actions Define the policy changes you want to simulate. Changes are relative to the current baseline. Interest Rate Change (Basis Points) Balance Sheet Change ($ Billions) Baseline Economic Indicators Set the current economic conditions before the policy changes take effect. Current Inflation Rate (%) Current Unemployment Rate (%) Current GDP Growth Rate (%) 12-Month Economic Forecast Download Forecast PDF Previous Next Based on Simulated Policy Changes FORECAST INFLATION${forecastResults.inflation.toFixed(2)}% FORECAST UNEMPLOYMENT${forecastResults.unemployment.toFixed(2)}% FORECAST GDP GROWTH${forecastResults.gdp.toFixed(2)}% Policy & Economic Inputs ${renderDetailRow('Interest Rate Change:', `${simulationData.rateChange} bps`)} ${renderDetailRow('Balance Sheet Change:', `$${simulationData.balanceSheetChange} Billion`)} ${renderDetailRow('Baseline Inflation:', `${simulationData.baseline.inflation.toFixed(2)}%`)} ${renderDetailRow('Baseline Unemployment:', `${simulationData.baseline.unemployment.toFixed(2)}%`)} ${renderDetailRow('Baseline GDP Growth:', `${simulationData.baseline.gdp.toFixed(2)}%`)} `; const pdfTemplate = document.getElementById('pdf-template'); pdfTemplate.innerHTML = reportHtml; pdfTemplate.classList.remove('invisible'); try { const { jsPDF } = window.jspdf; const canvas = await html2canvas(pdfTemplate.querySelector('.pdf-report-container'), { scale: 2 }); const imgData = canvas.toDataURL('image/png'); const pdf = new jsPDF({ orientation: 'p', unit: 'pt', format: 'a4' }); const pdfWidth = pdf.internal.pageSize.getWidth(), pdfHeight = (canvas.height * pdfWidth) / canvas.width; pdf.addImage(imgData, 'PNG', 0, 0, pdfWidth, pdfHeight); pdf.save('Economic_Forecast_Report.pdf'); } catch (e) { console.error('PDF Generation Error:', e); } finally { downloadPdfBtn.disabled = false; downloadPdfBtn.textContent = 'Download Forecast PDF'; pdfTemplate.classList.add('invisible'); pdfTemplate.innerHTML = ''; } } downloadPdfBtn.addEventListener('click', generatePdfReport); // --- INITIALIZATION --- switchTab(0); });