期限套利基本是无风险的,目前至少有15%的年化收益率,非常香。其中的原理,请自行google。本人只有一点点python的编程基础,这个项目对我而言,还是很有挑战的,我将把整个开发过程记录下来。
一、总体思路预期实现功能:在币安交易所,实现币本位交割合约的自动化、无风险期限套利。可以实盘交易,也可以模拟交易。具体如下:
1)获取现货和期货行情数据,计算主流币种期现的价差
2)选择价差最大的币种,买入现货,并做空相同币种、相同数量的期货。
注意,期货和现货数量相同,但价值通常不同。
3)当价差与其他币种价差达到某个阈值,平仓且转而建仓更具利润空间的其他币种;当价差收窄到某个阈值,则平仓。
4)记录重要市场信息和账户信息,以便后续分析优化。
5)通过数学方法,优化步骤3的阈值,提升套利策略的收益率。
腾讯云2核4g 1M带宽,香港服务器,双十一下手一年480,这个价格很良心了。必须要用海外服务器,否则连不上binance。
操作系统选择ubuntu20,选ubuntu因为后续可以安装可视化桌面,而且腾讯云支持vnc访问。毕竟我是菜鸟,可视化桌面进行前期代码开发和调试是十分必要的。
编程语言选择python,下载Anaconda最新版,省去了自己pip一堆包的麻烦。
具体步骤如下:
(一)创建新用户注意一点,腾讯云ubuntu系统,默认的用户名是ubuntu,不要傻傻地用root尝试登录,会显示密码错误。我踩过这个坑,重置了N次密码,提交工单后,才从客服那边知道。创建新用户名和赋予管理员权限的过程:ubuntu中创建新用户并添加管理员权限【附源码】_mb612dbeae73d01_51CTO博客
(二)安装anaconda并配置环境按照流程安装anoconda https://cloud.tencent.com/developer/article/1649008
注意从这个链接中选择安装新版的,https://repo.anaconda.com/archive/ 把上面那个操作流程中对应的安装包名称修改一下即可。
注意,anaconda自带spyder,不用再去下载安装。在桌面环境下,选择terminal进入conda环境,输入spyder,就可以启动。 非桌面环境下,spyder是无法启动的。
我个人习惯了用spyder,如果你习惯用jupyter也可以。怎么给服务器配置jupyter,并且远程访问?可以找我之前发过的文章参考,阿里云腾讯云操作,大同小异。阿里云设置jupyter notebook并开放远程登录
(三)给ubuntu配置桌面按照https://blog.csdn.net/longqizhanshen/article/details/107430437 的流程安装桌面,进入腾讯云控制台,选择vnc登录。注意,貌似不用后面获得root权限,python也可以正常运行。
(四)安装websocket clientBinance用requests的get方法,也可以获得行情数据。但是,我的策略要同时、持续获得多币种数据,用websocket是更好的选择。websocket的优势,自行google。
pip install websocket-client 即可。
websocket也是个坑,后面将专门介绍一下我踩过的坑。
最后奉上通过vcn访问的腾讯云 ubuntu可视化桌面。



