正确评估貌似可行的策略及其陷阱

2023-11-07 15:20

本文主要是介绍正确评估貌似可行的策略及其陷阱,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

量化是一个大体系,广义上来说,凡是交易指令由量化模型发出或指导的都属于量化策略,量化大家庭包括量化选股、量化对冲、量化高频、量化CTA、量化期权等等。对投资者来说,当一个看上去不错的策略呈现在面前的时候,应该如何判断它是好是坏,是否适合自己呢?

投资者可以从下面这些维度来快速评价拟投资产品所使用策略的好坏,量化交易爱好者也可以在进行严格的策略回测之前进行一次省时省力的评估。

1、策略与基准相比收益如何?收益的持续性如何?

这个问题主要需要回答策略能否跑赢基准和是否有够高的稳定性。

2、挫跌多深、多久?

用业内人士的话说,如果一项策略近期正在亏钱,那么它就正在经历挫跌。时刻 t 的挫跌被定义为:当前净值(假定期间内未发生任何赎回或注资)与t时刻或之前的净值曲线最大值之差。“最大挫跌”是净值曲线最大值与之后的净值曲线最小值之差。净值的最大值又被称为“高水位线”。“最长挫跌期”是指净值重返亏损前的水平所花费的最长时间。

投资者需要正确地评估最大挫跌和最长挫跌自己是否可以忍受。直白地说,就是在投资组合清盘或策略结束前,能承受多深和多久的挫跌?是20%和3个月,还是10%和1个月?只有正确深刻地认识到这一点,才有可能以正确的态度面对策略中的亏损。

3、交易成本对策略的影响。

这包括两方面,一方面是因为证券买卖都会产生手续费,交易越频繁,成本对策略的盈利的侵蚀就越多。另外一方面是流动性成本,当我们以市场价格买卖证券的时候,需要支付买卖价差。如果我们用限价指令买卖证券,确实可以避免流动性成本,但却要承担机会成本,因为我们可能买不到或者卖不出去。

4、数据有无存活偏差?

如果标的是股票,股票价格的历史数据库往往不包括由于破产、退市、兼并或者收购而消失的股票,因为回测数据库中只有幸存者,所以会存在所谓的存活偏差。使用有存活偏差的数据进行回测是很危险的,因为这样会夸大策略的历史业绩。

5、最重要的一点是要深刻认识盈亏同源。

天下没有完美的策略,就如同天下没有完美的老婆一样。如果一个策略整体来看是赚钱的,并且我们打算使用,那我们就要忍受它的缺点,如果无法忍受缺点,那就不要用这个策略,或者不要买使用这个策略的产品,因为盈亏同源。

任何一个策略,都无法做到百分之百盈利,亏损是策略的一个不可分割的部分。用更为通俗的话来说,盈利和亏损的本源是一致的,这同样的本源带来了收益也同时带来了亏损,如果我们试图躲开亏损,那必然也同时躲开了盈利。只有正确地认识亏损,才有可能稳定和持续地盈利。

对于想寻找合适策略的投资者而言,最重要的是要懂得甄别策略,即要会判断一项策略是否适合自己的实际情况和交易目标。比方说,大基金用的策略要求资金容量大,这可能会以牺牲收益率为代价,但是小资金完全可以用大资金没法使用的更高收益率的策略。所以,我们需要在花费大量时间进行回测之前就能判断出策略是否可行。寻找适合自己的策略需要考虑以下这些主要因素:

1、交易时间。自己是否有时间进行日间交易?如果没有,可能需要考虑隔夜持仓的交易策略。

2、编程水平。我是只会Excel还是可以写Python、Java、C或者C++这些语言?如果只会Excel,可能做的交易策略会比用其他编程语言能做的交易策略简单一些。需要澄清的是:简单的未必是不好的。

3、资金规模。小的资金规模能够交易的标的数量少,同时也会限制对冲策略的规模,这都会影响交易策略的选择。

4、收益目标。收益目标需要综合考虑持有期和收益持续性之间的关系。

--------------------------------------------------------

推荐阅读:

1.一个量化策略师的自白(好文强烈推荐)

2.股票期货经典的量化交易策略都在这里了!(源码)

3.期货/股票数据大全查询(历史/实时/Tick/财务等)

4.三分钟弄明白为什么贝叶斯是量化工作者最常用的工具

5.学习Python有哪些书籍?这里有一份书单送给你

6.江湖中常说的“网格交易法”到底是什么?

7.10种经典的日内交易策略模型思路

8.干货 | 量化选股策略模型大全

9.量化金融经典理论、重要模型、发展简史大全

这篇关于正确评估貌似可行的策略及其陷阱的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

golang1.23版本之前 Timer Reset方法无法正确使用

《golang1.23版本之前TimerReset方法无法正确使用》在Go1.23之前,使用`time.Reset`函数时需要先调用`Stop`并明确从timer的channel中抽取出东西,以避... 目录golang1.23 之前 Reset ​到底有什么问题golang1.23 之前到底应该如何正确的

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)

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在

PR曲线——一个更敏感的性能评估工具

在不均衡数据集的情况下,精确率-召回率(Precision-Recall, PR)曲线是一种非常有用的工具,因为它提供了比传统的ROC曲线更准确的性能评估。以下是PR曲线在不均衡数据情况下的一些作用: 关注少数类:在不均衡数据集中,少数类的样本数量远少于多数类。PR曲线通过关注少数类(通常是正类)的性能来弥补这一点,因为它直接评估模型在识别正类方面的能力。 精确率与召回率的平衡:精确率(Pr

缓存策略使用总结

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

Flink任务重启策略

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

C++学习笔记----6、内存管理(四)---- 通常的内存陷阱(2)

3、Windows环境下使用Visual C++发现并修复内存渗露         内存渗露很难跟踪是因为你无法很容易地看着内存并且看到什么对象处于使用中,一开始在哪儿分配的内存。然而,是有程序可以为你做到这一点的。内存渗露检测工具有昂贵的专业软件包,也有免费下载的工具。如果你是在Microsoft Visual C++环境下工作,它的排错工具库有内建的对于内存渗露检测的支持。该内存检测默认没有