Beispiel #1
0
 def compute_scale(signal_level, ewma_level):
     current_scaling = compute_scale_globals['current_scaling']
     new_position_scaling = get_position_scaling(signal_level, current_scaling, ewma_level, threshold)
     # updating for next step
     compute_scale_globals['current_scaling'] = new_position_scaling
     result = {
         'band_inf': ewma_level + ((new_position_scaling - 1) * threshold),
         'band_mid': ewma_level + (new_position_scaling * threshold),
         'band_sup': ewma_level + ((new_position_scaling + 1) * threshold),
         'scaling': -new_position_scaling
     }
     return result
Beispiel #2
0
 def scale(row, cumul=cumul):
     current_scaling = cumul['current_scaling']
     price = row['price']
     mu = row['mu']
     sigma = 0.8 * row['sigma']
     new_position_scaling = get_position_scaling(price, current_scaling, mu, sigma)
     # updating for next step
     cumul['current_scaling'] = new_position_scaling
     result = {
         'position_scaling': new_position_scaling,
         'band_inf': mu + ((new_position_scaling + 1) * sigma),
         'band_mid': mu + (new_position_scaling * sigma),
         'band_sup': mu + ((new_position_scaling - 1) * sigma)
     }
     return pandas.Series(result)