'Returns a list of adjustments between the dt and perspective_dt for the
given field and list of assets
Parameters
assets : list of type Asset, or Asset
The asset, or assets whose adjustments are desired.
field : {\'open\', \'high\', \'low\', \'close\', \'volume\',                  \'price\', \'last_traded\'}
The desired field of the asset.
dt : pd.Timestamp
The timestamp for the desired value.
perspective_dt : pd.Timestamp
The timestamp from which the data is being viewed back from.
data_frequency : str
The frequency of the data to query; i.e. whether the data is
\'daily\' or \'minute\' bars
Returns
adjustments : list[Adjustment]
The adjustments to that field.'

def get_adjustments(self, assets, field, dt, perspective_dt):

    if isinstance(assets, Asset):
        assets = [assets]
    adjustment_ratios_per_asset = []
    def split_adj_factor(x):
        return (x if (field != 'volume') else (1.0 / x))
    for asset in assets:
        adjustments_for_asset = []
        split_adjustments = self._get_adjustment_list(asset, self._splits_dict, 'SPLITS')
        for (adj_dt, adj) in split_adjustments:
            if (dt <= adj_dt <= perspective_dt):
                adjustments_for_asset.append(split_adj_factor(adj))
            elif (adj_dt > perspective_dt):
                break
        if (field != 'volume'):
            merger_adjustments = self._get_adjustment_list(asset, self._mergers_dict, 'MERGERS')
            for (adj_dt, adj) in merger_adjustments:
                if (dt <= adj_dt <= perspective_dt):
                    adjustments_for_asset.append(adj)
                elif (adj_dt > perspective_dt):
                    break
            dividend_adjustments = self._get_adjustment_list(asset, self._dividends_dict, 'DIVIDENDS')
            for (adj_dt, adj) in dividend_adjustments:
                if (dt <= adj_dt <= perspective_dt):
                    adjustments_for_asset.append(adj)
                elif (adj_dt > perspective_dt):
                    break
        ratio = reduce(mul, adjustments_for_asset, 1.0)
        adjustment_ratios_per_asset.append(ratio)
    return adjustment_ratios_per_asset
