过滤有场外etf的指数
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user