
把我们内部一直在用的数据层开源了: https://github.com/finvfamily/finshare
定位很克制:不做大而全,只解决一件事稳定拿到股票数据。 我自己踩过最烦的坑是:单一源偶发挂掉,回测/任务整段失败。
现在这个库做的事:
5 个源:东方财富、腾讯、新浪、通达信、BaoStock 自动 fallback (一个源失败自动切下一个) 统一输出格式( DataFrame ) 常用接口:K 线、实时快照、批量获取 示例( 6 位代码直接用):
我真心想听实战反馈,尤其这几个问题:
你们线上最常见的数据异常是“超时/空数据/字段漂移/复权不一致”中的哪一个? 自动切源应该默认“无感自动”,还是必须“可配置优先级 + 熔断 + 告警”? 如果只让你选一个最该补的能力:缓存、重试策略、还是数据校验报告? 欢迎直接怼设计,最好带你们真实场景。 如果有代表性的 case ,我可以按回复优先做一版 roadmap 。
1 iorilu 3 月 3 日 关注下 以前也用过几个库, 有的是复权不对 有的可能数据有空, 不一致等 我其实关注就是, 能自动更新数据, 毕竟我不希望每天都要关心到底有没有更新,另外数据前复权准确就行 你这个是只能拉盘后日线还是可以盘中获取实时也行? |
2 dobelee 3 月 3 日 via iPhone 能拉上面的美股吗? |
3 sunfinv OP @iorilu 是的,各个数据源历史数据统计口径不一样,专门做了处理,历史数据口径是一样的。snapshot 也做了处理哦,归一化就是个比较费时的事情,需要各个数据源来回对比。 |
5 mendax2019 3 月 3 日 一直好奇为什么没人做资源站,日频更新 parquet 行情文件就足够了 |
6 zhouhuab 3 月 3 日 数据源很贵啊 |
7 dobelee 3 月 3 日 @mendax2019 有的,只是要高价付费,普通人购买不划算,要么东平西凑打游击,要么订阅 API 。 |
8 iorilu 3 月 3 日 @mendax2019 肯定有阿, 但真要花钱没几个愿意的, 因为费用不会低, 大多人都是测试玩玩的, 不是真靠这赚钱 |
9 keakon 3 月 3 日 支持指数和 ETF 么? 看无需市场后缀估计是不支持指数,不然 000001 是上证指数 |
10 andforce 3 月 3 日 关注一下,回头让龙虾自己炒股 |
11 Alias4ck 3 月 4 日 都 2026 年了 还在用 pip 另外米波量化的米波是 dota2 英雄? |
15 sunfinv OP @mendax2019 有的啊 baostock 就是啊,资源站稳定很重要,需要服务器资源。如果用自己电脑只需要网络 ok 就行了。还是有区别的 |
16 justtokankan 3 月 4 日 请求频率限制咋样? 加入同步 4000 只股票的行情数据,大概要多久? |
17 sunfinv OP @justtokankan 没这么做过,如果是实时行情,使用通达信的接口,一次 80 个,连接的话 20 秒一次。时间也挺久。这个只能说研究低频策略的用这个数据。而且还需要有目标代码,比如红利低波啊,只做 ETF 啊都可以 |
18 1hit5 3 月 4 日 针对散户可以 api 直接调用吗。 类似 tushare |
20 enrolls 3 月 4 日 日线数据没烦恼。tick 才是烦恼,一个 symbol 同一系统架构,不同节点,还能有不同的结果。 @mendax2019 又没有付费群体,偷偷用不好么 @sunfinv 有没有做元数据的?没有的话我要发了。有的话看看合并一下源,或者邮箱来聊。 |
21 enrolls 3 月 4 日 @justtokankan @zhouhuab @iorilu 我的博客右边的 side project 里面的 demo, 能每天 roll 90days 的数据。一般 6 点开始 etl, 6 点半就有数据了。 |
22 justtokankan 3 月 4 日 @sunfinv #17 我做了一个动态代理,同步 4000+股票大概是 10 分钟左右, |
23 metaquant 3 月 4 日 示例代码没跑通: 5 manager = get_data_manager() 7 # 获取 K 线数据(只需传入股票代码,无需市场后缀) ----> 8 data = manager.get_kline('000001', start='2024-01-01', end='2024-01-31') 9 print(data.head()) AttributeError: 'DataSourceManager' object has no attribute 'get_kline' |
25 sampeng 3 月 4 日 via iPhone 好东西,我的龙虾看盘是我自己 vibe 的,各种想办法保证数据能拿到。这下有 cli 工具就好了。我想问一下数据的一致性。比如一只股票的数据是总是一个数据源吗?我认为一致性比容错要强。可以失败标记但不能从另一个数据源弄个数据来填上。 |
28 sunfinv OP @sampeng 本质这些数据源的数据都是走交易所出来的,只不过各家对单位的定义可能存在差别,比如交易量有的是计算的手数,有的是股数,这个库主要是对各家的差别进行 了归一,那么即便你切换数据源数据其实也是一致的,所以在一方数据源拒绝你的请求时候可以使用其他数据源以保证自己功能的稳定性,不过一开始可以自己检验下,比如拿一个标的每个数据源去验证下你主要关注的数据 |
29 lixikei 3 月 5 日 关注 |