【魔码量化HTTP实战 #18】定时拉数:每天盘后自动把数据存进 SQLite
【魔码量化HTTP实战 #18】定时拉数:每天盘后自动把数据存进 SQLite
本文来自魔码量化实战系列 —— 不依赖任何 SDK,用最朴素的 HTTP GET 请求玩转量化行情数据。
让数据自己长出来
量化讲究“持续的数据”。下面把第 09 篇的落库逻辑封装成 pull_and_store,配合系统的定时任务(cron / 云函数)就能每天盘后自动累积行情。
import sqlite3, requests
BASE = "https://api.momaapi.com"
LICENCE = "你的魔码证书"
def pull_and_store(code, db="watch.db"):
bars = requests.get(f"{BASE}/hsstock/history/{code}/d/n/{LICENCE}",
params={"st":"20250101","et":"20250401"}).json()
con = sqlite3.connect(db)
con.execute("CREATE TABLE IF NOT EXISTS k(d text, c real)")
con.executemany("INSERT OR REPLACE INTO k VALUES(?,?)",
[(b["t"], b["c"]) for b in bars])
con.commit()
n = con.execute("SELECT count(*) FROM k").fetchone()[0]
con.close()
return n
print("存储 600519 行数:", pull_and_store("600519"))
print("(生产环境可用系统定时任务/云函数每天盘后调用此函数)")
运行结果(真实返回):
存储 600519 行数: 350
(生产环境可用系统定时任务/云函数每天盘后调用此函数)
注:具体定时:Linux/macOS 用
crontab -e加一行每天 16:30 执行;Windows 用任务计划程序。脚本里加多只股票循环即可批量落库。
免责声明:本文所有示例数据仅用于接口演示,不构成任何投资建议;市场有风险,投资需谨慎。
系列持续更新中。 想要亲手跑通上面的代码?前往 魔码证书申请页 免费领取你的专属证书,复制即用、按次计费、稳定可用。
想亲自试一下?免费获取证书
