DMelt:Finance/Financial Charts
From HandWiki
Member
Financial charts
In Sect. Visualization canvases discussed some method to visualize data. Now we show some more specific charts useful for financial market.
CandleStick chart
Market forecasting simply make use of the daily closing price. The following five pieces of information, listed here, are of particular interest to the technical analyst.
Opening Price Closing Price Day High Day Low Volume
Using more than just the daily closing price allows the analyst to capture the state of the market. Read this article about this chart. Read Candlestick chart article.
Let us consider a small Python script which generate data for CandleStick chart and show it:
from java.util import *
from org.jfree.chart import ChartFactory,ChartPanel
from org.jfree.data.xy import DefaultHighLowDataset
from org.jfree.ui import RefineryUtilities
from java.lang import Math
from java.awt import *
from javax.swing import *
def createData(year, month, date):
calendar = Calendar.getInstance()
calendar.set(year, month - 1, date)
return calendar.getTime()
date = []; high = []; low = []; open = []; close = []; volume = []
calendar = Calendar.getInstance();
calendar.set(2008, 5, 1);
for i in range(15):
date.append(createData(2008, 8, i + 1))
high.append(30 + Math.round(10) + (Math.random() * 20.0))
low.append(30 + Math.round(10) + (Math.random() * 20.0))
open.append(10 + Math.round(10) + (Math.random() * 20.0))
close.append(10 + Math.round(10) + (Math.random() * 20.0))
volume.append(10.0 + (Math.random() * 20.0))
data = DefaultHighLowDataset("", date, high, low, open, close, volume)
# create a chart
chart = ChartFactory.createCandlestickChart( "Candlestick Demo", "Time", "Price", data, False)
chartPanel = ChartPanel(chart)
chartPanel.setPreferredSize(Dimension(600, 350))
# put it into a frame
frame=JFrame("CandlestickChart")
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE)
frame.setContentPane(chartPanel)
frame.pack()
RefineryUtilities.centerFrameOnScreen(frame)
frame.setVisible(True)
The output will look as this: