I'm a bit confused by the structure for the CustomFactor class. The tutorial documentations shows:
class TenDayMeanDifference(CustomFactor):
# Default inputs.
inputs = [USEquityPricing.close, USEquityPricing.open]
window_length = 10
def compute(self, today, asset_ids, out, close, open):
# Calculates the column-wise mean difference, ignoring NaNs
out[:] = numpy.nanmean(close - open, axis=0)
Then a call to override the defaults looks like:
high_low_diff = TenDayMeanDifference(inputs=[USEquityPricing.high, USEquityPricing.low])
I suppose this is a python fundamentals question, but how does the class know to use the new values if the "inputs" variable is redeclared within the class?