基于Python的投资组合收益率与波动率的数据分析
基于Python的投资组合收益率与波动率的数据分析
摘要:該文通过研究马科维茨的投资组合模型,并将投资组合模型应用到包含6只金融股票的金融行业基金中。首先通过开源的财经接口Tushare获取股票原始数据,接着利用数据分析的黄金组合库:Pandas,Numpy,Matplotlib来进行股票数据的预处理、计算分析、数据可视化处理,最后通过分析得出对投资有价值的结论。它可以广泛应用于其他任何基金投资组合的分析,对做好投资前股票分析具有一定的参考价值。
关键词:数据分析;Python;投资组合模型;收益率;波动率
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2021)32-0029-03
Data Analysis of Portfolio Returns and Volatility Based on Python Technology
CHEN Li-hua, ZENG De-sheng
(Information Engeering Institute, Guangdong Innovative Technical College, Dongguan 523960, China)
Abstract: In this paper, we study Markowitz's portfolio model and apply the portfolio model to a financial sector fund containing six financial stocks. Firstly, we obtain the raw stock data through the open source financial interface Tushare, then we use the golden combination libraries for data analysis: Pandas, Numpy, Matplotlib for stock data pre-processing, computational analysis, data visualization processing, and finally, we draw valuable conclusions for investment through analysis. It can be widely used in the analysis of any other fund portfolios, and has a certain reference value for pre-investment stock analysis.
Key words: data analysis; Python; portfolio selection model; rate of return; volatility
1 背景
近年来随着我国居民收入不断增长,投资意识和投资热情不断增强。股票、基金是普通居民参与投资的最常见方式,比起买一只股票,更多人倾向于投资基金,通过购买公司的基金,让自己的资金分散投资到更多的股票上,既能降低投资风险,也能获得较为可观的收益。如何在风险可控下获得更高的收益,就需要对资产做配置,也就是投资组合问题。近年来,在金融领域,量化投资技术越来越受到金融企业青睐,特别是随着大数据分析技术、人工智能技术不断发展,很多金融投资企业变为技术驱动性金融公司[1-3]。本文主要集中在股票投资组合的研究,以金融股为例,通过分析组合各个股票的历史数据来构建最优的股票投资组合,采用开源的财经接口Tushare来获取股票数据,利用Python数据分析的黄金组合库:Pandas,Numpy,Matplotlib来进行数据的预处理、计算分析、可视化处理。最终得出有价值的数据分析结论。
2 投资组合理论基础
投资组合理论是亨利·马科维茨(Harry Markowitz)在1952年提出,目前在投资组合的研究与实践中仍然被广泛采用[4]。本文就是基于马科维茨模型对股票进行分散投资,利用历史数据计算机出最佳投资组合策略,可以使投资过程中有效避免投机行为带来的非系统风险,获得比较稳定收益。在马科维茨的投资组合模型中,有两个非常重要的变量用来评估一个投资组织,分别是投资组合的预期收益率和收益率的波动率。假设投资组合由N个股票组成,wi代表投资组合中第i只股票投资金额占投资组合总投资金额的比例,E(Ri)代表投资组合中第i只股票的预期收益率,这里采用该股票历史数据中的收益率的均值代替,根据模型可以得到投资组合的预期收益率E(RP)公式如(1)所示。
[ERP=i=1NwiERi] (1)
假设[σi]表示第i只股票的收益波动率,Cov(Ri,Rj)表示第i只股票收益率与第j只股票收益率之间的协方差,那么投资组合收益波动率[σP]的公式如(2)所示。
[σP=i=1Nj=1NwiwjCov(Ri,Rj)] (2)
3 投资组合数据分析
投资组合数据分析过程大概分为5个步骤:1)从财经接口获取股票历史数据;2)对初始数据进行预处理,将处理好的数据存入文件;3)通过数据可视化观察股票数据的基本走势;4)计算股票年化平均收益率、年化收益波动率、股票收益率之间协方差、收益率相关系数等;5)构建3000组投资组合,结合马科维茨模型,计算并观察最优组合的年收益率、波动率。
3.1 获取股票历史数据
本文采用开源免费的财经数据接口Tushare来获取股票历史交易数据,Tushare提供了从数据采集、数据清洗加工到数据存储的功能[5]。本文主要分析某个金融股票型基金,它包含6只金融股票:招商银行(600036)、中国平安(601318)、工商银行(601398)、中国太保(601601)、中国人寿(601628)中国光大(601788)。首先通过pip install tushare安装所需要的Tushare第三方财经数据库。接下来通过tushare接口获取交易原始数据,本文通过获取近五年的交易数据来进行数据分析。第二个步骤包含三个小步骤:1)到官网注册账号,并获取对应的密钥,并初始化接口;2)定义列表,存储需要分析的股票代号,股票代号可以在官网查询;3)遍历每只股票,通过api接口的daily获取股票的当天详细数据,输入参数:股票代码、开始时间、结束时间;输出参数:股票代号、交易日期、开盘价、最低价、最高价、收盘价等等,本项目我们只保存股票代号,交易日期,收盘价。共获取6个股票从2016年6月1日至2021年7月23日期间的交易数据,共计7518条交易数据。核心代码如下:
# 1.设置Token
ts.set_token('填写获取到的个人密钥')
# 初始化接口
ts_api = ts.pro_api()
#2.定义列表,存储你需要分析的股票代号
ts_codes = ['600036.SH','601318.SH','601398.SH','601601.SH','601628.SH','601788.SH']
#3.遍历每只股票、读取相应数据并进行保存。
for ts_code in ts_codes:
data = ts_api.daily(ts_code=ts_code, start_date='20160601', end_date='20210725')if(ts_code=="600036.SH"):
data[['ts_code','trade_date','close']].to_csv('zuhe.csv',mode='a')
else:
data[['ts_code','trade_date','close']].to_csv('zuhe.csv',mode='a',header=False)
最终执行后保存在zuhe.csv文件的数据如图1(截取其中10行数据)所示。
3.2 股票数据预处理
上一个步骤获取到的股票原始数据不利我们进行数据分析,所以需要对数据进行预处理,数据预处理主要采用Pandas库来进行处理[6],它分为四个步骤:1)利用df.drop(df.columns[0], axis=1, inplace=True)把上图中表格数据中的第一列删除;2)使用代码:two_level_index_series = df.set_index(["trade_date", "ts_code "])["close"]將交易日期trade_date、股票代号ts_code设定位复合索引;3)应用unstack()函数进行“行转列”操作,new_df = two_level_index_series.unstack();4)最后将处理好的数据存入新的文件,new_df.to_csv("new_zuhe.csv")。经过数据预处理后,数据整合成1253条数据,每条数据包含日期,跟6只股票当天收盘价。最终数据如图2所示。
3.3 股票走势数据可视化
利用Python数据可视化库matplotlib来绘制2016年6月-2021年7月期间,本文所选6只股票的基本走势图[6],首先将股价按照20160601交易日进行归1处理,然后利用matplotlib库的plot()函数读取上面预处理好的数据,并进行可视化展示,可以观察到每只股票五年内的基本走势,核心代码如下。
import matplotlib.pyplot as plt
stock_price=pd.read_csv('new_zuhe.csv',parse_dates = ['trade_date'], index_col = ['trade_date']).iloc[:,:]
(stock_price/stock_price.iloc[0]).plot(figsize=(9,6),grid=True)
最终实现的效果图如图3所示:
3.4 获得投资组合的年化平均收益率和年化收益波动率
利用Numpy数值计算库来计算股票的各种参数,它提供了大量数学函数库,比如log()、mean()、std()、sqrt()、cov()、corr()等函数,使用方便快捷[6]。下面我们利用函数库计算出股票日收益率、股票年化平均收益率、股票年化收益波动率、股票收益率之间协方差、收益率相关系数。核心代码如下:
#计算股票的日收益率
stock_return=np.log(stock_price/stock_price.shift(1))
#股票平均年化收益率
return_mean=stock_return.mean()*252
#股票年化收益波动率
return_volatility=stock_return.std()*np.sqrt(252)
#计算每只股票收益率之间的协方差
return_cov=stock_return.cov()*252
3.1 获取股票历史数据
本文采用开源免费的财经数据接口Tushare来获取股票历史交易数据,Tushare提供了从数据采集、数据清洗加工到数据存储的功能[5]。本文主要分析某个金融股票型基金,它包含6只金融股票:招商银行(600036)、中国平安(601318)、工商银行(601398)、中国太保(601601)、中国人寿(601628)中国光大(601788)。首先通过pip install tushare安装所需要的Tushare第三方财经数据库。接下来通过tushare接口获取交易原始数据,本文通过获取近五年的交易数据来进行数据分析。第二个步骤包含三个小步骤:1)到官网注册账号,并获取对应的密钥,并初始化接口;2)定义列表,存储需要分析的股票代号,股票代号可以在官网查询;3)遍历每只股票,通过api接口的daily获取股票的当天详细数据,输入参数:股票代码、开始时间、结束时间;输出参数:股票代号、交易日期、开盘价、最低价、最高价、收盘价等等,本项目我们只保存股票代号,交易日期,收盘价。共获取6个股票从2016年6月1日至2021年7月23日期间的交易数据,共计7518条交易数据。核心代码如下:
# 1.设置Token
ts.set_token('填写获取到的个人密钥')
# 初始化接口
ts_api = ts.pro_api()
#2.定义列表,存储你需要分析的股票代号
ts_codes = ['600036.SH','601318.SH','601398.SH','601601.SH','601628.SH','601788.SH']
#3.遍历每只股票、读取相应数据并进行保存。
for ts_code in ts_codes:
data = ts_api.daily(ts_code=ts_code, start_date='20160601', end_date='20210725')if(ts_code=="600036.SH"):
data[['ts_code','trade_date','close']].to_csv('zuhe.csv',mode='a')
else:
data[['ts_code','trade_date','close']].to_csv('zuhe.csv',mode='a',header=False)
最終执行后保存在zuhe.csv文件的数据如图1(截取其中10行数据)所示。
3.2 股票数据预处理
上一个步骤获取到的股票原始数据不利我们进行数据分析,所以需要对数据进行预处理,数据预处理主要采用Pandas库来进行处理[6],它分为四个步骤:1)利用df.drop(df.columns[0], axis=1, inplace=True)把上图中表格数据中的第一列删除;2)使用代码:two_level_index_series = df.set_index(["trade_date", "ts_code "])["close"]将交易日期trade_date、股票代号ts_code设定位复合索引;3)应用unstack()函数进行“行转列”操作,new_df = two_level_index_series.unstack();4)最后将处理好的数据存入新的文件,new_df.to_csv("new_zuhe.csv")。经过数据预处理后,数据整合成1253条数据,每条数据包含日期,跟6只股票当天收盘价。最终数据如图2所示。
3.3 股票走势数据可视化
利用Python数据可视化库matplotlib来绘制2016年6月-2021年7月期间,本文所选6只股票的基本走势图[6],首先将股价按照20160601交易日进行归1处理,然后利用matplotlib库的plot()函数读取上面预处理好的数据,并进行可视化展示,可以观察到每只股票五年内的基本走势,核心代码如下。
import matplotlib.pyplot as plt
stock_price=pd.read_csv('new_zuhe.csv',parse_dates = ['trade_date'], index_col = ['trade_date']).iloc[:,:]
(stock_price/stock_price.iloc[0]).plot(figsize=(9,6),grid=True)
最终实现的效果图如图3所示:
3.4 获得投资组合的年化平均收益率和年化收益波动率
利用Numpy数值计算库来计算股票的各种参数,它提供了大量数学函数库,比如log()、mean()、std()、sqrt()、cov()、corr()等函数,使用方便快捷[6]。下面我们利用函数库计算出股票日收益率、股票年化平均收益率、股票年化收益波动率、股票收益率之间协方差、收益率相关系数。核心代码如下:
#计算股票的日收益率
stock_return=np.log(stock_price/stock_price.shift(1))
#股票平均年化收益率
return_mean=stock_return.mean()*252
#股票年化收益波动率
return_volatility=stock_return.std()*np.sqrt(252)
#计算每只股票收益率之间的协方差
return_cov=stock_return.cov()*252
相关文章:
基于Python的投资组合收益率与波动率的数据分析
基于Python的投资组合收益率与波动率的数据分析 摘要:該文通过研究马科维茨的投资组合模型,并将投资组合模型应用到包含6只金融股票的金融行业基金中。首先通过开源的财经接口Tushare获取股票原始数据,接着利用数据分析的黄金组合库…...
《Opencv》图像的旋转
一、使用numpy库实现 np.rot90(img,-1) 后面的参数为-1时事顺时针旋转,为1时是逆时针旋转。 import cv2 import numpy as np img cv2.imread(./images/kele.png) """方法一""" # 顺时针90度 rot_1 np.rot90(img,-1) # 逆时针90度…...
Python 22:注释
1. 定义: 用熟悉的语言对代码进行解释说明。注释不会被执行。 2. 注释分类 单行注释:只能对一行代码进行注释。放在要注释的代码后面,用#进行分隔,中间至少空2个空格,保证代码规范。 print("hello world10"…...
python:利用神经网络技术确定大量离散点中纵坐标可信度的最高集中区间
当我们有许多离散点并想要确定纵坐标在某个区间内的可信度时,我们可以使用神经网络模型来解决这个问题。下面是一个使用Python编写的示例代码,展示了如何使用神经网络来确定大量离散点中纵坐标可信度的最高集中区间。 import numpy as np from sklearn.…...
计算机软件保护条例
(2001年12月20日中华人民共和国国务院令第339号公布 根据2011年1月8日《国务院关于废止和修改部分行政法规的决定》第一次修订 根据2013年1月30日《国务院关于修改〈计算机软件保护条例〉的决定》第二次修订) 第一章 总则 第一条 为了保护计算机软件著作权人的权益&#…...
CM3/4启动流程
CM3/4启动流程 1. 启动模式2. 启动流程 1. 启动模式 复位方式有三种:上电复位,硬件复位和软件复位。 当产生复位,并且离开复位状态后,CM3/4 内核做的第一件事就是读取下列两个 32 位整数的值: 从地址 0x0000 0000 处取…...
gaussdb中怎么查询一个表有多少GB
在 GaussDB 中,你可以通过多种方法查询一个表的大小,包括使用系统视图和内置函数。以下是几种常见的方法: 1. 使用 pg_total_relation_size 函数 pg_total_relation_size 函数返回一个表及其所有索引和 TOAST 数据的总大小。 示例查询 SE…...
2025-01-06 Unity 使用 Tip2 —— Windows、Android、WebGL 打包记录
文章目录 1 Windows2 Android2.1 横版 / 竖版游戏2.2 API 最低版本2.3 目标帧率2.3.1 targetFrameRate2.3.2 vSyncCount2.3.3 Unity 默认设置以及推荐设置2.3.4 Unity 帧率托管 3 WebGL3.1 平台限制3.2 打包报错记录 13.3 打包报错记录 2 最近尝试将写的小游戏打包ÿ…...
OP-TEE环境飞腾密码引擎编程指南
【写在前面】 飞腾开发者平台是基于飞腾自身强大的技术基础和开放能力,聚合行业内优秀资源而打造的。该平台覆盖了操作系统、算法、数据库、安全、平台工具、虚拟化、存储、网络、固件等多个前沿技术领域,包含了应用使能套件、软件仓库、软件支持、软件适…...
解密Navicat密码(Java)
最近从Navicat换到了DBeaver,导出配置文件发现配置文件里的密码都是加密的,看网上的都是给的PHP代码,因为环境问题,就算是在线上运行的PHP代码也会报错,所以就把这段代码改成Java了。 package com.unicdata.system.con…...
apex安装
安装过程复杂曲折,网上说的很多办法,貌似成功了,实际还是没起作用。 先说成功过程,执行下面命令,安装成功(当然,前提是你要先配置好编译环境): (我的环境&a…...
常见的开源网络操作系统
常见的开源网络操作系统有很多,它们通常用于路由器、交换机、网络设备和服务器等场景,具有灵活、可定制、易于扩展的特点。以下是一些常见的开源网络操作系统: OpenWRT 用途:主要用于路由器、无线接入点和网络设备。提供了广泛的定制选项和高级功能,如防火墙配置、VPN 支持…...
2024年6月英语六级CET6听力原文与解析
目录 0 序言 1.Long Conversation(长对话) 1.1 Blender 搅拌机 1.2 村庄的改造变化 2.Passage 2.1 micro robots 微型机器人 2.2 elite sleeper 睡眠精英 3.Lecture 3.1 对自身观念变化的低察觉度及相关研究发现 3.2 美国母亲群体数量变化及母亲节消费趋势分析 3.3 …...
力扣2-回文数
一.题目 给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 例如,121 是回文&…...
基于springboot的网上商城购物系统
作者:学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等 文末获取“源码数据库万字文档PPT”,支持远程部署调试、运行安装。 目录 项目包含: 开发说明: 系统功能: 项目截图…...
业务日志设计
当一个项目足够大的时候,我们需要将统计系统完全独立出去,那么就无法避免数据采集的问题,我们可以在业务触发处增加log日志来记录当前变化的原始数据,提供统计系统进行采集 设计一个统计系统的日志记录机制时,主要需要…...
梯度下降方法
2.5 梯度下降方法介绍 学习目标 掌握梯度下降法的推导过程知道全梯度下降算法的原理知道随机梯度下降算法的原理知道随机平均梯度下降算法的原理知道小批量梯度下降算法的原理 上一节中给大家介绍了最基本的梯度下降法实现流程,本节我们将进一步介绍梯度下降法的详细…...
javascript
引入方式 JavaScript 程序不能独立运行,它需要被嵌入 HTML 中,然后浏览器才能执行 JavaScript 代码。通过 script 标签将 JavaScript 代码引入到 HTML 中,有两种方式: 内部方式 通过 script 标签包裹 JavaScript 代码 <!DO…...
大语言模型训练所需的最低显存,联邦大语言模型训练的传输优化技术
联邦大语言模型训练的传输优化技术 目录 联邦大语言模型训练的传输优化技术大语言模型训练所需的最低显存大语言模型训练所需的最低显存 基于模型微调、压缩和分布式并行处理的方法,介绍了相关开源模型及技术应用 核心创新点 多维度优化策略:综合运用基于模型微调、模型压缩和…...
二叉树的二叉链表和三叉链表
在二叉树的数据结构中,通常有两种链表存储方式:二叉链表和三叉链表。这里,我们先澄清一下概念,通常我们讨论的是二叉链表,它用于存储二叉树的节点。而“三叉链表”这个术语在二叉树的上下文中不常见,可能是…...
api开发如何在代码中使用京东商品详情接口的参数?
选择编程语言和相关工具 以 Python 为例,你可以使用requests库来发送 HTTP 请求获取接口数据。如果是 Java,可以使用OkHttp等库。 Python 示例 假设你已经安装了requests库,以下是一个简单的代码示例来获取和使用京东商品详情接口参数&#…...
Quartz如何实现分布式调度
系列文章目录 任务调度管理——Quartz入门 Quartz如何实现分布式控制 系列文章目录一、持久化二、分布式调度1. 表信息2. 调度器的竞争3. 触发器的分配 三、 总结 我们都说Quartz是个分布式调度框架,那么在分布式环境上,如何使得各个服务器上的定时任务…...
JUC--线程池
线程池 七、线程池7.1线程池的概述7.2线程池的构建与参数ThreadPoolExecutor 的构造方法核心参数线程池的工作原理 Executors构造方法newFixedThreadPoolnewCachedThreadPoolnewSingleThreadExecutornewScheduledThreadPool(int corePoolSize) 为什么不推荐使用内置线程池&…...
以柔资讯-D-Security终端文件保护系统 logFileName 任意文件读取漏洞复现
0x01 产品简介 D-Security终端文件保护系统是一套专注于企业文件管理效率与安全的解决方案,统对文件进行全文加密,而非仅在文件表头或特定部分进行加密,从而大大提高了文件的安全性,降低了被破解的风险。D-Security终端文件保护系统是被政府和国安局等情报单位唯一认定的安…...
【JavaScript】Set,Map,Weakmap
以下来源:九剑科技。 weakmap WeakMap是 ES6 中新增的一种集合类型,叫做“弱映射”,由于他的键引用的对象是弱引用,键所指向的对象可以被垃圾回收,可以防止内存泄露。 map ①Map是键值对的集合,键值不限…...
idea小操作
idea 所边定位到你目前阅读的代码 AltF1 或者 选择定位图标...
[tesseract]Deserialize header failed: FIRC.lstmf
tesseract5.0训练时候会提示 [INFO]cd /d D:\program\tesseract-ocr-lstm-train\data [INFO]D:\program\tesseract-ocr-lstm-train\Tesseract-OCR\tesseract.exe xiangjiao.tif xiangjiao -l eng --psm 7 lstm.train [INFO]Page 1 [INFO]Page 2 [INFO]Deserialize header fail…...
深度学习知识点:RNN
文章目录 1.简单介绍2.网络结构3.应对梯度消失 1.简单介绍 循环神经网络(RNN,Recurrent Neural Network)是一类用于处理序列数据的神经网络。与传统网络相比,变化不是特别大,不如CNN的变化那么大。 为什么要有循环神经…...
【数据可视化-11】全国大学数据可视化分析
🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…...
CSS:背景样式、盒子模型与文本样式
背景样式 背景样式用于设置网页元素的背景,包括颜色、图片等。 背景颜色 使用 background-color 属性设置背景颜色,支持多种格式(颜色英文、十六进制、RGB等)。 div {background-color: lightblue; }格式示例十六进制#ff5733R…...
学英语学压测:02jmeter组件-测试计划和线程组ramp-up参数的作用
📢📢📢:先看关键单词,再看英文,最后看中文总结,再回头看一遍英文原文,效果更佳!! 关键词 Functional Testing功能测试[ˈfʌŋkʃənəl ˈtɛstɪŋ]Sample样…...
环动科技平均售价波动下滑:大客户依赖明显,应收账款周转率骤降
《港湾商业观察》施子夫 2024年12月18日,浙江环动机器人关节科技股份有限公司(以下简称,环动科技)的上市审核状态变更为“已问询”,公司在11月25日科创板IPO获上交所受理,独家保荐机构为广发证券。 此次环…...
数据结构:LinkedList与链表—无头双向链表(二)
目录 一、什么是LinkedList? 二、LinkedList的模拟实现 1、display()方法 2、addFirst(int data)方法 3、addLast(int data)方法 4、addIndex(int index,int data)方法 5、contains(int key)方法 6、remove(int key)方法 7、removeAllKey(int key)方法 8、…...
『SQLite』解释执行(Explain)
摘要:本节主要讲解SQL的解释执行:Explain。 在 sqlite 语句之前,可以使用 “EXPLAIN” 关键字或 “EXPLAIN QUERY PLAN” 短语,用于描述表查询的细节。 基本语法 EXPLAIN 语法: EXPLAIN [SQLite Query]EXPLAIN QUER…...
计算机网络之---物理层的基本概念
物理层简介 物理层(Physical Layer) 是 OSI(开放系统互联)模型 中的第 1 层,它主要负责数据在物理媒介上的传输,确保原始比特(0 和 1)的传输不受干扰地从一个设备传送到另一个设备。…...
Elasticsearch:优化的标量量化 - 更好的二进制量化
作者:来自 Elastic Benjamin Trent 在这里,我们解释了 Elasticsearch 中的优化标量量化以及如何使用它来改进更好的二进制量化 (Better Binary Quantization - BBQ)。 我们的全新改进版二进制量化 (Better Binary Quantization - BBQ) 索引现在变得更强大…...
KBQA前沿技术
文章目录 KBQA面临的挑战基于模板的方法基于语义解析的方法基于深度学习的传统问答基于深度学习的端到端问答模型KBQA面临的挑战 目前还存在两个很大的困难阻碍着KBQA系统被广泛应用。一个困难是现有的自然语言理解技术在处理自然语言的歧义性和复杂性方面还显得比较薄弱。例如…...
patchwork++地面分割学习笔记
参考资料:古月居 - ROS机器人知识分享社区 https://zhuanlan.zhihu.com/p/644297447 patchwork算法一共包含四部分内容:提出了以下四个部分:RNR、RVPF、A-GLE 和 TGR。 1)基于 3D LiDAR 反射模型的反射噪声消除 (RNR)ÿ…...
OSPF浅析
一、预习: 1、介绍: 是一种基于接口的典型的链路状态路由协议,协议号89,把大型网络分隔为多个较小、可管理的单元:Area,管理距离110;OSPF基于IP,使用了LSAck包来保证包数据的可靠性&…...
批量写入数据到数据库,卡顿怎么解决
在批量写入数据到数据库时,遇到卡顿或性能瓶颈是比较常见的问题。以下是一些可能的解决方案和优化策略,帮助你提高批量写入的性能: ### 1. **批量大小优化** - **调整批量大小**:尝试调整批量写入的数据量,找到一个平衡点。过大或过小的批量大小都可能影响性能。通常,批…...
Residency 与 Internship 的区别及用法解析
Residency 与 Internship 的区别及用法解析 在英文中,“residency” 和 “internship” 都与职业培训相关,但它们的使用场景和具体含义存在显著差异。本文将详细解析这两个词的区别,以及它们在不同语境下的应用。 Residency 的定义及使用场景…...
【数据结构-堆】力扣2530. 执行 K 次操作后的最大分数
给你一个下标从 0 开始的整数数组 nums 和一个整数 k 。你的 起始分数 为 0 。 在一步 操作 中: 选出一个满足 0 < i < nums.length 的下标 i , 将你的 分数 增加 nums[i] ,并且 将 nums[i] 替换为 ceil(nums[i] / 3) 。 返回在 恰好…...
基于生成式对抗网络(GAN)的前沿研究与应用
引言 人工智能(AI)领域在过去几年中经历了快速的发展,尤其是深度学习的兴起带来了许多变革。其中,生成式对抗网络(Generative Adversarial Network, GAN)因其强大的生成能力成为了研究热点。自2014年Ian G…...
stm32 移植RTL8201F(正点原子例程为例)
最近在工作中需要使用RTL8201F,在网上找了很多帖子,没有找到合适的,自己翻资料移植了一个。 模板工程使用的是正点原子的f407探索版的例程,原子使用的是LAN8720,需要把他的驱动修改成为我们自己用的RTL8201F。 1.将PHY_TYPE改成我…...
QT-TCP-server
为了实现高性能的TCP通讯,以下是一个基于Qt的示例,展示如何利用多个线程、非阻塞I/O、数据分块和自定义协议进行优化。该示例以TCP服务器和客户端的形式展示,能够承受高负载并实现快速数据传输。 高性能TCP Server示例 #include <QTcpSe…...
第 24 章 网络请求与远程资源
第 24 章 网络请求与远程资源 24.1 XMLHttpRequest 对象 所有现代浏览器都通过 XMLHttpRequest 构造函数原生支持 XHR 对象: let xhr new XMLHttpRequest()24.1.1 使用 XHR 使用 XHR 对象首先要调用 open()方法,这个方法接收 3 个参数:请…...
k8s dashboard离线部署步骤
确定k8s版本,以1.23为例。 部署metrics-server服务,最好用v0.5.2。 用v0.6.0,可能会报以下错误: nodekubemaster:~/Desktop/metric$ kubectl top nodes Error from server (ServiceUnavailable): the server is currently unabl…...
热备份路由HSRP及配置案例
✍作者:柒烨带你飞 💪格言:生活的情况越艰难,我越感到自己更坚强;我这个人走得很慢,但我从不后退。 📜系列专栏:网路安全入门系列 目录 一,HSRP的相关概念二,…...
【文本分类】bert二分类
import os import torch from torch.utils.data import DataLoader, Dataset from transformers import BertTokenizer, BertForSequenceClassification, AdamW from sklearn.metrics import accuracy_score, classification_report from tqdm import tqdm# 自定义数据集 class…...
计算机网络 (30)多协议标签交换MPLS
前言 多协议标签交换(Multi-Protocol Label Switching,MPLS)是一种在开放的通信网上利用标签引导数据高速、高效传输的新技术。 一、基本概念 MPLS是一种第三代网络架构技术,旨在提供高速、可靠的IP骨干网络交换。它通过将IP地址映…...