help="One specific dat", type=int, default=None) parser.add_argument('--stock', help="One specific stock", default=None) parser.add_argument('--istock', help="Number of stocks to analyze", type=int, default=0) parser.add_argument('--market', help="Process only market hours", action='store_true', default=False) args = parser.parse_args() year = args.year sstocks = Stock(num=args.nstocks) if 'G' in year: # lfiles = [f'/S{day}-v50.txt.gz' for day in ITCH_days[year]] # datapath = datapath + '/GIS/' analysispath = datapath + '/GIS/Analysis' else: # lfiles = [f'{day}.NASDAQ_ITCH50.gz' for day in ITCH_days[year]] analysispath = datapath + '/Analysis' if args.day is None: for day in range(args.init, len(ITCH_days[args.year])): now() print(f'DAY: {ITCH_days[args.year][day]}') for stock in sstocks.get_list_stocks()[args.istock:]: print(f'STOCK= {stock}')
# parser.add_argument('--year', help="Anyo del analisis", default='') # # args = parser.parse_args() # year = str(args.year) # sstocks = Stock() # # if year == '': # year = '2017G' # # if 'G' in year: # lfiles = ['/S' + day + '-v50.txt.gz' for day in ITCH_days[year]] # datapath = datapath + '/GIS/' # else: # lfiles = [day + '.NASDAQ_ITCH50.gz' for day in ITCH_days[year]] sstock = Stock(num=50) cpny = Company() for stock in ['YHOO']: #sorted(sstock.get_list_stocks()): # for day in enumerate(ITCH_days[year]): lexecutionsS = [] lexecutionsB = [] ltimeOS = [] ltimeOB = [] lpriceOS = [] lpriceOB = [] lsizeOB = [] lsizeOS = [] ldelete = []
if __name__ == '__main__': parser = argparse.ArgumentParser() parser.add_argument('--year', help="Anyo del analisis", default="") args = parser.parse_args() year = str(args.year) if year == '': year = '2016' messages = ['F', 'A', 'E', 'C', 'X', 'D', 'U', 'P'] i_time = time_to_nanoseconds(9, 30) f_time = time_to_nanoseconds(16) # st_time = time_to_nanoseconds(0, 10) sstocks = Stock(fast=True) cpny = Company() lcounts = {} totalcounts = {} totalcounts = np.zeros(len(ITCH_days[year]), dtype=int) for stock in sstocks.get_list_stocks(): lcounts[stock] = {} for m in messages: lcounts[stock] = np.zeros(len(ITCH_days[year]), dtype=int) for i, day in enumerate(ITCH_days[year]): try: rfile = gzip.open( datapath + 'Messages/' + day + '-' + stock +
from FSociety.ITCH import ITCHv5, ITCHRecord, ITCHtime from FSociety.Util import now, hellinger_distance from FSociety.Data import Stock, OrdersProcessor, Company from FSociety.Config import datapath, ITCH_days __author__ = 'bejar' if __name__ == '__main__': parser = argparse.ArgumentParser() parser.add_argument('--year', help="Anyo del analisis", default=None) args = parser.parse_args() year = str(args.year) sstocks = Stock() if year is None: year = '2015' sstock = Stock() cpny = Company() day = ITCH_days[year][0] dhistoD = {} dhistoS = {} dhistoB = {} mxhval = 16 # Max possible time interval lstocks = sorted(sstock.get_list_stocks()) for stock in lstocks: print(stock)
'-MESSAGES.csv') if __name__ == '__main__': parser = argparse.ArgumentParser() parser.add_argument('--year', help="Year of the analysis", default='2017G') parser.add_argument('--nstocks', help="Number of stocks to analyze", type=int, default=50) parser.add_argument('--init', help="Initial Day", type=int, default=0) parser.add_argument('--day', help="Specific Day", type=int, default=None) args = parser.parse_args() year = str(args.year) sstocks = Stock(num=args.nstocks) print(len(sstocks.sstocks)) if 'G' in year: lfiles = [f'/S{day}-v50.txt.gz' for day in ITCH_days[year]] datapath = datapath + '/GIS/' else: lfiles = [f'{day}.NASDAQ_ITCH50.gz' for day in ITCH_days[year]] if args.day is None: # for filename in [day + '.NASDAQ_ITCH50.gz' for day in ITCH_days[year]]: for filename, dname in zip(lfiles[args.init:], ITCH_days[year][args.init:]): process_messages(filename, dname) else: filename = lfiles[args.day]
import argparse import os from FSociety.ITCH import ITCHv5, ITCHRecord from FSociety.Util import now from FSociety.Data import Stock, OrdersProcessor from FSociety.Config import datapath, ITCH_days __author__ = 'bejar' if __name__ == '__main__': year = '2017G' day = ITCH_days[year][0] #stock = 'GOOGL' sstocks = Stock(num=50) filename = f'/S{day}-v50.txt.gz' dataset = ITCHv5(datapath + '/GIS/'+ filename) gendata = dataset.records() print(filename) i = 0 wfile = open(f'{datapath}/Results/{day}-STOCK-MESSAGES-zzz.csv', 'w') dorders = {} # Dictionary to store the F/A/U orders to obtain the stock of U orders record = None for g in gendata: order = dataset.to_string(g[0]) if order in ['F', 'A']: stock = dataset.to_string(g[7]).strip() if stock in sstocks.sstocks: record = ITCHRecord(g)
if __name__ == '__main__': parser = argparse.ArgumentParser() parser.add_argument('--year', help="Anyo del analisis", default="") args = parser.parse_args() year = str(args.year) if year == '': year = '2016' i_time = time_to_nanoseconds(9, 30) f_time = time_to_nanoseconds(16) sstock = Stock(fast=True) mgap = 1e+8 detail = {} for stock in sorted(sstock.get_list_stocks()): detail[stock] = {} for day in ITCH_days[year]: detail[stock][day] = 0 aggrday = {} for day in ITCH_days[year]: runlengths = [] runlengthspass = [] runlengthsact = [] runtime = [] print(day)
if __name__ == '__main__': parser = argparse.ArgumentParser() parser.add_argument('--year', help="Anyo del analisis", default="") args = parser.parse_args() year = str(args.year) if year == '': year = '2015' i_time = time_to_nanoseconds(9, 30) f_time = time_to_nanoseconds(16) st_time = time_to_nanoseconds(0, 10) sstocks = Stock() cpny = Company() lcounts = {} counter = 0 for stock in sstocks.get_list_stocks(): lcounts[stock] = [] for day in ITCH_days[year]: rfile = gzip.open( datapath + 'Messages/' + day + '-' + stock + '-MESSAGES.csv.gz', 'rt') count = np.zeros(39) for mess in rfile: data = mess.split(',') timestamp = ITCHtime(int(data[1].strip())) order = data[2].strip()
import seaborn as sn import matplotlib.pyplot as plt import argparse import gzip import numpy as np __author__ = 'bejar' if __name__ == '__main__': parser = argparse.ArgumentParser() parser.add_argument('--year', help="Anyo del analisis", default='') args = parser.parse_args() year = str(args.year) sstocks = Stock() if year == '': year = '2017G' if 'G' in year: lfiles = ['/S' + day + '-v50.txt.gz' for day in ITCH_days[year]] datapath = datapath + '/GIS/' else: lfiles = [day + '.NASDAQ_ITCH50.gz' for day in ITCH_days[year]] sstock = Stock(num=50) cpny = Company() for stock in sorted(sstock.get_list_stocks()): for day in ITCH_days[year]:
if 'G' in args.year: analysispath = datapath + '/GIS/Analysis' else: analysispath = datapath + '/Analysis' if args.day is not None: itchday = ITCH_days[args.year][args.day] if args.stock is not None: statistics = order_statistics(args.year, args.day, args.stock) log_process(statistics, args.log) save_statistics(statistics, args.year, args.day, args.stock) if args.plot: plot_statistics(statistics) else: sstocks = Stock(num=args.nstocks) for stock in sstocks.get_list_stocks(): statistics = order_statistics(args.year, args.day, stock) log_process(statistics, args.log) save_statistics(statistics, args.year, args.day, stock) else: for day in range(args.init, len(ITCH_days[args.year])): now() print(f'DAY: {ITCH_days[args.year][day]}') if args.stock is not None: statistics = order_statistics(args.year, day, args.stock) log_process(statistics, args.log) save_statistics(statistics, args.year, day, args.stock) else: sstocks = Stock(num=args.nstocks)