← 返回工具目录 · 全部教程

本地 Python 环境与 SQLite 数据库准备

系列·本地复盘篇 01 — 数据不出门、一分钱不花,在自己电脑上搭好整套系统的地基

📖 本篇是《本地 AI 复盘系统》第 1 篇,零基础可跟;后续三篇都在这个地基上盖楼。

01 · 本地跑 vs 上云,怎么选

本地方案的优点很实在:免费、行情数据不出门、和你的看盘软件在同一台机器上。 代价也明确:电脑得开机任务才会跑(收盘后复盘场景影响不大)、笔记本睡眠会中断任务。 如果你想要 7×24 无人值守,回头走云端路径;每天收盘后复盘,本地完全够用。

02 · 装 Python:一个勾别漏

装完开终端验证,然后给 pip 配国内镜像,再学会用虚拟环境:

python --version          # 能打印 3.12+ 即成功

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

# 为这个项目建独立环境(避免和其他项目互相污染)
cd D:/quant && python -m venv .venv
# Windows 激活:        .venv\Scripts\activate
# macOS 激活:          source .venv/bin/activate
pip install akshare pandas

03 · SQLite:不用安装的数据库

SQLite 是单文件数据库,Python 自带驱动,零安装零配置,个人行情库的最佳默认。 再装一个图形界面方便肉眼查库:

04 · 项目目录与第一张表

D:/quant/                    # 项目根
├── .venv/                   # 虚拟环境
├── scripts/                 # 后面三篇的脚本都放这
├── logs/                    # 每个定时任务的日志
├── briefs/                  # AI 复盘笔记存档(第 3 篇用)
└── astock.db                # 行情库(SQLite 单文件)
import sqlite3
conn = sqlite3.connect("D:/quant/astock.db")
conn.execute("""
CREATE TABLE IF NOT EXISTS daily(
  code TEXT, date TEXT,
  open REAL, high REAL, low REAL, close REAL, volume REAL,
  PRIMARY KEY(code, date)
)""")
conn.close()

PRIMARY KEY(code, date) 保证同一只票同一天只有一根 K 线,重复插入会报错—— 这正是我们要的幂等保护。

05 · 验证:十行代码走通全链路

import sqlite3
conn = sqlite3.connect("D:/quant/astock.db")
conn.execute("INSERT INTO daily VALUES('600519','2025-08-29',1488,1498,1476,1490,23345)")
print(conn.execute("SELECT * FROM daily").fetchall())
conn.commit(); conn.close()
# 打印出刚插入的那行 -> Python 和 SQLite 链路全通

06 · 避坑清单

📊 地基打好,下一篇让 A 股数据每天自动流进你的库:

下一篇:A股日线/快照本地自动落库 →

教程不构成任何投资建议;软件版本以官方发布页为准。