Python 算法交易实验85 QTV200日常推进-钳制指标与交易量

news2024/11/13 9:42:58

说明

继续保持思考与尝试

最近挺有意思的,碰到很多技术上的问题,其解决方案都类似“阴阳两仪”的概念。

"阴阳两仪"是中国古代哲学中的一个重要概念,源自《易经》(又称《周易》)。它是对宇宙间最基本对立统一规律的概括,用以描述事物存在的两种基本状态或属性。
阴阳最初是指日光的向背,向日为阳,背日为阴。后来,阴阳的概念被广泛应用于自然界和社会生活的各个方面,成为解释自然现象和社会现象的一种基本理论。阴阳两仪认为,宇宙间的一切事物都是由阴阳两种对立而又相互依存、相互转化的力量构成的。
在阴阳学说中,阴阳并不是孤立存在的,而是相互作用、相互制约、相互转化的。例如,白天与黑夜、热与冷、动与静、男与女等都是阴阳对立的体现。阴阳之间的平衡是自然界和人类社会和谐的基础,一旦阴阳失衡,就可能导致各种问题的出现。
阴阳两仪的概念也被用于中医学、风水学、武术、书法、绘画等多个领域,成为中国传统文化中不可或缺的一部分。

在量化方面,恰好也由于近两年市场的反常,导致策略失效,颇有点“刚才开翅膀,风却变沉默”的感觉。这也促使我思考,怎样才能找到那个恒定的方法。

内容

最初做qtv100时,我发现回测效果很好的策略,结果在过去一年表现并不好(差不多持平的状态,看起来像白干)。特别是到了最近,4个混合的结果已经亏损了。大概在4月的时候还是盈利的。小盘成分还行,蓝筹和医药真是BBQ。这里有两个简单结论:

  • 1 过去一段时间的模式挺重要的,为什么会扭盈为亏?
  • 2 技术上讲,如果通过强化学习,输的自然被压抑,结果应该还是有救的
    在这里插入图片描述
    从一个更大的层面分析,问题出在哪?

我对于策略的期待是:如果是对的,可以自行合理放大交易。如果出师不利,可以自动冬眠,不造成,或者少造成损害。

最初,我简单的认为是由于判别模型的目标设定错误,“双刃剑模型”倾向于造成这种结果。

近期,我用SMA策略测试,发现无论以何种参数,在近3年都不可能获利。所以,这看起来并不是微观层面的问题,而是宏观上,在这个大周期内,原来的规律失效了

所以,问题等价为:我们如何能够判定当前是否是合适的模式呢?

在做这样的判定之前,我想先引入“钳制指标”的概念。这个名字挺难起的,我的本意是想表达一对双生的,此消彼长的指标。这个其实就很符合“阴阳”的概念。之前我自己总是用“一对对冲子”的称呼来指代这个概念,也还是感觉拗口。但我想,先有这么个模糊的概念,然后用具体的例子来明确。

在机器学习中,基本的度量方法是基于混淆矩阵提出的。

在这里插入图片描述

其中,Precision和Recall就是一对钳制指标:当一个指标上升时,另一个指标下降。F1则是一个(阴阳)调和的指标,很像我们说的阴阳平衡。

在有一段时间里,我自己对于Recall也是没有感觉的。比如我做了一个模型,我关心这个模型准不准,因为模型不准其实就废了。全不全的问题在某些业务里有时候也不容易度量和观察到Recall。例如信贷业务,我们可以知道模型预测为不违约(放贷),最终实际不违约的人数。分子是不违约人数,分母是总放贷人数。知道这个,其实是可以开展业务的,所以我会忽略掉recall的问题。实际上,一批人,特别是被拒绝的人群,我们知道实际上的不违约人数(比例)吗?不知道。如果要想分析,可能得要选择一批样本,然后去跟踪他们的表现,这样的代价很高,而且结果也可能不一样。例如,客户向国有行申请信贷,被拒绝后去向第三方金融公司借款,最终违约了。但是这可以等于当时向国有行申请获批后会违约吗?不一定。因为如果银行贷款违约,直接上征信黑名单,代价很高。而第三方金融公司的违约成本则较低,所以即使是样本违约了,也很难说明问题。

但是,在另一类问题里Recall是非常明显的。如果我们要从1000篇新闻中识别实体,模型给出了500篇新闻的实体,准确率是95%,这很容易判别。然后交给人去打标,发现剩下的500篇里还有300篇可以提取实体。这个场景下,模型的Recall同样重要,也很容易判别。在这种场景下,Precision和Recall都是重要的指标,因为我们会假设每篇新闻都是我们的business,都会以同样的概率被客户观察到。

回到量化领域,我们会假设每一分钟都可能交易。所以这时候不仅需要Precision,也需要Recall。

理解了钳制指标的意义后,我会觉得量化领域,更应该通过一系列的钳制指标来进行整体的度量和判断。回到最初的问题,我们怎么知道什么时候策略可用,什么时候策略不可用?

这里会有另外一对钳制指标:置信度(Confidence)和支持度(Support)。

在这里插入图片描述

我们通常关心模型预测的涨跌,这可以认为是置信度问题。当置信度高,就有理由相信我的买入和卖出盈利或者避免亏损的可信度高,从而进行决策。

现在的问题是:为什么一贯置信度高的策略失效了呢?

这就要关联到支持度问题。价格曲线是一直存在的,甚至只要成交1个亿也会有一条完整的价格曲线。但是成交量是不同的,我们经常看到的“量价”,是否应该分成“量”和“价”。量不是一定需要特别高,但是低于一定程度,或者可以认为是支持度降到一定水平,价的策略是否也就失效了呢?

或者从贝叶斯的信念角度理解,市场价格是多方博弈后的最终结果。但是player如果感觉到大家都收力了,是否也就会改变自身的发力,进而导致”口是心非“的局面?

交易量

所以我们来看看怎么分析全市场的交易量。

在这篇文章里提到了抓取每日交易量数据的接口。

我稍微调研了一下,这些免费的平台似乎都没有整个市场的交易量接口。我大致想了想,要么还是自己去抓取所有股票单日的交易数据,然后自己汇总。

  • 1 A股大概5000只股票左右
  • 2 按交易日统计

具体的内容:

  • 1 明确使用ak查询股票列表和获取日数据的接口,按照股票获取所有日期数据,每只股票大概最多也就几千个交易日
  • 2 使用clickhouse,声明ORM数据模型
  • 3 每次执行后,将数据存到数据库内,最后进行按日统计
  • 4 使用cufflinks 可视化统计

这些下次再写吧。

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

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

相关文章

数据结构与算法 第5天(树和二叉树)

树形结构 一对多 只有一个前驱 可以有多个后继 树的定义 基本术语 有序树:树中结点的各子树从左至右有次序(最左边的为第一个孩子) 森林:是 m(m≥0)棵互不相交的树的集合。 一棵树可以看成特殊的森林 二叉树 每个节点最多有两个…

【王树森】BERT:预训练Transformer模型(个人向笔记)

前言 BERT:Bidirectional Encoder Representations from TransformerBERT是用来预训练Transformer模型的encoder的本节课只讲述主要思想BERT用两个主要思想来训练Transformer的encoder网络:①随机遮挡单词,让encoder根据上下文来预测被遮挡的…

2024年9月1日 十二生肖 今日运势

小运播报:2024年9月1日,星期日,农历七月廿九 (甲辰年壬申月戊辰日),法定节假日。 红榜生肖:鸡、猴、鼠 需要注意:龙、兔、狗 喜神方位:东南方 财神方位:正…

【系统架构设计师-2015年】综合知识-答案及详解

【第1~2题】 某航空公司机票销售系统有n个售票点,该系统为每个售票点创建一个进程Pi(i1,2,…,n)管理机票销售。假设Tj(j1,2,…,m)单元存放某日某…

2025届必看:如何用Java SpringBoot+Vue打造免费体育馆场地预约系统?

✍✍计算机毕业编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java、…

异常与使用

异常 一、C语言传统的错误处理机制二、异常1、概念2、关键字3、示例 三、异常的使用1、异常的抛出和匹配原则2、在函数调用链中异常栈展开匹配原则3、栈展开示意图4、示例代码5、运行结果 四、异常的重新抛出1、作用2、示例代码3、运行结果 五、异常安全六、异常规范1、概念2、…

CSS-浮动【看这一篇就够了】

目录 浮动布局 浮动是如何工作的 浮动的本质和要点 如何产生浮动 元素浮动的特性 1.元素添加浮动后,脱离文档流 2.如果父元素的宽度不够 3.浮动的顺序贴靠特性 4.元素浮动后,具有行内块级元素特性 5.浮动的元素会造成父元素高度塌陷 6.浮动对…

“无法连接打印机0X0000011B”原因分析及多种解决方法

在日常办公和生活中,打印机是不可或缺的重要设备。然而,有时在连接打印机的过程中,我们可能会遇到错误代码0x0000011b的提示。有更新补丁导致的、有访问共享打印机服务异常、有访问共享打印机驱动异常等问题导致的,针对访问共享打…

MySQL场景测试题

第一题 软件环境描述: Mysql V5.7.30 Innodb RR隔离级别 表结构以及数据描述: (1)t_user用户表,表格如下: CREATE TABLE t_user ( id int(10) NOT NULL, name varchar(100) DEFAULT NULL, PRIMARY KEY (id)…

240831-Gradio之RAG文档对话工具Kotaemon的安装与配置

A. 用户界面 该项目既可以作为功能性 RAG UI,既可以用于对文档进行 QA 的最终用户,也可以用作想要构建自己的 RAG 管道的开发人员。对于最终用户: - 一个干净且简约的用户界面,用于基于RAG的QA。 - 支持 LLM API 提供程序&#xf…

gethub-rrsf

一.FastCGI协议 1.来到127.0.0.1下发现404报错 2.这一关我们要借助一个叫Gopherus的工具,我这里是在kali虚拟机里面克隆的 git clone https://github.com/tarunkant/Gopherus.git 3.运行命令 由于一句话木马无法写入,所以我们使用base64编码&#xf…

将Google Chrome或Microsoft Edge浏览器的地址栏隐藏的方法

将Google Chrome或Microsoft Edge浏览器的地址栏隐藏的方法 目标效果示范 我们以百度首页为例,普通模式启动的页面通常会显示地址栏,如下图所示: 而本文要实现的效果是隐去地址栏和书签栏(如果有的话),无…

重生奇迹MU 敏捷流梦幻骑士 真正的平民PK王

“梦幻骑士”这个职业已经存在于重生奇迹MU中很长时间了,虽然现在已经不算是新职业了,但玩家们对于梦幻骑士的研究和开发一直没有停止过。它作为一个特殊的职业,与传统职业截然不同,拥有着许多独特的玩法。其中,有一种…

JVM2-JVM组成、字节码文件、类的生命周期、类加载器

Java虚拟机的组成 Java虚拟机主要分为以下几个组成部分: 类加载子系统:核心组件类加载器,负责将字节码文件中的内容加载到内存中运行时数据区:JVM管理的内存,创建出来的对象、类的信息等内容都会放在这块区域中执行引…

有宠物用哪个牌子的宠物空气净化器,希喂、IAM哪个更值得推荐

由于很喜欢猫咪和狗狗,每天都只想和它们待在一起,一点都不想上班,经过一番深思熟虑后,决定裸辞去开了一家宠物店。还真别说,开了宠物店之后,整个人都舒爽了,还可以摸到很多不同品种的小猫小狗&a…

学习笔记之JS(0830)

1、介绍 1.1 JavaScript (是什么?) javascript是一种运行在客户端(浏览器)的编程语言,实现人机交互效果。作用(做什么?) 网页特效(监听用户的一些行为让万叶…

Java 集合框架与泛型实战指南

Collection: Collection 不唯一,无序 List 不唯一,有序 Set 唯一,无序 ArrayList:内部使用长度可变的数组,遍历查询效率高 LinkedList:采用双向链表实现,增删改效率比较高 ArrayL…

【智能排班系统】Hibernate Validator 参数校验

🎯导读:本文档介绍了参数校验的重要性及其在软件开发中的作用,强调了数据完整性、安全性、用户体验、系统稳定性及开发效率等方面的关键价值。文档详细阐述了Hibernate Validator这一流行的Java验证框架的使用方法,展示了如何利用…

适马相机cf卡剪切的数据还能恢复吗?可尝试这几种方法

“本想把适马相机CF卡里的珍贵数据剪切到电脑上,‌以备不时之需,‌但是不知道怎么回事,剪切后数据既不在电脑上,‌CF卡里也没了,这可真是让我心急如焚!‌求大神指点迷津,‌帮我找回那些重要的文…

Vue 选项式api和组合式api 路由嵌套

选项式api和组合式api是两种不同的语法习惯&#xff0c;<template>标签内还是该怎么写就怎么写&#xff0c;不一样的只是<script>里面的语法改变了。 目录 选项式api&#xff1a; 组合式api&#xff1a; 1)省略各种关键字&#xff1a; 省略前&#xff1a; 省略后…