def __new__(cls, target, regression_length, allowed_missing_percentage=0.25): daily_returns = Returns( window_length=2, mask=(AssetExists() | SingleAsset(asset=target)), ) allowed_missing_count = int(allowed_missing_percentage * regression_length) return super().__new__( cls, inputs=[daily_returns, daily_returns[target]], window_length=regression_length, allowed_missing_count=allowed_missing_count, )
def __new__(cls, target, returns_length, regression_length, mask=NotSpecified): # Use the `SingleAsset` filter here because it protects against # inputting a non-existent target asset. returns = Returns( window_length=returns_length, mask=(AssetExists() | SingleAsset(asset=target)), ) return super().__new__( cls, dependent=returns, independent=returns[target], regression_length=regression_length, mask=mask, )
def __new__(cls, target, returns_length, correlation_length, mask=NotSpecified): # Use the `SingleAsset` filter here because it protects against # inputting a non-existent target asset. returns = Returns( window_length=returns_length, mask=(AssetExists() | SingleAsset(asset=target)), ) return super(RollingSpearmanOfReturns, cls).__new__( cls, base_factor=returns, target=returns[target], correlation_length=correlation_length, mask=mask, )
def __new__(cls, target, returns_length, regression_length, mask=NotSpecified, **kwargs): if mask is NotSpecified: mask = AssetExists() # Make sure we do not filter out the asset of interest. mask = mask | SingleAsset(asset=target) return super(RollingLinearRegressionOfReturns, cls).__new__( cls, target=target, inputs=[Returns(window_length=returns_length)], window_length=regression_length, mask=mask, **kwargs)