this is my code:
def get_historical_data(rics: list, start_datetime: str, end_datetime: str):
"""
Retrieve historical pricing data for a given ticker and time range.
Args:
rics (list): The list of RICs (e.g., ['AAPL.O', 'GOOG.O'])
start_datetime (str): Start datetime in ISO format (e.g., '2023-04-07T15:14:25.165')
end_datetime (str): End datetime in ISO format (e.g., '2023-04-07T15:15:25.165')
Returns:
list: List of dictionaries containing historical data records
"""
try:
# Open a session
sesh = rd.open_session()
logger.info(f"Session opened for historical data request: {sesh}")
# Validate date formats
try:
start_dt = datetime.fromisoformat(start_datetime.replace('Z', '+00:00'))
end_dt = datetime.fromisoformat(end_datetime.replace('Z', '+00:00'))
# Check if start date is after end date
if start_dt > end_dt:
error_msg = f"Invalid date range: start date ({start_datetime}) is after end date ({end_datetime})"
logger.error(error_msg)
return {"error": error_msg}
except ValueError as e:
logger.error(f"Invalid date format: {e}")
return {"error": f"Invalid date format: {e}"}
logger.info(f"Making API request for {rics} between {start_datetime} and {end_datetime}")
# Make the API request
response = historical_pricing.events.Definition(
universe=rics,
start=start_datetime,
end=end_datetime,
eventTypes=EventTypes.TRADE
).get_data()
How do I get spot currency data (time and sales) for Canadian dollar, euro, mexican peso. I am trying to pass in CAD=
and 0#CD:
and 0#CAD=
but nothing works. What can I do? it works for futures CDU25
works but not spot.