-
Notifications
You must be signed in to change notification settings - Fork 19
Expand file tree
/
Copy pathmain.py
More file actions
42 lines (30 loc) · 993 Bytes
/
Copy pathmain.py
File metadata and controls
42 lines (30 loc) · 993 Bytes
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
import sys
import pandas as pd
import datacol
from ib.ext.Contract import Contract
def main():
symbol = sys.argv[1]
exch = sys.argv[2]
expiry = sys.argv[3]
date = sys.argv[4]
d = pd.to_datetime(date) - pd.DateOffset(1)
prev_date = '%04d%02d%02d' % (d.year, d.month, d.day)
contract = Contract()
contract.m_symbol = symbol
contract.m_secType = 'FUT'
contract.m_exchange = exch
contract.m_currency = 'USD'
contract.m_expiry = expiry
print 'Collecting', date, 'data for', contract.m_symbol, 'expiration', contract.m_expiry
outfile = open(date+'.bars', 'w')
for h in xrange(20,24,2):
broker = datacol.Datacol(contract, prev_date, ('%02d:00:00' % h), 7200, outfile)
broker.close()
for h in xrange(0,18,2):
broker = datacol.Datacol(contract, date, ('%02d:00:00' % h), 7200, outfile)
broker.close()
broker = datacol.Datacol(contract, date, '17:15:00', 4500, outfile)
broker.close()
outfile.close()
if __name__ == "__main__":
main()