Python量化炒股的财务因子选股—质量因子选股

Python量化炒股的财务因子选股—质量因子选股

在Python财务因子量化选股中,质量类因子有2个,分别是净资产收益率和总资产净利率。需要注意的是,质量类因子在财务指标数据表indicator中。

净资产收益率(roe)选股

净资产是指企业的资产总额减去负债以后的净额。它由两大部分组成:一部分是企业开办当初投入的资本,包括溢价部分;另一部分是企业在经营过程中创造的,也包括接受捐赠的资产,属于所有者权益。净资产的计算公式如下:

净资产 = 资产 - 负债

净资产收益率是企业税后利润除以净资产得到的百分比率,该指标反映了股东权益的收益水平,用以衡量企业运用自有资本的效率。指标值越高,说明投资带来的收益越高。该指标体现了自有资本获得净收益的能力。净资产收益率的计算公式如下:

净资产收益率 = 税后利润 ➗ 所有者权益 ✖️ 100%

单击聚宽JoinQuant量化炒股平台中的“策略研究/研究环境”命令,进入Jupyter Notebook的研究平台。然后单击“新建”按钮,创建Python3文件,输入如下代码:

import pandas as pd
df1 = get_fundamentals(query(indicator).filter(
indicator.roe > 20), date='2024-04-26')
df1['code']

indicator为财务指标数据名,查询条件是净资产收益率大于20.时间为2024-04-26。单击工具栏运行按钮,快捷键(shift+enter),运行结果如下图:

Screenshot 2024-04-28 at 20.07.45

显示净资产收益率大于20的股票近12个交易日的收盘价信息,具体代码如下:

df2 = history(12, unit='1d', field='close', security_list=df1['code'], df=True, 
              skip_paused=False, fq='pre')
df2

单击工具栏运行按钮,运行结果如下图:

Screenshot 2024-04-28 at 20.14.38

总资产净利率(roa)选股

总资产是指某一经济实体拥有或控制的、能够带来经济利益的全部资产。一般可以认为,某一会会计主体的总资产金额等于其资产负债表的“资产总计”金额。

总资产净利率是指公司净利润与平均资产总额的百分比,其计算公式如下:

总资产净利率 = 净利润 ➗ 平均资产总额 ✖️ 100%

其中,平均资产总额 = (期初资产总额 + 期末总资产总额)➗ 2

总资产净利率反映的是公司运用全部资产所获的利润的水平,即公司每占用1元的资产平均能获得多少元的利润。总资产净利率越高,表明公司投入产出水平越高,资产运营越有效,成本费用的控制水平越高。

单击聚宽JoinQuant量化炒股平台中的“策略研究/研究环境”命令,进入Jupyter Notebook的研究平台。然后单击“新建”按钮,创建Python3文件,输入如下代码:

import pandas as pd
df1 = get_fundamentals(query(indicator.code,
                            indicator.roe,
                            indicator.roa).filter(
indicator.roe > 10,
indicator.roa > 6), date='2024-04-26')
df1

indicator为财务指标数据表名,查询条件有两个,分别是净资产收益率大于15和总资产净利率大于6。时间为2024-04-26。

单击工具栏运行按钮,快捷键(shift+enter),运行结果如下图:

Screenshot 2024-04-28 at 20.37.24

利用图表显示净资产收益率大于15、总资产净利率大于6的股票的净资产收益率和总资产净利率信息,具体代码如下:

from matplotlib import pyplot as plt
myc1 = df1['roe']        # 净资产收益率
myc2 = df1['roa']        # 总资产净利率
matplotlib.rcParams.update({'font.size': 15, 'font.family': 'serif'})
fig, ax = plt.subplots()
ax.plot(myc1, label='净资产收益率')
ax.plot(myc2, label='总资产净利率')
ax.legend();
ax.set_title('净资产收益率和总资产净利率')

单击工具栏运行按钮,快捷键(shift+enter),运行结果如下图:

Screenshot 2024-04-28 at 20.46.45

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

创建codereview

创建codereview流程 一、开始创建二、选择分支三、添加细节 一、开始创建 点击codereivew按钮 为新的codereview选择一个工程后点击create review 二、选择分支 选择目标分支和要比对的分支,比如develop 三、添加细节 Add branch后,可以继续Edit …

如何反向查看某个命令所属的rpm包的2个方法?(rpm -qf `which xxx`和yum provides和 rpm -ql xxx.rpm)

文章目录 快速回忆方法1: rpm -qf方法2:yum provides 其他rpm如何查看某个rpm包里面包含哪些命令: rpm -ql主推方法1: rpm -ql方法2:yum info 其他查看rdma-core中包含哪些cmd:一些其他命令所在包探索 快速回忆 rpm -…

C++_set和map的学习

1. 关联式容器 STL中的容器有序列式容器和关联式容器。 其中 vector 、 list 、 deque 、 forward_list(C11)就是序列式容器, 因为其底层为线性序列的数据结构,里面 存储的是元素本身 关联式容器 也是用来存储数据的,与序列式容器不同的是&am…

Word域代码学习(简单使用)-【SEQ】

Word域代码学习(简单使用)-【SEQ】 快捷键 序号快捷键操作1 Ctrl F9 插入域代码花括号2 F9 显示域代码结果3 Shift F9 切换为域代码4 Windows Alt F9 切换全部域代码 域代码说明 域代码不区分大小写在word中,依次选择插入➡文档部件➡域即可选择插入…

2.4Java全栈开发前端+后端(全栈工程师进阶之路)-前端框架VUE3-基础-Vue组件

初识Vue组件 Vue中的组件是页面中的一部分,通过层层拼装,最终形成了一个完整的组件。这也是目前前端最流行的开发方 式。下面是Vue3官方给出的一张图,通过图片能清楚的了解到什么是Vue中的组件。 图的左边是一个网页,网页分为了…

初识Vue-组件化开发(应用实例)

目录 一、任务管理应用 1.介绍 2.代码 1. 任务列表组件 (TaskList.vue) 2. 添加任务组件 (AddTask.vue) 3. 应用入口组件 (App.vue) 4. 主入口文件 (main.js) 3.效果 4.总结 二、购物车 1.介绍 2.代码 1. 商品列表组件 (ProductList.vue) 2. 购物车组件 (Cart.vue…

医疗大模型华佗GPT-2:医学问答超越GPT-4,通过2023年国家执业药师考试

前言 随着人工智能技术的快速发展,特别是在自然语言处理(NLP)领域,大型预训练模型如GPT系列已经显示出在多个领域的强大应用潜力。最近,华佗GPT-2医疗大模型的发布,不仅标志着人工智能在医学领域的一大进步,更是在202…

国产服务器操作系统部署NTP服务 _ 统信UOS _ 麒麟 _ 中科方德

原文链接:国产服务器操作系统部署NTP服务 | 统信UOS | 麒麟 | 中科方德 Hello,大家好啊!在保持服务器时间的精确同步方面,时间同步服务器(NTP服务器)扮演着至关重要的角色,它能确保系统操作的时…

小程序商城|基于Spring Boot的智能小程序商城的设计与实现(源码+数据库+文档)

小程序商城目录 目录 基于Spring Boot的智能小程序商城 一、前言 二、系统设计 三、系统功能设计 1用户信息管理 2 商品信息管理 3公告信息管理 4论坛信息管理 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: …

LeetCode 面试题 17.14 —— 最小 k 个数

阅读目录 1. 题目2. 解题思路一3. 代码实现一4. 解题思路二5. 代码实现二 1. 题目 2. 解题思路一 第一种方法就是利用快速排序,第一次排序后,数组被划分为了左右两个区间 [ 0 , i ] , [ i 1 , a r r . s i z e ( ) − 1 ] [0, i], [i1, arr.size()-1]…

Windows下载MingGW

因为要配置vscode的c/c环境,需要下载一个编译器,gcc官方推荐开源的MingGW-W64,看了几个下载方法,决定用最简单的离线安装。 niXman/mingw-builds-binaries/releases 32位的操作系统:i686,64位的操作系统&a…

画渐变色的圆弧练习

import sysfrom PySide6.QtCore import QPointF from PySide6.QtWidgets import * from PySide6.QtGui import *class MyWidget(QWidget):def paintEvent(self, event):painter QPainter(self) # 设定画板painter.setRenderHint(QPainter.Antialiasing) # 抗锯齿size min(s…

Rust Turbofish 的由来

0x01 什么是 Turbofish 我们运行如下 Rust Snippet&#xff1a; fn main() {let numbers: Vec<i32> vec![1, 2, 3, 4, 5, 6, 7, 8, 9, 10];let even_numbers numbers.into_iter().filter(|n| n % 2 0).collect();println!("{:?}", even_numbers); }不出意…

在线听歌播放器 梨花带雨网页音乐播放器 网页音乐在线听 源码

最新梨花带雨网页音乐播放器二开优化修复美化版全开源版本源码下载 下 载 地 址 &#xff1a; runruncode.com/php/19749.html 梨花带雨播放器基于thinkphp6开发的XPlayerHTML5网页播放器前台控制面板,支持多音乐平台音乐解析。二开内容&#xff1a;修复播放器接口问题&am…

Java零基础入门到精通_Day 11

1.继承 定义&#xff1a; 继承是面向对象三大特征之一。可以使得子类具有父类的属性和方法&#xff0c;还可以在子类中重新定义&#xff0c;追加属性和方法 格式&#xff1a; public class 子类 extends 父类{} 子类&#xff1a;也叫派生类 父类&#xff1a;基类/超类 继…

【c++】反向迭代器的探究实现

&#x1f525;个人主页&#xff1a;Quitecoder &#x1f525;专栏&#xff1a;c笔记仓 在list中我们实现了正向的迭代器&#xff0c;学习完优先级队列后&#xff0c;我们也对适配器模式有了一个深刻的理解&#xff0c;这篇文章基于这种模式下&#xff0c;实现各类容器的反向迭…

【论文阅读笔记】TS2Vec: Towards Universal Representation of Time Series

【论文阅读笔记】TS2Vec: Towards Universal Representation of Time Series 摘要 这段文字介绍了一个名为TS2Vec的通用框架&#xff0c;用于学习时间序列数据的表示&#xff0c;可以在任意语义层次上进行。与现有方法不同&#xff0c;TS2Vec通过对增强的上下文视图进行层次化…

【论文阅读:Towards Efficient Data Valuation Based on the Shapley Value】

基于Shapley值的高校数据价值评估 主要贡献 提出了一系列用于近似计算Shapley值的高效算法。设计了一个算法&#xff0c;通过实现不同模型评估之间的适当信息共享来实现这一目标,该算法具有可证明的误差保证来近似N个数据点的SV&#xff0c;其模型评估数量为 O ( N l o g ( N…

Typora配置PicGo图床,将图片文件上传到gitee厂库,获取图片链接显示在md文件中

Typora配置PicGo图床&#xff0c;将图片文件上传到gitee厂库&#xff0c;获取图片链接显示在md文件中 创建Gitee创库和配置私人令牌 名字、路径、描述自己随便添&#xff0c;但是必须开源&#xff0c;链接才能可以访问&#xff1a; 进入偏好设置 > 图像 > 选择PicGo-Cor…

CAS 与 volatile

目录 CAS volatile 为什么无锁效率高 CAS 的特点 CAS AtomicInteger 内部并没有用锁来保护共享变量的线程安全。那么它是如何实现的呢&#xff1f; public void withdraw(Integer amount) {while(true) {// 需要不断尝试&#xff0c;直到成功为止while (true) {// 比如拿到…
最新文章