|
|
2 år sedan | |
|---|---|---|
| src | 2 år sedan | |
| tests | 2 år sedan | |
| .gitignore | 2 år sedan | |
| Cargo.lock | 2 år sedan | |
| Cargo.toml | 2 år sedan | |
| README.md | 2 år sedan |
有任何问题欢迎提出,通过沟通对话解决。
├─ src
│ ├─ main.rs // 入口
│ ├─ as_libs.rs // AS套利模型的相关库
│ ├─ exchange_libs.rs // 交易所对接相关库
│ └─ exchange_middle_ware.rs // 交易所中间键(方便其他模块对接)
├─ tests
│ └─ binance_ws_test.rs // 币安订阅的集成测试
└─ .gitignore // git忽略文件
通过检测币安的spread和当前库存值,计算出预定价格,随后围绕着当前库存等级,结合ira水平,计算出当前下单量(库存越大,ira越大,ira越大,下单量越小),委托限价买单之后,实时监测成交情况,如果成交立马委托卖单。
clone到本地/服务器之后,直接编译即可运行(需要配置)。
实现一个基于rust的最简化as做市模型,这是为了后期快速迭代开发,我们基于TDD和最简系统原则进行测试和实现。
我们的目的是维持0库存(库存目标通过公式优化)。
- 两个交易所之间的深度会有价差,如果同时参考两个交易所,会不可避免地出现委托买单后立即以市价成交的情况。
- 当然也可以通过简单的价格判断来限制这个问题。
- 技术上没有实现难度,但是具体细节还需要再研究。
- 实际上上应该使用WebSocket去订阅订单信息,实时监测订单成交状态。
- 目前先使用HTTP的形式实现,虽然有点慢,但逻辑是成立的。
- 各种类型、机制不熟悉问题。
- rust的环境问题。
- 如何在本地使用rust进行proxy websocket连接交易所(网上没有解决方案,无论是chatgpt-4,还是google英文互联网,最后在github里翻到了一个方案解决了这个问题)。