Python根据公募基金在一定时期内持有的股票数据进行社会网络分析

【背景】根据提供的公募基金在一定时期内持有的股票数据,构建一个社会网络分析框架,度量每个基金在每年的度中心度、介数中心度和特征向量中心度,并对相关数据做出简要说明。

【代码】

import networkx as nx
import pandas as pd
import numpy as np
# 读取数据
df = pd.read_excel("基金持股修正.xlsx")
df.head()
基金代码年份唯一股票代码
012019南极电商
112019中国平安
212019洲明科技
312019保利地产
412019东山精密
# 构建网络
G = nx.Graph()
df["年份"] = df["年份"].astype(int)

# 2. 根据基金代码和年份分组并创建图
fund_graphs = {}
for fund_code, fund_df in df.groupby(["基金代码", "年份"]):
    graph = nx.Graph()
    graph.add_nodes_from(fund_df["唯一股票代码"])
    fund_graphs[(fund_code, int(fund_df["年份"].iloc[0]))] = graph

# 3. 计算中心度指标
fund_scores = []
for fund_code, fund_graph in fund_graphs.items():
    degree_centrality = nx.degree_centrality(fund_graph)
    closeness_centrality = nx.closeness_centrality(fund_graph)
    eigenvector_centrality = nx.eigenvector_centrality(fund_graph)

    for stock, score in degree_centrality.items():
        fund_scores.append({
            "基金代码": fund_code[0],
            "年份": fund_code[1],
            "股票代码": stock,
            "中心度指标": "度中心度",
            "分数": score
        })

    for stock, score in closeness_centrality.items():
        fund_scores.append({
            "基金代码": fund_code[0],
            "年份": fund_code[1],
            "股票代码": stock,
            "中心度指标": "介数中心度",
            "分数": score
        })

    for stock, score in eigenvector_centrality.items():
        fund_scores.append({
            "基金代码": fund_code[0],
            "年份": fund_code[1],
            "股票代码": stock,
            "中心度指标": "特征向量中心度",
            "分数": score
        })

fund_score_df = pd.DataFrame(fund_scores)

# 4. 输出表格
fund_score_df.to_excel("fund_stock_centrality.xlsx", index=False)

  • - 度中心度:度中心度衡量一个节点的邻接节点数量。在一个基金持股网络中,度中心度较高的股票表示它与其他股票有更多的连接,表明它在该基金的投资组合中具有更高的重要性。
  • - 介数中心度:介数中心度衡量一个节点在网络中的整体重要性。它考虑了节点在最短路径中的频率。在一个基金持股网络中,介数中心度较高的股票表示它在基金持股网络中连接不同股票的桥梁作用更强。
  • - 特征向量中心度:特征向量中心度考虑了节点的邻接节点的重要性和连接性。在一个基金持股网络中,特征向量中心度较高的股票表示它与其他重要股票的连接更多,表明它在该基金的投资组合中具有更高的影响力。

Python根据公募基金在一定时期内持有的股票数据进行社会网络分析

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

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

相关文章

Rust 语言 GUI 用户界面框架汇总(持续更新)

拜登:“一切非 Rust 项目均为非法”😎 什么是 GUI 图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。 现在的应用开发,是既要功…

机器人路径规划:基于Q-learning算法的移动机器人路径规划,可以自定义地图,修改起始点,提供MATLAB代码

一、Q-learning算法 Q-learning算法是强化学习算法中的一种,该算法主要包含:Agent、状态、动作、环境、回报和惩罚。Q-learning算法通过机器人与环境不断地交换信息,来实现自我学习。Q-learning算法中的Q表是机器人与环境交互后的结果&#…

设计模式系列:适配器模式

简介 适配器模式(Adapter Pattern)又称为变压器模式,它是一种结构型设计模式。适配器模式的目的是将一个类的接口转换成客户端所期望的另一种接口,从而使原本因接口不匹配而不能一起工作的两个类能够一起工作。 适配器模式有两种…

润开鸿与蚂蚁数科达成战略合作,发布基于鸿蒙的mPaaS移动应用开发产品

4月18日,江苏润和软件股份有限公司(以下简称“润和软件”) 旗下专注鸿蒙方向的专业技术公司及终端操作系统发行版厂商江苏润开鸿数字科技有限公司(以下简称“润开鸿”)与蚂蚁数科举行战略合作签约仪式,并发…

腾讯后端一面:当 TCP 建立连接之后,TCP 和 UDP 的实时性是不是就差不多了?

更多大厂面试内容可见 -> http://11come.cn 腾讯后端一面:当 TCP 建立连接之后,TCP 和 UDP 的实时性是不是就差不多了? 项目相关 面试官可能是 Go 方向的,我面试的是 Java 方向的,所以面试官也没有问我简历上的项…

Uniswap丨justswap丨pancakeswap去中心化薄饼交易所系统开发

开发去中心化薄饼交易所系统(如Uniswap、JustSwap、PancakeSwap)是一个复杂而有挑战性的任务,需要综合考虑技术、安全、用户体验和合规等方面。以下是开发这样一个系统时需要考虑的关键方面: 1. 技术架构 智能合约开发&#xff1…

【智能算法】鸡群优化算法(CSO)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献 1.背景 2014年,X Meng等人受到鸡群社会行为启发,提出了鸡群优化算法(Chicken Swarm Optimization, CSO)。 2.算法原理 2.1算法思想 CSO算法的思想是基于对…

RIP小实验配置及缺省路由下发

配置如下: IP配置: IP配置完先查看RIP协议学习到的路由表,没有内容则代表没有开启RIP 启用RIP:这里的rip后跟的ID只具有本地意义,可以在1-65535之间随便取,不同路由器之间都可以取用不同的,为了…

PHP 基础

初识PHP 了解PHP 语言 PHP 语言标记 <h1>My Name is 123!</h1> <script>console.log("This message is from info.php!") </script> <?php // PHP 的开始标记&#xff0c;表示从此标记开始&#xff0c;进入PHP 模式。phpin…

SpringBoot 项目Docker部署三种方式

一种&#xff1a;直接拷贝jar到服务器部署 1.增加docker配置文件 新建Dockerfile文件&#xff0c;负责Docker的配置 FROM openjdk:21#ENV timezone RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \&& echo Asia/Shanghai >/etc/timezone# WORKD…

TCP和UDP协议的区别

1、定义 TCP协议的全称是Transmission Control Protocol&#xff08;传输控制协议&#xff09;&#xff0c;是一种面向连接的点对点的传输层协议。 UDP协议的全称是User Datagram Protocal&#xff08;用户数据报协议&#xff09;&#xff0c;为应用程序提供一种无需建立连接…

OpenHarmony音频和音乐编码格式—vorbis

简介 一种通用音频和音乐编码格式。 Vorbis编解码器规范属于公共领域。所有技术细节都已发布并记录&#xff0c;任何软件实体都可以充分利用该格式&#xff0c;而无需支付许可费、版税或专利问题。 下载安装 直接在OpenHarmony-SIG仓中搜索vorbis并下载。 使用说明 以OpenHa…

Qt6之QScopedPointer——智能指针

手动管理堆分配的对象困难且容易出错&#xff0c;当指针场景复杂时&#xff0c;手动delete难免出错&#xff0c;常见的结果是代码泄漏内存并且难以维护。是时候使用现代和安全的一些方法了&#xff0c;那就是使用智能指针&#xff0c;比如 QScopedPointer 或 std::unique_ptr&a…

idea新建一个springboot项目

本文分为几个部分&#xff0c; 首先是在idea中新建项目&#xff0c; 然后是配置 项目的目录&#xff08;新建controller、service、dao等&#xff09;&#xff0c; 然后是自定义的一些工具类&#xff08;比如启动后打印地址等&#xff09;。 1.、创建篇 新建项目&#xff0…

分享|视频号带货如何运营才能实现盈利?

在当今数字化时代&#xff0c;视频号带货已经不仅仅是一种商业手段&#xff0c;更是一种生活方式和社交体验。运营视频号带货并实现盈利&#xff0c;需要我们从多个角度进行深入思考和创新实践。 首先&#xff0c;从用户体验的角度出发 我们需要关注观众的观看体验和购物体验。…

游戏登录界面制作

登录界面制作 1.导入模块和初始化窗口 import subprocessimport tkinter as tkimport picklefrom tkinter import messageboxwindow tk.Tk()window.title(Welcome)window.geometry(450x300) 导入必要的模块&#xff0c;并初始化了主窗口window&#xff0c;设置了窗口的标题和…

STM32完成软件I2C通讯

今天的重点是利用STM32的软件方案和MPU60506轴姿态传感器建立通讯&#xff0c;今天只完成了简单的发送地址和接收应答的部分&#xff0c;特此记录一下过程&#xff0c;以后忘记可以随时翻出来看看。 先介绍最基本的I2C通讯的最基本的6个时序&#xff1a; 一&#xff1a;起始条…

【Yolov系列】Yolov5学习(一)补充2:自适应锚框计算详解+代码注释

一、自适应锚框计算详解 自适应锚框计算的具体过程&#xff1a; ①获取数据集中所有目标的宽和高。 ②将每张图片中按照等比例缩放的方式到 resize 指定大小&#xff0c;这里保证宽高中的最大值符合指定大小。 ③将 bboxes 从相对坐标改成绝对坐标&#xff0c;这里…

预印本仓库ArXiv——防止论文录用前被别人剽窃

文章目录 一、什么是预印本二、什么是ArXiv2.1 ArXiv的领域2.2 如何使用 一、什么是预印本 预印本&#xff08;Preprint&#xff09;是指科研工作者的研究成果还未在正式出版物上发表&#xff0c;而出于和同行交流目的自愿先在学术会议上或通过互联网发布的科研论文、科技报告…

SQL Server 2022 安装及使用

SQL Server 2022 前言一、安装SQL Server 2022下载SQL Server 2022安装SQL Server 2022配置SQL Server 2022 二、安装SQL Server Management Studio下载SQL Server Management Studio安装SSMS-Setup-CHS 三、使用SQL Server 2022四、解决连接到服务器报错问题 前言 SQL Serve…