Exemplo n.º 1
0
 def __init__(self, ts, windows, std_ns, is_ewm=False, is_min_periods=True):
     # windows and std_ns can be either np.ndarray or single number
     self.ts = np.tile(ts, (1, windows.shape[0]))
     upper, middle, lower = bb_nb(ts, windows, std_ns, is_ewm,
                                  is_min_periods)
     self.upper = TimeSeries(upper)
     self.middle = TimeSeries(middle)
     self.lower = TimeSeries(lower)
Exemplo n.º 2
0
 def from_df(cls, df, labels=['Open', 'High', 'Low', 'Close', 'Volume']):
     open = TimeSeries(df[labels[0]].astype(float))
     high = TimeSeries(df[labels[1]].astype(float))
     low = TimeSeries(df[labels[2]].astype(float))
     close = TimeSeries(df[labels[3]].astype(float))
     if labels[4] in df.columns:
         volume = TimeSeries(df[labels[4]].astype(float))
     else:
         volume = None
     return cls(open, high, low, close, volume)
Exemplo n.º 3
0
 def __init__(self,
              ts,
              fast_windows,
              slow_windows,
              is_ewm=False,
              is_min_periods=True):
     # fast_windows and slow_windows can be either np.ndarray or single number
     fast, slow = dmac_nb(ts, fast_windows, slow_windows, is_ewm,
                          is_min_periods)
     self.fast = TimeSeries(fast)
     self.slow = TimeSeries(slow)
Exemplo n.º 4
0
 def drawdown(self):
     return TimeSeries(1 - self.equity / expanding_max_nb(self.equity))
Exemplo n.º 5
0
 def returns(self):
     return TimeSeries(pct_change_nb(self.equity))
Exemplo n.º 6
0
 def equity_in_shares(self):
     return TimeSeries(self.equity / self.ts)
Exemplo n.º 7
0
 def equity(self):
     return TimeSeries(self.cash + self.shares * self.ts)
Exemplo n.º 8
0
 def __init__(self, ts, windows, is_ewm=False, is_min_periods=True):
     self.rsi = TimeSeries(rsi_nb(ts, windows, is_ewm, is_min_periods))
Exemplo n.º 9
0
 def bandwidth(self):
     """Bandwidth tells how wide the Bollinger Bands are on a normalized basis."""
     return TimeSeries((self.upper - self.lower) / self.middle)
Exemplo n.º 10
0
 def percent_b(self):
     """Shows where price is in relation to the bands.
     %b equals 1 at the upper band and 0 at the lower band."""
     return TimeSeries((self.ts - self.lower) / (self.upper - self.lower))