Comments (1)
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 acceptableOrder
be superior to an existing order issued by the same agent. - a
DescendingRule
requiring that an acceptableOrder
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
.
from agora.
Related Issues (20)
- Change constructor for ExchangeActor...
- Concrete implementation of a CDAMatchingEngineLike...
- Distinguish between Continuous and Discrete matching engines...
- Filled orders are not being removed from outstandingOrders HOT 1
- Make sure all parameterless methods with side effects have ()!
- Allowing market orders causes occasional bugs! HOT 3
- Consider merging MarketActor and ClearingMechanismActor... HOT 1
- Be explicit with actor life-cycle hooks...
- Issues crossing MarketOrders with MarketOrders using CDAMatchingEngine...
- Don't store entire sequence of ticks
- Testing code is super redundant!
- Performance testing results hosted online...
- Performance testing results in separate directories...
- Allow user configuration of parallel.OrderBook
- Support for Roth-Shapely algorithm HOT 1
- Make OrderBook covariant in its Order type parameter HOT 1
- AskOrder and BidOrder traits should not mixin Quantity trait HOT 1
- Differentiate between SealedBid and OpenBid auctions...
- Need to implement multiple market-clearing
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from agora.