量化研究---小果因子分析系统使用教程,可转债macd因子为例子

文章链接 量化研究---小果因子分析系统使用教程,可转债macd因子为例子 (qq.com)

因子分析是一种多维变量统计分析方法,用于从多个变量中提取少数公共因子。

具体来说,因子分析的核心目的是通过研究变量之间的相关性,将多个相关联的变量归结为几个较少的公共因子。这些公共因子能够代表原始变量中的大部分信息,而每个原始变量则可以表示为这些公共因子和一个特殊因子(独特性)的线性组合。以下是因子分析的几个关键点:

  1. 提取共性因子:因子分析最早由心理学家C.E.斯皮尔曼提出,他在研究学生的各科成绩时发现,不同科目之间存在一定的相关性,即一科成绩好的学生往往在其他科目上也有不错的表现。这种相关性启发了他从中提取共性因子的想法。

  2. 可观测变量与隐变量:在因子分析中,可观测的变量通常受到背后的公共因子(也称为隐变量)的影响。样本在公共因子上的取值变化会影响其在可观测变量上的取值。

  3. 降维处理:因子分析常用于对多个观测变量进行降维处理,例如将多个问卷题目降维为几个公共因子,这有助于简化数据结构,更容易地进行后续分析。

  4. 多元统计分析方法:它是一种多元统计方法,通过研究指标相关矩阵内部的依赖关系,将信息重叠、具有复杂关系的变量归结为少数几个不相关的综合因子。

  5. 计算因子权重和综合得分:除了用于降维,因子分析还可以用来计算因子权重,以及基于这些权重计算加权的综合得分。

股票因子分析是量化交易中用于评估因子有效性的一种方法。

在股票投资领域,因子分析是一种重要的量化研究手段,它通过对各种可能影响股票价格和收益率的因素进行分析,来预测股票的未来表现。这些因素被称为“因子”,它们可以是宏观经济数据、公司基本面信息、市场情绪指标等。以下是一些常见的股票因子:

  1. 规模因子:通常指的是公司的总市值,它是衡量公司大小的一个指标。

  2. 估值因子:如市盈率(Price to Earnings Ratio, P/E),用以评估股票的估值水平。

  3. 成长因子:例如营业利润同比增长率,反映公司的成长性。

  4. 盈利因子:如净资产收益率(Return on Equity, ROE),衡量公司的盈利能力。

  5. 动量反转因子:以前1个月的涨跌幅来衡量,反映股票的价格动量。

  6. 交投因子:以前1个月日均换手率来表示,反映股票的交易活跃程度。

  7. 波动因子:以前1个月的波动率来衡量,反映股票的价格波动性。

  8. 股东因子:如户均持股比例变化,显示股东结构的变化情况。

1导入因子分析框架

from trader_tool.unification_data import unification_datafrom factor_analysis_frame.factor_analysis_frame import factor_analysis_framefrom trader_tool import jsl_datafrom finta import TAfrom tqdm import tqdmimport pandas as pddata=unification_data(trader_tool='ths')data=data.get_unification_data()

图片

2获取全部的可转债代码

#计算计算指标bond=jsl_data.get_all_cov_bond_data()bond

图片

3计算可转债全部的macd因子

#macd为例子 # factor_data:pandas.DataFrame格式,形如        #   instrument  date      hf_fz_ykws        # 0  000001.SZ  2017-01-03  1.564644        # 1  000001.SZ  2017-01-04  1.521567        # 2  000001.SZ  2017-01-05  1.519973        # 3  000001.SZ  2017-01-06  1.553225        # 4  000001.SZ  2017-01-09  1.367971'''factor_return数据格式instrument  date daily_ret  127005  2018-03-12  NaN  127005  2018-03-13  NaN  2  127005  2018-03-14  NaN  3  127005 2018-03-15  NaN  4  127005 2018-03-16  NaN  .84620  110095 2023-08-25  0.0'''stock_list=bond['转债代码'].tolist()factor_data=pd.DataFrame()factor_return=pd.DataFrame()for i in tqdm(range(len(stock_list))):    factor_data_df=pd.DataFrame()    factor_return_df=pd.DataFrame()    stock=stock_list[i]    instrument=stock    hist=data.get_hist_data_em(start_date='20160101',end_date='20500101',stock=stock)    macd=TA.MACD(hist)    hist['MACD']=macd['MACD']    factor_data_df['date']=pd.to_datetime(hist['date'])    factor_return_df['date']=pd.to_datetime(hist['date'])    factor_data_df['MACD']=hist['MACD']    factor_return_df['daily_ret']=hist['close'].pct_change()    factor_data_df['instrument']=instrument    factor_return_df['instrument']=instrument    factor_data=pd.concat([factor_data,factor_data_df],ignore_index=True)    factor_return=pd.concat([factor_return,factor_return_df],ignore_index=True)    

图片

因子数据

图片

收益数据

图片

分组参数

#group_num分组#factor_field因子名称#instruments参考市场#benchmark参考指数#factor_direction因子方向params = {'group_num':5, 'factor_field':'MACD', 'instruments':'全市场',"benchmark":'00300', 'factor_direction':1}

图片

执行因子回测框架

models=factor_analysis_frame(params=params,factor_data=factor_data,factor_return=factor_return)models.render()

图片

分析的结果

图片

图片

图片

图片

图片

完美看因子最大的值的标的

***********因子值最大的标的**************              date   factor  instrument137083  2024-04-18  17.9279      113615101673  2024-04-18  13.5632      123118283583  2024-04-18   8.9575      123018121191  2024-04-18   8.6597      12310689769   2024-04-18   8.6009      123127***********因子值最小的标的**************              date   factor  instrument1604    2024-04-18 -16.6805      1270971803    2024-04-18 -13.1377      127096296804  2024-04-18 -10.0244      123013300924  2024-04-18  -6.7810      1280411503    2024-04-18  -5.4322      123230(              date   factor  instrument 137083  2024-04-18  17.9279      113615 101673  2024-04-18  13.5632      123118 283583  2024-04-18   8.9575      123018 121191  2024-04-18   8.6597      123106 89769   2024-04-18   8.6009      123127,               date   factor  instrument 1604    2024-04-18 -16.6805      127097 1803    2024-04-18 -13.1377      127096 296804  2024-04-18 -10.0244      123013 300924  2024-04-18  -6.7810      128041 1503    2024-04-18  -5.4322      123230)

因子分析选股交易

图片

图片

图片

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

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

相关文章

Spring 事务 (编程式 声明式, Spring 事务传播机制)

事务 事务是一组操作的集合, 是一个不可分割的整体 事务会把所有的操作作为一个整体, 一起向数据库提交或是撤销操作请求. 所以这组操作要么同时成功, 要么同时失败 Spring 中事务的实现 编程式 (手动写代码操作事务)声明式 (通过注解自动开启和提交事务) 编程式事务 开启事务 …

Module外贸主题开心版下载-v5.7.0版本WordPress企业模板

主题下载地址:Module外贸主题开心版下载-v5.7.0版本 Module主题介绍:采用全新模块化开发,首页模块可视化拖拽自由组合,可自定义搭建出不同行业适用的企业网站。同时主题全面支持WPML多语言切换,可轻松搭建外贸网站。W…

torchEEG工具箱

文章信息: 题目:TorchEEGEMO:基于脑电图的情绪识别深度学习工具箱 期刊:Expert Systems with Applications 环境:pytorch 1.11.0 CUDA 11.3 摘要: ​ 一个python工具箱TorchEEG,将工作流程分为五个模块…

学习STM32第十六天

RTC实时时钟 一、简介 RTC是一个独立的BCD格式定时器,提供一个时钟日历,两个可编程报警中断,一个具有中断功能周期性可编程唤醒标志,RTC和时钟配置系统处于后备区域。 通过两个32位寄存器以BCD格式实现秒、分钟、小时&#xff08…

OKCC搭建配置什么样的服务器合适

OKCC呼叫中心系统是一种采用软硬件结合的架构方式、及分布式的IP技术,从多角度为企业提供整合的一体化解决方案。因此,搭建OKCC呼叫中心系统所使用的服务器应该满足以下几点要求: 稳定性:服务器需要具有较高的稳定性和可靠性&…

STM32之不使用MicroLIB

一、microlib介绍 microlib 是缺省 C 库的备选库,功能上不具备某些 ISO C 特性。 microlib 进行了高度优化以使代码变得很小,功能比缺省 C 库少,用于必须在极少量内存环境下运行的深层嵌入式应用程序。 二、不使用microlib的原因 由于microlib不支持C++开发,因此在使用C…

element plus el-date-picker type=“datetime“ 限制年月日 时分秒选择

如何限制el-date-picker组件的时分秒选中!!!!!!! 文档 文档在这里:DateTimePicker 日期时间选择器 | Element Plus 它提供的disabled-date给我们来限制日期选择 nice!&…

2024年3月洗衣机大家电线上电商(京东天猫淘宝)销量排行榜

鲸参谋监测的线上电商(京东天猫淘宝)平台3月份的洗衣机大家电销售数据已出炉! 根据鲸参谋数据显示,今年3月份,线上电商平台洗衣机的销量累计约224万件,环比增长了29%,环比增长了约29%&#xff…

网络变压器在网络分析仪上能通过测试,装上设备后网速达不到呢?

Hqst华轩盛(石门盈盛)电子导读:今天和大家一起探讨网络变压器在网络分析仪上能通过测试,装上设备后网通设备网速达不到的可能原因及其处理方式 一、出现这种情况可能有以下原因: 1.1. 设备兼容性问题:设备其它元器件与 网络…

MATLAB绘制复杂分段函数图像

MATLAB绘制复杂分段函数图像 clc;close all;clear all;warning off;%清除变量 rand(seed, 200); randn(seed, 200) % 定义 x 范围和分辨率 x linspace(-2, 2, 1000); % 初始化 y 数组 y zeros(size(x)); % 分段定义函数 y(x < 0) x(x < 0).^2; y(x > 0 …

使用Termux在Android设备上编译运行SpecCPU2006

Spec CPU 2006 的使用说明&#xff08;曲线救国版&#xff09; 因本部分实验用到的Spec CPU2006依赖于多个编译工具包&#xff0c;因此对源码的编译要在配置好环境的Linux设备上运行&#xff0c;根据实验发现&#xff0c;现有的环境&#xff08;包括adb和termux&#xff09;都不…

FreeRTOS之动态创建任务与删除任务

1.本文是利用FreeRTOS来动态创建任务和删除任务。主要是使用FreeRTOS的两个API函数&#xff1a;xTaskCreate()和vTaskDelete()。 任务1和任务2是让LED0、LED1闪烁。任务3是当按键按下时删除任务1。 使用动态创建任务时&#xff0c;需要动态的堆中申请任务所需的内存空间&…

Flask实战

from flask import Flask appFlask(__name__)点击Flask同时点击键盘ctrl即可查看Flask的默认初始化函数 def __init__(self,import_name: str,static_url_path: str | None None,static_folder: str | os.PathLike[str] | None "static",static_host: str | None …

安装docker的PHP环境NLMP环境在国产deepin操作系统上

1: 先安装docker 安装完后执行,权限设置 sudo usermod -aG docker $USER或者sudo usermod -aG docker kentrl#添加当前用户到Docker用户组中 sudo newgrp docker#更新用户组数据,必须执行否则无效 sudo systemctl restart docker 先看目录结构: 2:按照目录结构挂载磁盘,…

JavaScript(五)-正则表达式

文章目录 正则表达式正则表达式的介绍语法元字符修饰符 正则表达式 正则表达式的介绍 什么是正则表达式 正则表达式&#xff08;Regular expression&#xff09;是用于匹配字符串中字符组合的模式&#xff0c;在JavaScript中&#xff0c;正则表达式也是对象通常用来查找、替…

UE5数字孪生系列笔记(四)

场景的切换 创建一个按钮的用户界面UMG 创建一个Actor&#xff0c;然后将此按钮UMG添加到组件Actor中 调节几个全屏的背景 运行结果 目标点切换功能制作 设置角色到这个按钮的位置效果 按钮被点击就进行跳转 多个地点的切换与旋转 将之前的目标点切换逻辑替换成旋转的逻…

气象观测站点数据下载与处理

一、下载途径 全国400多个气象站气候数据&#xff08;1942-2022&#xff09; 王晓磊&#xff1a;中国空气质量/气象历史数据 | 北京市空气质量历史数据 气象数据免费下载网站整理 中国气象站观测的气象数据怎么下载 二、R语言处理 2.1 提取站点文件 library(dplyr) library(…

集成智能楼宇的微网系统多时间尺度MPC调度方法(附带Matlab代码)

含多智能楼宇的微网示意图如图所示&#xff0c;包括多个智能楼宇、微网可控分布式电源 、储能系统以及通信链路。其中&#xff0c;每个智能楼宇系统包括制冷设备、常规用电设备以及屋顶光伏系统。各单元功能介绍如下 针对含多智能楼宇的微网系统&#xff0c;提出一种基于模型预…

gpt能生成ppt吗

gpt能生成ppt吗 GPT是一个高度通用的工具&#xff0c;适用于多种场景和领域&#xff0c;制作ppt只是它强大功能的冰山一角&#xff0c;具体包括&#xff1a; 信息查询与解释&#xff1a; 提供科学、技术、历史、文化等领域的详细解释和背景信息。 解答疑问&#xff0c;帮助…

制作带有中文字体的 jdk 17 镜像

1. 准备中文字体 将所有需要添加的中文字体放进一个文件夹内&#xff0c;例如 fonts 2. 创建 Dockerfile 文件 Dockefile 文件与 fonts 文件夹放在同一目录下 # 使用 slim 版本的 jdk 17 镜像作为基础镜像 FROM openjdk:17-slim# 安装字体工具 RUN apt-get update &&a…