使用cci、kdj和站上5日线为买入标志
This commit is contained in:
+24
-1
@@ -1,7 +1,7 @@
|
||||
import numpy as np
|
||||
import pandas as pd
|
||||
import talib
|
||||
from util import calculate_brar
|
||||
from util import calculate_brar, calc_kdj_tdx
|
||||
|
||||
# =====================================================================
|
||||
# 1. 指标引擎:未来所有新发掘的指标,全写在这里
|
||||
@@ -60,6 +60,14 @@ class FeatureEngine:
|
||||
|
||||
self.df["bb_up"], self.df["bb_mid"], self.df["bb_low"] = up, mid, low
|
||||
|
||||
df_tmp = calc_kdj_tdx(self.df)
|
||||
self.df["K"] = df_tmp['K']
|
||||
self.df["D"] = df_tmp['D']
|
||||
self.df["J"] = df_tmp['J']
|
||||
|
||||
cci = talib.CCI(self.df['high'], self.df['low'], self.df['close'], timeperiod=14)
|
||||
self.df["cci"] = cci
|
||||
|
||||
df_tmp = calculate_brar(self.df)
|
||||
|
||||
self.df["ar"] = df_tmp["ar"]
|
||||
@@ -75,6 +83,7 @@ class FeatureEngine:
|
||||
|
||||
latest = self.df.iloc[-1]
|
||||
prev = self.df.iloc[-2]
|
||||
prev_2 = self.df.iloc[-3]
|
||||
|
||||
# 如果 5分钟线数据拿到了,现价以 5分钟最新收盘价为准(更接近 14:48 真实盘面)
|
||||
# 如果没拿到,退化使用日线昨日收盘(做测试用)
|
||||
@@ -96,11 +105,25 @@ class FeatureEngine:
|
||||
)
|
||||
features["is_not_new_low_10d"] = latest["close"] > latest["low_min_10d"]
|
||||
|
||||
features["prev_ma5"] = prev["ma5"] if "ma5" in prev else prev["close"]
|
||||
|
||||
features["K"] = latest["K"]
|
||||
features["D"] = latest["D"]
|
||||
features["J"] = latest["J"]
|
||||
|
||||
features["prev_K"] = prev["K"]
|
||||
features["prev_D"] = prev["D"]
|
||||
features["prev_J"] = prev["J"]
|
||||
|
||||
features["ar"] = latest["ar"]
|
||||
features["prev_ar"] = prev["ar"]
|
||||
features["br"] = latest["br"]
|
||||
features["prev_br"] = prev["br"]
|
||||
|
||||
features["cci"] = latest["cci"]
|
||||
features["prev_cci"] = prev["cci"]
|
||||
features["prev_cci_2"] = prev_2["cci"]
|
||||
|
||||
history_bw = self.df["bandwidth"].iloc[-250:]
|
||||
features["bw_quantile"] = (history_bw < latest["bandwidth"]).mean()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user