MCPcopy
hub / github.com/microsoft/qlib / get_expression_instance

Method get_expression_instance

qlib/data/data.py:392–407  ·  view source on GitHub ↗
(self, field)

Source from the content-addressed store, hash-verified

390 self.expression_instance_cache = {}
391
392 def get_expression_instance(self, field):
393 try:
394 if field in self.expression_instance_cache:
395 expression = self.expression_instance_cache[field]
396 else:
397 expression = eval(parse_field(field))
398 self.expression_instance_cache[field] = expression
399 except NameError as e:
400 get_module_logger("data").exception(
401 "ERROR: field [%s] contains invalid operator/variable [%s]" % (str(field), str(e).split()[1])
402 )
403 raise
404 except SyntaxError:
405 get_module_logger("data").exception("ERROR: field [%s] contains invalid syntax" % str(field))
406 raise
407 return expression
408
409 @abc.abstractmethod
410 def expression(self, instrument, field, start_time=None, end_time=None, freq="day") -> pd.Series:

Callers 4

updateMethod · 0.80
updateMethod · 0.80
parse_fieldsMethod · 0.80
expressionMethod · 0.80

Calls 1

parse_fieldFunction · 0.85

Tested by

no test coverage detected