Skip to content

Commit 40da9ff

Browse files
committed
[EN-1454] TimeNanos column renamed
1 parent f58ded5 commit 40da9ff

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed

dxfeed/core/listeners/listener.pyx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ cdef class FuncWrapper:
1414

1515

1616
TRADE_COLUMNS = ['Symbol', 'Sequence', 'Price', 'ExchangeCode', 'Size', 'Tick', 'Change', 'DayVolume',
17-
'DayTurnover', 'Direction', 'Time', 'Nanos', 'RawFlags', 'IsETH', 'Scope']
17+
'DayTurnover', 'Direction', 'Time', 'TimeNanos', 'RawFlags', 'IsETH', 'Scope']
1818
cdef void trade_default_listener(int event_type,
1919
dxf_const_string_t symbol_name,
2020
const dxf_event_data_t*data,
@@ -41,8 +41,8 @@ cdef void trade_default_listener(int event_type,
4141
trades[i].is_eth,
4242
trades[i].scope])
4343

44-
QUOTE_COLUMNS = ['Symbol', 'Sequence', 'Time', 'Nanos', 'BidTime', 'BidExchangeCode', 'BidPrice', 'BidSize', 'AskTime',
45-
'AskExchangeCode', 'AskPrice', 'AskSize', 'Scope']
44+
QUOTE_COLUMNS = ['Symbol', 'Sequence', 'Time', 'TimeNanos', 'BidTime', 'BidExchangeCode', 'BidPrice', 'BidSize',
45+
'AskTime', 'AskExchangeCode', 'AskPrice', 'AskSize', 'Scope']
4646
cdef void quote_default_listener(int event_type,
4747
dxf_const_string_t symbol_name,
4848
const dxf_event_data_t*data,
@@ -186,7 +186,7 @@ cdef void candle_default_listener(int event_type,
186186
candle[i].open_interest,
187187
candle[i].imp_volatility])
188188

189-
ORDER_COLUMNS = ['Symbol', 'EventFlags', 'Index', 'Time', 'Nanos', 'Sequence', 'Price', 'Size', 'Count', 'Scope',
189+
ORDER_COLUMNS = ['Symbol', 'EventFlags', 'Index', 'Time', 'TimeNanos', 'Sequence', 'Price', 'Size', 'Count', 'Scope',
190190
'Side', 'ExchangeCode', 'Source', 'MarketMaker', 'SpreadSymbol']
191191
cdef void order_default_listener(int event_type,
192192
dxf_const_string_t symbol_name,

dxfeed/core/utils/handler.pyx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ from warnings import warn
22
from dxfeed.core.utils.data_class import DequeWithLock as deque_wl
33
import pandas as pd
44
from typing import Iterable
5+
from dateutil.relativedelta import relativedelta
56

67

78
cdef class EventHandler:
@@ -102,7 +103,10 @@ cdef class DefaultHandler(EventHandler):
102103

103104

104105
df = pd.DataFrame(df_data, columns=self.columns)
105-
time_columns = df.columns[df.columns.str.contains('Time')]
106+
time_columns = df.columns[df.columns.str.contains('Time')].tolist()
107+
nanos = time_columns.pop(time_columns.index('TimeNanos')) if 'TimeNanos' in time_columns else None
106108
for column in time_columns:
107-
df.loc[:, column] = df.loc[:, column].astype('<M8[ms]')
109+
df.loc[:, column] = df.loc[:, column].astype('M8[ms]')
110+
if nanos and 'Time' in time_columns:
111+
df.loc[:, 'Time'] += df.loc[:, nanos].values.astype('timedelta64[ns]')
108112
return df

0 commit comments

Comments
 (0)