过滤当天更新的指数并计算天和周cci
This commit is contained in:
@@ -70,6 +70,10 @@ def main_calc_process():
|
||||
continue
|
||||
# 将 'date' 列转换为 datetime 类型,并设置为索引
|
||||
df["date"] = pd.to_datetime(df["date"])
|
||||
# 判断最新日期是否为今天,如果不是则跳过
|
||||
today_str = datetime.now().strftime("%Y-%m-%d")
|
||||
if df["date"].max().strftime("%Y-%m-%d") != today_str:
|
||||
continue
|
||||
df = df.sort_values("date")
|
||||
df.set_index("date", inplace=True)
|
||||
|
||||
@@ -93,23 +97,40 @@ def main_calc_process():
|
||||
timeperiod=14,
|
||||
)
|
||||
df_weekly = df_weekly.tail(1)
|
||||
cci = df_weekly["cci"].values[0]
|
||||
logger.info(f"{i}/{len(code_list)}: {code} cci: {cci}")
|
||||
week_cci = df_weekly["cci"].values[0]
|
||||
|
||||
df["cci"] = ta.CCI(
|
||||
high=df["high"],
|
||||
low=df["low"],
|
||||
close=df["close"],
|
||||
timeperiod=14,
|
||||
)
|
||||
cci = df["cci"].tail(1).values[0]
|
||||
logger.info(f"{i}/{len(code_list)}: {code} week_cci: {week_cci} day_cci: {cci}")
|
||||
if cci < -100:
|
||||
signal_list.append(
|
||||
{"code": code, "name": code_info["指数名称"], "cci": cci}
|
||||
{
|
||||
"code": code,
|
||||
"name": code_info["指数名称"],
|
||||
"天cci": cci,
|
||||
"周cci": week_cci,
|
||||
}
|
||||
)
|
||||
# break
|
||||
signal_df = pd.DataFrame(signal_list)
|
||||
# dingtalk.send_markdown(
|
||||
# f"CCI信号", signal_df.to_markdown(tablefmt="simple", index=False)
|
||||
# )
|
||||
dingtalk.send_text(
|
||||
tabulate(signal_df, tablefmt="plain", headers="keys", showindex=False)
|
||||
)
|
||||
if len(signal_list) > 0:
|
||||
dingtalk.send_text(
|
||||
tabulate(signal_df, tablefmt="plain", headers="keys", showindex=False)
|
||||
)
|
||||
else:
|
||||
logger.info("无信号")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
# main_calc_process()
|
||||
...
|
||||
# main()
|
||||
# logger.info(datetime.now())
|
||||
|
||||
Reference in New Issue
Block a user