Aucune description

875428575@qq.com 0dfb8e71f7 binan 接口提交 il y a 2 ans
src 0dfb8e71f7 binan 接口提交 il y a 2 ans
tests 72c91be7c7 hook的例子 il y a 2 ans
.gitignore 6c17938d8f init il y a 2 ans
Cargo.lock 0fbf9435ee cargo il y a 2 ans
Cargo.toml 1b34960ca9 binan 接口提交 il y a 2 ans
README.md 9acc8a0945 完善文件结构树 il y a 2 ans

README.md

声明

这是我们rust课题的第一个版本,有任何问题欢迎提出。

项目结构解析

├─ src
│   ├─ main.rs                          // 入口
│   ├─ as_libs.rs                       // AS套利模型的相关库
│   ├─ exchange_libs.rs                 // 交易所对接相关库
│   └─ exchange_middle_ware.rs          // 交易所中间键(方便其他模块对接)
│
├─ tests
│   ├─ binance_ws_test.rs               // 币安订阅的集成测试
│   ├─ hook_test.rs                     // 钩子函数测试
│   └─ main_test.rs                     // 与主逻辑相关的一些测试
│
└─ .gitignore                           // git忽略文件

项目流程解析

通过检测币安的spread和当前库存值,计算出预定价格,随后围绕着当前库存等级,结合rl(Risk Level),计算出当前下单量(库存越大,rl越大,下单量越小),委托限价买单之后,实时监测成交情况,如果成交立马委托卖单。

运行方式

clone到本地/服务器之后,直接编译即可运行。

其他问题

1. 我们的实现目标

实现一个基于rust的最简化as做市模型,这是为了后期快速迭代开发,我们基于TDD和最简系统原则进行测试和实现。

2. 关于库存平衡点

我们的目的是维持0库存(库存目标可以通过优化公式来实现)。

3. 关于同时订阅两个交易所的问题

  • 两个交易所之间的深度会有价差,如果同时参考两个交易所,会不可避免地出现委托买单后立即以市价成交的情况。
  • 当然也可以通过简单的价格判断来限制这个问题。
  • 技术上没有实现难度,但是具体细节还需要再研究。

4. 关于订单状态的获取方式

  • 实际上上应该使用WebSocket去订阅订单信息,实时监测订单成交状态。
  • 目前先使用HTTP的形式实现,虽然有点慢,但逻辑是成立的。

5. 一些其他细节问题

  • 实际上上应该使用WebSocket去订阅订单信息,实时监测订单成交状态。
  • 目前先使用HTTP的形式实现,虽然有点慢,但逻辑是成立的。