'Sets the commission models for the simulation.
Parameters
us_equities : EquityCommissionModel
The commission model to use for trading US equities.
us_futures : FutureCommissionModel
The commission model to use for trading US futures.
See Also
:class:`zipline.finance.commission.PerShare`
:class:`zipline.finance.commission.PerTrade`
:class:`zipline.finance.commission.PerDollar`'

@api_method
def set_commission(self, us_equities=None, us_futures=None):

    if self.initialized:
        raise SetCommissionPostInit()
    if (us_equities is not None):
        if (Equity not in us_equities.allowed_asset_types):
            raise IncompatibleCommissionModel(asset_type='equities', given_model=us_equities, supported_asset_types=us_equities.allowed_asset_types)
        self.blotter.commission_models[Equity] = us_equities
    if (us_futures is not None):
        if (Future not in us_futures.allowed_asset_types):
            raise IncompatibleCommissionModel(asset_type='futures', given_model=us_futures, supported_asset_types=us_futures.allowed_asset_types)
        self.blotter.commission_models[Future] = us_futures
