如何在Pandas中有效实施“修改后的”工作日付款规则的矢量化版本?
Background
在财务方面,通常情况下固定收益优惠券是在"modified following"基础上支付的,也就是说,如果优惠券日期是在周末或假日,则在下一个工作日支付,除非下一个工作日落入下一个工作日日历月,在这种情况下,我们会回到最近的工作日 .
April 2017
Su Mo Tu We Th Fr Sa
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
2017年4月就是一个很好的例子 . 如果付款在星期六15日付款,它将被转移到星期一17日 . 然而,如果它在两周后的星期六29日落下,它将被倒退到星期五28日(因为下一个星期一将在5月) .
我需要一次为成千上万个日期做这个,所以我希望它可以被矢量化并且如果可能的话大熊猫效率(也就是说,我想避免只通过if-then-else运行每个日期) . 因此,给定一个日期向量,它将检查Sat / Sun的哪个下降并自动应用规则,输出“修改后的”日期的向量 .
1 回答
如果您对熊猫解决方案感兴趣,这是一个开始:
2017年4月:
另见:文档中的Custom Business Day . 请对此进行压力测试;我大多只是使用默认的BDay,我不确定联邦假期是否与纽约证券交易所市场关闭完美契合 .