Shixin Zhang
Shixin Zhang
这确实是有可能的,有些国内网站用国外 ip 访问有困难;反之亦然。这个问题存在于所有爬虫类的软件里,很难完美解决。
暂时无
> 每天晚上获取当天基金净值的时候会有数据更新不及时的情况 这个是 xalpha 的 designed feature。由于不同基金当日数据更新时间不同,日线数据同时出现不同日期时可能造成混乱,所以统一截断到昨天。想要获取最新的数据,可以使用 ``xa.get_rt("F123456")`` 单独获取当日数据。
好问题,这个记账单的读取,暂时只支持 csv 格式。数据缓存则是 csv 和 sql 两种后端都支持的。 这边最核心支持的记账单的 matrix 模式其实是和 sql 的表格设计不大兼容的,list 型的流水账单没问题。因此短期内可能也不考虑记账单的 sql 格式直接支持(还有一个考虑就是实盘账单原生在数据库里的情形比较少见)。 所以如果本来账单在数据库里的话,可以考虑通过 pandas 读出来对应表格作为 DataFrame,直接传入 ``record(path=df)`` 即可,也不需要额外生成 csv 用。
本来 get_rt 是可以获取实时估值的,但是天天基金页面好想修改了实时估值的获取逻辑,我看一下能否调整下代码 **Update**: 最新 commit,应该 get_rt 又可以获取到 estimate 属性了
> 现在数据只到12-31了,怎么获取历史净值啊 升级一下 xalpha 的版本就好了,老版本没有 2021 的交易日历
应该是不用自己建表的,本质上我也就是调了下 pandas 的 API ``df.to_sql("xa"+code, con=engine)``. 所以这个问题大概率是 sqlite 或 sqlalchemy 两者或者他们不匹配造成的?我记得 django 有自带的 orm,不知道会不会和 sqlalchemy 冲突啥的。 我的一些排查建议,直接调用 ``fundinfoobj.price.to_sql("xa00012", con=engine)`` 看看是否正常工作,然后在 django 框架下边调用这句看看是否正常工作。如果这两者会出问题,那大概率不是 xalpha 这边的问题。如果这样是正常的,我们可以在来看是不是 xalpha 哪里有点问题。
程序应该没表格会自动捕获异常然后初始化数据。你如果按照 ``df.to_sql("xa123456")`` 测试后,记得把对应的表从 sqlite 删掉,因为这个和 123456 基金 xalpha 自动去存的表格式还是有区别,但是名字相同了。所以做过这个 to_sql 的测试后,再 xa.fundinfo(**io) 会报获取数据有问题的错误。 不过如果直接调用 to_sql 是好的,那确实很奇怪。因为这个本地化部分的代码很简单,就在 https://github.com/refraction-ray/xalpha/blob/master/xalpha/info.py#L855-L877 ,基本上就是一个 to_sql. 另外我一直在用 mysql 的数据库,也是没遇到问题的。不知道会不会和 sqlite 某些表头和数据类型的约定限制有关系。也许你可以参考下 https://github.com/refraction-ray/xalpha/issues/38, 看是不是类似的问题,我也不太确定
这个只能 ``sysopen.fundtradeobj[0].cftable`` 和 df 的账单比一下了,看看是不是哪一笔有什么问题
建议你可以把 cftable 和 df 逐行打印出来,不然我也无法给出建议,看到是哪里对不上