量化择时——资金流择时策略(第1部分—因子测算)

2023-10-19 06:50

本文主要是介绍量化择时——资金流择时策略(第1部分—因子测算),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 资金流模型概述
    • 资金流模型的有效性逻辑
    • 资金流向指标MFI(Money Flow Index)
  • MFI指标测算
    • 测算规则
    • 测算结论

资金流模型概述

通常,资金流是一种反映股票供给信息的指标,宏观上来讲,我们知道一个道理:僧多粥少的时候“粥”就格外的值钱。在股市中,一般情况下,股票的总量是固定的,能用来交易的量也是相对固定的,当钱(僧)大量涌入的时候,会使原有的股票更加值钱,反之股票价格会下跌。

市场微观结构理论认为,根据委托流测算的资金流能够有效反映一些市场博弈的状态:

  • 资金净流入导致价格上涨
  • 资金净流出导致价格下跌

在使用资金流模型时,我们通常定义:

  1. 资金流入:证券价格处于上升状态时,产生的成交额被认为是推动价格上涨的力量,记为资金流入
  2. 资金流出:证券价格处于下跌状态时,产生的成交额被认为是推动价格下跌的力量,记为资金流出

如果研究的更加细致的话,可以将资金流划分的更加细致:“大资金流”,“中资金流”,“小资金流”,同样也有针对个股的资金流模型,也有针对板块指数的资金流模型。这篇文章就只研究基本的现金流指标,更加细致的研究后面补充哈~

资金流模型的有效性逻辑

  1. 什么样的交易会促使价格发生变动?

    如果我只想以1元/股成交茅台的股票,显然是不会成功的,卖方漫天要价同理是无法成交的。但如果此时有人愿意以100元/股的价格卖出,而有人愿意以100.01/股的价格买入,那么这个交易按照股市的逻辑是会以100元/股成功的。因此,买方与卖方的边际需求决定成交价,即:
    只有两种情况会导致价格表现为上涨、下跌:

    • 上涨:买方主动以卖方期待的价格成交,买方的行为将价格向上推(最终会以卖一价成交)
    • 下跌:卖方主动以买方期待的价格成交,卖方的行为将价格向下推(最终会以买一价成交)

    而资金流就是通过判断推动力量的方向,预判未来的涨跌幅,并以此为依据做出决策的一种思想

  2. 资金的流入、流出与成交价变化的关系?

    如上所述,“积极主动的买入、卖出”行为会导致成交价发生变化,因此固定时间窗口(如分钟线)下,通过成交量的大小,就可以判断在这一段时间内主动成交的参与者将价格推动到了何种程度。此时我们以价格的上涨或下跌作为资金的方向,就可以判断:

    • 资金流入的动力有多少,推动价格上涨的阻力有多大
    • 资金流出的动力有多少,推动价格下跌的阻力有多大

    但是根据涨跌幅判断资金的流入流出有两种特殊情况:

    • 成交量没有明显变化,但是价格发生明显的偏移(价格踏空):表示买方或卖方的报价之间出现断层,买方与卖方对价格的看法出现分歧。
      注意:此时容易出现虚假的盘面走势,因为盘面价格只代表成交价,这个判断需要对比看十挡价格
    • 成交量特别大,但价格没有明显变化:表示买方卖方在频繁换手,即上涨、下跌阻力较大

    注:在期货中,可以根据持仓总量辅助判断资金的流入、流出。但是股票由于股票交易数量相对固定,因此通常只根据价格的涨跌幅判断资金的流入、流出。

  3. 资金流的逆向选择策略

    在股市中,因为机构投资者与散户的信息不对称,在发生导致价格偏移的信息时,机构投资者会以大资金入场或出逃,增加成交量。散户“跟风”随后决策,此时容易导致“反应过度”。同样,机构投资者也会因为关注同行的投资行为,“羊群效应”的产生会强化超买、超卖的情况发生。

    修正反应过度带来的价格偏移就是资金流策略的思路,因此资金流模型通常赚的就是超买、超卖的钱。

资金流向指标MFI(Money Flow Index)

资金流量指标是RSI相对强弱指标和OBV人气指标两者的结合,用于测度交易量的动量和投资兴趣。根据MFI的值大小,来判断超买、超卖现象是否发生,是否存在获益机会

计算规则如下:

  1. 选定时间窗口,每一个窗口都会计算出一个MFI值,通常窗口长度N=14
  2. 计算当天的:
    • 当天典型价格(TP)=(当天最高价 + 当天最低价 + 当天收盘价)/ 3
    • 当天资金流量(MF)= 当天典型价格(TP)* 当天成交量
  3. 判断资金的流入、流出
    • 如果当日MF > 昨日MF,表示价格向上偏移,资金流入,正资金流量(PMF)
    • 如果当日MF < 昨日MF,代表价格向下偏移,资金流出,负资金流量(NMF)
  4. 资金流动比率 = N天内的PMF / N天内的NMF
  5. IMF = 100 - 100/(1+资金流动比率)

根据指标计算公式,可知:

  1. 资金流动比率的值域是(0,正无穷),IMF的值域是(0,100)

  2. 如果资金在N天内一直流入,此时IMF=100

  3. IMF与指数走势图如下所示:
    在这里插入图片描述

  4. IMF与典型价格TP的走势图如下所示:
    在这里插入图片描述

MFI指标测算

测算规则

这一部分,我们测算MFI指标对个股的影响,同时将时间段分为两个部分:

  • 测算:2015年1月1日至2020年1月1日
  • 回测:2020年1月1日至2022年11月1日

测算时,只挑选2015年1月1日至2020年1月1日这个时间段内,数据量大于200个交易日的股票。

按照交易策略:

  1. 当MFI<20时为超卖,当其向上突破20时,为买点
  2. 当MFI>80时为超买,当其向下跌破80时,为卖点

这里我们统计每一次交易(从买点到卖点)的收益率:

  1. 转化为年化收益率
  2. 以年化收益率>2%记为胜,胜率=胜的次数/总交易次数

测算结论

胜率最高,且交易次数最高的前10只个股如下:
在这里插入图片描述

胜率最低,且交易次数最高的前10只个股如下:

在这里插入图片描述

综合3037只个股,综合统计的胜率如下:

胜率交易次数年化收益率-均值年化收益率-方差年化收益率-25%年化收益率-75%年化收益率-中位数
均值0.564.430.671.29-0.021.040.38
方差0.251.721.351.451.111.571.24
最小值01-1.440-4.38-1.44-1.44
25%0.430.080.52-0.320.26-0.08
50%0.5740.430.92-0.140.720.18
75%0.7560.961.580.11.420.57
最大值11151.6527.2151.6551.6551.65

这篇关于量化择时——资金流择时策略(第1部分—因子测算)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

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路径错

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)

poj 2976 分数规划二分贪心(部分对总体的贡献度) poj 3111

poj 2976: 题意: 在n场考试中,每场考试共有b题,答对的题目有a题。 允许去掉k场考试,求能达到的最高正确率是多少。 解析: 假设已知准确率为x,则每场考试对于准确率的贡献值为: a - b * x,将贡献值大的排序排在前面舍弃掉后k个。 然后二分x就行了。 代码: #include <iostream>#include <cstdio>#incl

线性因子模型 - 独立分量分析(ICA)篇

序言 线性因子模型是数据分析与机器学习中的一类重要模型,它们通过引入潜变量( latent variables \text{latent variables} latent variables)来更好地表征数据。其中,独立分量分析( ICA \text{ICA} ICA)作为线性因子模型的一种,以其独特的视角和广泛的应用领域而备受关注。 ICA \text{ICA} ICA旨在将观察到的复杂信号

笔记整理—内核!启动!—kernel部分(2)从汇编阶段到start_kernel

kernel起始与ENTRY(stext),和uboot一样,都是从汇编阶段开始的,因为对于kernel而言,还没进行栈的维护,所以无法使用c语言。_HEAD定义了后面代码属于段名为.head .text的段。         内核起始部分代码被解压代码调用,前面关于uboot的文章中有提到过(eg:zImage)。uboot启动是无条件的,只要代码的位置对,上电就工作,kern