Shixin Zhang

Results 126 comments of Shixin Zhang

我也记不清自己写过哪些api了==,这个排名感觉大概率还没有写,虽然我记得好像什么时候研究过天天基金的这个 api

非常好的建议!我觉得也很有必要。初步想法是和 https://github.com/refraction-ray/xalpha/issues/79 这个需求和设计接口合并。也即之前的多笔交易,对应到某一天有一个总金额(比如 2000)和一个总份额(比如 2000),当天净值为 2, 那么账单可以记为 2000.005 (申购2000元,免申购费),再在第二天记录无现金流增加 1000 份额,只不过这边无现金流改变基金份额的约定要重新设计,来兼容超过 10 份额的调整。此外,现阶段我不确定单方面无现金流改动份额数,是否会影响最后的各种收益率和指标的准确计算

我觉得是可行的,只不过要想一个能把这些信息压缩到一个数字的编码(最初设计问题,懒得改了)。 320.156205 代表当日申购了 320.15 元,且还有 2.05 份额的额外增加,(6代表增加份额,7代表减少份额),这样的设计如何?

1. 是的,同一日单个基金只能合计成单笔交易,有时会造成1分的误差。但是场外基金的话这种情况应该不是很多,即使有 1 分的误差我想也还能接受。如果是场内交易,有专门的[场内账单格式](https://xalpha.readthedocs.io/en/latest/advance.html#id11),单日单标的可以多笔交易,不受影响。 2. 很好的建议,其实现在场内账单就支持乱序,代码里有排序了,我可以之后在场外基金账单部分也放入按日期排序,这样记账时日期可以乱序(现在也可以记账之后,excel 排一下序再保存)。

这个更加灵活的记账方式,确实一直在开发日程上,也有很多需求会用到,不过最近比较忙,没怎么开发这边。 关于 “6代表增加份额,7代表减少份额”, 这个只是个proposal,我还没去实现。具体之后怎么用更合适的格式来记账,还需要再考虑。 另外对于同日反复操作的基金,建议可以使用[场内记账格式](https://xalpha.readthedocs.io/en/latest/advance.html#id11),最后的投资汇总可以场内场外一起显示 ``sys = xa.mul(cm_t, status=st,istatus=ist)`` st, ist 分别对应场外账单和场内账单的 df,场外账单记录的格式会灵活很多,只不过需要手动记录发生交易时的净值和手续费情况

好问题. 首先如果是读取记账单的 property,需要 property 在第一行。其次这种包含 property 的账单,需要通过 record 类预处理(通过读入文件,我之后可能添加直接读取内存里 df 的选项),mul 类不能直接识别第一列是 property 的账单。那么合起来,第一种解决方案: ```python fundlist = ["161005", "163402"] df = pd.DataFrame([[2 for _ in fundlist], [1000 for _ in...

这里的 dividend label 和 property 一样,只适用于交易记账处理的情况,而不会自动处理净值。evaluate 类则总是用净值来画图。先给出一个解决方案(注意基金的累积净值不是分红再投入的净值),下面方法比较慢,有了更好的 shortcut 我会加进 xalpha 里: ```python def fundinfo_buyandhold(code, start=None): f = xa.fundinfo(code) if not start: start = f.price.iloc[0]["date"].strftime("%Y%m%d") st = xa.policy.buyandhold(f, start=start, totmoney=1000) sys...

其实如果有强迫症非想看兴全趋势的情况的话,可以手动改掉 fundinfo.price dataframe 或者本地化的 csv 文件就行。就是在 18年分红日那天的 comment 栏填上分红对应的小数就行了。

目前暂时没有基金经理的相关信息