漫谈CTA策略盈利来源和逻辑思考

2024-06-05 10:08

本文主要是介绍漫谈CTA策略盈利来源和逻辑思考,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

很多CTA策略研究人员,包括我自己,很多时候都会去思考一个没有标准答案的问题,那就是为何CTA这类beta型的策略能盈利,我相信对于CTA研究者来说,大家会有很多不同版本的思考和答案。因为相比较于其他类型的策略来说,貌似人家盈利的理由都很明显且充分。

比如说,alpha类策略,很能理解对于这类策略来说,交易的一揽子标的物里面总会有强弱之分,那么只要能找出有强弱区分度的特征或者因子,那便基本找到了alpha类策略盈利的本质。

再比如说,对于market making的高频策略来说,那就是规避掉有较大可能出现单边趋势的行情,同时在没有较大可能单边行情的时候给market taker提供流动性服务。(对预测短期趋势并follow趋势的策略不在我们此处讨论之列)

对于CTA策略为何能盈利的这个问题,尽管在入行多年后,我依然始终还是百思不得其解。几乎每次这种类似问题浮现在我脑海里时,我都会默默告诉自己,能赚钱就行,需要个卵蛋理由。

在用机器学习强撸了几个月不同类型的策略之后,包括CTA,统计套利,甚至小部分高频策略,越来越强烈的感觉到其实对于策略研发人员开始,思考并理解为何某大类策略能盈利的本质其实极为重要。所以在此开个小型漫谈类节目,来聊聊为何CTA这类beta策略的艺(能)术(赚)性(钱)。

理由1——杠杆效应

期货本身普遍具有较大的杠杆,对于资金实力相对薄弱、风控观念淡薄的小散户玩家来说,他们在杠杆下显得尤为脆弱,容错能力很低。所以对他们来说,当顺着现成的方向交易和逆向交易这两个选择摆在他们面前时,第一个相对更为保守的选择对他们来说明显是最优解。这个理论较为完美的解释了为何散户投资者占比越多的市场或品种更容易走出趋势行情。

理由2——prospect theory

先上一个经典的图:

 

图中X轴基本可以等同看成是收益/亏损的百分比,Y轴则是价值函数,简单来说就是爽/不爽的程度。这个图包含了几层含义:

 

1. 不对称性,在abs(X)相等的情况下,损失结果对应Y的绝对值,比获利结果对应Y的绝对值更大。简单来说就是亏T%和赚T%这2种情况下,前者的abs(f(T%))要更大些。说明投资者总体是厌恶风险的;

2. Y函数,也就是爽/不爽函数在X小于0,也就是亏损的时候有凸面性 (convexity),而在X大于0,也就是盈利的时候有凹面性(concavity)。简单来说就是投资者在面临获利时,尤其是获利不大的时候,更愿意落袋为安,风险厌恶程度增加而选择risk off;而在面临损失时,尤其是亏损较大的时候,更愿意在赌一把更大的,风险厌恶程度降低而选择risk on;

现在总结下来就是,当市场较为平淡,相对更接近于零漂移的随机游走的时候,赢者会落单为安,高位平仓,从而强化了价格时间序列的反相关性。而当市场趋势性较为明显,尤其是基本面/宏观层面发生一定变化时,也就是行情属于带漂移项的随机游走的时候,多空双方平仓意愿都不会很强。那么即便在驱动价格变化的因素结束后,市场行情从带偏移项的随机游走进入到不带偏移项的随机游走时,亏损的投资者在选择死扛亏损的同时,这时候亏损方的△Y也会显著大于盈利方。直到价格随机游走到超出部分亏损方的心理承受或者被强制平仓之后,这部分亏损的投资者会被迫平仓从而引发下一轮亏损投资者的平仓,也就是俗称的多杀多和空杀空,从而强化了价格时间序列的正相关性。

 

评价里出现了一些朋友的思路和评论,我简单回答下:

程峰说研究盈利原理,是因为需要理由相信未来仍旧能够赚钱。

我其实想说我从不怀疑这类策略未来会失效,但是我深知对目前国内的CTA funds来说,好日子会越来越少,夏普会不断降低,直到接近winton,ahl这种常年1不到的夏普,直到最后基本稳定在这个附近。有如下几个原因:

1. 高夏普策略意味着富矿,总会不断被新人发掘,也就意味着不稳定性,而CTA低夏普意味着贫矿,即使你知道如何玩,你未必受得了其中的回撤煎熬;

2. 没人知道何时会再现黑天鹅事件,或者说高波动行情,但是未来总有一天它会踩着七色云彩来娶我;

3. 即使没有高波动行情,也就是在一个生态系统里面没有鱼吃的时候,所谓趋势追踪这个伪命题会失效,也就意味着没有鱼来做接盘侠。取而代之的,是反应较慢的趋势追踪的CTA funds会被吃掉;

4. 不是原因的原因,CTA类策略比后来的alpha,即成体系的统计套利策略出现早了10-20年;

EricZ说cta盈利是因为fat tail,beta是择时,另外提到了cta和momentum的关系。

我认可fat tail的说法,但是cta也是择时,同样beta类策略也大都利用了fat tail,cta和momentum的关系,这么说吧,我用机器学习去筛选特征,得到的大概70%-80%都是momentum,也就是趋势类,即价格序列正相关的因子,剩下的比例是反转;

 

nova avon说CTA使用很多trend-following策略,而trend-following是靠管理具有方向性的exposures盈利的。CTA曾经被认为是alpha策略现在被看成beta策略, 主要由于trend-following的idea已被大众所知并使用, 这个alpha慢慢就没了。所以CTA策略可归结为一句话: "市场会往哪个方向走", 你在这个问题上判断的比别人好,你就有了edge。

第一个问题,我的印象中CTA应该是从一开始就被市场接受为beta策略吧。后面提到市场会往哪个方向走, 你在这个问题上判断的比别人好,你就有了edge。这句话我非常认可,趋势追踪是个伪命题,不是说趋势追踪就能挣钱,趋势追踪策略能挣钱是因为你的策略比别人更早判断出来这是一个趋势。尤其是在没有大波动的日子里,更是将大鱼吃小鱼,小鱼吃米虾体现的淋漓尽致。

这篇关于漫谈CTA策略盈利来源和逻辑思考的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1032762

相关文章

Deepseek使用指南与提问优化策略方式

《Deepseek使用指南与提问优化策略方式》本文介绍了DeepSeek语义搜索引擎的核心功能、集成方法及优化提问策略,通过自然语言处理和机器学习提供精准搜索结果,适用于智能客服、知识库检索等领域... 目录序言1. DeepSeek 概述2. DeepSeek 的集成与使用2.1 DeepSeek API

Redis的数据过期策略和数据淘汰策略

《Redis的数据过期策略和数据淘汰策略》本文主要介绍了Redis的数据过期策略和数据淘汰策略,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录一、数据过期策略1、惰性删除2、定期删除二、数据淘汰策略1、数据淘汰策略概念2、8种数据淘汰策略

SpringBoot中的404错误:原因、影响及解决策略

《SpringBoot中的404错误:原因、影响及解决策略》本文详细介绍了SpringBoot中404错误的出现原因、影响以及处理策略,404错误常见于URL路径错误、控制器配置问题、静态资源配置错误... 目录Spring Boot中的404错误:原因、影响及处理策略404错误的出现原因1. URL路径错

关于rpc长连接与短连接的思考记录

《关于rpc长连接与短连接的思考记录》文章总结了RPC项目中长连接和短连接的处理方式,包括RPC和HTTP的长连接与短连接的区别、TCP的保活机制、客户端与服务器的连接模式及其利弊分析,文章强调了在实... 目录rpc项目中的长连接与短连接的思考什么是rpc项目中的长连接和短连接与tcp和http的长连接短

Redis多种内存淘汰策略及配置技巧分享

《Redis多种内存淘汰策略及配置技巧分享》本文介绍了Redis内存满时的淘汰机制,包括内存淘汰机制的概念,Redis提供的8种淘汰策略(如noeviction、volatile-lru等)及其适用场... 目录前言一、什么是 Redis 的内存淘汰机制?二、Redis 内存淘汰策略1. pythonnoe

Python 中 requests 与 aiohttp 在实际项目中的选择策略详解

《Python中requests与aiohttp在实际项目中的选择策略详解》本文主要介绍了Python爬虫开发中常用的两个库requests和aiohttp的使用方法及其区别,通过实际项目案... 目录一、requests 库二、aiohttp 库三、requests 和 aiohttp 的比较四、requ

Redis过期键删除策略解读

《Redis过期键删除策略解读》Redis通过惰性删除策略和定期删除策略来管理过期键,惰性删除策略在键被访问时检查是否过期并删除,节省CPU开销但可能导致过期键滞留,定期删除策略定期扫描并删除过期键,... 目录1.Redis使用两种不同的策略来删除过期键,分别是惰性删除策略和定期删除策略1.1惰性删除策略

在JS中的设计模式的单例模式、策略模式、代理模式、原型模式浅讲

1. 单例模式(Singleton Pattern) 确保一个类只有一个实例,并提供一个全局访问点。 示例代码: class Singleton {constructor() {if (Singleton.instance) {return Singleton.instance;}Singleton.instance = this;this.data = [];}addData(value)

【编程底层思考】垃圾收集机制,GC算法,垃圾收集器类型概述

Java的垃圾收集(Garbage Collection,GC)机制是Java语言的一大特色,它负责自动管理内存的回收,释放不再使用的对象所占用的内存。以下是对Java垃圾收集机制的详细介绍: 一、垃圾收集机制概述: 对象存活判断:垃圾收集器定期检查堆内存中的对象,判断哪些对象是“垃圾”,即不再被任何引用链直接或间接引用的对象。内存回收:将判断为垃圾的对象占用的内存进行回收,以便重新使用。

缓存策略使用总结

缓存是提高系统性能的最简单方法之一。相对而言,数据库(or NoSQL数据库)的速度比较慢,而速度却又是致胜的关键。 如果使用得当,缓存可以减少相应时间、减少数据库负载以及节省成本。本文罗列了几种缓存策略,选择正确的一种会有很大的不同。缓存策略取决于数据和数据访问模式。换句话说,数据是如何写和读的。例如: 系统是写多读少的吗?(例如基于时间的日志)数据是否是只写入一次并被读取多次?(例如用户配