forked from matplotlib/matplotlib
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdata_helper.py
51 lines (40 loc) · 1.33 KB
/
data_helper.py
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
41
42
43
44
45
46
47
48
49
50
51
#!/usr/bin/env python
# Some functions to load a return data for the plot demos
from matplotlib.numerix import fromstring, argsort, take, array
def get_two_stock_data():
"""
load stock time and price data for two stocks The return values
(d1,p1,d2,p2) are the trade time (in days) and prices for stocks 1
and 2 (intc and aapl)
"""
ticker1, ticker2 = 'INTC', 'AAPL'
M1 = fromstring( file('data/%s.dat' % ticker1, 'rb').read(), 'd')
M1 = M1.resize( (M1.shape[0]/2,2) )
M2 = fromstring( file('data/%s.dat' % ticker2, 'rb').read(), 'd')
M2 = M2.resize( (M2.shape[0]/2,2) )
d1, p1 = M1[:,0], M1[:,1]
d2, p2 = M2[:,0], M2[:,1]
return (d1,p1,d2,p2)
def get_daily_data():
"""
return stock1 and stock2 instances, each of which have attributes
open, high, low, close, volume
as numeric arrays
"""
class C: pass
def get_ticker(ticker):
vals = []
lines = file( 'data/%s.csv' % ticker ).readlines()
for line in lines[1:]:
vals.append([float(val) for val in line.split(',')[1:]])
M = array(vals)
c = C()
c.open = M[:,0]
c.high = M[:,1]
c.low = M[:,2]
c.close = M[:,3]
c.volume = M[:,4]
return c
c1 = get_ticker('intc')
c2 = get_ticker('msft')
return c1, c2