class_docstr: Parameter free hedging algorithm.
  
  Implementation of A Parameter-free Hedging Algorithm,
  Kamalika Chaudhuri, Yoav Freund, Daniel Hsu (2009) as a hedge-style
  algorithm.
  
  Parameters
  ----------
  n_estimators : float
      number of estimators
  T : int
      forecasting horizon (in terms of timesteps)
  a : float
      normalizing constant
  loss_func : function
      loss function which follows sklearn.metrics API, for updating weights
class_docstr_tok: ["Parameter","free","hedging","algorithm",".","Implementation","of","A","Parameter-free","Hedging","Algorithm",",","Kamalika","Chaudhuri",",","Yoav","Freund",",","Daniel","Hsu","(","2009",")","as","a","hedge-style","algorithm",".","Parameters","--","--","--","--","--","n_estimators",":","float","number","of","estimators","T",":","int","forecasting","horizon","(","in","terms","of","timesteps",")","a",":","float","normalizing","constant","loss_func",":","function","loss","function","which","follows","sklearn.metrics","API",",","for","updating","weights"]
code: def __init__(self, n_estimators=10, a=1, loss_func=None):
      super().__init__(
          n_estimators=n_estimators, T=None, a=a, loss_func=loss_func
      )
      self.R = np.zeros(n_estimators)
  
imports: import numpy
  from scipy.optimize import bisect, nnls
label_desc: Use image node_id 1 to create a new NormalHedgeEnsemble object from inherited base classes: HedgeExpertEnsemble with example: obj = NormalHedgeEnsemble(n_estimators, a, loss_func)