想要同时一次性分析5000+只股票+半年数据,目前没有任何一个sdk可以做到,
更别说数据api,限速,限流,网络io,光数据拉取就得耗费一天时间,还不算回测时间。
而量化需要的恰恰就是批量读取和批量计算。
于是准备在本地搭建一个本地量化数据库。
光是下载数据就耗费了3天3夜,网络错误,ip封禁,积分不足,头疼不已,最后还缺失很多数据,复权和检查还得花2天。
然后每日的数据采集,维护,又是一个无休止的工作。
慢慢编写量化代码,回测,又涉及到批量计算,读取pandas 格式归一化,更是大到无法想象的工作量。
后面发现一个开源项目:
free-stockdb,作为一个本地股票数据工作流,几乎把最难的本地集成工作都做了。几分钟就完成至少一个月的工作。
原生集成:
数据源 每日自动更新的全市场股票数据;不用逐股请求接口
数据库 高性能 C++ 股票专用数据库服务;不用设计表、建库、入库或优化查询
计算库 已处理的历史行情、复权、39 种指标、5 种指数计算;不用维护因子或 DataFrame 计算链路
更新库 高速增量同步,不重复下载全量数据;支持断点续传、版本校验和完整性校验
查询库 get_data() 批量查询;zb.get() 批量计算;bk.get() 股票与板块双向映射
依赖库 无需注册、登录、token、无需dll、pip、爬虫、定时任务或自建数据库
对比之后的评分:
一、free-stockdb 分项得分
- 本地量化数据工作流能力:9.5
- 数据更新与自主可控:9
- 查询与批量计算性能:9.5
- 上手/零代码开发体验:9
- 数据来源合规透明度:3 (公益项目,非全品类数据,来源交易所/longbrige官方api接口)
- 长期供应链&跨平台可持续性:7
平均分:7.83/10
二、某股票sdk Pro 分项得分
- 本地量化数据工作流能力:4(需要自己搭库、写存储逻辑,无内置本地时序引擎)
- 数据更新与自主可控:3(纯云端,平台关停则全部失效,无法本地自建替代链路)
- 查询与批量计算性能:3(API限流、网络延迟,大批量遍历效率极低)
- 上手/零代码开发体验:2(必须Python、pip、token、写代码,小白无法直接使用)
- 数据来源合规透明度:1(商业化抓取、大规模、全品类实时数据,风险点很高)
- 长期供应链&跨平台可持续性:8(商业团队运维、全平台支持、社区生态成熟)
平均分:3.50/10
运行评估:
运行了大于大约一个月,非常稳定,每日更新速度很快,约10-20m/s,2分钟就能更新每日数据,然后无限调用。
本地是一个2mb大小的exe程序,看过作者回复:
为什么是闭源exe,有好也不好。
我比较认同,因为现在github上面,非常多的项目,1小时套壳写完开源,readme却写得无所不能!!因为这些没有核心算法当然没有必要闭源。
原文是:
首先:极简设计理念,不允许有复杂的流程,自己编译,自己修改的费时费力的工作。与作者“使用很单纯,复杂在底层”观念相违背。
其次:极速接入理念,官方宣传的是,0依赖,双击即用,接入成本控制到2分钟内。甚至mcp协议都是内置集成,pip包都是直接提取的pyd单文件,无需安装,打开即用。
还有:极快运行理念,每个模块全是原生rust改写,并且只提供一个极速优化的接口,行情bk.get,计算zb.get,数据get_data完全批量计算,速度比pandas这类c++通用dataframe还要快3倍以上。
最后: 也是最关键的一个点,作为一个追求细节,极简的公益产品,开源将会导致大批量的套壳,收费项目,改得乱七八糟。
7836



被折叠的 条评论
为什么被折叠?



