qteasy/finance.py
def _calculate_fee(trade_values, fixed_fees, is_buying, bf, sf, br, sr, bm, sm, slp):
    """calculate the transaction fee given all parameters

    """
    if fixed_fees:  # 采用固定费用模式计算, 返回固定费用及滑点成本，返回的是费用而不是费率
        if is_buying:
            return bf + slp * trade_values ** 2
        else:
            return sf + slp * trade_values ** 2
    else:  # 采用固定费率模式计算
        if is_buying:
            if bm == 0.:
                return br + slp * trade_values
            else:
                min_rate = bm / (trade_values - bm)
                return np.fmax(br, min_rate) + slp * trade_values
        else:
            if sm == 0.:
                return sr - slp * trade_values
            else:
                min_rate = -sm / trade_values
                min_rate[np.isinf(min_rate)] = 0  # 当trade_values中有0值时，将产生inf，且传递到caller后会导致问题，因此需要清零
                return np.fmax(sr, min_rate) + slp * trade_values
calculate the transaction fee given all parameters

    
calculate the transaction fee given all parameters
calculate the transaction fee given all parameters
def _calculate_fee(trade_values, fixed_fees, is_buying, bf, sf, br, sr, bm, sm, slp):
    if fixed_fees:  
        if is_buying:
            return bf + slp * trade_values ** 2
        else:
            return sf + slp * trade_values ** 2
    else:  
        if is_buying:
            if bm == 0.:
                return br + slp * trade_values
            else:
                min_rate = bm / (trade_values - bm)
                return np.fmax(br, min_rate) + slp * trade_values
        else:
            if sm == 0.:
                return sr - slp * trade_values
            else:
                min_rate = -sm / trade_values
                min_rate[np.isinf(min_rate)] = 0  
                return np.fmax(sr, min_rate) + slp * trade_values
def _calculate_fee ( trade_values , fixed_fees , is_buying , bf , sf , br , sr , bm , sm , slp ) : if fixed_fees : if is_buying : return bf + slp * trade_values ** 2 else : return sf + slp * trade_values ** 2 else : if is_buying : if bm == 0. : return br + slp * trade_values else : min_rate = bm / ( trade_values - bm ) return np . fmax ( br , min_rate ) + slp * trade_values else : if sm == 0. : return sr - slp * trade_values else : min_rate = - sm / trade_values min_rate [ np . isinf ( min_rate ) ] = 0 return np . fmax ( sr , min_rate ) + slp * trade_values
calculate the transaction fee given all parameters
calculate the transaction fee given all parameters
"""calculate the transaction fee given all parameters

    """ # 采用固定费用模式计算, 返回固定费用及滑点成本，返回的是费用而不是费率 # 采用固定费率模式计算 # 当trade_values中有0值时，将产生inf，且传递到caller后会导致问题，因此需要清零
trade_values
fixed_fees
is_buying
bf
sf
br
sr
bm
sm
slp