I'm trying to retrieve the Market Summary reports using my Python script, but keep getting "E,!SYNTAX_ERROR!,". I can get everything else I need to work, such as SST, SLM, CEO to retrieve option chains, and setting & removing watches to stream option symbol quotes. So I know I've basically got things working, but just not the reports. Any ideas?
I also get the same results when connecting using putty to 127.0.0.1, port:9100, connection type: Raw. I can get option chains, etc, but not the Market Summary Reports.
EDS,1,5,20220203 -- I've tried different combinations of Security Type & Group IDs, but always just get a syntax error.
E,!SYNTAX_ERROR!,
This is what I'm running in my Python script for the Reports:
#!python3
import sys, getopt, time, socket
import contextlib
iqfeed_host="127.0.0.1"
iqfeed_port=9100
timeout=10.0
chunk_size=65535
with contextlib.closing(socket.create_connection((iqfeed_host, iqfeed_port))) as iqfeed_socket:
iqfeed_socket.settimeout(timeout)
#msg="SST\n" #Request a list of Security Types from the feed.
#msg="SLM\n" #Request a list of Listed Markets from the feed.
#msg = "CEO,AAL,pc,ABCDEFGHIJKL,,\n" #Get option chain
msg="EDS,2,14,20220204,TEST\n" #End of Day Summary -- 2,IEOPTION,Index/Equity Option, 14,OPRA,OPRA System,
iqfeed_socket.sendall(msg.encode('ascii'))
loop = True
while loop == True:
chunk = iqfeed_socket.recv(chunk_size).decode("utf-8").strip()
print(chunk)
if chunk.endswith("!ENDMSG!,"):
loop = False
elif chunk.endswith("E,!SYNTAX_ERROR!,"):
loop = False