Menu

[r494]: / trunk / htdocs / examples / finance_demo.py  Maximize  Restore  History

Download this file

42 lines (31 with data), 1.4 kB

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/usr/bin/env python
from matplotlib.matlab import *
from matplotlib.dates import PyDatetimeConverter, MONDAY
from matplotlib.ticker import DateFormatter, WeekdayLocator, HourLocator, DayLocator
from matplotlib.finance import quotes_historical_yahoo, candlestick,\
plot_day_summary
import datetime
# you can specify dates in any format you have a converter for.
# matplotlib will convert everything under the hood to seconds since
# the epoch, but you shouldn't have to deal with this
date1 = datetime.date( 2004, 2, 1 )
date2 = datetime.date( 2004, 4, 12 )
# quotes in Eastern time zone
converter = PyDatetimeConverter()
mondays = WeekdayLocator(MONDAY) # major ticks on the mondays
hours = DayLocator() # minor ticks on the days
weekFormatter = DateFormatter('%b %d') # Eg, Jan 12
dayFormatter = DateFormatter('%d') # Eg, 12
quotes = quotes_historical_yahoo(
'INTC', date1, date2, converter)
if not quotes:
raise SystemExit
ax = subplot(111)
ax.xaxis.set_major_locator(mondays)
ax.xaxis.set_minor_locator(hours)
ax.xaxis.set_major_formatter(weekFormatter)
#ax.xaxis.set_minor_formatter(dayFormatter)
plot_day_summary(ax, quotes, ticksize=3, converter=converter)
#candlestick(ax, quotes, width=0.6, converter=converter)
set( gca().get_xticklabels(), 'rotation', 45, 'horizontalalignment', 'right')
show()
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.