Skip to content

Commit c7016e6

Browse files
committed
use streaming
1 parent 69bcd42 commit c7016e6

File tree

1 file changed

+26
-36
lines changed

1 file changed

+26
-36
lines changed

src/systemathics/apis/helpers/dataframe_helpers.py

Lines changed: 26 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1340,25 +1340,20 @@ def get_equity_intraday(ticker, start_date=None, end_date=None, start_time=None,
13401340
with channel_helpers.get_grpc_channel() as channel:
13411341
token = token_helpers.get_token()
13421342
service = intraday_bars_service.IntradayBarsServiceStub(channel)
1343-
response = service.IntradayBars(request=request, metadata=[('authorization', token)])
13441343

1345-
if not response or not response.data:
1346-
print("No data received")
1347-
return pd.DataFrame()
1348-
1349-
rows = []
1350-
for b in response.data:
1351-
row = {
1352-
"Datetime": pd.Timestamp(b.time_stamp.seconds, unit='s'),
1353-
"Open": b.open,
1354-
"High": b.high,
1355-
"Low": b.low,
1356-
"Close": b.close,
1357-
"Volume": b.volume,
1358-
"Count": b.count,
1359-
"Vwap": b.vwap,
1360-
}
1361-
rows.append(row)
1344+
rows = []
1345+
for b in service.IntradayBarsStream(request=request, metadata=[('authorization', token)]):
1346+
row = {
1347+
"Datetime": pd.Timestamp(b.time_stamp.seconds, unit='s'),
1348+
"Open": b.open,
1349+
"High": b.high,
1350+
"Low": b.low,
1351+
"Close": b.close,
1352+
"Volume": b.volume,
1353+
"Count": b.count,
1354+
"Vwap": b.vwap,
1355+
}
1356+
rows.append(row)
13621357

13631358
if not rows:
13641359
print("No data received.")
@@ -1445,25 +1440,20 @@ def get_future_intraday(ticker, start_date=None, end_date=None, start_time=None,
14451440
with channel_helpers.get_grpc_channel() as channel:
14461441
token = token_helpers.get_token()
14471442
service = intraday_bars_service.IntradayBarsServiceStub(channel)
1448-
response = service.IntradayBars(request=request, metadata=[('authorization', token)])
14491443

1450-
if not response or not response.data:
1451-
print("No data received")
1452-
return pd.DataFrame()
1453-
1454-
rows = []
1455-
for b in response.data:
1456-
row = {
1457-
"Datetime": pd.Timestamp(b.time_stamp.seconds, unit='s'),
1458-
"Open": b.open,
1459-
"High": b.high,
1460-
"Low": b.low,
1461-
"Close": b.close,
1462-
"Volume": b.volume,
1463-
"Count": b.count,
1464-
"Vwap": b.vwap,
1465-
}
1466-
rows.append(row)
1444+
rows = []
1445+
for b in service.IntradayBarsStream(request=request, metadata=[('authorization', token)]):
1446+
row = {
1447+
"Datetime": pd.Timestamp(b.time_stamp.seconds, unit='s'),
1448+
"Open": b.open,
1449+
"High": b.high,
1450+
"Low": b.low,
1451+
"Close": b.close,
1452+
"Volume": b.volume,
1453+
"Count": b.count,
1454+
"Vwap": b.vwap,
1455+
}
1456+
rows.append(row)
14671457

14681458
if not rows:
14691459
print("No data received.")

0 commit comments

Comments
 (0)