Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Need to implement dominance rules.. #247

Open
davidrpugh opened this issue Nov 27, 2016 · 1 comment
Open

Need to implement dominance rules.. #247

davidrpugh opened this issue Nov 27, 2016 · 1 comment

Comments

@davidrpugh
Copy link
Contributor

...need to allow for the possibility that ask or bid orders might be rejected unless they improve upon the current best ask or bid limit prices. In the literature this property is typically referred to as a price improvement or spread reduction rule.

@davidrpugh
Copy link
Contributor Author

davidrpugh commented Nov 28, 2016

Dominance rules

After reading Wellman and Walsh I think we need to implement a hierarchy of dominance rules...

Base trait would be a mixin called DominanceRule...

trait DominanceRule[A <: AskOrder with Persistent, B <: BidOrder with Persistent] {
  this: AuctionLike[A, B] =>

  def place(order: A): Either[Reject, Accept]

  def place(order: B): Either[Reject, Accept]
 
}

...the way I have sketched it above, each DominanceRule would need to provide a specific implementation of the place(order: ???): Either[Reject, Accept] methods. Examples...

  • an AscendingRule requiring that an acceptable Order be superior to an existing order issued by the same agent.
  • a DescendingRule requiring that an acceptable Order be inferior to an existing order issued by the same agent.

...note that these rules implicitly assume that auction has a mechanism for identifying which orders were issued by a particular agent. That functionality exists in the current implementation but is not fast (i.e., would be O(n) operation).

"Beat-the-Quote" dominance rules

Also need to define dominance rules that impose restrictions on acceptable orders based on the current best buy/sell orders. In addition to analogous versions of the ascending and descending rules, we should also implement a SpreadReductionRule that imposes an AscendingRule on BidOrder and a DescendingRule on AskOrder.

@davidrpugh davidrpugh changed the title Need to implement a price improvement rule... Need to implement dominance rules.. Nov 28, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant