过滤有场外etf的指数

This commit is contained in:
2025-10-12 17:04:37 +08:00
parent 681d5b612e
commit 7cb07e58c0

View File

@@ -10,7 +10,9 @@ import traceback
from dingtalk import DingTalkBot
import talib as ta
db_config = DatabaseConfig()
env = "online"
# env = "on"
db_config = DatabaseConfig(env=env)
logger.info(f"数据库连接: {db_config.connection_string}")
# 如果只是测试连接
@@ -54,13 +56,12 @@ def main():
webhook = "https://oapi.dingtalk.com/robot/send?access_token=fb70c1561d8beba94b4f11568f4bb15e3ae07ccbdc8ac19676434a9d1cd17546" # 填写你的webhook
secret = "SEC1ae7cd2f1a6f9da3611af37da3e7d954c1e8533fc073c6c8cc5e5af3b6e5926b" # 填写你的加签token如果有否则留空
dingtalk = DingTalkBot(webhook, secret)
# code_list = get_all_index_code()
code_df = get_all_stock_index()
code_df = code_df.drop_duplicates(subset=["代码"])
index_fund_df = pd.read_csv("index_fund_info.csv", encoding="utf-8-sig")
code_df = index_fund_df.drop_duplicates(subset=["指数代码"])
code_list = code_df.to_dict(orient="records")
signal_list = []
for i, code_info in enumerate(code_list):
code = code_info["代码"]
code = code_info["指数代码"]
df = get_index_recent_date(code, 100)
if len(df) < 100:
continue
@@ -92,12 +93,18 @@ def main():
cci = df_weekly["cci"].values[0]
logger.info(f"{i}/{len(code_list)}: {code} cci: {cci}")
if cci < -100:
signal_list.append({"code": code, "name": code_info["名称"], "cci": cci})
signal_list.append(
{"code": code, "name": code_info["指数名称"], "cci": cci}
)
# break
signal_df = pd.DataFrame(signal_list)
dingtalk.send_markdown(f"CCI信号", signal_df.to_markdown())
dingtalk.send_markdown(
f"CCI信号", signal_df.to_markdown(tablefmt="simple", index=False)
)
if __name__ == "__main__":
# main()
logger.info(datetime.now())
schedule.every().day.at("19:00").do(main)
while True: