[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-81496":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":8,"htmlUrl":8,"language":9,"languages":8,"totalLinesOfCode":8,"stars":10,"forks":11,"watchers":10,"openIssues":12,"contributorsCount":12,"subscribersCount":12,"size":12,"stars1d":12,"stars7d":12,"stars30d":13,"stars90d":12,"forks30d":12,"starsTrendScore":12,"compositeScore":14,"rankGlobal":8,"rankLanguage":8,"license":8,"archived":15,"fork":15,"defaultBranch":16,"hasWiki":15,"hasPages":15,"topics":17,"createdAt":8,"pushedAt":8,"updatedAt":18,"readmeContent":19,"aiSummary":20,"trendingCount":12,"starSnapshotCount":12,"syncStatus":21,"lastSyncTime":22,"discoverSource":23},81496,"gupiao","zxc1518343069\u002Fgupiao","zxc1518343069",null,"TypeScript",28,9,0,1,37.1,false,"main",[],"2026-06-12 04:01:34","# 股票量化辅助分析系统\n\n一个本地运行的股票观察与量化辅助工具。后端使用 FastAPI、SQLAlchemy 和 Pandas，前端使用 React、TypeScript、Vite 和 Ant Design。系统直接读取本机通达信行情文件，提供自选股分组、行业分组、标签管理、策略配置、均线\u002F乖离率\u002F量比分析等能力。\n\n## 核心功能\n\n- 自选股、ETF、行业分组和标签管理。\n- 读取通达信 `.day` 日线数据，计算 MA5、MA10、MA20、MA60、MA120。\n- 计算均线斜率、乖离率、前 5 日均量量比、持仓区间收益等指标。\n- 根据放量、均线趋势、收敛等条件生成观察信号和操作建议。\n- 支持 FastAPI 接口和 React 管理界面。\n\n## 数据来源与配置\n\n本项目不内置行情数据库。数据库和行情数据是两部分：\n\n- 本地数据库：默认使用 SQLite 文件 `data.db`。它主要保存自选股、分组、标签和策略配置，不保存完整日线行情。该文件属于个人本地运行数据，已在 `.gitignore` 中忽略，不应提交到 GitHub。\n- 数据库结构：后端启动时会调用 `database.py` 中的 `ensure_database_ready()`，只创建缺失的表并执行轻量兼容更新，不会清空、重建或覆盖已有数据。新环境也可以手动运行 `python scripts\u002Finit_db.py` 提前创建数据库。\n- 股票行情：来自本机通达信安装目录下的 `vipdoc` 日线文件，例如 `sz\u002Flday\u002Fsz000001.day`、`sh\u002Flday\u002Fsh600000.day`。后端接口和分析服务会直接读取这些 `.day` 文件。\n- 股票名称和行业信息：读取通达信 `T0002\u002Fhq_cache` 下的 `szs.tnf`、`shs.tnf`、`bjs.tnf`、`tdxhy.cfg`、`tdxzs*.cfg`、`specgpext.txt` 等本地缓存文件。\n\n配置入口在根目录 [config.py](config.py)。首次使用时只需要把 `TDX_VIPDOC_PATH` 替换成自己通达信安装目录下的 `vipdoc` 路径即可：\n\n```python\nTDX_VIPDOC_PATH = r\"E:\\new_tdx\\vipdoc\"\nTDX_ROOT_PATH = os.path.dirname(TDX_VIPDOC_PATH)\nTDX_HQ_CACHE_PATH = os.path.join(TDX_ROOT_PATH, \"T0002\", \"hq_cache\")\n```\n\n通常只需要改第一行，例如替换为 `D:\\通达信\\vipdoc`。`TDX_HQ_CACHE_PATH` 会根据 `vipdoc` 的上级目录自动拼接；如果你的通达信目录结构比较特殊，再单独调整它。\n\n数据库默认使用 `sqlite:\u002F\u002F\u002F.\u002Fdata.db`。如需临时指定其他 SQLite 文件，可以在当前 PowerShell 窗口设置：\n\n```powershell\n$env:DATABASE_URL = \"sqlite:\u002F\u002F\u002F.\u002Fdata.db\"\n```\n\n真实通达信数据、SQLite 数据库、CSV 导出结果都不建议提交到 GitHub。\n\n## 本地启动\n\n后端：\n\n```powershell\npython -m venv .venv\n.\\.venv\\Scripts\\Activate.ps1\npip install -r requirements.txt\n\n# 可选：提前创建或检查本地 SQLite 数据库。跳过也可以，后端启动时会自动保障。\npython scripts\u002Finit_db.py\n\nuvicorn server:app --reload\n```\n\n前端：\n\n```powershell\ncd web\nnpm install\nnpm run dev\n```\n\n默认前端开发服务会通过 [web\u002Fvite.config.ts](web\u002Fvite.config.ts) 把 `\u002Fapi` 代理到 `http:\u002F\u002F127.0.0.1:8000`。也可以在 Windows 下运行 `start.bat` 同时启动后端和前端。\n\n生产构建：\n\n```powershell\ncd web\nnpm run build\ncd ..\nuvicorn server:app\n```\n\n构建后 `server.py` 会在存在 `web\u002Fdist` 时托管前端静态资源。\n\n## 数据库管理约定\n\n- `data.db` 是本地运行数据，不提交、不共享。换机器或重新 clone 后，让应用自动创建，或手动运行 `python scripts\u002Finit_db.py`。\n- `scripts\u002Finit_db.py` 可以重复执行。它只保证数据库结构可用，不会删除已有表，不会清空数据，也不会导入个人自选股。\n- 新增表或字段时，先更新 `database.py` 中的 SQLAlchemy 模型；如果需要兼容旧库，再补充 `ensure_database_schema()` 中的轻量迁移逻辑。\n- 当前项目体量下暂不引入 Alembic。后续如果多人协作频繁改表，或出现复杂数据迁移，再切换到正式 migration 管理。\n\n## 目录结构\n\n- `server.py`：FastAPI 应用入口，注册接口路由并托管前端构建产物。\n- `database.py`：SQLite\u002FSQLAlchemy 数据模型、数据库就绪检查和轻量 schema 兼容逻辑。\n- `scripts\u002Finit_db.py`：可选的本地数据库初始化\u002F检查脚本，适合新环境首次运行前执行。\n- `config.py`：通达信行情目录、数据库地址等本地配置。\n- `api\u002F`：后端接口分层，包含股票数据、自选股、策略和标签接口。\n- `services\u002F`：行情读取、指标计算、股票元数据解析等服务逻辑。\n- `web\u002F`：React + TypeScript 前端应用。\n- `convert_tdx.py`：可选的命令行通达信 `.day` 转 CSV 工具。\n\n## 发布前说明\n\n仓库已忽略 `node_modules`、`web\u002Fdist`、`__pycache__`、`.idea`、`.learnings`、`data.db`、行情数据和扫描结果目录。上传 GitHub 前请确认没有手动添加本地数据库、真实行情文件或个人 IDE 配置。\n","这是一个本地运行的股票观察与量化辅助工具，旨在帮助用户进行自选股分析、行业分组和策略配置。项目基于FastAPI构建后端服务，使用SQLAlchemy和Pandas处理数据，并通过React、TypeScript、Vite及Ant Design搭建前端界面。核心功能包括自选股管理、读取通达信日线数据并计算多种技术指标（如均线斜率、乖离率等），以及根据预设条件生成操作建议。适用于个人投资者或小型团队希望在本地环境中对股票进行深入分析与跟踪的场景。系统设计上注重用户体验与灵活性，同时保证了数据的安全性和隐私性。",2,"2026-06-11 04:05:17","CREATED_QUERY"]