我试图弄清楚是否有一种方法来检查有多少股股票是‘平方’/‘结算’/‘实现’如果你从X数开始,然后卖出Y,当Y可以大于X
例如:
相乘
现在,我的PHP代码是
$num_squaredoff = 0;
if($transaction_type == 'SELL') {
if($previous_net_qty > 0) {
$num_squaredoff = $order_filled_quantity;
if($num_squaredoff > $previous_net_qty) {
$num_squaredoff = $previous_net_qty;
}
}
}所以它基本上是这样的:“如果你有10股,并且购买了X股,那么X是被平方的股票数量……除非X大于10,在这种情况下,你减持了10股。”
我想知道,在出售股票的数量可以是任意数量的情况下,是否有一种方法可以计算这种情况--因此,在不使用if / net语句的情况下,净数量可以是正数、零值或负值。
我曾想过使用模运算符(这将表明,如果没有余数,例如10不能除以15 ),但不确定这是否有帮助。
PS。我最终也会用同样的逻辑做空(如果你从-10股开始买入15股,那么你的新净数量是+5股,数字平方是10股)。但是卖空将在不同的代码块中处理,所以相同的公式/计算不需要从正数或负数开始处理。
发布于 2021-09-04 06:31:58
我想我是用函数表示法写出来的。如果你从10股开始,卖出5股,你就结算了5股。如果你先卖出10股15股,你就结算了10股。
所以如果你想
那么f(x,y)就可以选择较小数目的x或y。
所以我们可以:
$num_squaredoff = min($order_filled_quantity, $previous_net_qty);这和我的“如果”状态差不多,但更优雅一些。
https://stackoverflow.com/questions/69051861
复制相似问题