搞半天,还是数据问题

公司内部的一个兴趣小组留了一个作业(在某个基金组合中增加一只成分基金,并说明原因),给了一个月时间去完成。

鉴于问题挺开放的,花了1.5天时间思考问题是什么,然后花了近4天时间去找数据。

还是老问题,哪怕有万得,还是不会用,不好用,尤其对macOS的支持,差得一塌糊涂,然后开放性接口(比如用python)还要额外收我大几万块……

迫于无奈,只能通过互联网寻找答案,此间:

  • 学习了抓包:搞tcpdump没有成功,最后发现是华为鸿蒙系统源代码级别上对root的操作增加了限制,各种绕开都不太行……我也不想去root,太麻烦,风险高……
  • 重温了HTTP协议

最后根据历史净值计算复权净值,发现天天基金和万得的算法不一样;

虽然两者数值相差不大(比如,某基金,2011-21-01到2022-07-22,不到11年的数据,天天算法2.368446,万得算法2.371113),但实际基金估值运作上的处理细节还是要去探究一下才能知道孰优孰劣。

下面的几个图来自MDN,用来温习HTTP协议不错:

Sturcture

Request Headers

Response Headers

想了一下,还是放个彩蛋吧 >_<

记权益登记日为t,复权因子为$ f_t $,每份分红为$ d_t $,拆分比例为$ s_t $,t日单位净值为$ v_t $,上一个交易日单位净值为$ v_{t-1} $,天天的$ f_t $计算方式为
$$ f_t = \frac{v_t \times s_t + d_t}{v_t} $$
万得的是
$$ f_t = \frac{v_{t-1} \times s_t}{v_{t-1}-d_t} $$