Can someone help with the error message shown below? I'm trying to exclude the symbol 'SHA', altogether, although if there's a global fix I'd rather use that. I thought the 'exclusion_filter' would exclude SHA but apparently something's not set up correctly.
Is there a simpler method to exclude single SIDs as part of the mask?
Something went wrong. Sorry for the inconvenience. Try using the built-in debugger to analyze your code. If you would like help, send us an email.
ValueError: NaN or Inf values provided to FactorExposure for argument 'loadings'.
Rows/Columns with NaNs:
row=Equity(32430 [SHA]) col='industrials'
row=Equity(32430 [SHA]) col='momentum'
row=Equity(32430 [SHA]) col='short_term_reversal'
row=Equity(32430 [SHA]) col='size'
row=Equity(32430 [SHA]) col='value'
... (1 more)
Rows/Columns with Infs:
None
There was a runtime error on line 413.
Code for the exclusion list (note that SHA (32430) is included):
def initialize(context):
context.exclusion_list = [sid(34692), sid(19666), sid(46369), sid(3585), sid(32620), sid(42786),sid(32430)]
Code for the exclusion filter, included with the pipeline screen.
exclusion_filter = ~StaticAssets(context.exclusion_list)
# Schedule Tasks
# --------------
# Create and register a pipeline computing our combined alpha and a sector
# code for every stock in our universe. We'll use these values in our
# optimization below.
pipe = Pipeline(
columns={
'alpha': combined_alpha,
'sector': Sector(),
'factor': factor,
},
# combined_alpha will be NaN for all stocks not in our universe,
# but we also want to make sure that we have a sector code for everything
# we trade.
screen=combined_alpha.notnull() & Sector().notnull()& mask & exclusion_filter,
#screen=exclusion_filter,
)
Lines 411 through 414:
constrain_sector_style_risk = opt.experimental.RiskModelExposure(
context.risk_loading_pipeline,
version=opt.Newest,
)
My coding skills aren't great, so actual code examples to rectify this would be greatly appreciated.
Thanks,
Troy