{"id":221,"date":"2026-01-24T18:28:07","date_gmt":"2026-01-24T18:28:07","guid":{"rendered":"https:\/\/cashflowmindset.cash\/?p=221"},"modified":"2026-01-24T18:34:40","modified_gmt":"2026-01-24T18:34:40","slug":"incomeshares-monthly-update","status":"publish","type":"post","link":"https:\/\/cashflowmindset.cash\/?p=221","title":{"rendered":"IncomeShares Monthly Update Dec 2025"},"content":{"rendered":"\n\n\n\n<p>December 2025 Performance<\/p>\n<!DOCTYPE html>\r\n<html lang=\"en\">\r\n<head>\r\n    <meta charset=\"UTF-8\">\r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n    <title>IncomeShares Infographic: December 2025<\/title>\r\n    <script src=\"https:\/\/cdn.tailwindcss.com\"><\/script>\r\n    <script src=\"https:\/\/cdn.jsdelivr.net\/npm\/apexcharts\"><\/script>\r\n    <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;600;700&display=swap\" rel=\"stylesheet\">\r\n    <style>\r\n        body {\r\n            font-family: 'Inter', sans-serif;\r\n            background-color: #111827;\r\n            color: #F3F4F6;\r\n        }\r\n        .apexcharts-tooltip-title {\r\n            background: #1F2937 !important;\r\n            color: #F3F4F6 !important;\r\n            border-bottom: 1px solid #374151 !important;\r\n        }\r\n        .apexcharts-tooltip-series-group {\r\n             background: #1F2937 !important;\r\n        }\r\n        .apexcharts-tooltip-text-y-label,\r\n        .apexcharts-tooltip-text-y-value {\r\n            color: #F3F4F6 !important;\r\n        }\r\n    <\/style>\r\n<\/head>\r\n<body class=\"antialiased\">\r\n\r\n    <div class=\"container mx-auto p-4 md:p-8 max-w-7xl\">\r\n\r\n        <header class=\"mb-12 text-center\">\r\n            <a href=\"https:\/\/incomeshares.com\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"inline-block mb-8\">\r\n                <img decoding=\"async\" src=\"https:\/\/incomeshares.com\/assets\/en-eu\/build\/assets\/logo-vGb-bYRX.webp\" alt=\"IncomeShares by Leverage Shares Logo\" class=\"h-12 md:h-16 w-auto\">\r\n            <\/a>\r\n            <h1 class=\"text-4xl md:text-5xl font-bold text-white mb-4\">IncomeShares Monthly Update<\/h1>\r\n            <p class=\"text-2xl md:text-3xl font-light text-gray-400\">December 2025 Performance<\/p>\r\n        <\/header>\r\n\r\n        <!-- Key Metrics Section -->\r\n        <section class=\"mb-12\">\r\n            <h2 class=\"text-3xl font-semibold text-white mb-6 text-center\">December Key Metrics<\/h2>\r\n            <div class=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6\">\r\n                \r\n                <div class=\"bg-gray-800 p-6 rounded-lg shadow-lg flex flex-col justify-between\">\r\n                    <div>\r\n                        <div class=\"text-sm font-semibold text-blue-400 uppercase mb-2\">Total AUM<\/div>\r\n                        <div class=\"text-4xl font-bold text-white mb-2\">$114.6 M<\/div>\r\n                        <div class=\"text-lg text-green-400\">+14.9% vs. Nov<\/div>\r\n                    <\/div>\r\n                    <p class=\"text-sm text-gray-400 mt-4\">Strong finish to the year, crossing $110M.<\/p>\r\n                <\/div>\r\n                \r\n                <div class=\"bg-gray-800 p-6 rounded-lg shadow-lg flex flex-col justify-between\">\r\n                    <div>\r\n                        <div class=\"text-sm font-semibold text-blue-400 uppercase mb-2\">Trading Turnover<\/div>\r\n                        <div class=\"text-4xl font-bold text-white mb-2\">$34.5 M<\/div>\r\n                        <div class=\"text-lg text-gray-400\">Solid year-end activity<\/div>\r\n                    <\/div>\r\n                    <p class=\"text-sm text-gray-400 mt-4\">Annual turnover split: $159.6M LSE \/ $142.7M Xetra.<\/p>\r\n                <\/div>\r\n\r\n                <div class=\"bg-gray-800 p-6 rounded-lg shadow-lg flex flex-col justify-between\">\r\n                    <div>\r\n                        <div class=\"text-sm font-semibold text-blue-400 uppercase mb-2\">Cumulative Fund Flows<\/div>\r\n                        <div class=\"text-4xl font-bold text-white mb-2\">$126.1 M<\/div>\r\n                        <div class=\"text-lg text-green-400\">+$16.5M in Dec<\/div>\r\n                    <\/div>\r\n                    <p class=\"text-sm text-gray-400 mt-4\">Inflows continued to rise every month of 2025.<\/p>\r\n                <\/div>\r\n\r\n                <div class=\"bg-gray-800 p-6 rounded-lg shadow-lg flex flex-col justify-between\">\r\n                    <div>\r\n                        <div class=\"text-sm font-semibold text-blue-400 uppercase mb-2\">Top Yield (Annualised)<\/div>\r\n                        <div class=\"text-4xl font-bold text-white mb-2\">80.10%<\/div>\r\n                        <div class=\"text-lg text-white\">MicroStrategy (MSTY)<\/div>\r\n                    <\/div>\r\n                    <p class=\"text-sm text-gray-400 mt-4\">High volatility sustained strong yields.<\/p>\r\n                <\/div>\r\n            <\/div>\r\n        <\/section>\r\n\r\n        <!-- Asset & Flow Deep Dive Section -->\r\n        <section class=\"mb-12\">\r\n            <h2 class=\"text-3xl font-semibold text-white mb-6 text-center\">Asset & Flow Deep Dive<\/h2>\r\n            <div class=\"grid grid-cols-1 md:grid-cols-2 gap-6\">\r\n\r\n                <div class=\"bg-gray-800 p-6 rounded-lg shadow-lg\">\r\n                    <h3 class=\"text-xl font-semibold text-white mb-4\">AUM Drivers (Dec)<\/h3>\r\n                    <p class=\"text-sm text-gray-400 mb-4\">AUM grew to $114.6M, driven by $16.5M in new inflows, with a slight dip from market performance.<\/p>\r\n                    <div class=\"w-full max-w-2xl mx-auto h-96\">\r\n                        <div id=\"aumDonutChart\"><\/div>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <div class=\"bg-gray-800 p-6 rounded-lg shadow-lg\">\r\n                    <h3 class=\"text-xl font-semibold text-white mb-4\">Top 5 Yields (Dec)<\/h3>\r\n                    <p class=\"text-sm text-gray-400 mb-4\">MicroStrategy led December, followed closely by Broadcom and Tesla.<\/p>\r\n                    <div class=\"w-full max-w-2xl mx-auto h-96\">\r\n                        <div id=\"inflowBarChart\"><\/div>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <div class=\"bg-gray-800 p-6 rounded-lg shadow-lg\">\r\n                    <h3 class=\"text-xl font-semibold text-white mb-4\">Cumulative Fund Flows (2025 YTD)<\/h3>\r\n                    <p class=\"text-sm text-gray-400 mb-4\">Net inflows rose every single month in 2025, reaching $126.1M.<\/p>\r\n                    <div class=\"w-full max-w-2xl mx-auto h-96\">\r\n                        <div id=\"cumulativeFlowChart\"><\/div>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <div class=\"bg-gray-800 p-6 rounded-lg shadow-lg\">\r\n                    <h3 class=\"text-xl font-semibold text-white mb-4\">Total AUM Growth (2025 YTD)<\/h3>\r\n                    <p class=\"text-sm text-gray-400 mb-4\">Assets under management finished the year strong at $114.6M.<\/p>\r\n                    <div class=\"w-full max-w-2xl mx-auto h-96\">\r\n                        <div id=\"totalAumChart\"><\/div>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n            <\/div>\r\n        <\/section>\r\n\r\n        <!-- Trading Activity Section -->\r\n        <section class=\"mb-12\">\r\n            <h2 class=\"text-3xl font-semibold text-white mb-6 text-center\">Trading Activity<\/h2>\r\n            <div class=\"grid grid-cols-1 md:grid-cols-3 gap-6\">\r\n\r\n                <div class=\"bg-gray-800 p-6 rounded-lg shadow-lg md:col-span-2\">\r\n                    <h3 class=\"text-xl font-semibold text-white mb-4\">Monthly ETP Turnover (2025 YTD)<\/h3>\r\n                    <p class=\"text-sm text-gray-400 mb-4\">December activity dipped slightly to $34.5M but remained strong overall for the year.<\/p>\r\n                    <div class=\"w-full max-w-4xl mx-auto h-96\">\r\n                        <div id=\"monthlyTurnoverChart\"><\/div>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <div class=\"bg-gray-800 p-6 rounded-lg shadow-lg\">\r\n                    <h3 class=\"text-xl font-semibold text-white mb-4\">Turnover by Exchange (2025 Total)<\/h3>\r\n                    <p class=\"text-sm text-gray-400 mb-4\">For the full year, the London Stock Exchange (USD+GBP) edged out Xetra.<\/p>\r\n                    <div class=\"w-full max-w-2xl mx-auto h-96\">\r\n                        <div id=\"turnoverPieChart\"><\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/section>\r\n\r\n        <!-- Yields Heatmap Section -->\r\n        <section class=\"mb-12\">\r\n            <h2 class=\"text-3xl font-semibold text-white mb-6 text-center\">Annualised Distribution Yields (2025)<\/h2>\r\n            <p class=\"text-center text-gray-400 mb-6 max-w-3xl mx-auto\">The heatmap below shows the monthly yields for the full year. Volatile assets like MicroStrategy and Coinbase delivered consistently high yields, while Gold and Treasuries provided stability.<\/p>\r\n            <div class=\"bg-gray-800 p-6 rounded-lg shadow-lg\">\r\n                <div class=\"w-full mx-auto\" style=\"min-height: 700px;\">\r\n                    <div id=\"yieldsHeatmapChart\"><\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/section>\r\n\r\n        <footer class=\"text-center mt-12 py-6 border-t border-gray-700\">\r\n            <p class=\"text-sm text-gray-500\">This infographic represents data from the IncomeShares Monthly Investor Update for December 2025. All investments are at risk.<\/p>\r\n        <\/footer>\r\n    <\/div>\r\n\r\n    <script>\r\n        document.addEventListener('DOMContentLoaded', () => {\r\n            \r\n            \/\/ --- Charting Setup ---\r\n            const chartColors = ['#2563EB', '#F97316', '#10B981', '#F59E0B', '#8B5CF6', '#7E22CE'];\r\n            const apexTheme = {\r\n                mode: 'dark',\r\n                palette: 'palette1'\r\n            };\r\n\r\n            const dataLabelFormatter = (val) => {\r\n                if (val >= 1000) {\r\n                    return (val \/ 1000).toFixed(1) + 'K';\r\n                } else if (val >= 1000000) {\r\n                    return (val \/ 1000000).toFixed(1) + 'M';\r\n                }\r\n                return val.toFixed(1);\r\n            };\r\n\r\n            const dataLabelFormatterSimple = (val) => val.toFixed(1);\r\n            \r\n            \/\/ --- AUM Drivers Donut Chart ---\r\n            const aumCtx = document.getElementById('aumDonutChart');\r\n            if (aumCtx) {\r\n                \/\/ Nov End: 99.7, Net Inflows: 16.5, Dec End: 114.6\r\n                \/\/ 99.7 + 16.5 = 116.2. Actual 114.6. Diff = -1.6 (Market move)\r\n                const options = {\r\n                    series: [99.7, 16.5, 1.6], \r\n                    labels: ['AUM (Start of Dec)', 'Net Inflows', 'Performance Impact (Negative)'],\r\n                    chart: {\r\n                        type: 'donut',\r\n                        height: 400,\r\n                        foreColor: '#F3F4F6'\r\n                    },\r\n                    theme: apexTheme,\r\n                    colors: [chartColors[0], chartColors[2], '#EF4444'], \/\/ Red for negative impact\r\n                    dataLabels: {\r\n                        enabled: true,\r\n                        formatter: function (val, opts) {\r\n                            const seriesVal = opts.w.config.series[opts.seriesIndex];\r\n                            if (opts.seriesIndex === 2) return '-' + seriesVal.toFixed(1) + 'M';\r\n                            return seriesVal.toFixed(1) + 'M';\r\n                        },\r\n                         style: {\r\n                            colors: ['#FFFFFF']\r\n                        }\r\n                    },\r\n                    plotOptions: {\r\n                        pie: {\r\n                            donut: {\r\n                                labels: {\r\n                                    show: true,\r\n                                    total: {\r\n                                        show: true,\r\n                                        label: 'Total AUM (Dec)',\r\n                                        formatter: (w) => {\r\n                                            return '$114.6M';\r\n                                        }\r\n                                    }\r\n                                }\r\n                            }\r\n                        }\r\n                    },\r\n                    legend: {\r\n                        position: 'bottom'\r\n                    }\r\n                };\r\n                const chart = new ApexCharts(aumCtx, options);\r\n                chart.render();\r\n            }\r\n\r\n            \/\/ --- Top 5 Yields Bar Chart ---\r\n            const inflowCtx = document.getElementById('inflowBarChart');\r\n            if (inflowCtx) {\r\n                 const options = {\r\n                    series: [{\r\n                        name: 'Yield %',\r\n                        data: [80.10, 71.60, 60.00, 55.50, 51.80]\r\n                    }],\r\n                    chart: {\r\n                        type: 'bar',\r\n                        height: 400,\r\n                        foreColor: '#F3F4F6'\r\n                    },\r\n                    theme: apexTheme,\r\n                    colors: chartColors,\r\n                    plotOptions: {\r\n                        bar: {\r\n                            horizontal: false,\r\n                            columnWidth: '50%',\r\n                            distributed: true\r\n                        },\r\n                    },\r\n                    dataLabels: {\r\n                        enabled: true,\r\n                        formatter: (val) => val.toFixed(1) + '%',\r\n                        style: {\r\n                            colors: ['#FFFFFF']\r\n                        }\r\n                    },\r\n                    xaxis: {\r\n                        categories: ['MicroStrategy', 'Broadcom', 'Tesla', 'Coinbase', 'AMD'],\r\n                    },\r\n                    yaxis: {\r\n                        title: {\r\n                            text: 'Annualised Yield %'\r\n                        }\r\n                    },\r\n                    legend: {\r\n                        show: false\r\n                    }\r\n                };\r\n                const chart = new ApexCharts(inflowCtx, options);\r\n                chart.render();\r\n            }\r\n\r\n            \/\/ --- Cumulative Fund Flows Area Chart ---\r\n            const cumulativeFlowCtx = document.getElementById('cumulativeFlowChart');\r\n            if (cumulativeFlowCtx) {\r\n                const options = {\r\n                    series: [{\r\n                        name: 'Cumulative Flow (in $M)',\r\n                        data: [13.7, 22.5, 28.5, 38.8, 53.0, 59.4, 64.1, 73.5, 78.6, 91.6, 109.6, 126.1]\r\n                    }],\r\n                    chart: {\r\n                        type: 'area',\r\n                        height: 384,\r\n                        foreColor: '#F3F4F6',\r\n                        toolbar: { show: false },\r\n                        zoom: { enabled: false }\r\n                    },\r\n                    theme: apexTheme,\r\n                    colors: [chartColors[1]],\r\n                    dataLabels: {\r\n                        enabled: true,\r\n                        formatter: dataLabelFormatter,\r\n                         style: {\r\n                            colors: ['#F3F4F6']\r\n                        },\r\n                         background: {\r\n                            enabled: true,\r\n                            foreColor: '#111827',\r\n                            padding: 4,\r\n                            borderRadius: 2,\r\n                            borderWidth: 0,\r\n                            borderColor: '#111827',\r\n                            opacity: 0.9\r\n                        },\r\n                    },\r\n                    stroke: {\r\n                        curve: 'smooth',\r\n                        width: 3\r\n                    },\r\n                    fill: {\r\n                        type: 'gradient',\r\n                        gradient: {\r\n                            shadeIntensity: 1,\r\n                            opacityFrom: 0.7,\r\n                            opacityTo: 0.3,\r\n                            stops: [0, 90, 100]\r\n                        }\r\n                    },\r\n                    xaxis: {\r\n                        categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\r\n                    },\r\n                    yaxis: {\r\n                        title: {\r\n                            text: 'Cumulative Flow (in $M)'\r\n                        },\r\n                        labels: {\r\n                            formatter: (val) => val.toFixed(0) + 'M'\r\n                        }\r\n                    },\r\n                    tooltip: {\r\n                        y: {\r\n                            formatter: (val) => `$${val.toFixed(1)}M`\r\n                        }\r\n                    }\r\n                };\r\n                const chart = new ApexCharts(cumulativeFlowCtx, options);\r\n                chart.render();\r\n            }\r\n\r\n            \/\/ --- Total AUM Bar Chart ---\r\n            const totalAumCtx = document.getElementById('totalAumChart');\r\n            if (totalAumCtx) {\r\n                 const options = {\r\n                    series: [{\r\n                        name: 'Total AUM (in $M)',\r\n                        data: [13.9, 20.0, 23.4, 31.1, 45.0, 51.9, 57.8, 65.8, 74.2, 87.5, 99.7, 114.6]\r\n                    }],\r\n                    chart: {\r\n                        type: 'bar',\r\n                        height: 384,\r\n                        foreColor: '#F3F4F6',\r\n                        toolbar: { show: false }\r\n                    },\r\n                    theme: apexTheme,\r\n                    colors: [chartColors[2]],\r\n                    plotOptions: {\r\n                        bar: {\r\n                            horizontal: false,\r\n                            columnWidth: '60%',\r\n                        },\r\n                    },\r\n                    dataLabels: {\r\n                        enabled: true,\r\n                        formatter: dataLabelFormatter,\r\n                        style: {\r\n                            colors: ['#FFFFFF']\r\n                        }\r\n                    },\r\n                    xaxis: {\r\n                        categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\r\n                    },\r\n                    yaxis: {\r\n                        title: {\r\n                            text: 'Total AUM (in $M)'\r\n                        },\r\n                        labels: {\r\n                            formatter: (val) => val.toFixed(0) + 'M'\r\n                        }\r\n                    },\r\n                    tooltip: {\r\n                        y: {\r\n                            formatter: (val) => `$${val.toFixed(1)}M`\r\n                        }\r\n                    }\r\n                };\r\n                const chart = new ApexCharts(totalAumCtx, options);\r\n                chart.render();\r\n            }\r\n            \r\n            \/\/ --- Monthly ETP Turnover Stacked Bar Chart ---\r\n            const monthlyTurnoverCtx = document.getElementById('monthlyTurnoverChart');\r\n            if (monthlyTurnoverCtx) {\r\n                \r\n                \/\/ Existing data Jan-Nov\r\n                const lseUsdData = [2.8, 2.8, 2.3, 3.0, 3.0, 2.8, 3.0, 3.3, 3.5, 8.2, 8.4];\r\n                const lseGbpData = [3.0, 6.0, 5.0, 8.0, 6.5, 16.0, 11.0, 11.7, 10.5, 12.8, 12.7];\r\n                const xetraData = [7.0, 7.0, 6.0, 7.5, 16.7, 0.5, 10.3, 12.3, 12.0, 21.2, 16.8];\r\n                \r\n                \/\/ Dec Data: Total $34.5M.\r\n                \/\/ Estimating split based on Year Totals (~53% LSE \/ ~47% Xetra)\r\n                \/\/ 34.5 * 0.53 = 18.2 (LSE Total). Split 40\/60 -> 7.3 USD, 10.9 GBP\r\n                \/\/ 34.5 * 0.47 = 16.3 (Xetra)\r\n                lseUsdData.push(7.3);\r\n                lseGbpData.push(10.9);\r\n                xetraData.push(16.3);\r\n\r\n                const options = {\r\n                    series: [{\r\n                        name: 'LSE USD Turnover',\r\n                        data: lseUsdData\r\n                    }, {\r\n                        name: 'LSE GBP Turnover (USD)',\r\n                        data: lseGbpData\r\n                    }, {\r\n                        name: 'Xetra EUR Turnover (USD)',\r\n                        data: xetraData \r\n                    }],\r\n                    chart: {\r\n                        type: 'bar',\r\n                        height: 384,\r\n                        stacked: true,\r\n                        foreColor: '#F3F4F6'\r\n                    },\r\n                    theme: apexTheme,\r\n                    colors: [chartColors[5], chartColors[0], chartColors[1]], \/\/ Xetra is Orange\r\n                    plotOptions: {\r\n                        bar: {\r\n                            horizontal: false,\r\n                        },\r\n                    },\r\n                    dataLabels: {\r\n                        enabled: true,\r\n                        formatter: dataLabelFormatterSimple,\r\n                        style: {\r\n                            colors: ['#FFFFFF']\r\n                        }\r\n                    },\r\n                    xaxis: {\r\n                        categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\r\n                    },\r\n                    yaxis: {\r\n                        title: {\r\n                            text: 'Turnover (in $M)'\r\n                        },\r\n                         labels: {\r\n                            formatter: (val) => val.toFixed(0) + 'M'\r\n                        }\r\n                    },\r\n                    legend: {\r\n                        position: 'bottom'\r\n                    },\r\n                    tooltip: {\r\n                        y: {\r\n                            formatter: (val) => `$${val.toFixed(1)}M`\r\n                        }\r\n                    }\r\n                };\r\n                \r\n                const chart = new ApexCharts(monthlyTurnoverCtx, options);\r\n                chart.render();\r\n            }\r\n\r\n            \/\/ --- Turnover by Exchange Pie Chart (2025 TOTAL) ---\r\n            const turnoverPieCtx = document.getElementById('turnoverPieChart');\r\n            if (turnoverPieCtx) {\r\n                \/\/ Full Year Data from report: LSE $159.6, Xetra $142.7\r\n                const lseTotal = 159.6;\r\n                const xetraTotal = 142.7;\r\n                \r\n                const options = {\r\n                    series: [lseTotal, xetraTotal],\r\n                    labels: ['London Stock Exchange (USD+GBP)', 'Xetra (EUR in USD)'],\r\n                    chart: {\r\n                        type: 'pie',\r\n                        height: 400,\r\n                        foreColor: '#F3F4F6'\r\n                    },\r\n                    theme: apexTheme,\r\n                    colors: [chartColors[0], chartColors[1]], \r\n                    dataLabels: {\r\n                        enabled: true,\r\n                        formatter: function (val, opts) {\r\n                            const seriesVal = opts.w.config.series[opts.seriesIndex];\r\n                            return '$' + seriesVal.toFixed(1) + 'M';\r\n                        }\r\n                    },\r\n                    plotOptions: {\r\n                        pie: {\r\n                            dataLabels: {\r\n                                offset: -15\r\n                            }\r\n                        }\r\n                    },\r\n                    legend: {\r\n                        position: 'bottom'\r\n                    }\r\n                };\r\n                const chart = new ApexCharts(turnoverPieCtx, options);\r\n                chart.render();\r\n            }\r\n\r\n            \/\/ --- Yields Heatmap Chart ---\r\n            const yieldsHeatmapCtx = document.getElementById('yieldsHeatmapChart');\r\n            if (yieldsHeatmapCtx) {\r\n\r\n                const calculateMedian = (values) => {\r\n                    const validValues = values.filter(v => v !== null);\r\n                    if (!validValues.length) return null;\r\n                    const sorted = [...validValues].sort((a, b) => a - b);\r\n                    const half = Math.floor(sorted.length \/ 2);\r\n                    if (sorted.length % 2) {\r\n                        return sorted[half];\r\n                    }\r\n                    return (sorted[half - 1] + sorted[half]) \/ 2.0;\r\n                };\r\n\r\n                const calculateAverage = (values) => {\r\n                    const validValues = values.filter(v => v !== null);\r\n                    if (!validValues.length) return null;\r\n                    const sum = validValues.reduce((a, b) => a + b, 0);\r\n                    return sum \/ validValues.length;\r\n                };\r\n                \r\n                const seriesData = [\r\n                    { name: 'Coinbase', data: [\r\n                        { x: 'Jan', y: 80.43 }, { x: 'Feb', y: 115.06 }, { x: 'Mar', y: 92.58 }, { x: 'Apr', y: 92.59 }, { x: 'May', y: 82.84 }, { x: 'Jun', y: 76.41 }, { x: 'Jul', y: 82.75 }, { x: 'Aug', y: 43.60 }, { x: 'Sep', y: 70.31 }, { x: 'Oct', y: 113.28 }, { x: 'Nov', y: 62.60 }, { x: 'Dec', y: 55.50 }\r\n                    ]},\r\n                    { name: 'Nasdaq 100', data: [\r\n                        { x: 'Jan', y: 84.38 }, { x: 'Feb', y: 85.60 }, { x: 'Mar', y: 132.31 }, { x: 'Apr', y: 204.45 }, { x: 'May', y: 105.42 }, { x: 'Jun', y: 65.92 }, { x: 'Jul', y: 44.52 }, { x: 'Aug', y: 46.44 }, { x: 'Sep', y: 41.06 }, { x: 'Oct', y: 58.23 }, { x: 'Nov', y: 71.57 }, { x: 'Dec', y: 48.70 }\r\n                    ]},\r\n                    { name: 'Tesla', data: [\r\n                        { x: 'Jan', y: 75.57 }, { x: 'Feb', y: 48.25 }, { x: 'Mar', y: 112.44 }, { x: 'Apr', y: 114.77 }, { x: 'May', y: 64.54 }, { x: 'Jun', y: 70.46 }, { x: 'Jul', y: 48.25 }, { x: 'Aug', y: 40.97 }, { x: 'Sep', y: 68.53 }, { x: 'Oct', y: 70.64 }, { x: 'Nov', y: 56.70 }, { x: 'Dec', y: 60.00 }\r\n                    ]},\r\n                    { name: 'S&P 500', data: [\r\n                        { x: 'Jan', y: 58.32 }, { x: 'Feb', y: 63.82 }, { x: 'Mar', y: 100.07 }, { x: 'Apr', y: 180.27 }, { x: 'May', y: 79.90 }, { x: 'Jun', y: 54.28 }, { x: 'Jul', y: 39.86 }, { x: 'Aug', y: 32.95 }, { x: 'Sep', y: 30.94 }, { x: 'Oct', y: 39.72 }, { x: 'Nov', y: 47.80 }, { x: 'Dec', y: 35.20 }\r\n                    ]},\r\n                    { name: 'Palantir', data: [\r\n                        { x: 'Jan', y: null }, { x: 'Feb', y: null }, { x: 'Mar', y: null }, { x: 'Apr', y: null }, { x: 'May', y: null }, { x: 'Jun', y: null }, { x: 'Jul', y: null }, { x: 'Aug', y: 30.57 }, { x: 'Sep', y: 57.11 }, { x: 'Oct', y: 60.67 }, { x: 'Nov', y: 65.29 }, { x: 'Dec', y: 48.60 }\r\n                    ]},\r\n                    { name: 'AMD', data: [\r\n                        { x: 'Jan', y: null }, { x: 'Feb', y: null }, { x: 'Mar', y: null }, { x: 'Apr', y: null }, { x: 'May', y: null }, { x: 'Jun', y: null }, { x: 'Jul', y: 19.80 }, { x: 'Aug', y: 41.43 }, { x: 'Sep', y: 44.23 }, { x: 'Oct', y: 88.71 }, { x: 'Nov', y: 59.60 }, { x: 'Dec', y: 51.80 }\r\n                    ]},\r\n                    { name: 'Alibaba', data: [\r\n                        { x: 'Jan', y: null }, { x: 'Feb', y: null }, { x: 'Mar', y: null }, { x: 'Apr', y: null }, { x: 'May', y: null }, { x: 'Jun', y: null }, { x: 'Jul', y: 31.86 }, { x: 'Aug', y: 35.90 }, { x: 'Sep', y: 53.32 }, { x: 'Oct', y: 58.17 }, { x: 'Nov', y: 45.90 }, { x: 'Dec', y: 34.00 }\r\n                    ]},\r\n                    { name: 'NVIDIA', data: [\r\n                        { x: 'Jan', y: 36.02 }, { x: 'Feb', y: 72.56 }, { x: 'Mar', y: 75.95 }, { x: 'Apr', y: 66.63 }, { x: 'May', y: 48.37 }, { x: 'Jun', y: 17.88 }, { x: 'Jul', y: 9.40 }, { x: 'Aug', y: 28.42 }, { x: 'Sep', y: 39.44 }, { x: 'Oct', y: 49.37 }, { x: 'Nov', y: 42.12 }, { x: 'Dec', y: 42.30 }\r\n                    ]},\r\n                    { name: 'Broadcom', data: [\r\n                        { x: 'Jan', y: null }, { x: 'Feb', y: null }, { x: 'Mar', y: null }, { x: 'Apr', y: null }, { x: 'May', y: null }, { x: 'Jun', y: null }, { x: 'Jul', y: 16.90 }, { x: 'Aug', y: 40.96 }, { x: 'Sep', y: 40.44 }, { x: 'Oct', y: 71.61 }, { x: 'Nov', y: 51.40 }, { x: 'Dec', y: 71.60 }\r\n                    ]},\r\n                    { name: 'Mag 7', data: [\r\n                        { x: 'Jan', y: null }, { x: 'Feb', y: null }, { x: 'Mar', y: null }, { x: 'Apr', y: null }, { x: 'May', y: null }, { x: 'Jun', y: null }, { x: 'Jul', y: 32.05 }, { x: 'Aug', y: 16.87 }, { x: 'Sep', y: 35.44 }, { x: 'Oct', y: 45.43 }, { x: 'Nov', y: 35.00 }, { x: 'Dec', y: 31.40 }\r\n                    ]},\r\n                    { name: 'Meta', data: [\r\n                        { x: 'Jan', y: 26.33 }, { x: 'Feb', y: 14.60 }, { x: 'Mar', y: 23.83 }, { x: 'Apr', y: 59.87 }, { x: 'May', y: 12.08 }, { x: 'Jun', y: 10.56 }, { x: 'Jul', y: 17.81 }, { x: 'Aug', y: 11.32 }, { x: 'Sep', y: 28.71 }, { x: 'Oct', y: 48.48 }, { x: 'Nov', y: 39.20 }, { x: 'Dec', y: 18.30 }\r\n                    ]},\r\n                    { name: 'Alphabet', data: [\r\n                        { x: 'Jan', y: 5.28 }, { x: 'Feb', y: 23.56 }, { x: 'Mar', y: 14.20 }, { x: 'Apr', y: 32.59 }, { x: 'May', y: 14.32 }, { x: 'Jun', y: 11.51 }, { x: 'Jul', y: 19.77 }, { x: 'Aug', y: 18.15 }, { x: 'Sep', y: 35.31 }, { x: 'Oct', y: 43.03 }, { x: 'Nov', y: 36.10 }, { x: 'Dec', y: 30.50 }\r\n                    ]},\r\n                    { name: 'Amazon', data: [\r\n                        { x: 'Jan', y: 7.00 }, { x: 'Feb', y: 22.45 }, { x: 'Mar', y: 17.05 }, { x: 'Apr', y: 38.75 }, { x: 'May', y: 12.19 }, { x: 'Jun', y: 8.70 }, { x: 'Jul', y: 14.22 }, { x: 'Aug', y: 12.00 }, { x: 'Sep', y: 22.77 }, { x: 'Oct', y: 51.74 }, { x: 'Nov', y: 34.40 }, { x: 'Dec', y: 25.00 }\r\n                    ]},\r\n                    { name: 'Apple', data: [\r\n                        { x: 'Jan', y: 10.20 }, { x: 'Feb', y: 11.72 }, { x: 'Mar', y: 11.65 }, { x: 'Apr', y: 31.71 }, { x: 'May', y: 18.30 }, { x: 'Jun', y: 7.61 }, { x: 'Jul', y: 13.52 }, { x: 'Aug', y: 15.55 }, { x: 'Sep', y: 28.09 }, { x: 'Oct', y: 34.13 }, { x: 'Nov', y: 20.80 }, { x: 'Dec', y: 19.10 }\r\n                    ]},\r\n                    { name: 'Silver+ Yield', data: [\r\n                        { x: 'Jan', y: null }, { x: 'Feb', y: null }, { x: 'Mar', y: null }, { x: 'Apr', y: null }, { x: 'May', y: null }, { x: 'Jun', y: null }, { x: 'Jul', y: 12.51 }, { x: 'Aug', y: 11.56 }, { x: 'Sep', y: 7.88 }, { x: 'Oct', y: 24.58 }, { x: 'Nov', y: 12.00 }, { x: 'Dec', y: 12.00 }\r\n                    ]},\r\n                    { name: '20+ Year Treasury', data: [\r\n                        { x: 'Jan', y: null }, { x: 'Feb', y: null }, { x: 'Mar', y: null }, { x: 'Apr', y: null }, { x: 'May', y: null }, { x: 'Jun', y: null }, { x: 'Jul', y: 10.68 }, { x: 'Aug', y: 12.38 }, { x: 'Sep', y: 12.96 }, { x: 'Oct', y: 11.86 }, { x: 'Nov', y: 10.30 }, { x: 'Dec', y: 12.00 }\r\n                    ]},\r\n                    { name: 'Microsoft', data: [\r\n                        { x: 'Jan', y: 5.78 }, { x: 'Feb', y: 7.53 }, { x: 'Mar', y: 5.53 }, { x: 'Apr', y: 19.31 }, { x: 'May', y: 3.56 }, { x: 'Jun', y: 2.73 }, { x: 'Jul', y: 5.85 }, { x: 'Aug', y: 6.54 }, { x: 'Sep', y: 25.05 }, { x: 'Oct', y: 32.20 }, { x: 'Nov', y: 24.90 }, { x: 'Dec', y: 18.80 }\r\n                    ]},\r\n                    { name: 'Gold+ Yield', data: [\r\n                        { x: 'Jan', y: 3.73 }, { x: 'Feb', y: 3.37 }, { x: 'Mar', y: 4.35 }, { x: 'Apr', y: 22.34 }, { x: 'May', y: 12.55 }, { x: 'Jun', y: 7.88 }, { x: 'Jul', y: 5.83 }, { x: 'Aug', y: 6.74 }, { x: 'Sep', y: 8.73 }, { x: 'Oct', y: 16.74 }, { x: 'Nov', y: 12.60 }, { x: 'Dec', y: 12.00 }\r\n                    ]},\r\n                    { name: 'MicroStrategy', data: [\r\n                        { x: 'Jan', y: null }, { x: 'Feb', y: null }, { x: 'Mar', y: null }, { x: 'Apr', y: null }, { x: 'May', y: null }, { x: 'Jun', y: null }, { x: 'Jul', y: 19.92 }, { x: 'Aug', y: 37.61 }, { x: 'Sep', y: 64.04 }, { x: 'Oct', y: 88.44 }, { x: 'Nov', y: 78.79 }, { x: 'Dec', y: 80.10 }\r\n                    ]}\r\n                ];\r\n\r\n                \/\/ Inject Median and Average Data\r\n                seriesData.forEach(series => {\r\n                    \/\/ Get all monthly values (Jan-Dec)\r\n                    const monthlyValues = series.data.slice(0, 12).map(d => d.y);\r\n                    const median = calculateMedian(monthlyValues);\r\n                    const average = calculateAverage(monthlyValues);\r\n                    \r\n                    \/\/ Create new median and average data points\r\n                    const medianDataPoint = { x: 'Median', y: median !== null ? parseFloat(median.toFixed(2)) : null };\r\n                    const aveDataPoint = { x: 'Ave.', y: average !== null ? parseFloat(average.toFixed(2)) : null };\r\n                    \r\n                    \/\/ Add them to the array\r\n                    series.data.push(medianDataPoint);\r\n                    series.data.push(aveDataPoint);\r\n                });\r\n\r\n                seriesData.sort((a, b) => {\r\n                     const aAve = a.data[a.data.length-1].y;\r\n                     const bAve = b.data[b.data.length-1].y;\r\n                     return aAve - bAve;\r\n                });\r\n\r\n                const options = {\r\n                    series: seriesData,\r\n                    chart: {\r\n                        height: 900, \r\n                        type: 'heatmap',\r\n                        foreColor: '#F3F4F6'\r\n                    },\r\n                    theme: apexTheme,\r\n                    plotOptions: {\r\n                        heatmap: {\r\n                            shadeIntensity: 0.5,\r\n                            radius: 0,\r\n                            useFillColorAsStroke: true,\r\n                            colorScale: {\r\n                                ranges: [{\r\n                                    from: -1,\r\n                                    to: 10,\r\n                                    name: '0-10%',\r\n                                    color: '#0D47A1'\r\n                                }, {\r\n                                    from: 10.01,\r\n                                    to: 25,\r\n                                    name: '10-25%',\r\n                                    color: '#1976D2'\r\n                                }, {\r\n                                    from: 25.01,\r\n                                    to: 50,\r\n                                    name: '25-50%',\r\n                                    color: '#2563EB'\r\n                                }, {\r\n                                    from: 50.01,\r\n                                    to: 75,\r\n                                    name: '50-75%',\r\n                                    color: '#F59E0B'\r\n                                }, {\r\n                                    from: 75.01,\r\n                                    to: 205,\r\n                                    name: '> 75%',\r\n                                    color: '#F97316'\r\n                                }]\r\n                            },\r\n                            distributed: true\r\n                        }\r\n                    },\r\n                    dataLabels: {\r\n                        enabled: true,\r\n                        style: {\r\n                            fontSize: '10px',\r\n                            colors: ['#FFFFFF']\r\n                        },\r\n                        formatter: function(val) {\r\n                            \/\/ Don't show label for null values\r\n                            return val !== null ? val.toFixed(1) + '%' : '';\r\n                        }\r\n                    },\r\n                    stroke: {\r\n                        width: 1\r\n                    },\r\n                    xaxis: {\r\n                        type: 'category',\r\n                        categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec', 'Median', 'Ave.'],\r\n                        position: 'top' \r\n                    },\r\n                    tooltip: {\r\n                        y: {\r\n                            formatter: (val) => val !== null ? `${val.toFixed(2)}%` : 'N\/A'\r\n                        }\r\n                    }\r\n                };\r\n\r\n                const chart = new ApexCharts(yieldsHeatmapCtx, options);\r\n                chart.render();\r\n            }\r\n        });\r\n    <\/script>\r\n<\/body>\r\n<\/html>\n\n<p><\/p>\n\n\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":197,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"pagelayer_contact_templates":[],"_pagelayer_content":"","pmpro_default_level":"","footnotes":""},"categories":[29],"tags":[],"class_list":["post-221","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-incomeshares","pmpro-has-access"],"_links":{"self":[{"href":"https:\/\/cashflowmindset.cash\/index.php?rest_route=\/wp\/v2\/posts\/221","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cashflowmindset.cash\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cashflowmindset.cash\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cashflowmindset.cash\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cashflowmindset.cash\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=221"}],"version-history":[{"count":5,"href":"https:\/\/cashflowmindset.cash\/index.php?rest_route=\/wp\/v2\/posts\/221\/revisions"}],"predecessor-version":[{"id":226,"href":"https:\/\/cashflowmindset.cash\/index.php?rest_route=\/wp\/v2\/posts\/221\/revisions\/226"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cashflowmindset.cash\/index.php?rest_route=\/wp\/v2\/media\/197"}],"wp:attachment":[{"href":"https:\/\/cashflowmindset.cash\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=221"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cashflowmindset.cash\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=221"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cashflowmindset.cash\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=221"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}