量化研究---可转债量化交易系统上线快速服务器

news2025/3/24 14:42:40

现在可转债交易系统使用的人多,服务器比较小,今天对服务器进行了升级,提供快速的数据支持,同时我也给了服务器的源代码,支持自定义服务器数据支持,不通过我服务器,可以挂在服务器上面24小时快速交易,文章https://mp.weixin.qq.com/s/vmDorXu6ZbgazhJCS-JPSg

服务器24小时运行

图片

配合高频量化模块

图片

同时我也提供了大qmt版本 

图片

知识星球有全部直接下载就可以

图片

高速服务器网页http://101.34.65.108:8023/

图片

默认因子数据

图片

合成因子

图片

图片

策略表现

图片

图片

我实盘的表现不错,可转债网页http://120.78.132.143:8888/

图片

比如可转债5因子策略

图片

点击选股数据

图片

持股数据

图片

交易报告

图片

图片

实盘设置点击可转债高速服务器策略

图片

输入账户

图片

支持自定义框架

图片

源代码很多1000行可以研究

图片

图片

点击运行测试数据

图片

选股数据

图片

和网页一样的

图片

图片

挂模型实盘交易

图片

源代码我全部上传了知识星球可以下载使用研究实盘框架,我也给了miniqmt版本

不懂的问我就可以,加我备注人群可以加入量化群

部分源代码,完整的1000多行太长了

#encoding:gbk'''小果可转债5因子轮动策略2,换了一个高速服务器小果可转债5因子轮动策略高速服务器作者:小果微信:15117320079时间:20250226输入自己的账户就可以"账户":"111111",建议使用综合交易模型,miniqmt,配合实时脉冲,网格,止盈止损交易先小资金测试熟悉,支持融资融券支持自定义服务器数据下单的价格编码数值	描述-1	无效(只对于algo_passorder起作用)0	卖5价1	卖4价2	卖3价3	卖2价4	卖1价5	最新价6	买1价7	买2价(组合不支持)8	买3价(组合不支持)9	买4价(组合不支持)10	买5价(组合不支持)'''import pandas as pdimport talibimport time from datetime import datetimeimport mathimport jsonimport requeststext={
	"账户":"",	"账户支持融资融券":"账户支持融资融券,账户类型STOCK/CREDIT",	"账户类型":"STOCK",
	"买入价格编码":5,	"卖出价格编码":5,
	"是否测试":"否",	"测试时间":'20250303',
	"黑名单":['600031.SH'],
	"是否隔离策略":"是",	"交易模式说明":"金额/数量",	"交易模式":"金额",	"固定交易金额":2000,	"固定交易数量":100,	"特殊交易标的设置":"特殊交易标的设置",	"特殊交易标的":[],	"特殊交易标的固定交易金额":15000,	"特殊交易标的固定交易数量":100,	"小果可转债自定义因子轮动策略": "小果可转债服务器提供实时因子数据支持",	"服务器数据源设置": "服务器数据源设置********",	"服务器": "http://101.34.65.108",	"端口": "8023",	"服务器编码":"5071dc6e12cd478aa2ab511bbb96abce1f6c0a05a17df9112582acfb29cc3216",	"授权码": "123456",	"时间设置":"时间设置********",	"交易时间段":8,	"交易开始时间":9,	"交易结束时间":24,	"是否参加集合竞价":"否",	"开始交易分钟":0,	"可转债自定义因子计算": "可转债自定义因子计算************,基于默认因子表计算,df是因子表名称",	"是否开启默认因子计算": "是",	"默认因子计算": {		"三要素评分": "df['溢价率']*100+df['剩余年限']-df['到期税前收益']*100"	},	"强制赎回设置": "************************",	"是否剔除强制赎回": "是",	"满足强制赎回天数": 10,	"排除上市天数": 3,	"是否排除ST": "是",	"排除市场": [],	"行业说明": "查询行业表**********,混合排除不区分一二三级行业",	"排除行业": [],	"排除企业类型": [],	"排除地域": [],	"排除外部评级": [],	"排除三方评级": [],	"添加排除因子": "排除因子设置************************",	"因子计算符号说明": "大于,小于,大于排名%,小于排名%,空值,排除是相反的,大于是小于",	"排除因子": [		"双低",		"双低",		"剩余规模(亿)",		"剩余规模(亿)",		"剩余年限",		"溢价率",		"溢价率",		"价格",		"价格",		"正股年化波动率",		"涨幅",		"换手率"	],	"因子计算符号": [		"大于",		"小于",		"大于",		"小于",		"小于",		"大于",		"小于",		"大于",		"小于",		"小于",		"小于",		"小于"	],	"因子值": [		170,		100,		8,		1,		1,		70,		-1,		150,		100,		60,		0,		5	],	"打分因子设置": "*************************************************",	"打分因子说明": "正相关:因子值越大得分越高;负相关:因子值越大得分越低,",	"打分因子": [		"5日斜率",		"正股年化波动率"	],	"因子相关性": [		"正相关",		"正相关"	],	"因子权重": [		1	],	"持有限制": 10,	"持股限制": 10,	"轮动规则设置": "轮动规则设置88888888**********排名",	"买入排名前N": 10,	"持有排名前N": 10,	"跌出排名卖出N": 10,	"买入前N": 10,}class A():	passa=A()
def init(c):	#账户	c.account=text['账户']	#账户类型	c.account_type=text['账户类型']	#交易股票池	hold_limit=text['持有限制']	if c.account_type=='stock' or c.account_type=='STOCK':		c.buy_code=23		c.sell_code=24	else:		#融资融券		c.buy_code=33		c.sell_code=34	c.buy_price_code=text['买入价格编码']	c.sell_price_code=text['卖出价格编码']	c.del_trader_list=text['黑名单']	#可以考虑一天轮动2次	c.run_time("run_tarder_func","1nDay","2024-07-25 10:30:00")	c.run_time("run_tarder_func","1nDay","2024-07-25 14:25:00")	#30分钟一次	#c.run_time("run_tarder_func","1800nSecond","2024-07-25 13:20:00")	c.run_time("trader_info","3nSecond","2024-07-25 13:20:00")	print(get_account(c,c.account,c.account_type))	print(get_position(c,c.account,c.account_type))	print(run_tarder_func(c))def handlebar(c):	#run_tarder_func(c)	passdef trader_info(c):	if check_is_trader_date_1():		print('{} 等待程序调仓'.format(datetime.now()))	else:		print('{} 不是交易时间等待程序调仓'.format(datetime.now()))
def get_price(c,stock):	'''	获取最新价格	'''	tick=c.get_full_tick(stock_code=[stock])	tick=tick[stock]	price=tick['lastPrice']	return pricedef get_trader_data(c):	'''	小果可转债5因子轮动策略	'''	url=text['服务器']	port=text['端口']	url_code=text['服务器编码']	password=text['授权码']	test=text['是否测试']	test_date=text['测试时间']	if test=='是':		print('开启测试模式实盘记得关闭********************')		date=test_date	else:		date=''.join(str(datetime.now())[:10].split('-'))	#date='20250229'	print('小果服务器提供数据支持***************************')	print('服务器{} 端口{} 授权码{}'.format(url,port,password))	models=small_fruit_custom_factor_selection_system(url=url,		port=port,		url_code=url_code,		password=password,		text=text,		date=date,		limit=30)	stats,df=models.get_select_result()	if stats==True:		print('可转债数据获取成功,开始轮动分析')		print('选股结果*********************')		print(df)		df['更新时间']=datetime.now()		hold_limit=text['持股限制']		buy_rank=text['持有排名前N']		hold_stock=get_position(c,c.account,c.account_type)		if hold_stock.shape[0]>0:			hold_stock=hold_stock[hold_stock['持仓量']>=10]			if hold_stock.shape[0]>0:				hold_stock['证券代码']=hold_stock['证券代码'].astype(str)				hold_stock_list=hold_stock['证券代码'].tolist()				hold_amount=hold_stock.shape[0]			else:				hold_stock_list=[]				hold_amount=0		else:			hold_stock_list=[]			hold_amount=0		df=df		if df.shape[0]>0:			df['可转债代码']=df['可转债代码'].astype(str)			df['可转债代码']=df['可转债代码'].apply(lambda x:adjust_stock(x))			all_stock_list=df['可转债代码'].tolist()			buy_stock_list=df['可转债代码'].tolist()[:buy_rank]		else:			all_stock_list=[]			buy_stock_list=[]			#轮动卖出		sell_stock_list=[]		for stock  in hold_stock_list:			if stock not in buy_stock_list:				print('卖出 {} 不在买入前{} 排名{}'.format(stock,buy_rank,buy_stock_list))				sell_stock_list.append(str(stock))			else:				print('持有 {} 在买入前{} 排名{}'.format(stock,buy_rank,buy_stock_list.index(stock)))		#轮动买入		buy_stock_list_1=[]		for stock in buy_stock_list:			if stock in hold_stock_list:				print('已经持有 {} 在买入前{} 排名{}'.format(stock,buy_rank,buy_stock_list.index(stock)))			else:				print('买入 {} 在买入前{} 排名{}'.format(stock,buy_rank,buy_stock_list.index(stock)))				buy_stock_list_1.append(stock)		sell_df=pd.DataFrame()		sell_df['证券代码']=sell_stock_list		sell_df['交易状态']='卖'		sell_amount=sell_df.shape[0]		av_buy=(hold_limit-hold_amount)+sell_amount		if av_buy>=hold_limit:			av_buy=hold_limit		else:			av_buy=av_buy		buy_df=pd.DataFrame()		buy_df['证券代码']=buy_stock_list_1[:av_buy]		buy_df['交易状态']='买'
		if sell_df.shape[0]>0:			sell_df['名称']=sell_df['证券代码']		else:			sell_df['名称']=None		if buy_df.shape[0]>0:			buy_df['证券代码']=buy_df['证券代码'].astype(str)			buy_df['名称']=buy_df['证券代码']		else:			buy_df['名称']=None		buy_df['交易时间']=datetime.now()		print('买入股票****************')		print(buy_df)		print('卖出股票*****************')		print(sell_df)		if hold_stock.shape[0]>0:			hold_stock=hold_stock[hold_stock['持仓量']>=10]			if hold_stock.shape[0]>0:				hold_stock['证券代码']=hold_stock['证券代码'].astype(str)				hold_stock['卖出']=hold_stock['证券代码'].apply(lambda x: '是' if x in sell_stock_list else '不是')				sell_df=hold_stock[hold_stock['卖出']=='是']			else:				sell_df=pd.DataFrame()		else:			sell_df=pd.DataFrame()		return buy_df,sell_df	else:		print('可转债数据获取失败,等待服务器更新')		buy_df=pd.DataFrame()		sell_df=pd.DataFrame()		return buy_df,sell_dfdef run_tarder_func(c):	'''	运行交易函数	'''	trader_models=text['交易模式']	fix_value=text['固定交易金额']	fix_amount=text['固定交易金额']	sep_fix_value=text['特殊交易标的固定交易金额']	sep_fix_amount=text['特殊交易标的固定交易数量']	sep_stock_list=text['特殊交易标的']	if check_is_trader_date_1():		#先卖在买入		buy_df,sell_df=get_trader_data(c)		if sell_df.shape[0]>0:			for stock,hold_amount,av_amount in zip(sell_df['证券代码'],sell_df['持仓量'],sell_df['可用数量']):				if stock not in c.del_trader_list:					print('{} 标的不在黑名单卖出'.format(stock))					try:						if av_amount>=10:							print('{} 持有数量{} 可以数量{}大于0 卖出数量{}'.format(stock,hold_amount,av_amount,av_amount))							passorder(c.sell_code, 1101,c.account, stock, c.sell_price_code, 0, av_amount, '',1,'',c)						else:							print('{} 持有数量{} 可以数量{}等于0 卖出数量{} 不交易'.format(stock,hold_amount,av_amount,av_amount))					except:						print('{}卖出有问题'.format(stock))				else:					print('{} 标的在黑名单不卖出'.format(stock))		else:			print('没有卖出的数据')		#买入		if buy_df.shape[0]>0:			for stock in buy_df['证券代码'].tolist():				if stock not in c.del_trader_list:					print('{} 标的不在黑名单买入'.format(stock))					try:						if stock  in sep_stock_list:							print('{}在特殊标的里面*********'.format(stock))							fix_value=sep_fix_value							volume=sep_fix_amount						else:							fix_value=text['固定交易金额']							volume=fix_amount						print(stock,fix_value)						if trader_models=='金额':							print('{}金额交易模式*******'.format(stock))							tader_type,amount,price=order_stock_value(c,c.account,c.account_type,stock,fix_value,'buy')							print(tader_type,amount,price)							if tader_type=='buy' and amount>=10 :								passorder(c.buy_code, 1101, c.account, str(stock), c.buy_price_code, 0, amount, '',1,'',c)								#passorder(23, 1101, c.account, str('513100.SH'), 5, 0, 100, '',1,'',c)								print('{} 最新价格 买入{} 元'.format(stock,fix_value))							else:								print('{}金额交易模式买入不了*******'.format(stock))						else:							print('{}数量交易模式*******'.format(stock))							passorder(23, 1101, c.account, str(stock), 5, 0, volume, '',1,'',c)							print('{} 最新价格 买入{} 数量'.format(stock,volume))					except Exception as e:						print(e,'{}买入有问题'.format(stock))				else:					print('{} 标的在黑名单不买入'.format(stock))
		else:			print('没有买入数据')	else:		print('{} 目前不少交易时间'.format(datetime.now()))class xg_bond_factor_data:	'''	小果可转债因子数据库	http://124.220.32.224:8023/	'''	def __init__(self,url='http://124.220.32.224',	port='8023',	url_code='5071dc6e12cd478aa2ab511bbb96abce1f6c0a05a17df9112582acfb29cc3216',	password='123456'):		'''		小果可转债因子数据库		url服务器网页		port端口		password授权码		'''		self.url=url		self.port=port		self.url_code=url_code		self.password=password	def xg_bond_factor_data(self,date_type='实时数据',date='2024-09-09'):		'''		小果可转债因子数据库		date_type=实时数据/全部默认因子/合成因子		'''		url='{}:{}/_dash-update-component'.format(self.url,self.port)		headers={'Content-Type':'application/json'}		data={			"output":"xg_bond_data_maker_table.data@{}".format(self.url_code),			"outputs":{"id":"xg_bond_data_maker_table","property":"data@{}".format(self.url_code)},			"inputs":[{"id":"password","property":"value","value":self.password},				{"id":"xg_bond_data_data_type","property":"value","value":date_type},				{"id":"xg_bond_data_end_date","property":"date","value":date},				{"id":"xg_bond_data_run","property":"value","value":"运行"},				{"id":"xg_bond_data_down_data","property":"value","value":"不下载数据"}],				"changedPropIds":["xg_bond_data_run.value"],				"parsedChangedPropsIds":["xg_bond_data_run.value"]}		res=requests.post(url=url,data=json.dumps(data),headers=headers)		text=res.json()		df=pd.DataFrame(text['response']['xg_bond_data_maker_table']['data'])		return dfclass small_fruit_custom_factor_selection_system:	def __init__(self,url='http://124.220.32.224',		port='8023',		url_code='5071dc6e12cd478aa2ab511bbb96abce1f6c0a05a17df9112582acfb29cc3216',		password='xg123456',		text={},		date='20250114',		limit=30):		print('小果可转债自定义因子选择系统        ')		print('作者:小果')		print('作者微信:15117320079,开实盘qmt可以联系我,开户也可以')		print('作者微信公众号:数据分析与运用')		print('公众号链接:https://mp.weixin.qq.com/s/rxGJpZYxdUIHitjvI-US1A')		print("作者知识星球:金融量化交易研究院  https://t.zsxq.com/19VzjjXNi")		self.url=url		self.port=port		self.url_code=url_code		self.password=password		self.text=text		self.xg_data=xg_bond_factor_data(url=self.url,port=self.port,url_code=self.url_code,password=self.password)		self.date=date		self.limit=limit		self.stats=False	def select_bond_cov(self,x):		'''		选择证券代码		'''		if x[:3] in ['110','113','123','127','128','111'] or x[:2] in ['11','12']:			return '是'		else:			return '不是'	def get_all_factor_data(self):		'''		获取可转债全部数据		'''		print("获取可转债全部数据************")		text=self.text		now_date=self.date		df=self.xg_data.xg_bond_factor_data(date_type='合成因子',date=now_date)		stats=df['数据状态'].tolist()[-1]		try:			if stats==True or stats=='True' or stats=='true':				df=df				print('可转债获取成功***********')				self.stats=True			else:				print(df)				df=pd.DataFrame()				self.stats=False		except Exception as e:			df=pd.DataFrame()			self.stats=False
		return df
	def get_cacal_factor_base_table(self):		'''		计算默认因子		'''		print('计算默认因子***********************')		text=self.text		is_open=text['是否开启默认因子计算']		df=self.get_all_factor_data()		if df.shape[0]>0:			factor=text['默认因子计算']			if is_open=='是':				print('开启计算默认因子***********************')				factor_name=list(factor.keys())				if len(factor_name)>0:					for name in factor_name:						try:							print(name,'因子计算完成')							func=factor[name]							df[name]=eval(func)						except Exception as e:							print(e,name,'因子计算有问题')				else:					print('没有默认因子需要计算')			else:				print('不开启计算默认因子***********************')		else:			df=pd.DataFrame()		return df	def get_del_qzsh_data(self):		'''		剔除强制赎回		'''		print('剔除强制赎回')		text=self.text		del_select=text['是否剔除强制赎回']		n=text['满足强制赎回天数']		df=self.get_cacal_factor_base_table()		if df.shape[0]>0:			select_list=['公告要强赎','已公告']			df['强赎']=df['强赎天计数'].apply(lambda x : '是' if '公告要强赎' in x or '已公告' in x else '不是')			df1=df[df['强赎']=='是']			df2=df[df['强赎']=='不是']			df2['强赎天计数']=df2['强赎天计数'].apply(lambda x: '0/15 | 30' if str(x)[:4]=='暂不强赎' or '不强赎' in x else x)			df2['强赎天数']=df2['强赎天计数'].apply(lambda x: int(str(x).split('/')[0]))			df2=df2[df2['强赎天数']<=n]		else:			df2=pd.DataFrame()		return df2	def days_excluded_from_market(self):		'''		排除上市天数		'''		print('排除上市天数')		text=self.text		df=self.get_del_qzsh_data()		if  df.shape[0]>0:			n=text['排除上市天数']			try:				df['上市天数']=df['上市天数'].apply(lambda x: float(str(x).split('days')[0]))				df=df[df['上市天数']>=n]			except:				df=df		else:			df=pd.DataFrame()
		return df	def st_exclusion(self):		'''		排除st		'''		print('排除st')		text=self.text		is_del=text['是否排除ST']		df=self.days_excluded_from_market()		if  df.shape[0]>0:			if is_del=='是':				def_list=['ST','st','*ST','*st']				df['ST']=df['正股名称'].apply(lambda x: '是' if 'st' in x or 'ST' in x or '*st' in x or '*ST' in x else '不是' )				df=df[df['ST']=='不是']			else:				df=df		else:			df=pd.DataFrame()		return df	def exclusion_of_market(self):		'''		排除市场		'''		print("排除市场")		text=self.text		exclusion_market_list = []		del_stock_list=text['排除市场']		for exclusion_market in del_stock_list:			if exclusion_market == '沪市主板':				exclusion_market_list.append(['110','113'])			elif exclusion_market == '深市主板':				exclusion_market_list.append(['127','128'])			elif exclusion_market == '创业板':				exclusion_market_list.append('123')			elif exclusion_market == '科创板':				exclusion_market_list.append('118')			else:				pass		df=self.st_exclusion()		if df.shape[0]>0:			df['market'] = df['转债代码'].apply(lambda x: '排除' if str(x)[:3] in exclusion_market_list  else '不排除')			df = df[df['market'] == '不排除']		else:			df=pd.DataFrame()		return df

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

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

相关文章

用ArcGIS做一张符合环评要求的植被类型图

植被类型图是环境影响评价&#xff08;环评&#xff09;中的重要图件&#xff0c;需满足数据准确性、制图规范性和信息完整性等要求。本教程将基于ArcMap平台&#xff0c;从数据准备到成果输出&#xff0c;详细讲解如何制作符合环评技术规范的植被类型图。 ArcGIS遥感解译土地…

Java 双端队列实战 实现滑动窗口 用LinkedList的基类双端队列Deque实现 洛谷[P1886]

集合 关系 介绍 Deque 是一个接口 LinkedList 是这个接口的实现类 题目 输入输出 滑动窗口 基于双端队列实现 Deque<Integer> deque new LinkedList<>(); 滑动窗口代码 洛谷 public static List<Integer> maxSlidingWindow(int[] nums, int k) {List&l…

[学习笔记] VM虚拟机安装Ubuntu系统

前言 我现在装的Ubuntu总是死机&#xff0c;经常黑屏&#xff0c;所以我决定换个版本&#xff0c;顺便写一下笔记&#xff0c;给大家分享如何安装虚拟机 下载 这里我选择的是Ubuntu 22.04.5 LTS&#xff0c;下载链接&#xff1a;Ubuntu 22.04.5 LTS 如果访问不了网站的话&…

统计学重要概念:自由度

在统计学中&#xff0c;自由度&#xff08;degrees of freedom&#xff0c;简称df&#xff09;是一个重要的概念&#xff0c;它表示在计算某个统计量时可以自由变化的值的数量。对于一个样本量为n的样本&#xff0c;自由度通常为n-1&#xff0c;这是因为我们需要用样本数据来估…

为扣子智能体接入 DeepSeek

扣子现已推出满血版 DeepSeek 全家桶&#xff0c;支持免费体验 R1、V3 模型。除此之外&#xff0c;扣子支持 DeepSeek 思维链&#xff08;Chain-of-Thought&#xff0c;CoT&#xff09;和 Function Calling 能力&#xff0c;为你的智能体添加私有知识和多种技能&#xff0c;拓展…

Dear ImGui for Unity 常见问题解决方案

Dear ImGui for Unity 常见问题解决方案 dear-imgui-unity Unity package for Dear ImGui 项目地址: https://gitcode.com/gh_mirrors/de/dear-imgui-unity 1. 项目基础介绍 Dear ImGui for Unity 是一个开源项目&#xff0c;旨在将Dear ImGui库整合到Unity游戏引擎中。…

【Unity3D】摄像机适配场景以及Canvas适配

目录 宽度不变策略 高度不变策略 宽度不变策略 开发分辨率 750*1334 (宽高比:0.56) 真机分辨率 1170*2532 (宽高比:0.46) 真机宽高比<开发宽高比&#xff0c;采用宽度不变策略 理由&#xff1a;小于代表真机高度比开发高度更大&#xff0c;因此不需要担心高度上…

盛铂科技国产SLMF315超低相位噪声频率综合器介绍

SLMF315频率综合器简介&#xff1a; 盛铂科技SLMF315超低相位噪声频率综合器的频率范围覆盖200MHz至15GHz。频率的最小步进仅为0.1Hz&#xff0c;在不考虑频率精度的情况下频率步进可达0.04Hz。SLMF315内部采用多环路设计从而获得极优秀的相位噪声特性&#xff0c;频率输出为1…

SpringDoc和Swagger使用

目录 一、SpringDoc 1.添加依赖 2.配置代码 配置解释 &#xff08;1&#xff09;springdoc.api-docs.path &#xff08;2&#xff09;springdoc.swagger-ui.path &#xff08;3&#xff09;springdoc.swagger-ui.operationsSorter &#xff08;4&#xff09;springdoc.…

asp.net core mvc模块化开发

razor类库 新建PluginController using Microsoft.AspNetCore.Mvc;namespace RazorClassLibrary1.Controllers {public class PluginController : Controller{public IActionResult Index(){return View();}} }Views下Plugin下新建Index.cshtml {ViewBag.Title "插件页…

第2.2节 Android Jacoco插件覆盖率采集

JaCoCo&#xff08;Java Code Coverage&#xff09;是一款开源的代码覆盖率分析工具&#xff0c;适用于Java和Android项目。它通过插桩技术统计测试过程中代码的执行情况&#xff0c;生成可视化报告&#xff0c;帮助开发者评估测试用例的有效性。在github上开源的项目&#xff…

Vue3中router最佳封装落地

文章目录 前言一、拆分路由文件夹&#xff1f;二、main.ts中注册路由总结 前言 router在使用过程中如果我们直接在一个文件的一个数组中配置&#xff0c;最后路由越来越多会导致不易管理&#xff0c;我们可以将一个页面的路由配置在一个数组中最后统一导入&#xff0c;这样就会…

网络爬虫【爬虫库request】

我叫不三不四&#xff0c;很高兴见到大家&#xff0c;欢迎一起学习交流和进步 今天来讲一讲爬虫 Requests是Python的一个很实用的HTTP客户端库&#xff0c;完全满足如今网络爬虫的需求。与Urllib对比&#xff0c;Requests不仅具备Urllib的全部功能&#xff1b;在开发使用上&…

aws(学习笔记第三十四课) dockerized-app with asg-alb

aws(学习笔记第三十四课) dockerized-app with asg-alb 使用cdk生成dockerized-app并使用AutoScalingGroup和ApplicationLoaderBalancer 学习内容&#xff1a; 使用cdk生成dockerized-app并使用AutoScalingGroup和ApplicationLoaderBalancer在AutoScalingGroup中使用efs以及R…

嵌入式c学习七

c语言指针&#xff1a;程序需要载入内存中运行&#xff0c;在32bit系统中内存地址的范围是&#xff1a;0x0000 0000-0xFFFF FFFF&#xff0c;内存大小为4GB&#xff0c;内存地址指的是内存单元的编号是固定的&#xff0c;本身就是一个整数&#xff0c;对于32bit系统&#xff0c…

软考通关利器:中级软件设计师结构化开发核心考点

简介&#xff1a; 作为国家软考中级认证的核心科目&#xff0c;“软件设计师” 结构化开发能力是职业进阶的黄金敲门砖。本模块聚焦考试大纲高频考点&#xff0c;深度解析需求建模、结构化分析方法&#xff08;SA/SD&#xff09;、模块设计原则、数据流图&#xff08;DFD&#…

【Linux】Hadoop-3.4.1的伪分布式集群的初步配置

配置步骤 一、检查环境 JDK # 目前还是 JDK8 最适合 Hadoop java -version echo $JAVA_HOME Hadoop hadoop version echo $HADOOP_HOME 二、配置SSH免密登录 Hadoop需要通过SSH管理节点&#xff08;即使在伪分布式模式下&#xff09; sudo apt install openssh-server …

楼宇自控系统的结构密码:总线与分布式结构方式的差异与应用

在现代建筑中&#xff0c;为了实现高效、智能的管理&#xff0c;楼宇自控系统变得越来越重要。它就像建筑的 智能管家&#xff0c;可自动控制照明、空调、通风等各种机电设备&#xff0c;让建筑运行更顺畅&#xff0c;还能节省能源成本。而在楼宇自控系统里&#xff0c;有两种关…

Fourier-Lerobot——把斯坦福人形动作策略iDP3封装进了Lerobot(含我司七月人形研发落地实践)

前言 近期在抠lerobot源码时&#xff0c;看到其封装了ALOHA ACT、diffusion policy、π0时&#xff0c;我就在想&#xff0c;lerobot其实可以再封装下idp3 我甚至考虑是否从我联合带的那十几个具身研究生中选几个同学做下这事&#xff0c;对他们也是很好的历练然当25年3.18日…

系统架构设计知识体系总结

1.技术选型 1.什么是技术选型&#xff1f; 技术选型是指评估和选择在项目或系统开发中使用的最合适的技术和工具的过程。这涉及考虑基于其能力、特性、与项目需求的兼容性、可扩展性、性能、维护和其他因素的各种可用选项。技术选型的目标是确定与项目目标相符合、能够有效解…