Exemple #1
0
                        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}')
Exemple #2
0
    # 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 = []
Exemple #3
0
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 +
Exemple #4
0
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]
Exemple #6
0
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)
Exemple #7
0

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)
Exemple #8
0
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]:
Exemple #10
0
    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)