Coding
OOP Design

Fix the Position Book

Premium
Difficulty

Asked at Hudson River Trading, Tower Research Capital

Theory: Order Books and Matching

Read the problem, hints and solution here. The editor needs a bigger screen: open this page on a laptop to write and run your code.

xxxx xxx xxxxxx xxxx xxxxxx xxxx. xxxxxxxxxxxx xxxxxx xxxxxxxxx xxx xxxxxxxx xxxxxx xxx x xxxx, xxxxxxx xxxx xxxxx xx, xxxxx xxx. xx xxx xxxxxxx xxxxxxx, xx xxxx, xxx xx xxx xxxx xxxx. xxxxx xx xxxx xxx xxxxx xxx xxxxxx xxxxxxx xxxxxxx xxxxxx xxxx xxxxx xxxxxxx. xxx xxxxxxx xx xxx:

  • x xxxxxx xxxx, xxxxxxx xxx x xxxxxxxxx xxxx, xxxxxxx xxxxx xxx xxxxx xxxx'x xxxxxxxxx;
  • x xxxx xxxx xxxxxx xxxxxxx xxxx xx xxxx xxxxxx xxx xx xxxx xxxx, xxx xxx xxxxxxxx xx xxxxxx xxxxxxx xxx xxxxx;
  • x xxxx xxxxxx xxxx xxx xxxxx xxxxxxxx xxxxxxxx xx xxxxxxx xx xxxxxxxxx xx;
  • xxx xxxx x xxxxxx xxxxx xxx xxxxxx xxxxx xxxxx xxxxx, xxx xxxx xxxx xxxx xx xxxxx xxxxxx xxxx xxxxxx.

xxxx xxx xxxx xxx xxx xxx xxxxx. xxx xxxxxxxxx xxxx xxx xxxxxx:

  • xxxx(xxxxxx, xxx, xxxxx): xxxxxx x xxxx. xxx xx x xxx-xxxx xxxxxxx, xxxxxxxx xxx x xxx xxx xxxxxxxx xxx x xxxx, xxx xxxxx xx x xxxxxxxx xxxxxxx.
  • xxxxxxxx(xxxxxx): xxx xxx xxxxxxxx xxxx, x xxx x xxxxxx xxxxx xxxxxx.
  • xxxx_xxxx(xxxxxx): x xxx xxxx xx (xxx, xxxxx) xxxxxx xxx xxx xxxx xxxxx xxxx, xxxxxx xxxxx, xxxx xxx xxxxxx xxxx xxx xxxxxxxx.
  • xxxxxxxx(xxxxxx): xxx xxxxxxxx xxxxxx xxx xxx xxxxxx xx xx xxxxxxx, x xx xxxx.
  • xxxxxxxx(): x xxx xxxx xxxx xxxxxx xx xxx xxxxxxxx, xxxxxxx xxxx xxxxxxx xxxxx xxxxxxxx xx xxx xxxx, xx xxx xxxxx xxxx xxxxxx xxx xxxxx xxxxxx.

xxxx xxxxx. x xxxx xx xxx xxxx xxxxxxxxx xx xxx xxxx xxxxxxxx, xx xx x xxxx xxxxxx, xxxxx x xxx xxx xx xxx xxxxx. x xxxx xx xxx xxxxxxxx xxxxxxxxx xxxxxx xxx xxxxxx xxxx xxxxx. xxxxxxx ( x ) xxxxx xx x xxx xxxxxx xx ( x_{xxxx{xxx}} ) xxxx x xxxx xx ( x ) xxxxxxxx ( x xxxxx (x - x_{xxxx{xxx}}) ) xxx x xxxx xxx, xxx ( x xxxxx (x_{xxxx{xxx}} - x) ) xxx x xxxxx xxx. xx xxx xxxx xx xxxxxx xxxx xxx xxxxx xxxxxxxx, xxxx xx xxxx xxxxx x xxx xxx xx xxx xxxx xxxxx, xx xxx xxxx'x xxxxxxxxx.

xxxxx xxxx xx xxxxxxxxxxx xx xxxxx xxxxx xxxx.

xxxxxxxx

x = xxxxxxxxxxxx()
x.xxxx("xx", x, xxx)
x.xxxx("xx", x, xxx)
x.xxxx("xx", -x, xxx)
(x.xxxxxxxx("xx"), x.xxxx_xxxx("xx"), x.xxxxxxxx("xx"))
# (x, [(x, xxx)], xx)

xxx xxxx xxx x xxxxxx xxx xxxxx xxxxx xxx, ( x xxxxx (xxx - xxx) = xx ), xxxx x xxxx xx xxx xxxxxx, ( x xxxxx (xxx - xxx) = x ). xxx xxxxx xxxxxx xx xxx.

x = xxxxxxxxxxxx()
x.xxxx("xx", -x, xxx)
x.xxxx("xx", xx, xxx)
(x.xxxxxxxx("xx"), x.xxxx_xxxx("xx"), x.xxxxxxxx("xx"))
# (x, [(x, xxx)], xx)

xxx xxx xxx xx xxxxxx xxx xxxxx x xxx ( x xxxxx (xxx - xxx) = xx ) xxx xxxxx x xxxx xxx xx x xx xxx.

xxxxxxxxxxx

  • xx xx ( x.x xxxxx xx^x ) xxxxx.
  • xxx xxxxxx xxxxxxxxxxx xxxx xxxxxx x xxxxx xx x,xxx,xxx xxxx xxxx xx xxx xxxxxx xxx xxxx xxxxxx xxxx xxx xxxx xx x xxxx. xxxxxxxx xxx xxxxxx xxx xxxx xxx xxxxx xx x xxxxxx xxxx xxxxxx xxxxx xxx xxxxxx xx, xxxxx xx ( x(x) ) xxx xxxxx xxx xxxx xxx xxxxxx xx xxxx.

This problem is only available to subscribers.

Language: Python 3.12PositionBook

Unlock the problem to run it against the tests.