非主流币波段策略

news2024/9/24 11:23:12

 

数量技术宅团队在CSDN学院推出了量化投资系列课程

欢迎有兴趣系统学习量化投资的同学,点击下方链接报名:

量化投资速成营(入门课程)

Python股票量化投资

Python期货量化投资

Python数字货币量化投资

C++语言CTP期货交易系统开发

数字货币JavaScript语言量化交易系统开发


非主流币行情特征

币圈市场对主流币的定义是比较明确的,通常是指市值排名前几位的加密货币。目前市值排名前五的加密货币:1.比特币(Bitcoin,BTC) 2.以太坊(Ethereum,ETH) 3.波卡(Polkadot,DOT) 4.币安智能链币(Binance Coin,BNB) 5.瑞波币(XRP),都是大家耳熟能详的币种。

相对应的,非主流币是由一些小团队或个人发起的,它们的设计和功能各异,有些可能是基于比特币或以太坊的改进版,有些则完全不同,甚至可能与某个特定行业或应用领域相关。与比特币等主流币相比,它们的交易量相对较低,市值也较小。

我们这个策略聚焦的非主流币,与传统意义上典型的非主流币有所区别,首先排除主流币,但并不包括垃圾山寨,或是只有个别交易所支持交易的币种,与此同时,我们希望聚焦的非主流币, 具有一定逻辑或概念支撑的炒作空间。

对于我们聚焦的非主流币,其行情波动可以由三大特征概括:

特征1:不动则已、一动惊人

由于非主流币在大部分时间的交易量较小、市值也较小,在大行情启动之前,往往处于缩量横盘或阴跌的模式,而当出现一些利好消息或事件的驱动,成交、波动同步放大,能在短时间内走出巨幅行情。

来看一个的例子,SXPUSDT币种,在此前几个月时间都一直波澜不惊的横盘,而在最近短短3、4个交易日内,走出了翻3倍的行情。

特征2:波段中途存在回档,难以吃满整个行情

还是以上述的SXPUSDT为例,如果认为上面的这波行情仅仅是持有3天就能轻松吃到3倍的利润,显然是太理想化了。非主流币在波动放大的行情期间的第二个特征是,中途会存在较大幅度的反向行情,诱使投资者中途下车。

我们放大到小时周期可以看到,上涨的途中有1次超过30%、1次超过20%的反向回档,如果持有过程中被反向行情吓到,很容易产生落袋为安的想法,提前离场。

 

特征3:币种波动不同步

与BTC、ETH等主流币几乎都是同涨同跌的状态不同,非主流币的波动与主流币很不相同,往往会爆发单币种行情,因此,选择合适的币种,对这个交易策略来说相当重要。这个策略也可也与我们此前发布的主做主流币种的交易策略形成互补,当主流币没有行情时,非主流币却会产生此起彼伏的行情。

下图是我们计算的币种相关性矩阵(部分展示),可以看到,图中靠右侧的非主流币,有相当一部分与BTC、ETH等主流币的相关系数低至0.4左右。

策略逻辑

我们的策略针对非主流币波动的3个特征设计,通过策略逻辑解决特征1、2,通过选币逻辑解决特征3,因此,完整的策略包括策略逻辑和选币逻辑。我们先来看策略逻辑

针对特征1:通过多重趋势识别共振进场

非主流币由于人为操控、市场深度弱等原因,出现假突破、洗盘行情的概率要高于主流币,这就需要我们在策略设计上,尽可能做到不理会平时的小波段,宁可进场滞后,也只挑爆发力最强的那段。

我们通过多重趋势识别的方式,最大限度过滤掉假行情,提高交易胜率,只做像举例中SXPUSDT那样绝对幅度很大的行情。当然,该逻辑需要配合后续的选币逻辑进一步增强胜率。

针对特征2:给予出场逻辑更多的行情容忍度

传统策略往往对出场比较敏感,通过设计多个出场条件,当行情满足任一条件即触发出场,例如止损点与出场指标谁先触发就做出场。但对于非主流币高度波动时期,动辄20%、30%甚至更大的回档行情,这样的出场显然会在中途快速离场,而后又在更高的价位追进,做到“低卖高买”。

我们通过给予出场更多的行情容忍度的独特逻辑,尽量做到不理会中途的假反向行情,吃到完整的波段。

选币逻辑

针对特征3:选币逻辑。可以说选币逻辑是整个策略重要的一环。

第一步,币种初筛,初筛池是币安所有支持合约交易的币种(可以交易多空双向),并且剔除上市日期短暂的币种(避免数据不足导致回测样本不足),进入币种训练池。

第二步,币种再筛,对于进入训练池的币种,如果在训练周期内产生的交易次数不达标,则不论训练成绩多好都放弃,尽量排除偶然因素。

第三步,滚动训练,当期得分最高币种,作为最优币种,进入下期交易池。训练系统会对每个币种应用交易策略的几个维度进行打分(0-100分),并对各个维度加权得到当期总分。我们用前期的一组样例数据为例进行训练得到的得分表:

 

如果我们选择交易前5个币种,那么训练系统告诉我们入选的是哪些币种。

 

最后一步,前N名入选币种回测,画出曲线。  

滚动训练参数可以交由用户控制,理论上训练周期越短、训练越频繁,越容易抓住近期的热点币种行情。

回测绩效

通过滚动训练得到的币种,往往是当期概念、炒作集中的热门币种,我们无法判断其未来是涨或跌,但能够判断其高波动率在未来大概率能延续,无论是市场炒作热情进一步提高(暴涨:做多),还是该币种泡沫破灭一地鸡毛(暴跌:做空),我们都能通过这个波段策略,获取不错的收益。

我们将该训练+回测应用到更长的时间周期,可以在全量历史数据上得到更完整的回测结果。在过去3年多的时间,该策略获得了无杠杆超过350%的收益率,即无杠杆年化超过110%,如果应用合约常用的5-10倍杠杆,预期收益率将更高

 

实盘曲线

我们将最新训练得到的训练筛选币种应用于实盘交易,用于币安交易所永续合约,实盘采用10x杠杆(收益率放大为回测10倍),在1个月的策略实盘测试周期内产生了接近100%左右的收益率。

 

关于这个策略更多的细节,请参考文中插图右上角路标,出门左转,未完待续(省略号)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/732075.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据合并--Pandas

1. 键匹配合并:merge()函数 1.1 函数功能 合并DataFrame或者命名的Series,命名的Series被视为单列的DataFrame 1.2 函数语法 pandas.merge(left, right, howinner, onNone, left_onNone, right_onNone, left_indexFalse, right_indexFalse, sortFalse, suffixes…

最长公共子序列LCA

最长连续公共子序列 题目链接:3692. 最长连续公共子序列 - AcWing题库 /*解法:定义dp[i1][j1]为以a[i]结尾的字符串和b[j]结尾的字符串的最长连续公共子序列那么对于a[i] b[j]的时候 dp[i1][j1] dp[i][j]1否则为0 其他就是细枝末节 */ #include<iostream> #include<…

【shiro】springboot整合shiro

springboot整合shiro&#xff0c;实现用户登录认证&#xff0c;权限校验及rememberMe 1.数据库准备 user 用户表 CREATE TABLE user (id bigint NOT NULL,name varchar(30) DEFAULT NULL,pwd varchar(35) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,ri…

《Java核心技术大会2023》——AIC送书第一期

共同深入探讨 Java 生态&#xff01;直播预约&#xff1a;视频号“IT阅读排行榜” 大会简介 人工智能在22年、23年的再次爆发让Python成为编程语言里最大的赢家&#xff1b;云原生的持续普及令Go、Rust等新生的语言有了进一步叫板传统技术体系的资本与底气。我们必须承认在近…

smale周报

2023.7.7 相关工作近况存在的问题展望 相关工作近况 近期仍就进行3D断层识别实验&#xff0c;实验了很多版本&#xff0c;不同的损失函数和模型&#xff0c;发现当下的效果更好。之前loss一直不正常&#xff0c;改变了之前的一些小问题&#xff0c;使模型和损失函数以及数据匹…

具备捕获 Web2 用户能力的 PoseiSwap,治理通证$POSE再度涨超 360%

Nautilus Chain 是行业内首个模块化 Layer3 架构链&#xff0c;开发者能够基于模块化进行定制化开发&#xff0c;并有望进一步推动 Web3 应用向隐私、合规等方向发展。当然&#xff0c;Nautilus Chain 的特殊之处还在于为生态用户带来丰厚的空投预期&#xff0c;据悉上线 Nauti…

Ubuntu 的移动梦醒了

老实讲&#xff0c;移动版 Ubuntu 在手机、平板上的发展自始至终可能都没有达到过 Canonical 的期望&#xff0c;既然如此&#xff0c;不再勉为其难地坚持下去&#xff0c;或许才是更加明智的做法。 时至今日&#xff0c;官方显然也意识到了这一点&#xff0c;在早些时候发布的…

EPSON机械臂控制记录

我使用的机器人型号为EPSON LS3-4013&#xff0c;在本文中记录了机械臂控制器和电脑连接&#xff0c;及电脑程序控制机械臂的完整流程。 1 USB连接电脑和机械臂 将USB连接电脑和控制器的PC插口。在EPSON RC 软件中选择 设置->电脑和控制器通信。其中默认包括USB通信&#…

标签平滑知识点

一、什么是标签平滑 标签平滑&#xff08;Label smoothing&#xff09;&#xff0c;像L1、L2和dropout一样&#xff0c;是机器学习领域的一种正则化方法&#xff0c;通常用于分类问题&#xff0c;目的是防止模型在训练时过于自信地预测标签&#xff0c;改善泛化能力差的问题。…

OK Print Watch 打印服务监控软件---Crack

O&K Print Watch 是一个服务器端打印监视器。此打印审核工具允许用户控制打印作业、纸张使用情况&#xff0c;并从打印服务器、本地、共享或网络打印机收集统计信息。使用O&K Print Watch&#xff0c;您可以根据许多不同的打印限制为用户定义打印配额。这些功能使用户能…

在Oracle VM VirtualBox 安装ubuntu-22.04.2 后打不开终端处理

1、下载ubuntu-22.04.2-desktop-amd64.iso 下载地址&#xff1a; https://cn.ubuntu.com/download/desktop2、安装 3、直接下一步即可 3、装好系统&#xff0c;发现打不开终端 解决办法&#xff1a;设置->区域与语言 查看语言和格式是否一致&#xff0c;不一致需修改。若…

sqlserver数据库命令行客户端安装

项目情况 项目上需要通过执行sql语句去更新一些功能 直接进入数据库去进行执行太麻烦&#xff0c; 对基础技术人员的要求比较高&#xff0c;执行效率低 参考资料 sqlcmd 实用工具 - SQL Server | Microsoft Learn 下载 ODBC Driver for SQL Server - ODBC Driver for SQL S…

感知机模型

1. 提出问题 问题&#xff1a;有一组训练数据集 T { ( x 1 , y 1 ) , ( x 2 , y 2 ) , … , ( x N , y N ) } T\{(x_1,y_1), (x_2,y_2), \ldots ,(x_N,y_N)\} T{(x1​,y1​),(x2​,y2​),…,(xN​,yN​)} 其中 x i ∈ X R n x_i\in\mathcal{X}R^n xi​∈XRn&#xff0c; y …

Redis【实战篇】---- UV统计

Redis【实战篇】---- UV统计 1. UV统计 - HyperLogLog2. UV统计 - 测试百万数据的统计 1. UV统计 - HyperLogLog 首先我们搞懂两个概念&#xff1a; UV&#xff1a;全称Unique Visitor&#xff0c;也叫独立访客量&#xff0c;是指通过互联网访问、浏览这个网页的自然人。1天内…

Linux信号机制

转自&#xff1a;深入理解Linux信号机制(1.0)_城中之城的博客-CSDN博客 一、信号机制概览 相信大家对信号并不陌生&#xff0c;很多人都用过kill命令或者CtrlC组合键杀死过进程&#xff0c;或者遇到过程序因为收到SIGSEGV信号而崩溃的。而对信号的基本原理&#xff0c;估计很…

DenseNet算法实战

DenseNet算法实战 文章目录 DenseNet算法实战[TOC](文章目录) 前言一、设计理念二、网络结构1.DenseNet网络结构2. DenseBlock Transition结构3. DenseBlock 非线性结构 三、代码实现1. 导入相关的包2. DenseBlock 内部结构3. DenseBlock 模块4. Transition 层5. 最后实现Dens…

23款奔驰S400商务型加装原厂前排座椅通风系统,夏天必备的功能

通风座椅的主动通风功能可以迅速将座椅表面温度降至适宜程度&#xff0c;从而确保最佳座椅舒适性。该功能启用后&#xff0c;车内空气透过打孔皮饰座套被吸入座椅内部&#xff0c;持续时间为 8 分钟。然后&#xff0c;风扇会自动改变旋转方向&#xff0c;将更凉爽的环境空气从座…

TIA博途_封装FB或FC块时将未分配参数的管脚隐藏的具体方法示例

TIA博途_封装FB或FC块时将未分配参数的管脚隐藏的具体方法示例 如下图所示&#xff0c;在某个项目中添加一个模拟量平均值滤波FB块&#xff0c;FB块的输入输出接口如图中所示&#xff0c; FB块编写完成后&#xff0c;在OB1中调用该FB块&#xff0c;可以看到需要配置的相关管脚…

Melon库运用——数组篇

头文件片段 // mln_array.hstruct mln_array_attr {void *pool; // 自定义内存池结构指针array_pool_alloc_handler pool_alloc; // 自定义内存池分配函数指针array_pool_free_handler pool_free; // 自定义内存池释放函数指针array_free …

Linux编译器--gcc/g++的使用

1.gcc/g的作用 gcc/g就是将写好的c/c的代码经过预编译/编译/汇编/链接生成可执行程序的过程&#xff0c;这个过程就是编译器的作用。 PS:由于c支持c语言的语法&#xff0c;gcc和g的操作差不多&#xff0c;在这里只讲gcc的使用方法。 2.gcc如何完成 格式 gcc [选项] 要编译的文…