定制:有关代码行如何变成千吨煤的故事



布拉德的电话突然打进了办公室电话。

-是的?他吠叫,拿起电话。 - 你想要什么?

实际上,按照Brad的标准,这种电话通讯方式甚至被认为是礼貌的。作为世界上最大的能源贸易公司之一ecxecor的首席交易员,布拉德不会取悦任何人,他认为除了傲慢的嘲笑外,任何感情的表现都是软弱的迹象。

“呃,”显然很紧张的秘书说,“你在...呃...分娩。”他们……

”“ Pf,”布拉德哼了一声,一眼将她折断。 -好吧,为她签名!还是那么难?你不能自己处理吗?

秘书说:“你知道了,他们要求我解释如何系泊。” 而且我们还需要支付系泊费。他们说你知道。我一点都不明白。

“好吧。”布拉德抱怨道。-似乎,事实是,这里您需要做的所有事情。

他扔了电话,离开了办公室。尽管Æxecor的住所位于老码头附近,但他们的办公室被认为是城市中最豪华的办公室之一。在宽敞的建筑的一端,这里曾经是仓库,老板的办公室位于那儿,另一头是布拉德(Brad)去往那里的,那里有一间接待室,其窗户可以俯瞰公司在河边的私人码头。

-好,我在这里!他愤怒地宣布,几乎没有越过大厅的门槛。-来吧,布置它。我应该怎么 ...

布拉德在句子结束前停了下来。他的目光立即转移到xecor办公室附近码头上的奇观,办公室通过高高的落地窗打开。这里有一艘巨大的驳船,不,没有一堆牢牢固定的驳船,满是煤堆。所有这些舰队都打算停泊在码头上。

“该死的……

”“你一定是布拉德。”一个令人气愤的声音传来。布拉德把目光投向了穿着工作服的破旧的农民,农民坐在候诊室的一把椅子上。 “那么,对于初学者来说,我们该如何系泊?”我有两个塞子,但是你抓不到。而且您准备卸货了吗?

布拉德曾经无语了。他不知道这个人是谁,并且几乎听不懂他说的话。而且,这个社区正在逐步接近建筑。

“呃……”他喃喃道,“嘿……你带了……煤?” 为了我们?

- 嗯,是!28,000吨优质旧黑金!-工人嘲笑着额头皱了皱眉,并补充说:-好吧,当然,除非地址没有记错,否则哈哈。这是“ xecor”吗?泊位五十三?您是Brad,是下单的那个人吗?

然后布拉德的手瞬间就与布拉德的脸相遇了。他意识到按计划计划出了点问题,他不但没有卖掉28,000吨的煤炭,反而以某种方式将其掌握在手中

商品期货交易短期课程


如果您曾经看过由埃迪·墨菲(Eddie Murphy)和丹·阿克罗伊(Dan Ackroyd)担任主角1983年经典电影交换》,那么您已经可以想象到原材料的销售方式。从最一般的意义上讲,商品(例如黄金,羊毛,大豆)由制造商出售,并最终到达客户手中。但是,比利·雷·瓦伦丁(Billy Ray Valentine)赚了钱,并通过出售托盘中的冷冻浓缩橙汁来杜克杜克兄弟。由于他买卖了期货合约,他设法进入了市场。实际上,这是进行商品交易的唯一方式。

期货合约是相当透明的事情:您同意在将来的某个时候以每单位Y的价格购买X数量的商品。当然,一个人决定在四月份以34,420美元的价格购买二十吨牛s(即使他非常喜欢牛s)似乎有些奇怪,但最重要的是,他打算在四月初之前很长时间出售这批牛s,而且价格大大超过34420 $。甚至在开始生产之前,您几乎可以想象到的任何产品都是以这种方式买卖的。这种贸易计划的重点在于,商品价格波动所带来的风险(和收益)不再赋予生产者(农民,矿工等),而是赋予贸易商。

当然,商品交易商根本不感兴趣,手里拿着几千吨的牛s。因此,整个过程都包括中间商的整个过程,包括经纪人,证券交易所,票据交换所,他们全都汗流sweat背地工作着,这样的人说:“ 5月,我将以518,000美元的价格购买300吨牛s”,我可以肯定,我不会在5月份购买它。这句话的字面意思是三百吨牛s,售价为51.8万美元。

例如,经纪人组织循环交易,建议购买的每个期货合约都可以通过将相应的合约卖给对产品真正感兴趣的人而得到补偿。交易所使用的自动交易系统具有内置的操作守则,可以发现明显的错误(例如,向商业企业领土内运送大量货物)。最后,结算所再次验证交易,以确保没有错误发送。

基于前述,交易者几乎不可能成为他所购买商品的实际所有者。几乎。

有规律的


xecor仅在一个交易所(WTFSE)上交易煤炭,而煤炭交易却很少发生。因此,当WTFSE引入一个新的面向用户并基于Web服务的API时,内部交易系统无法与其进行交互。即将出现几笔煤炭交易,因此该公司迫在眉睫。

幸运的是,Æxecor中有一些自学成才的程序员,他们设法将解决方案与新的WTFSE API结合在一起。本质上,程序员在交易请求中添加了一些XML代码。特别是有这样一个片段:

<AdditionalProperties>
   <PhysicallyDeliver>
      <value>False</value>
   </PhysicallyDeliver>
</AdditionalProperties>

在此XML代码中没有发现任何奇怪的东西?如果回答:“该值不应为False,而应为0”,则可以轻拍一下。事实证明,WTFSE系统仅将1和0分别表示为True和False。其他任何值都只是自动等于1。糟糕!

当然,在正常情况下,这不会造成大灾难。为了确保事务中的所有内容都是正确的,WTFSE(和任何其他交换)将事务确认发送给客户端,客户端将所有源信息都用XML编写。因此,双方都可以访问数据。在xecor方面,一切看起来都是完全安全的,主要是由于代码中的以下几行:


bool physicallyDeliver = 
    (getNodeVal("PhysicallyDeliver").toLower() == "true");

做得好,开发人员进行了验证...只有一行能给出比真或假多得多的值。假设是1或0。糟糕。

但是即使是错误的错误交易在理论上也经过验证的事实,这仍然不是灾难,因为票据交换所会注意到其根本上存在问题。您不仅可以致电联邦快递的送货服务,并要求他们将数千吨的原材料带到商务中心的某些办公楼。可以运送原材料的地点列表非常有限-通常这些地点是仓库或港口附近的仓库。但是,xecor住宅位于沿海地区的53个码头附近,那里有存储设施,最近进行了翻新-乍看之下,这是一个运送整堆煤炭的合理场所,特别是从机器的角度来看。哎呀

幸运的是,商品期货交易市场并不完全依赖软件。在交易的两边(以及在两个中间点),数据通过运营部门的员工进行检查,以检查交易者是否做过任何愚蠢的事情:例如,不小心在“实物交割”框上打了勾,进入了团体交易,该交易立即生效。会造成损失,依此类推。

由于有如此多的人正在查看交易,因此可以合理地假设至少有人注意到贸易巨头Æxecor实际要求向他们交付一枚一百五十万美元的煤炭。是的,可能有人注意到了,但是布拉德(Brad)参与了这笔交易,这意味着无法想象有某种误解。

作为xecor的首席交易员,布拉德(Brad)以最清晰的方式传达给每个人:没有人“甚至罗马教皇殿下”都敢质疑他的行为。最后,布拉德必须做出最艰难的出价决策,这是其他人无法理解的。有时他买贵了,卖便宜。尽管价格下跌,但有时它还是可以收货的。有时他不管价格如何都拒绝出售。布拉德的道路是神秘的,如果他说:“去做!”,那最好去做。

圣诞节初


“别告诉我这不是你的煤,”工人意识到这是不干净的,于是采取了防御性立场。 -是否需要它,不需要它-自己理解。但是你的煤,布拉德先生。

布拉德很乐意反对,但他自己明白:他的煤炭。更糟糕的是,他一遍又一遍地自信地向xecor运营部门确认了这一点。他只是认为这些愚蠢的移纸器无法真正阅读对他来说很典型。他在精神上回到了与煤炭购买部门员工的最后一次对话(“我说了一个蠢事,你不明白什么词?”),然后又迷失了如何对待五千六百万磅煤炭的实际想法。

试想一下,您将如何摆脱一堆价值一百万美元的煤炭。即使Craigslist功能也有局限性。

事实证明,出售真正的煤炭比布拉德想象的还要困难。实际上,商品市场仅与期货交易-目前每个需要28,000吨煤炭的人都已经提前购买了它。无论如何,谁会从一种名不见经传的布拉德煤矿购买煤?最终,布拉德在停泊,运输,环境税,对接,卸货,装卸和其他工作上花费了天价,两人以二十美分对一美元的价格卖掉了煤炭。

在“大笔购买”之后,布拉德的煤炭之山从未被遗忘。每次在走廊上经过同事时,他都知道他们记得煤,也知道他了解这一点。没有人特别嘲笑或取笑他,但这没关系。布拉德(Brad)不再被认为是ecxecor的首席交易员,他成为错误地购买了突破性煤炭的人。

All Articles