algorithm - 价格/时间优先算法如何工作?
问题描述
我正在尝试编写一个简单的 FIFO(价格/时间优先)订单匹配程序,但我不太确定我的逻辑是否正确:
for each unfilled buy order (newest first):
filter orders by buy price > sell price
while buy order not filled:
fill best priced sell order
if multiple equal cheapest sell orders:
fill oldest
if remainder of most recently filled sell order is not 0:
create new sell order for remainder
我分别在 500 个买卖订单的模拟上运行了这个,但老实说,没有参考来检查它是否适当地匹配订单 - 并且尝试手动完成交易将非常耗时。任何人都可以确认我做对了吗?
解决方案
推荐阅读
- rx-java2 - rxjava2-jdbc:对 toIterable() 的迭代是阻塞的,线程 reactor-http-nio-2 不支持此功能
- vue.js - 在创建它的同一模块中使用 getter
- javascript - 如果单击按钮,下拉列表选项会更改(VueJS 和 Laravel 6)
- c# - DDD:一个存储库可以访问另一个存储库吗?
- angular - Angular - 导航时未定义的firebase用户ID,刷新后返回
- visual-studio-code - 是否有 vscode 启动完成事件或文件夹打开事件?
- html - onClick Google 脚本不适用于 HTML 表单
- python - 在 SQLAlchemy 中连接表的目的
- mysql - 我可以在 SQL 中使用 UNION 子句的查询中添加 ORDER BY 子句吗?
- r - R data.table 用 SD 排序