InvesTool 部署与配置上手指南:5步把财报分析与基金筛选工具跑起来
InvesTool 部署与配置上手指南5步把财报分析与基金筛选工具跑起来【免费下载链接】investoolGolang实现财报分析、个股基本面检测、基本面选股、4433法则基金筛选与检测、基金持仓相似度、股票选基、基金经理筛选项目地址: https://gitcode.com/gh_mirrors/in/investoolInvesTool 是一款用 Go 语言实现的个人投资分析工具帮你把按基本面选股和4433 法则基金筛选这两件原本要手动翻财报、算指标的苦差事自动化。读完这篇 InvesTool 部署与配置上手指南你不需要懂 Go 编程只要照着敲命令就能在十几分钟内把 Web 界面跑起来、用命令行检测一只股票、把筛选结果导出成 Excel最后还能把它稳稳部署到一台服务器上长期运行。全文围绕先跑起来、再调教、再上生产这条主线展开每一步都附成功标志方便你对照自查。第一章 先说清楚装好 InvesTool你立刻能得到什么很多选股工具只负责把一堆股票扔给你剩下的大量工作还是得自己做打开一只股票的财报看 ROE 高不高、净利润是不是连续几年增长、负债率有没有超标……股票一多这套动作能把人累垮。InvesTool 的价值恰恰是把这段反复打开财报页面、人工核对指标的过程变成一条命令。它替你完成了三件事自动筛按你设定的条件ROE、营收增长、负债率、市值、股价区间等从全市场挑出候选股票再逐只做基本面检测不合格的直接过滤掉。自动查输入股票名称或代码马上给出 ROE、EPS、营收、利润、估值、合理价、历史波动率等一串检测结果并给出整体判定。自动存把筛选结果导出为 Excel、CSV、JSON 甚至二维码图片方便你导入行情软件或存档。除此之外它还内置了基金 4433 筛选、基金持仓相似度分析、股票选基和基金经理筛选这些功能目前主要在 Web 界面里操作。所以接下来的旅程分两条线先用命令行快速尝鲜再打开 Web 界面体验完整功能。第二章 15 分钟快速体验先看到结果再谈配置这一章的目标只有一个让你在最短时间内亲眼看到 InvesTool 在工作。别急着研究配置先跑起来。第 1 步拿到源码找个目录把项目克隆下来然后进入项目目录git clone https://gitcode.com/gh_mirrors/in/investool cd investool# 确认 Go 环境已安装版本 1.16 及以上即可 go version如果提示找不到go命令先按 Go 官方文档装好环境再回来。✅ 当终端里出现类似go version go1.20 linux/amd64的输出说明环境就绪。第 2 步编译出可执行文件项目本身就是 Go 源码编译一条命令搞定go build -o investool main.go# 确认编译产物已经生成 ls -l investool✅ 看到当前目录多出一个名为investool的可执行文件就说明编译成功。这也是接下来所有操作的主角。第 3 步用命令行检测一只股票先走最短路径用checker子命令检测一只股票输入名称或代码都行./investool checker -k 比亚迪如果想一次检测多只用/把关键词连起来./investool checker -k 招商银行/中国平安/600519运行后程序会去数据源拉取财报数据然后逐项打印检测结论。你会看到类似下面的界面——它把每项检测的标准和你的股票实际表现并排展示一目了然上图是股票检测器的运行结果左侧列检测维度右侧列实际数值红色标签标注重点结论比如 EPS 是否逐年递增、股价与合理价的差距。再往下滚动还会看到对 ROE、负债率、PEG 等指标的最终判定上图是检测的收尾部分整体质地、ROE 趋势、负债率、PEG 逐项给出结论最后一行是整只股票的最终判定符合/不符合。如果你输入的不是它认为达标的标的结尾就会像图里这样显示 FAILED——别慌这只是说明这只股票没通过它的筛选标准。✅ 只要能看到这一串检测输出InvesTool 的核心能力就算验证通过了一半。第 4 步启动 Web 界面体验完整功能命令行只是开胃菜基金筛选、持仓相似度这些功能都在网页里。启动 Web 服务同样简单./investool webserver默认会读取当前目录下的config.toml配置文件。启动成功后日志里会出现一行类似Server is running on :4869的提示。这时打开浏览器访问http://localhost:4869✅ 看到网页加载出来就说明 Web 服务正常。页面登录账号默认是admin密码也是admin后面会教你怎么改。逛一逛基金筛选、股票检测这些页面先对功能有个印象下一章我们再把它调教成顺手的样子。第三章 配置魔法把工具调教成你想要的样子跑起来只是第一步真正让它合你的口味靠两样东西config.toml 配置文件管 Web 服务的行为和命令行参数管每次筛选检测的标准。你可以把前者想象成遥控器上的总开关后者是每次出发前设定的目的地。3.1 Web 服务总开关config.toml文件位于项目根目录启动时用-c参数可以指定别的配置文件./investool webserver -c ./config.prod.toml先看最常用的几个开关按功能分组给你讲① 服务参数端口、运行模式[server] addr :4869 mode debugaddr服务监听地址和端口:4869表示监听所有网卡的 4869 端口。端口被占用时改成:8888之类即可。mode运行模式开发时用debug日志更详细正式对外服务建议改成release。② 安全与访问控制[basic_auth] username admin password admin [ratelimiter] enable truebasic_auth是网页的登录账号密码部署到公网前务必改掉默认的 admin/admin。ratelimiter.enable控制是否开启请求频率限制开启后能防止有人高频刷接口自己单机玩也可以关掉。③ 日志行为[logging] level info format json output_paths [stdout]level日志级别调试时用debug日常用info嫌吵就warn或error。output_paths日志输出到哪里[stdout]是打印到终端想落盘改成[logrotate://./logs/investool.log]程序会自动按天/按大小轮转。改完配置后直接重启./investool webserver就能生效因为程序启动时会重新读取整个文件。3.2 每次筛选检测的标准命令行参数Web 界面能点出默认规则的筛选结果但命令行才是自定义条件的主场。exportor的筛选参数分两组filter.*管从全市场捞出哪些候选checker.*管对候选逐只做哪些基本面检查。场景一我想要负债率更低、ROE 要求更高的股票./investool -l error exportor -f ./mystocks.xlsx --filter.min_roe10 --filter.max_debt_asset_ratio40 --checker.min_roe10 --checker.max_debt_asset_ratio40说明filter.min_roe10要求候选股最新 ROE 不低于 10%filter.max_debt_asset_ratio40要求资产负债率不高于 40%checker.*两个参数把检测阶段的标准提到同样水平。-l error是让日志只报错误屏幕干净一点。✅ 跑完后在./mystocks.xlsx找到导出文件即成功。场景二我只关心某几只股票不想要全市场筛选./investool -l error exportor -f ./watch.xlsx --filter.special_security_name_abbr_list 福莱特 --filter.special_security_name_abbr_list 旗滨集团 --disable_check说明--filter.special_security_name_abbr_list可以重复传指定只处理这些名称的股票--disable_check跳过基本面检测只导出原始筛选结果适合先快速看一眼数据。场景三导出格式由文件后缀自动决定./investool -l error exportor -f ./stocks.json # 导出 JSON ./investool -l error exportor -f ./stocks.csv # 导出 CSV ./investool -l error exportor -f ./stocks.xlsx # 导出 Excel按行业、价格、历史波动率分工作表 ./investool -l error exportor -f ./stocks.png # 导出成代码图片方便导入行情 APP ./investool -l error exportor -f ./stocks.all # 一次导出上面所有格式说明它不看你写什么参数只看文件后缀名后缀是.xlsx就出 Excel是.png就出二维码图片all表示全都要。是不是很像看菜下锅想要了解全部可用参数随时查看帮助./investool exportor -h ./investool checker -h第四章 进阶提速让它更快、更稳、更省心用了一段时间后你可能会遇到两个感受一是筛选全市场时等得有点久二是想回头排查某个报错却找不到日志。这一章就是针对这些用着不够顺手的时刻。什么时候该动哪些开关给你一张判断小抄觉得请求太慢、怕被数据源限流打开[ratelimiter]的enable true让请求频率更温和。想排查问题但日志太少把[logging]的level调到debug重启后再复现一次问题日志会详细得多。嫌日志太多刷屏level调到warn或error只看异常。想让日志落盘、方便翻历史把output_paths从[stdout]改成日志文件路径并按需调整[logging.logrotate]里的max_size单个文件多大触发轮转和max_age备份保留几天。筛选任务耗时变长README 里特别提醒过从中报发布季开始满足条件的公司会越来越多筛选耗时随之增加如果服务挂在 Nginx 后面记得把反向代理的超时时间调大下一章会讲。并发拉数据卡顿[app]里的chan_size控制并发拉取数据时通道的大小默认 1 比较保守网络好的机器可以试着调大一点观察效果。定时任务别去动它但你要知道它在干什么[app.cronexp]里配置了定时任务的 cron 表达式比如sync_global_vars 0 6 * * 1-5表示每个工作日早上 6 点自动同步全局变量。基金 4433 列表也是靠定时任务每个工作日全市场跑一遍大约 1 分 50 秒生成的结果保存在 JSON 文件里。没有特殊需求保持默认即可。第五章 上生产当一个人扛不住时怎么办到这一步你可能已经离不开它了开始想让它在服务器上 7×24 小时跑着哪怕电脑关机、进程崩了也能自动恢复。这时候单靠./investool webserver就不够了——你需要三件套Docker环境打包、Nginx对外接待、Supervisor进程守护。先说个比喻帮你理解如果 InvesTool 是你要开的一家店Docker 是标准化的厨房设备Nginx 是站在门口的前台接待员来访的客人都先找它再由它把客人领到厨房Supervisor 则是店长盯着店员进程有没有偷懒倒下了就喊起来继续干。5.1 用 Docker 把环境打包项目根目录自带Dockerfile它会从发布包解压出可执行文件并运行。构建和启动docker build -t investool:latest .docker run -d -p 4869:4869 --name investool -v $(pwd)/config.toml:/srv/investool/config.toml investool:latest说明-p 4869:4869把容器内的 4869 端口映射到宿主机-v把宿主机当前目录的config.toml挂载进容器这样你改配置只需重启容器不用重新构建镜像。✅ 执行后docker ps能看到名为investool的容器在运行就成功了。5.2 用 Nginx 做前台接待Docker 只是把服务跑起来了它直接暴露端口对外既不好看也不安全。Nginx 的作用是统一入口用户访问 80 端口Nginx 把请求转给 4869 端口的 InvesTool。项目里给你留了示例见misc/configs/nginx.conf核心就这一段server { listen 80; server_name example.com; location / { proxy_pass http://pink_lady_api; } }配套的负载均衡池也要保留示例文件里的upstream段指向0.0.0.0:4869对应 InvesTool 的监听端口。把server_name改成你自己的域名保存后重载 Nginxnginx -s reload⚠️ 别忘了前面说的随着筛选耗时变长建议在location块里加长proxy_read_timeout和proxy_connect_timeout避免长任务被 Nginx 掐断。5.3 用 Supervisor 当店长进程偶尔会崩崩了谁来拉Supervisor 就是干这个的。项目给的示例在misc/configs/supervisor.conf要点是[program:investool] directory/srv/investool command/srv/investool/investool webserver -c ./config.prod.toml autorestarttrue stdout_logfile/srv/investool/logs/investool.stdout.log stderr_logfile/srv/investool/logs/investool.stderr.log把directory和command改成你服务器上实际的路径与配置文件autorestarttrue表示进程异常退出后自动拉起。用supervisorctl管理supervisorctl reread supervisorctl update supervisorctl status investool✅ 状态显示为RUNNING说明进程被守护住了。5.4 认识一下整体架构当你把 Docker、Nginx、Supervisor 都串起来后整个调用链大致长这样项目里的架构图可以帮你建立全局观上图是 InvesTool 基于 Gin 框架的整体架构设计从前端页面、路由层、核心业务逻辑到数据源适配一应俱全。看这张图时你只需要关注自己部署涉及的那条链路——请求怎么进来、数据从哪个数据源拉取即可其余细节不用深究。第六章 部署完成自检清单三步确认它真的在干活服务部署完了别急着欢呼用下面三步快速自检确认它真的在为你工作① 网页能打开且能登录浏览器访问你的地址用改过的账号密码登录。如果还停留在默认的 admin/admin请立刻回去改掉。✅ 页面正常渲染基金筛选页能看到数据。② 命令行能出结果在服务器上跑一次检测确认数据链路通畅./investool checker -k 贵州茅台✅ 能打印出完整的检测结果而不是报网络错误。③ 导出文件真实可用跑一次导出然后打开文件抽查内容./investool -l error exportor -f ./check.xlsx✅ 生成的 Excel 用 WPS 或 Excel 打开能看到按行业、价格、历史波动率分好的工作表说明从筛选—检测—导出整条流水线是通的。第七章 踩坑速查最常见的 5 个坑与一句话解法Q1启动 webserver 时报端口被占用改config.toml里[server] addr的端口号或先找出占用进程并停掉。Q2登录页面进不去 / 密码不对默认账号密码是admin/admin确认是不是被改过改完配置要重启服务才生效。Q3checker或exportor提示数据获取失败大概率是网络问题或数据源临时调整。先检查服务器能否正常访问外网再把日志级别调到debug复现一次看具体报错。Q4筛选很慢Nginx 老是返回超时在 Nginx 的location里调大proxy_read_timeout和proxy_connect_timeout建议 300 秒以上给长任务留足时间。Q5导出文件后缀写错了格式不对exportor按后缀名决定格式只支持xlsx、csv、json、png、all别的后缀会报错或不识别。写在最后到这里你已经走完了 InvesTool 从只会看到跑得起来、用得顺手的全过程先命令行快速验证再通过配置文件和参数把它调教成自己的标准然后按需提速最后用 Docker、Nginx、Supervisor 三件套把它送上生产。剩下的就是让定时任务每天帮你跑一遍 4433 基金筛选让它在后台安静地当你的投资分析助手。最后必须提醒一句InvesTool 输出的所有数据与分析结果仅供学习研究参考不构成任何投资建议。程序会基于财务数据自动判断但它不懂市场情绪也不对任何决策负责据此操作风险自担。祝使用顺利。【免费下载链接】investoolGolang实现财报分析、个股基本面检测、基本面选股、4433法则基金筛选与检测、基金持仓相似度、股票选基、基金经理筛选项目地址: https://gitcode.com/gh_mirrors/in/investool创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Windows 11 提速实战:10 个新手也能轻松上手的系统服务优化技巧

Windows 11 提速实战:10 个新手也能轻松上手的系统服务优化技巧

Windows 11 提速实战:10 个新手也能轻松上手的系统服务优化技巧 【免费下载链接】windows11 🌎 Windows 11 Settings, Tweaks, Scripts 项目地址: https://gitcode.com/GitHub_Trending/wi/windows11 新电脑到手时飞快,用上半年就变&q…

2026/10/3 13:58:08 阅读更多 →
Rust 编译期能挡住什么,仍要靠测试补什么

Rust 编译期能挡住什么,仍要靠测试补什么

Rust 编译期能挡住什么,仍要靠测试补什么 Rust 的所有权和类型系统能阻止许多悬垂引用与数据竞争,但业务状态、协议顺序和资源耗尽仍可能出错。把“编译通过”写成安全结论,会遗漏真正的运行边界。 类型表达约束 用枚举表示互斥状态&#xff…

2026/10/6 0:49:21 阅读更多 →
怪物猎人世界HUD插件HunterPie完整指南:5分钟看懂实时狩猎数据监控

怪物猎人世界HUD插件HunterPie完整指南:5分钟看懂实时狩猎数据监控

怪物猎人世界HUD插件HunterPie完整指南:5分钟看懂实时狩猎数据监控 【免费下载链接】HunterPie-legacy A complete, modern and clean overlay with Discord Rich Presence integration for Monster Hunter: World. 项目地址: https://gitcode.com/gh_mirrors/hu/…

2026/10/5 21:48:07 阅读更多 →

最新新闻

卡尔曼滤波器从一维到EKF:机器人状态估计实战笔记

卡尔曼滤波器从一维到EKF:机器人状态估计实战笔记

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 18:56:01 阅读更多 →
POD-LSTM高维时间序列预测实战:降维+建模+可视化一站式指南

POD-LSTM高维时间序列预测实战:降维+建模+可视化一站式指南

简介:本资源是一份面向数据科学与工业智能领域工程师的POD-LSTM时间序列预测实战指南,聚焦高维多变量场景下的降维建模与可解释预测难题,适用于风电功率、设备状态监测、环境治理等实际业务场景。资源以1个146KB的docx文档形式交付&#xff0…

2026/10/13 18:56:01 阅读更多 →
LiteLLM:大模型多平台协议桥接与标准化调用实战指南

LiteLLM:大模型多平台协议桥接与标准化调用实战指南

1. 一个被严重低估的“协议翻译官”:LiteLLM到底在解决什么真问题?很多人第一次看到LiteLLM这个名字,下意识会以为它是又一个大模型训练框架、推理加速库,或者某种新型开源大模型。我最初也这么想——直到在某次跨平台AI服务集成中…

2026/10/13 18:56:01 阅读更多 →
华为AI DevSpace编译星闪WS63 SDK全攻略

华为AI DevSpace编译星闪WS63 SDK全攻略

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 18:56:01 阅读更多 →
Django+Vue小说推荐系统:从爬虫到可视化完整实现

Django+Vue小说推荐系统:从爬虫到可视化完整实现

看到标题里同时出现了“DjangoVue.js”“小说推荐系统”“小说可视化”“小说爬虫”“大数据毕业设计”这一串关键词,我基本能猜到你在选毕设题目时经历了什么——翻了一下午题目清单,要么是太简单拿不出手,要么是纯理论写到头秃,…

2026/10/13 18:56:01 阅读更多 →
静态时序分析实战:从时序弧到时钟约束的完整解读

静态时序分析实战:从时序弧到时钟约束的完整解读

说实话,静态时序分析这个系列写到第二篇,我想换个切入点。上一篇我们把STA是什么、为什么需要它、建立时间和保持时间的基本定义聊了一遍。但很多刚接触时序分析的同学,看完概念之后对着工具报出来的一屏时序报告,还是会有一种&qu…

2026/10/13 18:54:57 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →