Skip to content

Latest commit

 

History

History
890 lines (848 loc) · 28.3 KB

README.md

File metadata and controls

890 lines (848 loc) · 28.3 KB

financial data

Original Demo

1

# # 10 May 2005
# #
# # Though gnuplot is primarily a scientific plotting program, it can do a great
# # job of plotting finance charts as well. The primary challenge is the irregular
# # nature of financial time series. Stocks don't trade every day, so when you set
# # the x-axis to time gaps appear for non-trading days. Investors and traders
# # generally prefer that these gaps be omitted. Another challenge is that finance
# # charts are best presented in semi-log form (log y-axis, linear x-axis),
# # but gnuplot wants to span decades in its log scaling, something that stocks
# # rarely do. These and other challenges are met in finance.dem, a short
# # demonstration script that proves that gnuplot can really shine in this area.
# #
# # gnuplot plays a central role in our work. Almost all the graphs in "Bollinger
# # on Bollinger Bands" were plotted by gnuplot, many gnuplot visuals have
# # appeared on CNBC, our in-house analytics use gnuplot for visual display and
# # The Capital Growth Letter relies heavily on gnuplot for its charts.
# #
# # Finally, gnuplot is yet another successful demonstration of a powerful idea,
# # open source programming. Thanks to all who made gnuplot possible from the
# # earliest days to the present and to all those who will contribute in the
# # future. (Special thanks to Hans-Bernhard Broeker whose patience helped me to
# # climb the grade and to Ethan Merritt whose recent contributions have been
# # invaluable to our work.)
# #
# # John Bollinger
# # www.BollingerBands.com
#
# # a demonstration of gnuplot finance plot styles
# # by John Bollinger, CFA, CMT
# # www.BollingerBands.com
# # [email protected]
#
# # data and indicators in finance.dat
# # data file layout:
# # date, open, high, low, close, volume,
# # 50-day moving average volume, Intraday Intensity,
# # 20-day moving average close,
# # upper Bollinger Band, lower Bollinger Band
#
# # last update: 8 May 2005
#
# reset
# # set label 1 "Demo of plotting financial data" at screen 0.5, screen 0.95 center
# set title "Demo of plotting financial data"
# set yrange [75:105]
# set ytics (105, 100, 95, 90, 85, 80)
# set xrange [50:253]
# set lmargin 9
# set rmargin 2
# plot 'finance.dat' using 0:5 notitle with lines

Numo.gnuplot do
  reset
  set title:"Demo of plotting financial data"
  set yrange:75..105
  set ytics:'(105, 100, 95, 90, 85, 80)'
  set xrange:50..253
  set lmargin:9
  set rmargin:2
  plot "'finance.dat'", using:[0,5], notitle:true, with:"lines"
end

603finance/001

2

# reset
# set title "Turn on grid"
# set yrange [75:105]
# set ytics (105, 100, 95, 90, 85, 80)
# set xrange [50:253]
# set lmargin 9
# set rmargin 2
# set grid
# plot 'finance.dat' using 0:5 notitle with lines

Numo.gnuplot do
  reset
  set title:"Turn on grid"
  set yrange:75..105
  set ytics:'(105, 100, 95, 90, 85, 80)'
  set xrange:50..253
  set lmargin:9
  set rmargin:2
  set :grid
  plot "'finance.dat'", using:[0,5], notitle:true, with:"lines"
end

603finance/002

3

# reset
# set title "Semi-log scaling"
# set yrange [75:105]
# set ytics (105, 100, 95, 90, 85, 80)
# set xrange [50:253]
# set lmargin 9
# set rmargin 2
# set grid
# set logscale y
# plot 'finance.dat' using 0:5 notitle with lines

Numo.gnuplot do
  reset
  set title:"Semi-log scaling"
  set yrange:75..105
  set ytics:'(105, 100, 95, 90, 85, 80)'
  set xrange:50..253
  set lmargin:9
  set rmargin:2
  set :grid
  set logscale:"y"
  plot "'finance.dat'", using:[0,5], notitle:true, with:"lines"
end

603finance/003

4

# reset
# set title "Finance bars"
# set yrange [75:105]
# set ytics (105, 100, 95, 90, 85, 80)
# set xrange [50:253]
# set lmargin 9
# set rmargin 2
# set grid
# set logscale y
# plot 'finance.dat' using 0:2:3:4:5 notitle with financebars lt 8

Numo.gnuplot do
  reset
  set title:"Finance bars"
  set yrange:75..105
  set ytics:'(105, 100, 95, 90, 85, 80)'
  set xrange:50..253
  set lmargin:9
  set rmargin:2
  set :grid
  set logscale:"y"
  plot "'finance.dat'", using:[0,2,3,4,5], notitle:true, with:"financebars", lt:8
end

603finance/004

5

# reset
# set title "Bollinger Bands"
# set yrange [75:105]
# set ytics (105, 100, 95, 90, 85, 80)
# set xrange [50:253]
# set lmargin 9
# set rmargin 2
# set grid
# set logscale y
# plot 'finance.dat' using 0:2:3:4:5 notitle with financebars lt 8, \
# 'finance.dat' using 0:9 notitle with lines lt 3, \
# 'finance.dat' using 0:10 notitle with lines lt 1, \
# 'finance.dat' using 0:11 notitle with lines lt 2

Numo.gnuplot do
  reset
  set title:"Bollinger Bands"
  set yrange:75..105
  set ytics:'(105, 100, 95, 90, 85, 80)'
  set xrange:50..253
  set lmargin:9
  set rmargin:2
  set :grid
  set logscale:"y"
  plot ["'finance.dat'", using:[0,2,3,4,5], notitle:true, with:"financebars", lt:8],
    ["'finance.dat'", using:[0,9], notitle:true, with:"lines", lt:3],
    ["'finance.dat'", using:[0,10], notitle:true, with:"lines", lt:1],
    ["'finance.dat'", using:[0,11], notitle:true, with:"lines", lt:2]
end

603finance/005

6

# reset
# set title "Overlay an indicator on a separate scale"
# set yrange [75:105]
# set ytics (105, 100, 95, 90, 85, 80)
# set xrange [50:253]
# set lmargin 9
# set rmargin 2
# set grid
# set logscale y
# plot 'finance.dat' using 0:2:3:4:5 notitle with financebars lt 8, \
# 'finance.dat' using 0:9 notitle with lines lt 3, \
# 'finance.dat' using 0:10 notitle with lines lt 1, \
# 'finance.dat' using 0:11 notitle with lines lt 2, \
# 'finance.dat' using 0:8 axes x1y2 notitle with lines lt 4

Numo.gnuplot do
  reset
  set title:"Overlay an indicator on a separate scale"
  set yrange:75..105
  set ytics:'(105, 100, 95, 90, 85, 80)'
  set xrange:50..253
  set lmargin:9
  set rmargin:2
  set :grid
  set logscale:"y"
  plot ["'finance.dat'", using:[0,2,3,4,5], notitle:true, with:"financebars", lt:8],
    ["'finance.dat'", using:[0,9], notitle:true, with:"lines", lt:3],
    ["'finance.dat'", using:[0,10], notitle:true, with:"lines", lt:1],
    ["'finance.dat'", using:[0,11], notitle:true, with:"lines", lt:2],
    ["'finance.dat'", using:[0,8], axes:"x1y2", notitle:true, with:"lines", lt:4]
end

603finance/006

7

# reset
# set title "Add some boiler plate"
# set label "Courtesy of Bollinger Capital" at graph 0.01, 0.07
# set label "  www.BollingerBands.com" at graph 0.01, 0.03
# set yrange [75:105]
# set ytics (105, 100, 95, 90, 85, 80)
# set xrange [50:253]
# set lmargin 9
# set rmargin 2
# set grid
# set logscale y
# plot 'finance.dat' using 0:2:3:4:5 notitle with financebars lt 8, \
# 'finance.dat' using 0:9 notitle with lines lt 3, \
# 'finance.dat' using 0:10 notitle with lines lt 1, \
# 'finance.dat' using 0:11 notitle with lines lt 2, \
# 'finance.dat' using 0:8 axes x1y2 notitle with lines lt 4

Numo.gnuplot do
  reset
  set title:"Add some boiler plate"
  set label:"Courtesy of Bollinger Capital", at_graph:[0.01,0.07]
  set label:"  www.BollingerBands.com", at_graph:[0.01,0.03]
  set yrange:75..105
  set ytics:'(105, 100, 95, 90, 85, 80)'
  set xrange:50..253
  set lmargin:9
  set rmargin:2
  set :grid
  set logscale:"y"
  plot ["'finance.dat'", using:[0,2,3,4,5], notitle:true, with:"financebars", lt:8],
    ["'finance.dat'", using:[0,9], notitle:true, with:"lines", lt:3],
    ["'finance.dat'", using:[0,10], notitle:true, with:"lines", lt:1],
    ["'finance.dat'", using:[0,11], notitle:true, with:"lines", lt:2],
    ["'finance.dat'", using:[0,8], axes:"x1y2", notitle:true, with:"lines", lt:4]
end

603finance/007

8

# reset
# set label "Courtesy of Bollinger Capital" at graph 0.01, 0.07
# set label "  www.BollingerBands.com" at graph 0.01, 0.03
# set logscale y
# set yrange [75:105]
# set ytics (105, 100, 95, 90, 85, 80)
# set xrange [50:253]
# set grid
# set lmargin 9
# set rmargin 2
# set format x ""
# set xtics (66, 87, 109, 130, 151, 174, 193, 215, 235)
# set multiplot
# set size 1, 0.7
# set origin 0, 0.3
# set bmargin 0
# set title "Add volume in a separate clip"
# plot 'finance.dat' using 0:2:3:4:5 notitle with financebars lt 8, \
# 'finance.dat' using 0:9 notitle with lines lt 3, \
# 'finance.dat' using 0:10 notitle with lines lt 1, \
# 'finance.dat' using 0:11 notitle with lines lt 2, \
# 'finance.dat' using 0:8 axes x1y2 notitle with lines lt 4
# unset label 1
# unset label 2
# unset title
# set bmargin
# set format x
# set size 1.0, 0.3
# set origin 0.0, 0.0
# set tmargin 0
# unset logscale y
# set autoscale y
# set format y "%1.0f"
# set ytics 500
# plot 'finance.dat' using 0:($6/10000) notitle with impulses lt 3
# unset multiplot

Numo.gnuplot do
  reset
  set label:"Courtesy of Bollinger Capital", at_graph:[0.01,0.07]
  set label:"  www.BollingerBands.com", at_graph:[0.01,0.03]
  set logscale:"y"
  set yrange:75..105
  set ytics:'(105, 100, 95, 90, 85, 80)'
  set xrange:50..253
  set :grid
  set lmargin:9
  set rmargin:2
  set format_x:""
  set xtics:'(66, 87, 109, 130, 151, 174, 193, 215, 235)'
  set :multiplot
  set size:[1,0.7]
  set origin:[0,0.3]
  set bmargin:0
  set title:"Add volume in a separate clip"
  plot ["'finance.dat'", using:[0,2,3,4,5], notitle:true, with:"financebars", lt:8],
    ["'finance.dat'", using:[0,9], notitle:true, with:"lines", lt:3],
    ["'finance.dat'", using:[0,10], notitle:true, with:"lines", lt:1],
    ["'finance.dat'", using:[0,11], notitle:true, with:"lines", lt:2],
    ["'finance.dat'", using:[0,8], axes:"x1y2", notitle:true, with:"lines", lt:4]
  unset label:1
  unset label:2
  unset :title
  set :bmargin
  set format:"x"
  set size:[1.0,0.3]
  set origin:[0.0,0.0]
  set tmargin:0
  unset logscale:"y"
  set autoscale:"y"
  set format_y:"%1.0f"
  set ytics:500
  plot "'finance.dat'", using:'0:($6/10000)', notitle:true, with:"impulses", lt:3
  unset :multiplot
end

603finance/008

9

# reset
# set label "Courtesy of Bollinger Capital" at graph 0.01, 0.07
# set label "  www.BollingerBands.com" at graph 0.01, 0.03
# set logscale y
# set yrange [75:105]
# set ytics (105, 100, 95, 90, 85, 80)
# set xrange [50:253]
# set grid
# set lmargin 9
# set rmargin 2
# set format x ""
# set xtics (66, 87, 109, 130, 151, 174, 193, 215, 235)
# set multiplot
# set title "Add average volume"
# set size 1, 0.7
# set origin 0, 0.3
# set bmargin 0
# plot 'finance.dat' using 0:2:3:4:5 notitle with financebars lt 8, \
# 'finance.dat' using 0:9 notitle with lines lt 3, \
# 'finance.dat' using 0:10 notitle with lines lt 1, \
# 'finance.dat' using 0:11 notitle with lines lt 2, \
# 'finance.dat' using 0:8 axes x1y2 notitle with lines lt 4
# unset label 1
# unset label 2
# unset title
# set bmargin
# set format x
# set size 1.0, 0.3
# set origin 0.0, 0.0
# set tmargin 0
# unset logscale y
# set autoscale y
# set format y "%1.0f"
# set ytics 500
# plot 'finance.dat' using 0:($6/10000) notitle with impulses lt 3, \
# 'finance.dat' using 0:($7/10000) notitle with lines lt 1
# unset multiplot

Numo.gnuplot do
  reset
  set label:"Courtesy of Bollinger Capital", at_graph:[0.01,0.07]
  set label:"  www.BollingerBands.com", at_graph:[0.01,0.03]
  set logscale:"y"
  set yrange:75..105
  set ytics:'(105, 100, 95, 90, 85, 80)'
  set xrange:50..253
  set :grid
  set lmargin:9
  set rmargin:2
  set format_x:""
  set xtics:'(66, 87, 109, 130, 151, 174, 193, 215, 235)'
  set :multiplot
  set title:"Add average volume"
  set size:[1,0.7]
  set origin:[0,0.3]
  set bmargin:0
  plot ["'finance.dat'", using:[0,2,3,4,5], notitle:true, with:"financebars", lt:8],
    ["'finance.dat'", using:[0,9], notitle:true, with:"lines", lt:3],
    ["'finance.dat'", using:[0,10], notitle:true, with:"lines", lt:1],
    ["'finance.dat'", using:[0,11], notitle:true, with:"lines", lt:2],
    ["'finance.dat'", using:[0,8], axes:"x1y2", notitle:true, with:"lines", lt:4]
  unset label:1
  unset label:2
  unset :title
  set :bmargin
  set format:"x"
  set size:[1.0,0.3]
  set origin:[0.0,0.0]
  set tmargin:0
  unset logscale:"y"
  set autoscale:"y"
  set format_y:"%1.0f"
  set ytics:500
  plot ["'finance.dat'", using:'0:($6/10000)', notitle:true, with:"impulses", lt:3],
    ["'finance.dat'", using:'0:($7/10000)', notitle:true, with:"lines", lt:1]
  unset :multiplot
end

603finance/009

10

# reset
# set label "Courtesy of Bollinger Capital" at graph 0.01, 0.07
# set label "  www.BollingerBands.com" at graph 0.01, 0.03
# set logscale y
# set yrange [75:105]
# set ytics (105, 100, 95, 90, 85, 80)
# set xrange [50:253]
# set grid
# set lmargin 9
# set rmargin 2
# set format x ""
# set xtics (66, 87, 109, 130, 151, 174, 193, 215, 235)
# set multiplot
# set title "Add date labels to the x axis"
# set size 1, 0.7
# set origin 0, 0.3
# set bmargin 0
# plot 'finance.dat' using 0:2:3:4:5 notitle with financebars lt 8, \
# 'finance.dat' using 0:9 notitle with lines lt 3, \
# 'finance.dat' using 0:10 notitle with lines lt 1, \
# 'finance.dat' using 0:11 notitle with lines lt 2, \
# 'finance.dat' using 0:8 axes x1y2 notitle with lines lt 4
# unset label 1
# unset label 2
# unset title
# set bmargin
# set format x
# set size 1.0, 0.3
# set origin 0.0, 0.0
# set tmargin 0
# unset logscale y
# set autoscale y
# set format y "%1.0f"
# set ytics 500
# set xtics ("6/03" 66, "7/03" 87, "8/03" 109, "9/03" 130, "10/03" 151, "11/03" 174, "12/03" 193, "1/04" 215, "2/04" 235)
# plot 'finance.dat' using 0:($6/10000) notitle with impulses lt 3, \
# 'finance.dat' using 0:($7/10000) notitle with lines lt 1
# unset multiplot

Numo.gnuplot do
  reset
  set label:"Courtesy of Bollinger Capital", at_graph:[0.01,0.07]
  set label:"  www.BollingerBands.com", at_graph:[0.01,0.03]
  set logscale:"y"
  set yrange:75..105
  set ytics:'(105, 100, 95, 90, 85, 80)'
  set xrange:50..253
  set :grid
  set lmargin:9
  set rmargin:2
  set format_x:""
  set xtics:'(66, 87, 109, 130, 151, 174, 193, 215, 235)'
  set :multiplot
  set title:"Add date labels to the x axis"
  set size:[1,0.7]
  set origin:[0,0.3]
  set bmargin:0
  plot ["'finance.dat'", using:[0,2,3,4,5], notitle:true, with:"financebars", lt:8],
    ["'finance.dat'", using:[0,9], notitle:true, with:"lines", lt:3],
    ["'finance.dat'", using:[0,10], notitle:true, with:"lines", lt:1],
    ["'finance.dat'", using:[0,11], notitle:true, with:"lines", lt:2],
    ["'finance.dat'", using:[0,8], axes:"x1y2", notitle:true, with:"lines", lt:4]
  unset label:1
  unset label:2
  unset :title
  set :bmargin
  set format:"x"
  set size:[1.0,0.3]
  set origin:[0.0,0.0]
  set tmargin:0
  unset logscale:"y"
  set autoscale:"y"
  set format_y:"%1.0f"
  set ytics:500
  set xtics:'("6/03" 66, "7/03" 87, "8/03" 109, "9/03" 130, "10/03" 151, "11/03" 174, "12/03" 193, "1/04" 215, "2/04" 235)'
  plot ["'finance.dat'", using:'0:($6/10000)', notitle:true, with:"impulses", lt:3],
    ["'finance.dat'", using:'0:($7/10000)', notitle:true, with:"lines", lt:1]
  unset :multiplot
end

603finance/010

11

# reset
# set label "Courtesy of Bollinger Capital" at graph 0.01, 0.07
# set label "  www.BollingerBands.com" at graph 0.01, 0.03
# set logscale y
# set yrange [75:105]
# set ytics (105, 100, 95, 90, 85, 80)
# set xrange [50:253]
# set grid
# set lmargin 9
# set rmargin 2
# set format x ""
# set xtics (66, 87, 109, 130, 151, 174, 193, 215, 235)
# set multiplot
# set title "Add labels for each clip"
# set size 1, 0.7
# set origin 0, 0.3
# set bmargin 0
# set ylabel "price" offset 1
# plot 'finance.dat' using 0:2:3:4:5 notitle with financebars lt 8, \
# 'finance.dat' using 0:9 notitle with lines lt 3, \
# 'finance.dat' using 0:10 notitle with lines lt 1, \
# 'finance.dat' using 0:11 notitle with lines lt 2, \
# 'finance.dat' using 0:8 axes x1y2 notitle with lines lt 4
# unset label 1
# unset label 2
# unset title
# set bmargin
# set format x
# set size 1.0, 0.3
# set origin 0.0, 0.0
# set tmargin 0
# unset logscale y
# set autoscale y
# set format y "%1.0f"
# set ytics 500
# set xtics ("6/03" 66, "7/03" 87, "8/03" 109, "9/03" 130, "10/03" 151, "11/03" 174, "12/03" 193, "1/04" 215, "2/04" 235)
# set ylabel "volume (0000)" offset 1
# plot 'finance.dat' using 0:($6/10000) notitle with impulses lt 3, \
# 'finance.dat' using 0:($7/10000) notitle with lines lt 1
# unset multiplot

Numo.gnuplot do
  reset
  set label:"Courtesy of Bollinger Capital", at_graph:[0.01,0.07]
  set label:"  www.BollingerBands.com", at_graph:[0.01,0.03]
  set logscale:"y"
  set yrange:75..105
  set ytics:'(105, 100, 95, 90, 85, 80)'
  set xrange:50..253
  set :grid
  set lmargin:9
  set rmargin:2
  set format_x:""
  set xtics:'(66, 87, 109, 130, 151, 174, 193, 215, 235)'
  set :multiplot
  set title:"Add labels for each clip"
  set size:[1,0.7]
  set origin:[0,0.3]
  set bmargin:0
  set ylabel:"price", offset:1
  plot ["'finance.dat'", using:[0,2,3,4,5], notitle:true, with:"financebars", lt:8],
    ["'finance.dat'", using:[0,9], notitle:true, with:"lines", lt:3],
    ["'finance.dat'", using:[0,10], notitle:true, with:"lines", lt:1],
    ["'finance.dat'", using:[0,11], notitle:true, with:"lines", lt:2],
    ["'finance.dat'", using:[0,8], axes:"x1y2", notitle:true, with:"lines", lt:4]
  unset label:1
  unset label:2
  unset :title
  set :bmargin
  set format:"x"
  set size:[1.0,0.3]
  set origin:[0.0,0.0]
  set tmargin:0
  unset logscale:"y"
  set autoscale:"y"
  set format_y:"%1.0f"
  set ytics:500
  set xtics:'("6/03" 66, "7/03" 87, "8/03" 109, "9/03" 130, "10/03" 151, "11/03" 174, "12/03" 193, "1/04" 215, "2/04" 235)'
  set ylabel:"volume (0000)", offset:1
  plot ["'finance.dat'", using:'0:($6/10000)', notitle:true, with:"impulses", lt:3],
    ["'finance.dat'", using:'0:($7/10000)', notitle:true, with:"lines", lt:1]
  unset :multiplot
end

603finance/011

12

# reset
# set label 1 "Acme Widgets" at graph 0.5, graph 0.9 center front
# set label 2 "Courtesy of Bollinger Capital" at graph 0.01, 0.07
# set label 3 "  www.BollingerBands.com" at graph 0.01, 0.03
# set logscale y
# set yrange [75:105]
# set ytics (105, 100, 95, 90, 85, 80)
# set xrange [50:253]
# set grid
# set lmargin 9
# set rmargin 2
# set format x ""
# set xtics (66, 87, 109, 130, 151, 174, 193, 215, 235)
# set multiplot
# set title "Add a title"
# set size 1, 0.7
# set origin 0, 0.3
# set bmargin 0
# set ylabel "price" offset 1
# plot 'finance.dat' using 0:2:3:4:5 notitle with financebars lt 8, \
# 'finance.dat' using 0:9 notitle with lines lt 3, \
# 'finance.dat' using 0:10 notitle with lines lt 1, \
# 'finance.dat' using 0:11 notitle with lines lt 2, \
# 'finance.dat' using 0:8 axes x1y2 notitle with lines lt 4
# unset label 1
# unset label 2
# unset label 3
# unset title
# set bmargin
# set format x
# set size 1.0, 0.3
# set origin 0.0, 0.0
# set tmargin 0
# unset logscale y
# set autoscale y
# set format y "%1.0f"
# set ytics 500
# set xtics ("6/03" 66, "7/03" 87, "8/03" 109, "9/03" 130, "10/03" 151, "11/03" 174, "12/03" 193, "1/04" 215, "2/04" 235)
# set ylabel "volume (0000)" offset 1
# plot 'finance.dat' using 0:($6/10000) notitle with impulses lt 3, \
# 'finance.dat' using 0:($7/10000) notitle with lines lt 1
# unset multiplot

Numo.gnuplot do
  reset
  set :label, 1, "Acme Widgets", at:"graph 0.5, graph 0.9", center:true, front:true
  set :label, 2, "Courtesy of Bollinger Capital", at_graph:[0.01,0.07]
  set :label, 3, "  www.BollingerBands.com", at_graph:[0.01,0.03]
  set logscale:"y"
  set yrange:75..105
  set ytics:'(105, 100, 95, 90, 85, 80)'
  set xrange:50..253
  set :grid
  set lmargin:9
  set rmargin:2
  set format_x:""
  set xtics:'(66, 87, 109, 130, 151, 174, 193, 215, 235)'
  set :multiplot
  set title:"Add a title"
  set size:[1,0.7]
  set origin:[0,0.3]
  set bmargin:0
  set ylabel:"price", offset:1
  plot ["'finance.dat'", using:[0,2,3,4,5], notitle:true, with:"financebars", lt:8],
    ["'finance.dat'", using:[0,9], notitle:true, with:"lines", lt:3],
    ["'finance.dat'", using:[0,10], notitle:true, with:"lines", lt:1],
    ["'finance.dat'", using:[0,11], notitle:true, with:"lines", lt:2],
    ["'finance.dat'", using:[0,8], axes:"x1y2", notitle:true, with:"lines", lt:4]
  unset label:1
  unset label:2
  unset label:3
  unset :title
  set :bmargin
  set format:"x"
  set size:[1.0,0.3]
  set origin:[0.0,0.0]
  set tmargin:0
  unset logscale:"y"
  set autoscale:"y"
  set format_y:"%1.0f"
  set ytics:500
  set xtics:'("6/03" 66, "7/03" 87, "8/03" 109, "9/03" 130, "10/03" 151, "11/03" 174, "12/03" 193, "1/04" 215, "2/04" 235)'
  set ylabel:"volume (0000)", offset:1
  plot ["'finance.dat'", using:'0:($6/10000)', notitle:true, with:"impulses", lt:3],
    ["'finance.dat'", using:'0:($7/10000)', notitle:true, with:"lines", lt:1]
  unset :multiplot
end

603finance/012

13

# reset
# set label 1 "Acme Widgets" at graph 0.5, graph 0.9 center front
# set label 2 "Courtesy of Bollinger Capital" at graph 0.01, 0.07
# set label 3 "  www.BollingerBands.com" at graph 0.01, 0.03
# set logscale y
# set yrange [75:105]
# set ytics (105, 100, 95, 90, 85, 80)
# set xrange [50:253]
# set grid
# set lmargin 9
# set rmargin 2
# set format x ""
# set xtics (66, 87, 109, 130, 151, 174, 193, 215, 235)
# set multiplot
# set title "Change to candlesticks"
# set size 1, 0.7
# set origin 0, 0.3
# set bmargin 0
# set ylabel "price" offset 1
# plot 'finance.dat' using 0:2:3:4:5 notitle with candlesticks lt 8, \
# 'finance.dat' using 0:9 notitle with lines lt 3, \
# 'finance.dat' using 0:10 notitle with lines lt 1, \
# 'finance.dat' using 0:11 notitle with lines lt 2, \
# 'finance.dat' using 0:8 axes x1y2 notitle with lines lt 4
# unset label 1
# unset label 2
# unset label 3
# unset title
# set bmargin
# set format x
# set size 1.0, 0.3
# set origin 0.0, 0.0
# set tmargin 0
# unset logscale y
# set autoscale y
# set format y "%1.0f"
# set ytics 500
# set xtics ("6/03" 66, "7/03" 87, "8/03" 109, "9/03" 130, "10/03" 151, "11/03" 174, "12/03" 193, "1/04" 215, "2/04" 235)
# set ylabel "volume (0000)" offset 1
# plot 'finance.dat' using 0:($6/10000) notitle with impulses lt 3, \
# 'finance.dat' using 0:($7/10000) notitle with lines lt 1
# unset multiplot

Numo.gnuplot do
  reset
  set :label, 1, "Acme Widgets", at:"graph 0.5, graph 0.9", center:true, front:true
  set :label, 2, "Courtesy of Bollinger Capital", at_graph:[0.01,0.07]
  set :label, 3, "  www.BollingerBands.com", at_graph:[0.01,0.03]
  set logscale:"y"
  set yrange:75..105
  set ytics:'(105, 100, 95, 90, 85, 80)'
  set xrange:50..253
  set :grid
  set lmargin:9
  set rmargin:2
  set format_x:""
  set xtics:'(66, 87, 109, 130, 151, 174, 193, 215, 235)'
  set :multiplot
  set title:"Change to candlesticks"
  set size:[1,0.7]
  set origin:[0,0.3]
  set bmargin:0
  set ylabel:"price", offset:1
  plot ["'finance.dat'", using:[0,2,3,4,5], notitle:true, with:"candlesticks", lt:8],
    ["'finance.dat'", using:[0,9], notitle:true, with:"lines", lt:3],
    ["'finance.dat'", using:[0,10], notitle:true, with:"lines", lt:1],
    ["'finance.dat'", using:[0,11], notitle:true, with:"lines", lt:2],
    ["'finance.dat'", using:[0,8], axes:"x1y2", notitle:true, with:"lines", lt:4]
  unset label:1
  unset label:2
  unset label:3
  unset :title
  set :bmargin
  set format:"x"
  set size:[1.0,0.3]
  set origin:[0.0,0.0]
  set tmargin:0
  unset logscale:"y"
  set autoscale:"y"
  set format_y:"%1.0f"
  set ytics:500
  set xtics:'("6/03" 66, "7/03" 87, "8/03" 109, "9/03" 130, "10/03" 151, "11/03" 174, "12/03" 193, "1/04" 215, "2/04" 235)'
  set ylabel:"volume (0000)", offset:1
  plot ["'finance.dat'", using:'0:($6/10000)', notitle:true, with:"impulses", lt:3],
    ["'finance.dat'", using:'0:($7/10000)', notitle:true, with:"lines", lt:1]
  unset :multiplot
end

603finance/013

14

# reset
# set label 1 "Acme Widgets" at graph 0.5, graph 0.9 center front
# set label 2 "Courtesy of Bollinger Capital" at graph 0.01, 0.07
# set label 3 "  www.BollingerBands.com" at graph 0.01, 0.03
# set logscale y
# set yrange [75:105]
# set ytics (105, 100, 95, 90, 85, 80)
# set xrange [50:253]
# set grid
# set lmargin 9
# set rmargin 2
# set format x ""
# set xtics (66, 87, 109, 130, 151, 174, 193, 215, 235)
# set multiplot
# set title "Change to Bollinger Boxes"
# set size 1, 0.7
# set origin 0, 0.3
# set bmargin 0
# set ylabel "price" offset 1
# plot 'finance.dat' using 0:3:3:($2>$5?$2:$5):($2>$5?$2:$5) notitle with candlesticks lt 3, \
# 'finance.dat' using 0:($2<$5?$5:1/0):($2<$5?$5:1/0):($2<$5?$2:1/0):($2<$5?$2:1/0) notitle with candlesticks lt 2, \
# 'finance.dat' using 0:($2>$5?$2:1/0):($2>$5?$2:1/0):($2>$5?$5:1/0):($2>$5?$5:1/0) notitle with candlesticks lt 1, \
# 'finance.dat' using 0:($2<$5?$2:$5):($2<$5?$2:$5):4:4 notitle with candlesticks lt 3, \
# 'finance.dat' using 0:9 notitle with lines lt 3, \
# 'finance.dat' using 0:10 notitle with lines lt 1, \
# 'finance.dat' using 0:11 notitle with lines lt 2, \
# 'finance.dat' using 0:8 axes x1y2 notitle with lines lt 4
# unset label 1
# unset label 2
# unset label 3
# unset title
# set bmargin
# set format x
# set size 1.0, 0.3
# set origin 0.0, 0.0
# set tmargin 0
# unset logscale y
# set autoscale y
# set format y "%1.0f"
# set ytics 500
# set xtics ("6/03" 66, "7/03" 87, "8/03" 109, "9/03" 130, "10/03" 151, "11/03" 174, "12/03" 193, "1/04" 215, "2/04" 235)
# set ylabel "volume (0000)" offset 1
# plot 'finance.dat' using 0:($6/10000) notitle with impulses lt 3, \
# 'finance.dat' using 0:($7/10000) notitle with lines lt 1
# unset multiplot

Numo.gnuplot do
  reset
  set :label, 1, "Acme Widgets", at:"graph 0.5, graph 0.9", center:true, front:true
  set :label, 2, "Courtesy of Bollinger Capital", at_graph:[0.01,0.07]
  set :label, 3, "  www.BollingerBands.com", at_graph:[0.01,0.03]
  set logscale:"y"
  set yrange:75..105
  set ytics:'(105, 100, 95, 90, 85, 80)'
  set xrange:50..253
  set :grid
  set lmargin:9
  set rmargin:2
  set format_x:""
  set xtics:'(66, 87, 109, 130, 151, 174, 193, 215, 235)'
  set :multiplot
  set title:"Change to Bollinger Boxes"
  set size:[1,0.7]
  set origin:[0,0.3]
  set bmargin:0
  set ylabel:"price", offset:1
  plot ["'finance.dat'", using:'0:3:3:($2>$5?$2:$5):($2>$5?$2:$5)', notitle:true, with:"candlesticks", lt:3],
    ["'finance.dat'", using:'0:($2<$5?$5:1/0):($2<$5?$5:1/0):($2<$5?$2:1/0):($2<$5?$2:1/0)', notitle:true, with:"candlesticks", lt:2],
    ["'finance.dat'", using:'0:($2>$5?$2:1/0):($2>$5?$2:1/0):($2>$5?$5:1/0):($2>$5?$5:1/0)', notitle:true, with:"candlesticks", lt:1],
    ["'finance.dat'", using:'0:($2<$5?$2:$5):($2<$5?$2:$5):4:4', notitle:true, with:"candlesticks", lt:3],
    ["'finance.dat'", using:[0,9], notitle:true, with:"lines", lt:3],
    ["'finance.dat'", using:[0,10], notitle:true, with:"lines", lt:1],
    ["'finance.dat'", using:[0,11], notitle:true, with:"lines", lt:2],
    ["'finance.dat'", using:[0,8], axes:"x1y2", notitle:true, with:"lines", lt:4]
  unset label:1
  unset label:2
  unset label:3
  unset :title
  set :bmargin
  set format:"x"
  set size:[1.0,0.3]
  set origin:[0.0,0.0]
  set tmargin:0
  unset logscale:"y"
  set autoscale:"y"
  set format_y:"%1.0f"
  set ytics:500
  set xtics:'("6/03" 66, "7/03" 87, "8/03" 109, "9/03" 130, "10/03" 151, "11/03" 174, "12/03" 193, "1/04" 215, "2/04" 235)'
  set ylabel:"volume (0000)", offset:1
  plot ["'finance.dat'", using:'0:($6/10000)', notitle:true, with:"impulses", lt:3],
    ["'finance.dat'", using:'0:($7/10000)', notitle:true, with:"lines", lt:1]
  unset :multiplot
end

603finance/014