新增一键运行功能
This commit is contained in:
+16
-12
@@ -1,5 +1,8 @@
|
||||
import pandas as pd
|
||||
from sqlalchemy import create_engine, text
|
||||
from sqlalchemy import text
|
||||
import argparse
|
||||
|
||||
from stock_config import get_engine
|
||||
|
||||
# --- 数据库配置 ---
|
||||
# 请根据实际情况修改数据库连接信息
|
||||
@@ -34,13 +37,7 @@ def analyze_and_save_limits(start_date, end_date):
|
||||
"""
|
||||
计算并在数据库中落地涨停、炸板详情
|
||||
"""
|
||||
engine = create_engine(
|
||||
"mysql+pymysql://yangfan@8.159.129.156:10836/level?charset=utf8mb4",
|
||||
connect_args={
|
||||
"password": "aA%8023321088"
|
||||
},
|
||||
pool_pre_ping=True
|
||||
)
|
||||
engine = get_engine()
|
||||
|
||||
# 0. 初始化检查表结构
|
||||
init_db(engine)
|
||||
@@ -61,7 +58,7 @@ def analyze_and_save_limits(start_date, end_date):
|
||||
df = pd.read_sql(query, engine)
|
||||
if df.empty:
|
||||
print(f"⚠️ 在指定区间 ({start_date} -> {end_date}] 内未获取到数据。")
|
||||
return
|
||||
return True
|
||||
|
||||
# 2. 涨停价计算规则
|
||||
def calc_limit(row):
|
||||
@@ -108,19 +105,26 @@ def analyze_and_save_limits(start_date, end_date):
|
||||
print(f"📊 总计入库: {len(final_df)} 条记录(已自动去重并覆盖历史数据)。")
|
||||
else:
|
||||
print("ℹ️ 该时段内全市场无涨停或炸板记录。")
|
||||
return True
|
||||
|
||||
except Exception as e:
|
||||
print(f"❌ 运行失败: {e}")
|
||||
return False
|
||||
|
||||
|
||||
# ============================================================
|
||||
# 用户配置区
|
||||
# ============================================================
|
||||
if __name__ == "__main__":
|
||||
parser = argparse.ArgumentParser(description="计算并保存涨停/炸板数据")
|
||||
parser.add_argument("--start-date", default="2026-04-29", help="开始日期,格式 YYYY-MM-DD,实际查询为大于该日期")
|
||||
parser.add_argument("--end-date", default="2026-04-29", help="结束日期,格式 YYYY-MM-DD")
|
||||
args = parser.parse_args()
|
||||
|
||||
# 开始日期:计算从该日期的下一个交易日开始
|
||||
START_DATE = '2026-04-23'
|
||||
START_DATE = args.start_date
|
||||
|
||||
# 结束日期
|
||||
END_DATE = '2026-04-24'
|
||||
END_DATE = args.end_date
|
||||
|
||||
analyze_and_save_limits(START_DATE, END_DATE)
|
||||
analyze_and_save_limits(START_DATE, END_DATE)
|
||||
|
||||
Reference in New Issue
Block a user