iex数据文件分析器
iex-parser的Python项目详细描述
IEX语法分析器
iex pcap deep和tops文件的分析器。
概述
在编写iex时,exchange为
历史数据:深邃与巅峰。此数据作为pcap
文件提供
这是网络活动的转储。
这个包提供了一个从这些文件中提取数据的api。
安装
从pypi安装。
pip install iex_parser
示例
以下代码处理从iex下载的tops示例文件。注意,文件不必解压缩。
fromiex_parserimportParser,TOPS_1_6TOPS_SAMPLE_DATA_FILE='data_feeds_20180127_20180127_IEXTP1_TOPS1.6.pcap.gz'withParser(TOPS_SAMPLE_DATA_FILE,TOPS_1_6)asreader:formessageinreader:print(message)
结果如下:
{'type':'trading_status','status':b'T','timestamp':datetime.datetime(2018,1,27,15,23,40,490473,tzinfo=datetime.timezone.utc),'symbol':b'SPEM','reason':b''}{'type':'trading_status','status':b'H','timestamp':datetime.datetime(2018,1,27,15,23,42,95642,tzinfo=datetime.timezone.utc),'symbol':b'INCO','reason':b'NA'}{'type':'trading_status','status':b'H','timestamp':datetime.datetime(2018,1,27,15,23,42,852349,tzinfo=datetime.timezone.utc),'symbol':b'CHSCN','reason':b'NA'}{'type':'price_level_update','side':b'S','flags':1,'timestamp':datetime.datetime(2018,1,27,15,23,44,856983,tzinfo=datetime.timezone.utc),'symbol':b'ATLO','size':8755,'price':Decimal('38.95')}{'type':'price_level_update','side':b'S','flags':0,'timestamp':datetime.datetime(2018,1,27,15,23,44,856983,tzinfo=datetime.timezone.utc),'symbol':b'ATLO','size':37222,'price':Decimal('48')}{'type':'price_level_update','side':b'S','flags':1,'timestamp':datetime.datetime(2018,1,27,15,23,44,856987,tzinfo=datetime.timezone.utc),'symbol':b'ATLO','size':8958,'price':Decimal('38.95')}{'type':'price_level_update','side':b'S','flags':0,'timestamp':datetime.datetime(2018,1,27,15,23,44,856987,tzinfo=datetime.timezone.utc),'symbol':b'ATLO','size':37019,'price':Decimal('48')}
以下代码处理从iex下载的deep示例文件。
fromiex_parserimportParser,DEEP_1_0DEEP_SAMPLE_DATA_FILE='data_feeds_20180127_20180127_IEXTP1_DEEP1.0.pcap.gz'withParser(DEEP_SAMPLE_DATA_FILE,DEEP_1_0)asreader:formessageinreader:print(message)
消息
这些消息作为字典返回。
安全指令
{'type':'security_directive','flags':int,'timestamp':datetime.datetime,'symbol':bytes,'round_lot_size':int,'adjusted_poc_close':decimal.Decimal,'luld_tier':int}
交易状态
{'type':'trading_status','status':bytes,'timestamp':datetime.datetime,'symbol':bytes,'reason':bytes}
操作停止
{'type':'operational_halt','halt_status':bytes,'timestamp':datetime.datetime,'symbol':bytes}
卖空价格测试状态
{'type':'short_sale_price_test_status','status':int,'timestamp':datetime.datetime,'symbol':bytes,'detail':bytes}
报价更新
{'type':'quote_update','flags':int,'timestamp':datetime.datetime,'symbol':bytes,'bid_size':int,'bid_price':decimal.Decimal,'ask_size':int,'ask_price':decimal.Decimal}
贸易报告
{'type':'trade_report','flags':int,'timestamp':datetime.datetime,'symbol':bytes,'size':int,'price':decimal.Decimal,'trade_id':int}
官方价格
{'type':'official_price','price_type':bytes,'timestamp':datetime.datetime,'symbol':bytes,'price':deccimal.Decimal}
交易中断
{'type':'trade_break','flags':int,'timestamp':datetime.datetime,'symbol':bytes,'size':int,'price':decimal.Decimal,'trade_id':int}
拍卖信息
{'type':'auction_information','auction_type':bytes,'timestamp':decimal.Decimal,'symbol':bytes,'paired_shares':int,'reference_price':decimal.Decmal,'indicative_clearing_price':decimal.Decimal,'imbalance_shares':int,'imbalance_side':bytes,'extension_number':int,'scheduled_auction_time':datetime.datetime,'auction_book_clearing_price':decimal.Decimal,'collar_reference_price':decimal.Decimal,'lower_auction_collar_price':decimal.Decimal,'upper_auction_collar_price':decimal.Decimal}
价格水平更新
{'type':'price_level_update','side':bytes,'flags':int,'timestamp':datetime.datetime,'symbol':bytes,'size':int,'price':decimal.Decimal}
安全事件
{'type':'security_event','security_event':bytes,'timestamp':datetime.datetime,'symbol':bytes}
注释
因为数据是作为网络数据包的转储分发的,所以有很多“空的”
小包。这些都需要时间来读取并减慢实际数据的传递速度。来处理这个
数据包在单独的python线程上读取并排队。队列的大小是
对Parser
的可选参数,已通过实验设置为25000。