漫谈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

相关文章

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

Flink任务重启策略

概述 Flink支持不同的重启策略,以在故障发生时控制作业如何重启集群在启动时会伴随一个默认的重启策略,在没有定义具体重启策略时会使用该默认策略。如果在工作提交时指定了一个重启策略,该策略会覆盖集群的默认策略默认的重启策略可以通过 Flink 的配置文件 flink-conf.yaml 指定。配置参数 restart-strategy 定义了哪个策略被使用。常用的重启策略: 固定间隔 (Fixe

逻辑表达式,最小项

目录 得到此图的逻辑电路 1.画出它的真值表 2.根据真值表写出逻辑式 3.画逻辑图 逻辑函数的表示 逻辑表达式 最小项 定义 基本性质 最小项编号 最小项表达式   得到此图的逻辑电路 1.画出它的真值表 这是同或的逻辑式。 2.根据真值表写出逻辑式   3.画逻辑图   有两种画法,1是根据运算优先级非>与>或得到,第二种是采

UMI复现代码运行逻辑全流程(一)——eval_real.py(尚在更新)

一、文件夹功能解析 全文件夹如下 其中,核心文件作用为: diffusion_policy:扩散策略核心文件夹,包含了众多模型及基础库 example:标定及配置文件 scripts/scripts_real:测试脚本文件,区别在于前者倾向于单体运行,后者为整体运行 scripts_slam_pipeline:orb_slam3运行全部文件 umi:核心交互文件夹,作用在于构建真

Java后端微服务架构下的API限流策略:Guava RateLimiter

Java后端微服务架构下的API限流策略:Guava RateLimiter 大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿! 在微服务架构中,API限流是保护服务不受过度使用和拒绝服务攻击的重要手段。Guava RateLimiter是Google开源的Java库中的一个组件,提供了简单易用的限流功能。 API限流概述 API限流通过控制请求的速率来防止

未雨绸缪:环保专包二级资质续期工程师招聘时间策略

对于环保企业而言,在二级资质续期前启动工程师招聘的时间规划至关重要。考虑到招聘流程的复杂性、企业内部需求的变化以及政策标准的更新,建议环保企业在二级资质续期前至少提前6至12个月启动工程师招聘工作。这个时间规划可以细化为以下几个阶段: 一、前期准备阶段(提前6-12个月) 政策与标准研究: 深入研究国家和地方关于环保二级资质续期的最新政策、法规和标准,了解对工程师的具体要求。评估政策变化可

漫谈设计模式 [12]:模板方法模式

引导性开场 菜鸟:老大,我最近在做一个项目,遇到了点麻烦。我们有很多相似的操作流程,但每个流程的细节又有些不同。我写了很多重复的代码,感觉很乱。你有啥好办法吗? 老鸟:嗯,听起来你遇到了典型的代码复用和维护问题。你有没有听说过“模板方法模式”? 菜鸟:模板方法模式?没听过。这是什么? 老鸟:简单来说,模板方法模式让你在一个方法中定义一个算法的骨架,而将一些步骤的实现延迟到子类中。这样,你可

漫谈设计模式 [9]:外观模式

引导性开场 菜鸟:老鸟,我最近在做一个项目,感觉代码越来越复杂,我都快看不懂了。尤其是有好几个子系统,它们之间的调用关系让我头疼。 老鸟:复杂的代码确实让人头疼。你有没有考虑过使用设计模式来简化你的代码结构? 菜鸟:设计模式?我听说过一些,但不太了解。你觉得我应该用哪个模式呢? 老鸟:听起来你的问题可能适合用**外观模式(Facade Pattern)**来解决。我们可以一起探讨一下。