1 import tables as pt
2 import time
3
4
5
7 symbol = pt.StringCol(30)
8 exchange = pt.StringCol(10)
9 adj_high = pt.Float32Col()
10 adj_low = pt.Float32Col()
11 adj_open = pt.Float32Col()
12 adj_close = pt.Float32Col()
13 close = pt.Float32Col()
14 volume = pt.Int32Col()
15 timestamp = pt.Time64Col()
16 date = pt.Int32Col()
17 interval = pt.Time64Col()
18
20 print "In the constructor"
21
22
24 import random
25 random.seed(1)
26
27 stocks = []
28 for i in range(30):
29 stocks.append('stock%.6i'%i)
30
31 h5f = pt.openFile('defaultPytablesFile.h5', mode = "w")
32 group = h5f.createGroup("/", 'StrategyData')
33 table = h5f.createTable(group, 'StrategyData', StrategyDataModel)
34 row = table.row
35
36 for i in range(100):
37 j = 0
38 for stock in stocks:
39 adjOpen = random.random() * random.randint(1,100)
40 adjClose = random.random() * random.randint(1,100)
41 row['exchange'] = 'NYSE'
42 row['symbol'] = stock
43 row['adj_open'] = adjOpen
44 row['adj_close'] = adjClose
45 row['adj_high'] = max(adjOpen,adjClose) * random.randint(1,5)
46 row['adj_low'] = min(adjOpen,adjClose) / random.randint(1,5)
47 row['close'] = adjClose
48 row['volume'] = random.randint(1000,10000)
49 row['timestamp'] = i*86400
50 row['when_available'] = i*86400
51 row['interval'] = 86400
52 row.append()
53 table.flush()
54 if i%10==0:
55 print i,
56 if i%100==0:
57 print ''
58 h5f.close()
59
60