本地文件数据插件
本地文件数据插件(LocalFile)允许您从 CSV 文件读取标的信息、最新价格和历史日线数据,无需依赖网络 API。适合已持有本地行情数据的用户,或希望从 akshare、tushare、通达信、Yahoo Finance 等工具导出的数据直接加载到 WealthSight 中使用。
适用场景
- 已通过 akshare、tushare 等工具批量导出了历史行情 CSV 文件。
- 拥有从券商交易软件(通达信、同花顺、东方财富等)导出的日线数据。
- 希望离线使用行情数据,不依赖网络 API 的稳定性和频率限制。
- 需要整合多个数据来源的行情到一个统一的本地文件中。
配置
在 设置 → 插件管理 → LocalFile 中:
- 填写 CSV 数据文件路径(必填),支持绝对路径或相对路径。
- 根据需要调整 文件编码(可选,默认 UTF-8,留空则自动检测)。
- 保存设置后,插件会自动读取文件并构建数据索引。
- 更新 CSV 文件后,插件会在后续查询时后台自动检测并重载;也可以点击 重新加载文件 立即刷新数据。
CSV 文件格式
必填列
| 列名 | 说明 | 示例 |
|---|---|---|
SecurityCode | 标的代码 | 000001、600519、AAPL、00700 |
Name | 标的名称 | 平安银行、Apple Inc. |
Date | 交易日期 | 2024-01-02 |
Close | 收盘价 | 12.50 |
可选列
| 列名 | 说明 |
|---|---|
Currency | 交易货币(CNY / HKD / USD 等) |
SymbolCode | 插件内部唯一标识码,如 000001.SZ、0700.HK;不填则自动使用 SecurityCode |
High | 最高价 |
Low | 最低价 |
表头别名支持
插件支持中英文表头自动识别,以下列名均可被正确映射,不区分大小写、不限制列的顺序:
用户代码列(SecurityCode):代码、证券代码、股票代码、标的代码、security_code、stock_code、wind_code 等
内部标识列(SymbolCode,可选):ts_code、ticker、symbol、code 等
名称列:名称、证券名称、股票名称、简称、name、stock_name、company_name 等
日期列:日期、交易日期、时间、date、trade_date、datetime 等
收盘价列:收盘、收盘价、最新价、close、price、nav(基金净值)等
最高/最低价列:最高/最低、最高价/最低价、high/low 等
币种列:币种、货币、currency、cur 等
格式示例
| |
以 # 开头的行会被视为注释自动跳过。空值可用 -、N/A 或直接留空表示。
其中:
SecurityCode用于用户识别和常规搜索,如000001、AAPL。SymbolCode用于插件内部唯一识别;提供后会优先作为内部主键使用。- 搜索支持
SecurityCode、Name,如果提供了SymbolCode,也支持按SymbolCode搜索。
兼容的外部数据源
akshare(推荐)
akshare 是一个开源的 Python 金融数据接口库,可从东方财富、新浪财经、腾讯财经等获取 A 股、港股、美股历史数据。
获取 akshare:
| |
导出 A 股历史数据为 WealthSight 兼容格式(附带转换脚本,见文末):
| |
更多示例:
| |
合并多个 CSV 文件(追加模式):
| |
tushare
tushare Pro 是一个专业的金融数据平台,需注册获取 Token。
tushare 数据导出:
| |
通达信 / 同花顺
通达信和同花顺的数据导出功能通常生成包含 日期、开盘、最高、最低、收盘、成交量、成交额 的文本文件。
适配方法:
- 从软件中导出历史日线数据(通常为
.txt或.xls格式)。 - 用 Excel 打开,在第一行前插入表头行,确保包含
日期、收盘(或收盘价)列。 - 添加
SecurityCode、Name列并填写对应值。 - 另存为 CSV(UTF-8 编码)。
插件会自动识别 日期 → Date、收盘/收盘价 → Close 等中文表头。
Yahoo Finance
使用 yfinance Python 库获取 Yahoo Finance 历史数据:
| |
东方财富 Choice
东方财富 Choice 数据终端导出的 CSV 通常包含 代码、名称、日期、收盘价、最高价、最低价 等列,插件可直接识别。
Wind 万得
Wind 导出的数据通常包含 wind_code 列,插件会自动映射为 SecurityCode,无需手动重命名。
自定义 / 手动整理
如果数据来源不在上述列表中,只需确保 CSV 包含 SecurityCode、Name、Date、Close 四列,即可正常使用。表头名称可以使用中文或英文,插件会自动识别。
数据更新
- 插件启动时自动加载 CSV 文件。
- 更新 CSV 文件后,插件会在后续搜索、取价、取历史时后台自动检查文件是否变化并热更新索引。
- 自动检查有轻量节流,不会在每次查询都重复扫描文件;通常会在您修改文件后的下一次查询触发检查,并在短时间内完成后台重载。
- 后台重载期间,WealthSight 会继续使用上一版已成功加载的数据;新索引构建成功后才会切换到最新文件内容。
- 如果新文件存在格式错误或缺少必填列,自动重载会失败,但不会打断当前可用数据;可在插件状态中查看失败原因。
- 如需立即生效,可在 插件管理 → LocalFile → 重新加载文件 手动刷新数据索引。
- 建议配合定时脚本(如 cron / Windows 任务计划)定期重新生成 CSV 文件,再用插件的"重新加载"操作更新数据。
常见问题
插件显示"索引未就绪"
请检查:
- CSV 文件路径是否正确。
- 文件是否存在且可读。
- 是否包含必填列(SecurityCode、Name、Date、Close);缺少任意一列都会导致重载失败。
- 文件编码是否与设置一致(可尝试留空使用自动检测)。
我的 CSV 文件更新后,什么时候会被读取到
- 插件不会持续监听文件系统,而是在您后续进行搜索、取价、取历史等操作时,顺带检查文件是否更新。
- 一旦检测到文件修改,插件会在后台重建索引;重建成功后,新的查询结果就会使用最新文件内容。
- 如果希望更新后立刻生效,而不是等下一次查询触发检查,请手动点击 重新加载文件。
- 如果文件很大,后台重载可能需要更长时间;在此期间,WealthSight 仍会继续使用上一版已成功加载的数据。
搜索不到标的
- 确认 CSV 中该标的有至少一行有效的历史数据。
- 搜索时优先输入 SecurityCode(如
000001)或 Name(如平安银行);若 CSV 提供了 SymbolCode(如000001.SZ),也可直接搜索。 - 大小写不敏感,A 股代码和美股代码自动区分。
价格显示为空
- 该标的在 CSV 中没有历史数据行,或 Close 列为空。
- 插件返回的是 最新日期的收盘价,并非实时盘中价格。
如何合并多个 CSV 文件
如果从不同来源导出了多个 CSV,可以用 Python 脚本合并(见上文 akshare 节的合并示例),或手动将数据复制到同一个 CSV 中。插件支持多标的数据混合在同一个文件中。
支持的货币有哪些
插件本身不限制货币类型,CSV 中的 Currency 列可填任意标准货币代码(CNY、HKD、USD、EUR、GBP、JPY 等)。留空时不影响使用,但部分功能(如分币种筛选)会受限。
注意事项
- 插件是 纯本地 的,不会向任何远程服务器发送数据。
- A 股(6 位数字)、港股(1~5 位数字)、美股(纯字母)的代码格式天然不碰撞,无需额外区分。
- 数据更新频率取决于您更新 CSV 文件的频率,建议配合数据获取脚本定期更新。
- 历史数据不完整时,WealthSight 的分析功能可能会受到限制。
- 本插件为官方维护,与其他社区插件一样,数据准确性由用户自行确认。