s*****t 发帖数: 737 | 1 请问高手,请问哪种数据结构用来存储limit order book比较理想。
此order book只纪录某一特定的stock的buy/sell order 和trades信息。 |
p******i 发帖数: 1358 | |
f**********w 发帖数: 93 | 3 I was askes a similar question, I gave the following data structure,
enum OrderType { BUY, SELL};
struct OrderInfo
{
// order information
double price;
OrderType ot;
int shares;
};
struct PriceComparator{
// compare OrderInfo based on price
bool operator() (const OrderInfo& lhs, const OrderInfo& rhs)
{
return lhs.price > rhs.price;
}
};
use hash_map to look up stockname from
orderId;
then use
hash_map |
s*****t 发帖数: 737 | 4 Your implementation seems reasonable to me.
Could you explain to me, is there any perticular reason that you are
using set to store the orders?
Do you think set is an efficient data structure, when you modify the
orders?
【在 f**********w 的大作中提到】 : I was askes a similar question, I gave the following data structure, : enum OrderType { BUY, SELL}; : struct OrderInfo : { : // order information : double price; : OrderType ot; : int shares; : }; : struct PriceComparator{
|
f*******y 发帖数: 988 | 5 一眼就看出好多问题
bid和ask不分开
没有时间, 同一price不知道priority
某个price有几个order不好query
没有最小tick的概念,无法query上一个和下一个的level
光知道price range,无法query total level
...
【在 f**********w 的大作中提到】 : I was askes a similar question, I gave the following data structure, : enum OrderType { BUY, SELL}; : struct OrderInfo : { : // order information : double price; : OrderType ot; : int shares; : }; : struct PriceComparator{
|
f**********w 发帖数: 93 | 6 这就是我没做好的地方,说到底还是对问题没理解好。
对于ask, bid可以用两个独立的实现
“没有时间, 同一price不知道priority,” 是说我们要对时间排序来确定优先吗?
query上一个和下一个的level 可以通过set::iterator来实现
无法query total level? 为什么需要这个?
不好意思,以前没做过order management system,对需要什么信息没有概念,那位能
给个好的实现吗? |
f*******y 发帖数: 988 | 7 主要你不理解实际用途,对于order book,level的信息比单个order重要的多
你只把所有的order按照价格排了序没啥大用
名字都讲了,这是个“book”, 不是一堆order的集合
【在 f**********w 的大作中提到】 : 这就是我没做好的地方,说到底还是对问题没理解好。 : 对于ask, bid可以用两个独立的实现 : “没有时间, 同一price不知道priority,” 是说我们要对时间排序来确定优先吗? : query上一个和下一个的level 可以通过set::iterator来实现 : 无法query total level? 为什么需要这个? : 不好意思,以前没做过order management system,对需要什么信息没有概念,那位能 : 给个好的实现吗?
|