Shixin Zhang

Results 126 comments of Shixin Zhang

持仓成本根据我的经验也是和 xalpha 不一样的。xalpha 的处理是把利润全部扣除算的成本,也就是说只有标的价格跌到你的持仓成本,你就恰好不赚不亏(时间损失和成本不考虑)。感觉上支付宝的持仓成本好像是你买入价格的平均,卖出是不影响成本的。也就是 xalpha 持仓成本:(买入总额-卖出总额)/ 现在持有份额,支付宝持仓成本:买入总额/当时买入份额。

@onion1003 感谢回复。不知道您举的例子是有实际验证还是支付宝哪里阐述了他们的计算方法。不过按您的描述也是没啥问题的。相当于第二次的卖出操作已经把这个标的清仓了。之后的买入计算就和历史完全无关了,很多券商软件也是这么算的。虽然我不太喜欢这种算法,xalpha 实现的则是永远考虑历史交易数据,即使中间清仓过。

@onion1003 , 我没太懂上边这个例子里,为啥现在的算法会有 1000 多的成本值,有负数的成本我是清楚的,也符合我想表达的预期。但是这个 1000 多的成本是什么原因呢,是因为亏损的状态卖出了极大部分份额导致的情况吗? xalpha 这种卖出(非清仓)操作会影响成本计算的方法,可能确实波动会比较大,有可能的话我们也可以在代码里考虑实现多种成本计算方案,就像你上边展示的这样。

现在对于 ``sys=xa.mul(status=xa.record("path"))`` 这样的投资组合类, 可以分别查看 ``sys.get_industry()``(持仓行业占比,但是行业分类比较奇怪,所以参考意义一般) ``sys.get_portfolio()`` (底层持仓的股票,债券和现金的总数量) ``sys.v_category_positions()``(持仓分类的可视化,分为股票,债券,基金等,但是基金的分类是偏股,指数,债券这样,可能没你要求的细致) 如果你想自己程序统计各个种类的占比,并且接受自己定义字典对应每个基金号码和种类的话,那随便写几行简单的程序就可以自动化计算,只要你有 sys 这个 xa.mul 对象

哇,国证的网站比中证良心多了(玩笑==) 这个不止全部历史数据,历史成分股权重都能看到。我刚看了,爬取应该没任何难度,网页和数据都很规范。要是中证指数历史成分股权重能看到就好了,计算指数历史估值就不需要用聚宽数据源了。

嗯,是的,应该是有那种每天只公布一个数的指数,不过我没大规模测,所以即使知道有这种指数,也不清楚其返回的数据具体格式什么样,除非找到个具体指数,才能完善这里的处理逻辑。

通过 backtest 类回测,生成类的时候,手动改掉 BTE.trades 是可以的,不过可能需要你读下 https://github.com/refraction-ray/xalpha/blob/master/xalpha/backtest.py 源码,基本上就是把现成的 trade 类手动放进 BTE.trades 这个字典里

增加 INA- 字头启用 investing app 源可以在某些情况缓解该问题

可以考虑直接使用场内账单格式:https://xalpha.readthedocs.io/en/latest/advance.html#id11, 唯一的不足是当日净值需要自己填写,这一点也许之后可以改进。之前也有很多关于基金记账单改进这方面的需求,我想下一步应该是要在场内账单格式中增加净值自动获取,而非场外账单大改版,似乎工作量更小。