Python量化投资——股票择时到底能否赚钱?TA-Lib中33种技术指标有效性回测研究

news2024/11/18 21:31:04

TA-Lib中33种技术指标回测研究

  • `Python`量化投资——`TA-Lib`中33种股票择时技术指标的有效性研究
    • 为什么要做这个评测
    • 技术指标清单
    • 评测方法
    • 评测工具
    • 期待你的意见

Python量化投资——TA-Lib中33种股票择时技术指标的有效性研究

为什么要做这个评测

技术指标是股票交易中最常用的技术手段之一,几乎所有的技术文章或股票分析文章都离不开通过MACD等各种指标来判断一支股票的买点和卖点,做量化的也会经常接触TA-Lib中提供的各种技术指标。从股评人的文章里看,似乎这些指标都有指哪打哪的能力,但是,我们既然做量化投资,就必须用数据说话,一个技术指标到底好不好,有没有用,不是靠嘴说的,是靠数据来验证的。因此,我这个系列文章的目标,就是把TA-Lib中的技术指标全都拿出来溜一溜,做一个横向大评比。俗话说,是骡子是马拉出来溜溜,通过大数据分析,我们就应该对指标的有效性有一个大致的了解。

这个评测,就是为了使用实际数据来回答两个问题:

  1. 技术指标择时到底有没有效果?
  2. 如果有效,应该选哪个技术指标效果更好?

我会写一系列的文章,每一篇评测一种技术指标,以逐步解答上面的问题。一共评测33种技术指标,文章链接在后文表格中。

技术指标清单

在这个系列文章中,将要评测下列技术指标,这些技术指标都来自TA-Lib,分为两大类:动量指标和均线交叉指标,在qteasy的内置交易策略中,产生交易信号的规则在下表中。

每个指标都依赖一定的可调参数产生效果,例如,均线交叉指标总需要两根均线,一根快均线,一根慢均线,这两根均线的历史周期是不同的。在测试过程中,我们全部使用默认参数。qteasy的策略优化模块可以使用多种算法进行参数寻优,以达到更好的择时效果。但我们这里测试结果侧重于统计结果,因此全部采用默认参数,如下表。

如果指标已经完成评测,可以点击指标名称链接到相关文章。

指标英文全称中文名称交易策略说明策略参数
ADXAverage Directional Movement Index平均定向运动指数ADX交易策略:
基于ADX指标判断当前趋势的强度,从而根据趋势强度产生交易信号
1, 当ADX大于25时,判断趋势向上,设定持仓比例为1
2, 当ADX介于20到25之间时,判断为中性趋势,设定持仓比例为0
3, 当ADX小于20时,判断趋势向下,设定持仓比例为-1
(14,)
APOAbsolute Price Oscillator绝对价格震荡指标APO交易策略:
基于APO指标判断当前股价变动的牛熊趋势,从而根据趋势产生交易信号
1, 当APO大于0时,判断为牛市趋势,设定持仓比例为1
2, 当ADX小于0时,判断为熊市趋势,设定持仓比例为-1
(12, 26, 0)
AROONAROONAROON指标AROON交易策略:
通过计算AROON指标趋势的强弱程度输出强多/空头和弱多/空头
1, 当UP在DOWN的上方时,输出弱多头
2, 当UP位于DOWN下方时,输出弱空头
3, 当UP大于70且DOWN小于30时,输出强多头
4, 当UP小于30且DOWN大于70时,输出强空头
(14,)
AROONOSCAROON OscillatorAROON震荡指标交易策略:
当AROONOSC大于0时表示价格趋势向上,反之趋势向下,绝对值大于50时表示强烈的趋势
1, 当AROONOSC大于0时,输出弱多头
2, 当AROONOSC小于0时,输出弱空头
3, 当AROONOSC大于50时,输出强多头
4, 当AROONOSC小于-50时,输出强空头
(14,)
CCICommodity Channel Index商品渠道指数交易策略:
CCI商品渠道指数被用来判断当前股价位于超卖还是超买区间,本策略使用这个指标生成投资仓位目标
1, 当CCI大于0时,输出弱多头
2, 当CCI小于0时,输出弱空头
3, 当CCI大于50时,输出强多头
4, 当CCI小于-50时,输出强空头
(14,)
CMOChande Momentum Oscillator钱德动量振荡器交易策略:
CMO 是一个在-100到100之间波动的动量指标,它被用来判断当前股价位于超卖还是超买区间,本策略使用这个指标生成投资仓位目标
1, 当CMO大于0时,输出弱多头
2, 当CMO小于0时,输出弱空头
3, 当CMO大于50时,输出强多头
4, 当CMO小于-50时,输出强空头
(14,)
MACDEXTExtended MACD扩展MACD指数交易策略:
本策略使用MACD指标生成持仓目标,但是与标准的MACD不同,MACDEXT的快、慢、及信号均线的类型均可选
1, 当hist>0时输出多头
2, 当hist<0时输出空头
(12, 0, 26, 0, 9, 0)
MFIMoney Flow Index货币流向指数MFI 交易策略:
MFI指数用于判断股价属于超买还是超卖状态,本策略使用MFI指标生成交易信号
1, 当MFI>20时,持续不断产生10%买入交易信号
2, 当MFI>80时,持续不断产生30%卖出交易信号,持续卖出持仓股票
(14,)
DIDirectory Indicator方向指标DI 交易策略:
DI 指标包含负方向指标与正方向指标,它们分别表示价格上行和下行的趋势强度,本策略使用±DI指标生成交易信号
1, 当+DI > -DI时,设置持仓目标为1
2, 当+DI < -DI时,设置持仓目标为-1
(14, 14)
DMDirectional Movement方向运动指标DM交易策略:
DM 指标包含负方向运动指标(Negative Directional Movement)与正方向运动指标(Positive Directional Movement),它们分别表示价格上行和下行的趋势,本策略使用±DM指标生成交易信号
1, 当+DM > -DM时,设置持仓目标为1
2, 当+DM < -DM时,设置持仓目标为-1
3, 其余情况设置持仓目标为0
(14, 14)
MOMmomentum indicator动量指标MOM 交易策略:
MOM 指标可以用于识别价格的上行或下行趋势的强度,当前价格高于N日前价格时,MOM为正,反之为负。
1, 当MOM > 0时,设置持仓目标为1
2, 当MOM < 0时,设置持仓目标为-1
3, 其余情况设置持仓目标为0
(14, )
PPOPercentage Price Oscillator百分比价格振荡器PO 交易策略:
PPO 指标表示快慢两根移动均线之间的百分比差值,用于判断价格的变化趋势。长短均线的计算周期和均线类型均为策略参数。
1, 当PPO > 0时,设置持仓目标为1
2, 当PPO < 0时,设置持仓目标为-1
3, 其余情况设置持仓目标为0
(12, 26, 0)
RSIRelative Strength Index相对强度指数RSI 交易策略:
RSI 指标度量最近价格变化的幅度,从而判断目前股票属于超卖还是超买状态
1, 当RSI > ulim时,设置持仓目标为1
2, 当RSI < llim时,设置持仓目标为-1
3, 其余情况设置持仓目标为0
(12, 70, 30)
STOCHStochastic Indicator随机指数STOCH 交易策略:
STOCH 指标度量价格变化的动量,并且动量的大小判断价格趋势,并生成比例买卖交易信号。
1, 当k > 80时,产生逐步卖出信号,每周期卖出持有份额的30%
2, 当k < 20时,产生逐步买入信号,每周期买入总投资额的10%
(5, 3, 0, 3, 0)
STOCHFStochastic Fast Indicator快速随机指标STOCHF 交易策略:
STOCHF 指标度量价格变化的动量,与STOCH策略类似,使用快速随机指标判断价格趋势,并生成比例买卖交易信号。
1, 当k > 80时,产生逐步卖出信号,每周期卖出持有份额的30%
2, 当k < 20时,产生逐步买入信号,每周期买入总投资额的10%
(5, 3, 0)
STOCHRSIStochastic Relative Strength Index随机相对强弱指标STOCHRSI 交易策略:
STOCHRSI 指标度量价格变化的动量,该指标在0~1之间波动,表示相对的价格趋势强弱程度,并生成比例买卖交易信号
1, 当k > 0.8时,产生逐步卖出信号,每周期卖出持有份额的30%
2, 当k < 0.2时,产生逐步买入信号,每周期买入总投资额的10%
(14, 5, 3, 0)
ULTOSCUltimate Oscillator Indicator终极振荡器指标ULTOSC 交易策略:
ULTOSC 指标通过三个不同的时间跨度计算价格动量,并根据多种不同动量之间的偏离值生成交易信号。
1, 当ULTOSC > u时,产生逐步卖出信号,每周期卖出持有份额的30%
2, 当ULTOSC < l时,产生逐步买入信号,每周期买入总投资额的10%
(7, 14, 28, 70, 30)
WILLRWilliam’s %R威廉姆斯百分比WILLR 交易策略:
WILLR 指标被用于计算股价当前处于超买还是超卖区间,并用于生成交易信号
1, 当WILLR > -l时,产生逐步卖出信号,每周期卖出持有份额的30%
2, 当WILLR < -u时,产生逐步买入信号,每周期买入总投资额的10%
(14, 80, 20)
MACDMoving Average Convergence & Divergence平滑异同移动平均线MACD交易策略:
1,当MACD值大于0时,设置仓位目标为1
2,当MACD值小于0时,设置仓位目标为0
(12, 26, 9)
DMADifference of Moving Average平行线差指标DMA交易策略:
1, DMA在AMA上方时,多头区间,即DMA线自下而上穿越AMA线后,输出为1
2, DMA在AMA下方时,空头区间,即DMA线自上而下穿越AMA线后,输出为0
(12, 26, 9)
TRIXTriple Exponentially Smoothed Average三重指数平滑移动平均变化率TRIX交易策略,使用股票价格的三重平滑指数移动平均价格进行多空判断:
计算价格的三重平滑指数移动平均价TRIX,再计算M日TRIX的移动平均:
1, TRIX位于MATRIX上方时,设置仓位目标为1
2, TRIX位于MATRIX下方时,设置仓位目标位-1
(25, 125)
SAREXTParabolic SAR Extendec扩展抛物线SAR指标扩展抛物线SAR策略,当指标大于0时发出买入信号,当指标小于0时发出卖出信号(0, 3)
BBANDBollinger Bands布林带线指标布林带线交易策略,根据股价与布林带上轨和布林带下轨之间的关系确定多空,在价格上穿或下穿布林带线上下轨时产生交易信号。布林带线的均线类型不可选
1,当价格上穿上轨时,产生全仓买入信号
2,当价格下穿下轨时,产生全仓卖出信号
(20, 2, 2)
S-BBANDSoft Bollinger Bands软性布林带线指标布林带线渐进交易策略,根据股价与布林带上轨和布林带下轨之间的关系确定多空,交易信号不是一次性产生的,而是逐步渐进买入和卖出。计算BBAND,检查价格是否超过BBAND的上轨或下轨:
1,当价格大于上轨后,每天产生10%的比例买入交易信号
2,当价格低于下轨后,每天产生33%的比例卖出交易信号
(20, 2, 2, 0)
DSMAD-Cross Simple Moving Average简单移动平均交叉DSMA 双均线交叉策略:
基于SMA均线计算规则生成快慢两根均线,根据快与慢两根均线的相对位置设定持仓比例
(125, 25)
DDEMAD-Cross Double Exponential Moving Average双重指数平滑移动平均线交叉DDEMA 双均线交叉策略:
基于DEMA均线计算规则生成快慢两根均线,根据快与慢两根均线的相对位置设定持仓比例
(125, 25)
DEMAD-Cross Exponential Moving Average指数平滑移动平均线交叉DEMA 双均线交叉策略:
基于EMA均线计算规则生成快慢两根均线,根据快与慢两根均线的相对位置设定持仓比例
(125, 25)
DKAMAD-Cross Kaufman Adaptive Moving Average考夫曼自适应移动均线交叉DKAMA 双均线交叉策略:
基于KAMA均线计算规则生成快慢两根均线,根据快与慢两根均线的相对位置设定持仓比例
(125, 25)
DMAMAD-Cross MESA Adaptive Moving AverageMESA自适应移动均线交叉DMAMA 双均线交叉策略:
基于MAMA均线计算规则生成快慢两根均线,根据快与慢两根均线的相对位置设定持仓比例
(0.15, 0.05, 0.55, 0.25)
DT3D-Cross Triple Exponential Moving Average三重指数平滑移动平均线交叉DT3 双均线交叉策略:
基于T3均线计算规则生成快慢两根均线,根据快与慢两根均线的相对位置设定持仓比例
(20, 0.5, 5, 0.5)
DTEMAD-Cross Triple Exponential Moving Average三重指数平滑移动平均线交叉DTEMA 双均线交叉策略:
基于TEMA均线计算规则生成快慢两根均线,根据快与慢两根均线的相对位置设定持仓比例
(11, 6)
DTRIMAD-Cross Triple Exponential Moving Average三重指数平滑移动平均线交叉DTRIMA 双均线交叉策略:
基于TRIMA均线计算规则生成快慢两根均线,根据快与慢两根均线的相对位置设定持仓比例
(125, 25)
DWMAD-Cross Weighted Moving Average加权移动平均线交叉DWMA 双均线交叉策略:
基于WMA均线计算规则生成快慢两根均线,根据快与慢两根均线的相对位置设定持仓比例
(125, 25)

评测方法

既然是评测,那么就必须公平且广泛。我们将利用这些技术指标,使用同样的历史数据进行模拟交易,对比择时交易和一直持有的收益率差异。

每次回测的时间跨度都是5年,从2015年1月1日开始投资于一个股票,在技术指标发出买入信号时全仓买入,在发出卖出信号后全仓卖出,一直到2019年21月31日为止,记录总收益率,记做择时收益率。与之对比,我们同时考察全仓买入同一支股票并跟踪五年的收益率,记做基准收益率

在理想情况下,我们希望择时收益率应该大于基准收益率,因为我们理论上应该总是在高点卖出,在低点买进,就如同下面的交易曲线图所示(绿线是股票价格,红线是投资曲线):
在这里插入图片描述
在这里插入图片描述

但是如果策略表现不佳,也有可能在多次反复空仓中错过本身涨幅很好的股票,造成择时收益率低于基准收益。例如下面这种情况:
在这里插入图片描述
在这里插入图片描述

一个好的技术指标,理论上应该能够识别出上涨机会,从而从总体上获得比基准收益率更高的收益,不是么?但是为了避免出现统计偏差,我们需要进行大量的数据对比。

因此,我们以2015年以来的共计433支沪深300指数成分股为目标,逐一投资于这433支股票,分别记录433个五年择时收益率与五年基准收益率,来回答前面提出的问题。

评测工具

我会使用qteasy作为回测评测的工具。

qteasy是本人正在开发的一个快速量化交易工具包,使用这个工具包,可以快速灵活地生成各种量化交易策略,生成历史数据并回测策略的表现,有针对性地优化策略的性能;未来还将提供实时自动化交易功能。该项目正在开发中,Github项目地址在这里:https://github.com/shepherdpp/qteasy

qteasy利用TA-Lib中大部分动量和均线技术指标,内置了相当多的交易策略,开箱即用。因此,我们可以利用这一点,用一行代码快速创建交易策略,而且回测操作也只需要一行代码即可:

import qteasy as qt
# 创建一个基于ADX(平均定向运动指数)的交易策略
op = qt.Operator('adx', signal_type='pt')
# 设置基本参数并开始回测(回测前需要确保下载足够的历史数据,参见qteasy文档)
qt.run(op,
       mode=1,
       asset_pool='000001.SZ',  # 投资标的
       asset_type='E',			 # 投资标的为股票
       benchmark_asset='000001.SZ',  # 收益率基准,与投资标的相同
       benchmark_asset_type='E',
       invest_start='20150101',   # 回测开始日期
       invest_end='20191231'      # 回测结束日期
        )

运行上述代码,如果没有报错,可以看到下面文字形式的输出结果,以及详细回测结果分析图表:

     ====================================
     |                                  |
     |       BACK TESTING RESULT        |
     |                                  |
     ====================================

qteasy running mode: 1 - History back testing
time consumption for operate signal creation: 23.5ms
time consumption for operation back looping:  361.3ms

investment starts on      2015-01-05 00:00:00
ends on                   2019-12-31 00:00:00
Total looped periods:     5.0 years.

-------------operation summary:------------
Only non-empty shares are displayed, call 
"loop_result["oper_count"]" for complete operation summary

          Sell Cnt Buy Cnt Total Long pct Short pct Empty pct
000001.SZ    29       29     58   58.7%      0.0%     41.3%   

Total operation fee:     ¥    1,236.87
total investment amount: ¥  100,000.00
final value:              ¥  143,880.70
Total return:                    43.88% 
Avg Yearly return:                7.56%
Skewness:                          0.16
Kurtosis:                          9.06
Benchmark return:                57.77% 
Benchmark Yearly return:          9.57%
------strategy loop_results indicators------ 
alpha:                           -0.006
Beta:                             1.000
Sharp ratio:                      0.452
Info ratio:                      -0.032
250 day volatility:               0.232
Max drawdown:                    36.34% 
    peak / valley:        2015-07-10 / 2015-08-25
    recovered on:         2017-11-22
===========END OF REPORT=============

在这里插入图片描述
qteasy给出了很多的结果分析指标,但现在我们只需要择时收益率:43.88%,以及基准收益率:57.77%。

为了列出2015年以来的所有沪深300指数成份股,可以使用下面的代码:

import qteasy as qt
stocks = qt.filter_stock_codes(index='000300.SH', date='20150101')

然后,我们就可以循环操作,逐一回测所有的成份股了:

for stk in stocks:
	qt.run(op,
	       mode=1,
	       asset_pool=stk,
	       asset_type='E',
	       benchmark_asset=stk,
	       benchmark_asset_type='E',
	       visual=False,  # 批量执行时,关闭可视化图表输出
	       report=False,  # 批量执行时,关闭回测结果输出
	       invest_start='20150101',
	       invest_end='20191231',
	       trade_log=False  # 批量执行时,关闭回测交易结果日志
	      )

期待你的意见

我们将从下一篇文章开始,逐一解释每一个技术指标,并进行433轮回测,记录择时收益率和基准收益率,并借以评价每个技术指标的有效性以及优劣。

如果您对评测方法或指标有任何意见或建议,欢迎回复或私信交流,希望大家学习交流、共同进步!

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

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

相关文章

CSS 常见布局

文章目录CSS 常见布局单列布局单列布局&#xff08;不通栏&#xff09;单列布局&#xff08;通栏&#xff09;双列布局floatoverflow:hiddenflexgridCSS 常见布局 单列布局 单列布局&#xff08;不通栏&#xff09; <!DOCTYPE html> <html><head><meta …

推荐系统之推荐中心逻辑

5.5 推荐中心逻辑 学习目标 目标 无应用 无 5.5.1 推荐中心作用 推荐中一般作为整体召回结果读取与排序模型进行排序过程的作用&#xff0c;主要是产生推荐结果的部分。 5.5.2 推荐目录 server目录为整个推荐中心建立的目录 recall_service.:召回数据读取目录reco_centor:推…

如何利用 Selenium 对已打开的浏览器进行爬虫!

大家好&#xff0c;我是安果&#xff01;在对某些网站进行爬虫时&#xff0c;如果该网站做了限制&#xff0c;必须完成登录才能展示数据&#xff0c;而且只能通过短信验证码才能登录这时候&#xff0c;我们可以通过一个已经开启的浏览器完成登录&#xff0c;然后利用程序继续操…

STM32—超声波测距

超声波简介 超声波测距模块是用来测量距离的一种产品&#xff0c;通过发送和收超声波&#xff0c;利用时间差和声音传播速度&#xff0c; 计算出模块到前方障碍物的距离。 型号&#xff1a;HC-SR04 时序图 怎么让它发送波 Trig触发信号&#xff0c;给Trig端口至少10us的高电平…

“华为杯”研究生数学建模竞赛2005年-【华为杯】A题:城市交通管理中的出租车规划(附获奖论文)

赛题描述 A: Highway Traveling time Estimate and Optimal Routing Ⅰ Highway traveling time estimate is crucial to travelers. Hence, detectors are mounted on some of the US highways. For instance, detectors are mounted on every two-way six-lane highways o…

Postman使用详解

一、常见类型的接口请求查询参数接口接口地址中&#xff0c;&#xff1f;问号后面的部分&#xff0c;即查询参数&#xff1b;该部分内容由键值对组成&#xff0c;有多个时&#xff0c;用&符号分隔。请求方法&#xff1a;GET表单类型接口1&#xff09;HTTP请求&#xff0c;一…

电脑如何重装系统?Win10系统安装只需这两招!

电脑在日常生活和工作中是使用的比较多的。随着时间的推移&#xff0c;电脑越来越卡&#xff0c;系统越来越慢&#xff0c;或者是由于其他情况&#xff0c;有些人会选择对电脑进行重新安装。 但是很多人不知道系统安装前要注意什么&#xff0c;以及安装有哪些方法&#xff0c;…

论文笔记:Modeling Kinect Sensor Noise for Improved 3D Reconstruction and Tracking

文章目录概述效果如何&#xff1f;take home messagelateral noise 模型axial noise 模型实验实验设定lateral noise与axial noise的定义axial noise与lateral noise的提取噪声分布的结果和建模最终拟合得到的lateral noise模型最终拟合得到的axial noise模型应用噪声模型至Kin…

【Spring源码】插播一个创建代理对象的wrapIfNecessary()方法

在文章【分析向】没有三级缓存会导致什么&#xff1f; 中&#xff0c;提到过一个方法——wrapIfNecessary()&#xff0c;就是在这个方法中为Bean创建的代理对象&#xff0c;介于篇幅原因&#xff0c;当时并咩有详细&#x1f50e;分析这个方法&#xff0c;这篇文章我们进去wrapI…

第三章 ArcGIS坐标系与投影变换

文章目录第一节 坐标系的概念1.1 坐标1.2 坐标系2 基准面介绍2.1 基准面概念2.2几种基准面的说明2.3 椭球体参数的区别3 坐标系的分类3.1 两种坐标系3.2 区别3.3 度&#xff08;分、秒&#xff09;和米的转换&#xff08;高级&#xff09;4 投影坐标系4.1 两种投影方法介绍4.2 …

5、判定法

定义 判定表法&#xff1a; 分析和表述若干输入条件下&#xff0c;被测对象针对这些输入做出响应的一种工具在遇到逻辑复杂的业务时&#xff0c;可以利用判定表理清期间的逻辑关系。 重要概念 条件&#xff1a; 条件桩&#xff1a;需求规格说明书定义的被测对象的所有输入条…

图解Attention

深度学习知识点总结 专栏链接: https://blog.csdn.net/qq_39707285/article/details/124005405 此专栏主要总结深度学习中的知识点&#xff0c;从各大数据集比赛开始&#xff0c;介绍历年冠军算法&#xff1b;同时总结深度学习中重要的知识点&#xff0c;包括损失函数、优化器…

面试官:JVM是如何判定对象已死的?

本文已收录至Github&#xff0c;推荐阅读 &#x1f449; Java随想录 知道的越多&#xff0c;才知知道的越少。——苏格拉底 文章目录引用计数算法可达性分析算法引用类型Dead Or Alive永久代真的"永久"吗&#xff1f;垃圾收集算法标记-清除算法标记-复制算法标记-整理…

网络编程基础

1 网络协议栈分层协议栈是指网络中各层协议的总和&#xff0c;反映了一个网络中数据传输的过程&#xff0c;由上层协议到底层协议&#xff0c;使用分层实现提高灵活性以及简化实现。OSI七层模型 和TCP/IP五层模型&#xff1a;物理层&#xff1a;考虑的是怎样才能在连接各种计算…

学长教你学C-day14-C语言文件操作

“我们的C语言学习也马上接近尾声了&#xff0c;今天我们来讲最后一个内容&#xff1a;C语言的文件夹操作。” “那么什么是文件呢&#xff1f;其实C语言里的文件是数据源的一种&#xff0c;最主要的作用是保存数据。例如txt、word、pdf等等都是不同的存储数据的形式。通过C语…

WebView与 JS 交互方式

一 前言 现在很多App里都内置了Web网页&#xff08;Hybrid App&#xff09;&#xff0c;比如说很多电商平台&#xff0c;淘宝、京东、聚划算等等&#xff0c;如下图 上述功能是由Android的WebView实现的&#xff0c;其中涉及到Android客户端与Web网页交互的实现&#xff0c;今…

Vue路由使用的几个注意点

前言 在使用vue的路由的时候&#xff0c;是有几个需要注意的点&#xff0c;下面一一说明 组件的分类 组件分为两种&#xff1a;路由组件和一般组件 路由组件是注册到路由器中&#xff0c;并且是由路由相关标签代码进行展示 一般组件是注册到组件中&#xff0c;通过组件标签…

Linux常用命令——route命令

在线Linux命令查询工具(http://www.lzltool.com/LinuxCommand) route 显示并设置Linux中静态路由表 补充说明 route命令用来显示并设置Linux内核中的网络路由表&#xff0c;route命令设置的路由主要是静态路由。要实现两个不同的子网之间的通信&#xff0c;需要一台连接两个…

【软件架构思想系列】从伟人《矛盾论》中悟到的软件架构思想真谛:“对象”即事物,“函数”即运动变化...

引子 形而上学和辩证法两种宇宙观是截然相反的。“所谓形而上学的或庸俗进化论的宇宙观,就是用孤立的、静止的和片面的观点去看世界。这种宇宙观把世界一切事物,一切事物的形态和种类,都看成是永远彼此孤立和永远不变化的”,“和形而上学的宇宙观相反,唯物辩证法的宇宙观主…

元宇宙与数字孪生有区别

在元宇宙爆红之前&#xff0c;有一项技术已经慢慢渗透到各行各业之中&#xff0c;它可以逼真、实时地还原现实世界&#xff0c;它就是——数字孪生。目前很多人认为元宇宙与数字孪生的区别不大&#xff0c;元宇宙是数字孪生在技术层面的进阶与优化。其实不然&#xff0c;元宇宙…