AAPL Stock Price

by oysteinmoseng

HTML

<script src="https://code.highcharts.com/stock/highstock.js"></script>
<script src="https://code.highcharts.com/stock/modules/annotations.js"></script>
<script src="https://code.highcharts.com/stock/modules/price-indicator.js"></script>
<script src="https://code.highcharts.com/stock/modules/exporting.js"></script>
<script src="https://code.highcharts.com/stock/modules/export-data.js"></script>
<script src="https://code.highcharts.com/stock/modules/accessibility.js"></script>
<script src="https://code.highcharts.com/themes/adaptive.js"></script>

<div id="container"></div>

CSS

body {
    background: var(--highcharts-background-color);
    color: var(--highcharts-neutral-color-100);
}

#container {
    height: 500px;
    min-width: 310px;
    max-width: 900px;
    margin: 0 auto;
}

JavaScript

(async () => {

    const data = await fetch(
        'https://demo-live-data.highcharts.com/aapl-c.json'
    ).then(response => response.json());

    data[data.length - 10][1] *= 1.3;

    // Create the chart
    Highcharts.stockChart('container', {
        rangeSelector: {
            selected: 1
        },

        title: {
            text: 'AAPL Stock Price'
        },

        yAxis: {
            max: 300
        },

        annotations: [{
            draggable: '',
            labelOptions: {
                shape: 'callout',
                backgroundColor: '#000',
                color: '#fff',
                borderColor: '#333'
            },
            labels: [{
                point: {
                    x: data[data.length - 10][0],
                    xAxis: 0,
                    y: 30
                },
                text: 'Outlier: ' + data[data.length - 10][1]
            }]
        }],

        xAxis: {
            overscroll: '10px'
        },

        series: [{
            name: 'AAPL',
            data: data,
            tooltip: {
                valueDecimals: 2
            }
        }]
    });
})();