首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从负数或正数开始计算股票交易中的股票平方

从负数或正数开始计算股票交易中的股票平方
EN

Stack Overflow用户
提问于 2021-09-04 01:46:29
回答 1查看 34关注 0票数 1

我试图弄清楚是否有一种方法来检查有多少股股票是‘平方’/‘结算’/‘实现’如果你从X数开始,然后卖出Y,当Y可以大于X

例如:

  • 10股买入-5股出售=净剩余量+5股;5股与
  • 10股成正比- 15股出售=净剩余量-5股;10股与

相乘

现在,我的PHP代码是

代码语言:javascript
复制
$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股)。但是卖空将在不同的代码块中处理,所以相同的公式/计算不需要从正数或负数开始处理。

EN

回答 1

Stack Overflow用户

发布于 2021-09-04 06:31:58

我想我是用函数表示法写出来的。如果你从10股开始,卖出5股,你就结算了5股。如果你先卖出10股15股,你就结算了10股。

所以如果你想

  • f(10,5) = 5
  • f(10,15) = 10

那么f(x,y)就可以选择较小数目的x或y。

所以我们可以:

代码语言:javascript
复制
$num_squaredoff = min($order_filled_quantity, $previous_net_qty);

这和我的“如果”状态差不多,但更优雅一些。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69051861

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档