Merge branch 'pr/533' into development

This commit is contained in:
Kevin Johnson
2022-05-19 17:53:44 -07:00
5 changed files with 27 additions and 10 deletions
+13 -3
View File
@@ -53,7 +53,7 @@ def stoch(
fill_method (value, optional): Type of fill method
Returns:
pd.DataFrame: %K, %D columns.
pd.DataFrame: %K, %D, Histogram columns.
"""
# Validate
k = v_pos_default(k, 14)
@@ -94,27 +94,37 @@ def stoch(
stochk_fvi = stoch_k.loc[stoch_k.first_valid_index():, ]
stoch_d = ma(mamode, stochk_fvi, length=d)
stoch_h = stoch_k - stoch_d # Histogram
# Offset
if offset != 0:
stoch_k = stoch_k.shift(offset)
stoch_d = stoch_d.shift(offset)
stoch_h = stoch_h.shift(offset)
# Fill
if "fillna" in kwargs:
stoch_k.fillna(kwargs["fillna"], inplace=True)
stoch_d.fillna(kwargs["fillna"], inplace=True)
stoch_h.fillna(kwargs["fillna"], inplace=True)
if "fill_method" in kwargs:
stoch_k.fillna(method=kwargs["fill_method"], inplace=True)
stoch_d.fillna(method=kwargs["fill_method"], inplace=True)
stoch_h.fillna(method=kwargs["fill_method"], inplace=True)
# Name and Category
_name = "STOCH"
_props = f"_{k}_{d}_{smooth_k}"
stoch_k.name = f"{_name}k{_props}"
stoch_d.name = f"{_name}d{_props}"
stoch_k.category = stoch_d.category = "momentum"
stoch_h.name = f"{_name}h{_props}"
stoch_k.category = stoch_d.category = stoch_h.category = "momentum"
data = {stoch_k.name: stoch_k, stoch_d.name: stoch_d}
data = {
stoch_k.name: stoch_k,
stoch_d.name: stoch_d,
stoch_h.name: stoch_h
}
df = DataFrame(data, index=close.index)
df.name = f"{_name}{_props}"
df.category = stoch_k.category
+4 -1
View File
@@ -97,7 +97,10 @@ def stochf(
stochf_d.name = f"{_name}d{_props}"
stochf_k.category = stochf_d.category = "momentum"
data = {stochf_k.name: stochf_k, stochf_d.name: stochf_d}
data = {
stochf_k.name: stochf_k,
stochf_d.name: stochf_d
}
df = DataFrame(data, index=close.index)
df.name = f"{_name}{_props}"
df.category = stochf_k.category
+4 -1
View File
@@ -94,7 +94,10 @@ def stochrsi(
stochrsi_d.name = f"{_name}d{_props}"
stochrsi_k.category = stochrsi_d.category = "momentum"
data = {stochrsi_k.name: stochrsi_k, stochrsi_d.name: stochrsi_d}
data = {
stochrsi_k.name: stochrsi_k,
stochrsi_d.name: stochrsi_d
}
df = DataFrame(data)
df.name = f"{_name}{_props}"
df.category = stochrsi_k.category
+5 -4
View File
@@ -91,10 +91,11 @@ def yf(ticker: str, **kwargs) -> DataFrame:
df = DataFrame()
try:
df = yfd.history(
period=period,
interval=interval,
proxy=proxy,
**kwargs)
period=period,
interval=interval,
proxy=proxy,
**kwargs
)
except BaseException:
if yfra.__version__ == "0.1.60":
_yfv1_60 = f"[!] If history is not downloading, see yfinance Issue #760 by user djl0.\n" + \
+1 -1
View File
@@ -222,7 +222,7 @@ class TestMomentumExtension(TestCase):
def test_stoch_ext(self):
self.data.ta.stoch(append=True)
self.assertIsInstance(self.data, DataFrame)
self.assertEqual(list(self.data.columns[-2:]), ["STOCHk_14_3_3", "STOCHd_14_3_3"])
self.assertEqual(list(self.data.columns[-3:]), ["STOCHk_14_3_3", "STOCHd_14_3_3", "STOCHh_14_3_3"])
def test_stochf_ext(self):
self.data.ta.stochf(append=True)