量化投资速成营(入门课程)
Python股票量化投资
Python期货量化投资
Python数字货币量化投资
C++语言CTP期货交易系统开发
数字货币JavaScript语言量化交易系统开发
近期,数字货币市场的行情不可谓不大,前有usdc暴雷导致的Luna币几乎归零,后有BTC、ETH这两个大众持币信仰最强的币种跌至近2年的低位,更是在618打折日分别跌破20000和1000。可以说,数字货币近期的行情,呈现高波动性、单边强趋势等特征。
在这样的行情下,首先买入持有现货(Buy and Hold)或定投现货策略会很受伤,不论是持有还是买入,不论是买入BTC还是其他币种,都不得不面对账户以USDT计价市值疯狂缩水的局面。持币等待下一轮牛市的逻辑无可厚非,但下一轮牛市什么时间来,涨幅会有多高,甚至会不会来,上述问题,在短期内无解。
其次,对于一些风险中性的套利策略来说,由于大部分币种持续下跌造成绝对价格的降低,以及市场预期的悲观行情,导致许多主流套利对(搬砖、跨期等)价差迅速收敛,套利策略也无法像牛市时期那样实现很高的收益率。比如下图的期现套利,相比较牛市动辄20%以上的价差,熊市的价差几乎没有套利机会。
各位看官不禁会问,什么样的策略,最适合当下的行情?我们先来看当下行情的两个重要特征,其一是猛烈下跌且跌速极快,主要跌幅往往是在1天内的某个时间段集中完成的。(比如618的下跌行情)
其二是下跌过程中通常伴随着剧烈的反抽。比如618当天BTC下跌到187xx的位置后,迅速反弹到195xx,低点反抽幅度超过4%。
根据这样的行情特征,最适合的策略是:中短线的趋势跟踪单边策略。这类策略既能抓住猛烈且跌速极快的行情,在第一时间进场,又能在反抽行情出现时及时止盈甚至反手做多,紧紧跟随住行情的来回方向性波动。
简要介绍一下我们的数字货币中短线策略的逻辑
首先,考虑到策略需要抓住猛烈且跌速极快的行情,并且在反抽行情出现时及时抽身出场,我们需要的是跟踪最短的周期,策略以1分钟K作为交易周期。
第二,价格短线趋势指标,第一时间识别发动的趋势行情并跟踪。同时,还做到了波动率的自适应,对不同的波动率行情动态调整该指标的计算。
第三,另类信号:市场(心理)情绪的过滤。通过量化计算市场投资者做多、做空的情绪,判断行情可能的发展方向,进一步提高策略胜率。
第四,高效的止损止盈。结合短中线策略信号周期、持仓周期的特征,选择最优止损止盈逻辑配合,实现在快速反抽行情时及时出场。
实现量化策略的第一步,是完整、准确的历史数据。关于如何下载、维护全量的历史数据,我们在此前的文章有过介绍,
其中,最关键的两个步骤是:调用API接口下载数据、清洗历史数据准备回测
如何调用API接口下载全量数据
我们调用API中的数据下载方法,到对应的文件夹名称下获取我们所需的K线数据。此处的代码示例,我们获取的是U本位合约下、按月度发布的全量K线数据,与此同时还下载了对应的checksum文件,为数据解压校验做准备。
运行程序时,在运行界面可以看到对于上一次运行已经下载的文件,程序不会重复下载,只会下载增量部分,同时,如果该请求时间对应的目录或文件不存在,系统也会发出提示。
程序运行完毕,即可查看到所有的下载文件,以其中一个币种为例,展示下载后历史数据存放的文件结构。
如何清洗历史数据准备回测
在数据清洗过程中,我们的程序整合了按月分割的数据,并且调整了数据头和时间戳格式,以及为策略回测做好一切数据上的准备。附1INCHUSDT清洗后数据样例。
我们提供的数字货币中短线策略配套回测框架包括以下功能:
一、完整策略逻辑的回测实现,支持usdt本位全币种、全量1分钟K线历史数据的测试。
二、记录关键回测数据,包括每笔交易的开平仓价格、平仓盈亏、以1分钟K线周期更新的持仓盈亏、分品种绩效、多品种组合绩效等关键数据,方便使用者分析策略细节数据。
三、单币种绩效可视化、多币种组合绩效可视化。其中多币种绩效实现了平仓盈亏曲线、持仓盈亏曲线,两种可视化方式。
四、支持参数寻优。使用者既可以个性化设置策略关键参数,也可以对参数进行批量优化,运行结果会以参数组作为文件夹命名,将不同组参数的回测数据存放在不同的文件夹内。
一起看回测绩效:
我们开发了两个版本的策略:短线版本、中线版本。采用无杠杆测试,选择成交最活跃、大众认可度高的15个主流币种进行组合。
短线版本的策略夏普率2.3,年化收益率80%以上,最大回撤率10%以内。
短线版本的策略夏普率2.25,年化收益率75%以上,最大回撤率10%以内。
我们同样提供这个策略配套的全自动实盘交易系统,并且经过严格的测试,确保实盘交易与回测逻辑的一致性。
实盘交易系统重要功能:
一、Binancen版本7*24小时全自动交易系统。系统默认交易上述策略测试的15个USDT本位的永续合约 ,也可以由用户个性化的增删交易合约。
二、提供短线版本、中线版本两个策略分别对应的两套实盘交易系统。
三、支持用户自定义任意交易账户、交易金额、杠杆倍数等个性化参数。
四、对极端情形(交易所拔网线、API失去响应等)设计了容错机制。
五、对每一笔交易设置最大损失风控。
短线策略+中线策略组合实盘绩效:
数字货币中短线策略的全套源码,包括数据下载清洗+回测源码+实盘源码。欢迎与我们学习交流。
往期干货分享推荐阅读
量化投资对于数据源、回测、实盘平台的选择
数字货币稳定币对网格做市策略
万物皆可秒——淘宝秒杀Python脚本,扫货618,备战双11!
数字货币资金费策略
数字货币无风险收益率又双叒叕扩大了!
分享一个年化15%以上的无风险套利机会
【数量技术宅|交易系统开发系列分享】网格交易系统开发
通过深度学习股价截面数据分析和预测股票价格
剖析一个数字货币高频策略
数字货币交易信号实时预警推送(含群聊)
Omega System Trading and Development Club内部分享策略Easylanguage源码
量化交易如何选择云服务器,如何在本地远程开发与调试云服务器程序
一个真实数据集的完整机器学习解决方案(下)
一个真实数据集的完整机器学习解决方案(上)
如何使用交易开拓者(TB)开发数字货币策略
股指期货高频数据机器学习预测
如何使用TradingView(TV)回测数字货币交易策略
如何投资股票型基金?什么时间买?买什么?
【数量技术宅|量化投资策略系列分享】基于指数移动平均的股指期货交易策略
AMA指标原作者Perry Kaufman 100+套交易策略源码分享
【 数量技术宅 | 期权系列分享】期权策略的“独孤九剑”
如何获取免费的数字货币历史数据
【数量技术宅|金融数据分析系列分享】套利策略的价差序列计算,恐怕没有你想的那么简单
【数量技术宅|量化投资策略系列分享】成熟交易者期货持仓跟随策略
【数量技术宅|量化投资策略系列分享】多周期共振交易策略
【数量技术宅|金融数据分析系列分享】为什么中证500(IC)是最适合长期做多的指数
大宗商品现货数据不好拿?商品季节性难跟踪?技术宅带你Python爬虫一键解决没烦恼
【数量技术宅|金融数据分析系列分享】如何正确抄底商品期货、大宗商品
【数量技术宅|量化投资策略系列分享】股指期货IF分钟波动率统计策略
【数量技术宅 | Python爬虫系列分享】实时监控股市重大公告的Python爬虫