PAD Charts
All charts/Finance

A share over thirty days

candlestick: open, high, low and close a day, and the volume below.

1 The data finance/share.php php
<?php

  // Thirty trading days of a share: a slow climb, a sharp fall on bad news halfway, and a
  // recovery - the prices from a fixed little random walk, so every render is the same.
  // A day of big moves is a day of big volume.

  $share = [];
  $seed  = 20260824;
  $close = 48.20;
  $day   = strtotime ( '2026-08-24 12:00 UTC' );
  $drift = [ 0.25, 0.3, 0.2, 0.35, 0.15, 0.3, 0.1, 0.2, -0.1, 0.05, 0.1, 0.15, -0.2, -4.2, -1.1,
             -0.4, 0.3, -0.2, 0.4, 0.5, 0.2, 0.45, 0.3, 0.6, 0.1, 0.35, 0.4, -0.2, 0.3, 0.5 ];

  $random = function () use ( &$seed ) {
    $seed = ( $seed * 1103515245 + 12345 ) % 2147483648;
    return $seed / 2147483648;
  };

  foreach ( $drift as $move ) {

    while ( gmdate ( 'N', $day ) > 5 )
      $day += 86400;

    $open   = $close + ( $random () - 0.5 ) * 0.6;
    $close  = $open + $move + ( $random () - 0.5 ) * 1.2;
    $high   = max ( $open, $close ) + $random () * 0.7;
    $low    = min ( $open, $close ) - $random () * 0.7;

    $share [] = [ 'day'    => gmdate ( 'M j', $day ),
                  'open'   => round ( $open,  2 ),
                  'high'   => round ( $high,  2 ),
                  'low'    => round ( $low,   2 ),
                  'close'  => round ( $close, 2 ),
                  'volume' => (int) round ( 120000 + 90000 * abs ( $close - $open ) + 40000 * $random () ) ];

    $day += 86400;

  }

?>
2 The chart tag finance/share.pad pad
{chart 'candlestick', data='share', label='day', volume='volume', title='A share over thirty trading days, in euro', width=640, height=360}
3 The result inline SVG · no JavaScript
A share over thirty trading days, in euro Aug 24: open 48.34, high 49.17, low 48.3, close 48.48, volume 142,231; Aug 25: open 48.5, high 48.94, low 47.68, close 48.28, volume 164,501; Aug 26: open 48.25, high 48.86, low 47.66, close 48.57, volume 150,140; Aug 27: open 48.75, high 49.33, low 48.38, close 49.27, volume 196,941; Aug 28: open 49.22, high 49.93, low 48.66, close 49.25, volume 151,263; Aug 31: open 49.03, high 50.11, low 48.73, close 49.92, volume 225,644; Sep 1: open 50.18, high 50.76, low 49.26, close 49.9, volume 174,425; Sep 2: open 49.61, high 50.72, low 49.11, close 50.14, volume 180,026; Sep 3: open 50.36, high 51.35, low 50, close 50.77, volume 178,789; Sep 4: open 50.66, high 51.86, low 49.98, close 51.19, volume 170,150; Sep 7: open 51.09, high 51.79, low 50.96, close 51.78, volume 205,128; Sep 8: open 51.87, high 52.65, low 51.82, close 51.99, volume 155,985; Sep 9: open 51.71, high 52.41, low 50.64, close 51.3, volume 182,264; Sep 10: open 51.37, high 51.51, low 46.75, close 46.89, volume 557,453; Sep 11: open 46.75, high 46.91, low 45.11, close 45.66, volume 257,803; Sep 14: open 45.56, high 46.35, low 45.12, close 45.75, volume 148,280; Sep 15: open 45.57, high 45.99, low 44.8, close 45.38, volume 164,157; Sep 16: open 45.47, high 45.86, low 44.79, close 45.74, volume 150,634; Sep 17: open 45.99, high 46.47, low 45.83, close 46.3, volume 168,321; Sep 18: open 46.57, high 47.84, low 46.3, close 47.38, volume 198,983; Sep 21: open 47.67, high 48.18, low 47.03, close 47.58, volume 156,975; Sep 22: open 47.34, high 47.91, low 47.11, close 47.27, volume 137,796; Sep 23: open 47.24, high 48.7, low 46.79, close 48.04, volume 213,252; Sep 24: open 48.3, high 49.45, low 48.24, close 49.09, volume 224,730; Sep 25: open 49.06, high 49.51, low 48.98, close 49.16, volume 161,316; Sep 28: open 49.31, high 49.89, low 48.72, close 49.37, volume 156,523; Sep 29: open 49.45, high 50.2, low 48.86, close 50.12, volume 191,854; Sep 30: open 50.11, high 50.38, low 48.73, close 49.36, volume 225,882; Oct 1: open 49.18, high 50.04, low 48.62, close 49.54, volume 185,118; Oct 2: open 49.66, high 50.97, low 49.23, close 50.74, volume 241,668 44 46 48 50 52 54 Aug 24 Aug 27 Sep 1 Sep 4 Sep 9 Sep 14 Sep 17 Sep 22 Sep 25 Sep 30 Aug 24: volume 142,231 Aug 25: volume 164,501 Aug 26: volume 150,140 Aug 27: volume 196,941 Aug 28: volume 151,263 Aug 31: volume 225,644 Sep 1: volume 174,425 Sep 2: volume 180,026 Sep 3: volume 178,789 Sep 4: volume 170,150 Sep 7: volume 205,128 Sep 8: volume 155,985 Sep 9: volume 182,264 Sep 10: volume 557,453 Sep 11: volume 257,803 Sep 14: volume 148,280 Sep 15: volume 164,157 Sep 16: volume 150,634 Sep 17: volume 168,321 Sep 18: volume 198,983 Sep 21: volume 156,975 Sep 22: volume 137,796 Sep 23: volume 213,252 Sep 24: volume 224,730 Sep 25: volume 161,316 Sep 28: volume 156,523 Sep 29: volume 191,854 Sep 30: volume 225,882 Oct 1: volume 185,118 Oct 2: volume 241,668 557.5K Aug 24: open 48.34, high 49.17, low 48.3, close 48.48, volume 142,231 Aug 25: open 48.5, high 48.94, low 47.68, close 48.28, volume 164,501 Aug 26: open 48.25, high 48.86, low 47.66, close 48.57, volume 150,140 Aug 27: open 48.75, high 49.33, low 48.38, close 49.27, volume 196,941 Aug 28: open 49.22, high 49.93, low 48.66, close 49.25, volume 151,263 Aug 31: open 49.03, high 50.11, low 48.73, close 49.92, volume 225,644 Sep 1: open 50.18, high 50.76, low 49.26, close 49.9, volume 174,425 Sep 2: open 49.61, high 50.72, low 49.11, close 50.14, volume 180,026 Sep 3: open 50.36, high 51.35, low 50, close 50.77, volume 178,789 Sep 4: open 50.66, high 51.86, low 49.98, close 51.19, volume 170,150 Sep 7: open 51.09, high 51.79, low 50.96, close 51.78, volume 205,128 Sep 8: open 51.87, high 52.65, low 51.82, close 51.99, volume 155,985 Sep 9: open 51.71, high 52.41, low 50.64, close 51.3, volume 182,264 Sep 10: open 51.37, high 51.51, low 46.75, close 46.89, volume 557,453 Sep 11: open 46.75, high 46.91, low 45.11, close 45.66, volume 257,803 Sep 14: open 45.56, high 46.35, low 45.12, close 45.75, volume 148,280 Sep 15: open 45.57, high 45.99, low 44.8, close 45.38, volume 164,157 Sep 16: open 45.47, high 45.86, low 44.79, close 45.74, volume 150,634 Sep 17: open 45.99, high 46.47, low 45.83, close 46.3, volume 168,321 Sep 18: open 46.57, high 47.84, low 46.3, close 47.38, volume 198,983 Sep 21: open 47.67, high 48.18, low 47.03, close 47.58, volume 156,975 Sep 22: open 47.34, high 47.91, low 47.11, close 47.27, volume 137,796 Sep 23: open 47.24, high 48.7, low 46.79, close 48.04, volume 213,252 Sep 24: open 48.3, high 49.45, low 48.24, close 49.09, volume 224,730 Sep 25: open 49.06, high 49.51, low 48.98, close 49.16, volume 161,316 Sep 28: open 49.31, high 49.89, low 48.72, close 49.37, volume 156,523 Sep 29: open 49.45, high 50.2, low 48.86, close 50.12, volume 191,854 Sep 30: open 50.11, high 50.38, low 48.73, close 49.36, volume 225,882 Oct 1: open 49.18, high 50.04, low 48.62, close 49.54, volume 185,118 Oct 2: open 49.66, high 50.97, low 49.23, close 50.74, volume 241,668