1
0
mirror of https://github.com/microsoft/qlib.git synced 2026-07-15 08:46:56 +08:00

Merge remote-tracking branch 'origin/main' into main

This commit is contained in:
Young
2020-11-25 12:31:45 +00:00

View File

@@ -18,9 +18,8 @@ try:
from ._libs.rolling import rolling_slope, rolling_rsquare, rolling_resi from ._libs.rolling import rolling_slope, rolling_rsquare, rolling_resi
from ._libs.expanding import expanding_slope, expanding_rsquare, expanding_resi from ._libs.expanding import expanding_slope, expanding_rsquare, expanding_resi
except ImportError as err: except ImportError as err:
print(err) print("Do not import qlib package in the repository directory!")
print("Do not import qlib package in the repository directory") raise
sys.exit(-1)
__all__ = ( __all__ = (
"Ref", "Ref",
@@ -865,6 +864,8 @@ class Skew(Rolling):
""" """
def __init__(self, feature, N): def __init__(self, feature, N):
if N != 0 and N < 3:
raise ValueError("The rolling window size of Skewness operation should >= 3")
super(Skew, self).__init__(feature, N, "skew") super(Skew, self).__init__(feature, N, "skew")
@@ -885,6 +886,8 @@ class Kurt(Rolling):
""" """
def __init__(self, feature, N): def __init__(self, feature, N):
if N != 0 and N < 4:
raise ValueError("The rolling window size of Kurtosis operation should >= 5")
super(Kurt, self).__init__(feature, N, "kurt") super(Kurt, self).__init__(feature, N, "kurt")
@@ -1268,7 +1271,7 @@ class WMA(Rolling):
def weighted_mean(x): def weighted_mean(x):
w = np.arange(len(x)) w = np.arange(len(x))
w /= w.sum() w = w / w.sum()
return np.nanmean(w * x) return np.nanmean(w * x)
if self.N == 0: if self.N == 0: