《打开量化投资的黑箱》 阅读笔记
第一部分 量化交易的世界
第一章 关注量化交易的原因
- 算法执行(algorithmic execution)指的是,在电子化市场中,投资者买卖行为是通过计算机软件实现的。
- 一个经典的策略叫做统计套利,其中最为经典的当属配对交易(pairs trade),通过改善市场无效性而获利
- 对于那些市值较小,流动性低且容易被忽视的股票,统计套利者是市场流动性的提供者,帮助市场参与者发现有效的市场价格。
- 错误度量风险是长期资本管理公司崩盘的原因之一
第二章 量化交易简介
- 宽客(quant)通常会基于高深的理论构造追求超额利润,并系统的实施
- 将注意力集中在从长期来看投资策略回报与市场趋势无关的、追求阿尔法超额利润的量化交易策略上
- 如果建仓的点位选择及头寸的规模大小都是系统自动生成的,则是量化交易
- 量化交易系统的典型结构:阿尔法模型,风险模型,交易成本模型
- 宽客产生想法,测试策略,并决定使用哪个策略、交易品种以及交易速度等
第二部分 打开黑箱
第三章:阿尔法模型:宽客如何盈利
阿尔法常用于表述投资者的盈利能力,或投资者得到的与市场波动无关的回报
阿尔法的非常规定义:在交易中关于买卖时机把握和持有头寸的选择技巧
两类阿尔法模型:理论驱动型和数据驱动型
理论驱动型
- 理论驱动型交易策略可以分为6类
- 趋势型(trend), 依赖于价格数据
- 回复型(reversion), 价格数据
- 技术情绪型(technical sentiment), 价格数据
- 价值收益型(value/yield), 基本面数据
- 成长型(growth), 基本面数据
- 品质型(quality), 基本面数据
- 基于价格数据的交易策略(已有趋势是否会延续,目前的趋势是否会反转)
- 趋势跟随策略(动量策略)
- 趋势通常在较长时间内延续
- 反趋势策略(均值回复策略)
- 均值回归策略适用于短期投资
- 技术情绪型策略
- 追踪投资者情绪相关指标来判断回报
- 趋势跟随策略(动量策略)
- 依托基本面数据的策略
- 价值型/收益型 (“便宜/昂贵” 分析)
- 度量资产价值的指标,市盈率(P/E),盈利收益率(E/P),股息收益率 。收益率越高,价格越低。
- 利差交易:买入估值过低的证券并卖出估值过高的证券
- 量化多空策略(quant long/short, QLS):寻找相对价值较低的股票
- 成长型(考虑资产以往增长水平进行分析而对未来走势进行预测)
- 市盈率与增长比率(PEG)
- 成长性投资者应设法今早判断出公司的股价处于增长期,从而捕获到公司股价未来更大幅度的上涨。
- 品质型
- 在其他条件相同的情况下,最好买入或持有高品质的产品而做空或减少低品质的资产。
- 看中资金安全性(杠杆比率,收入来源多样性,管理水平,欺诈风险)
- 价值型/收益型 (“便宜/昂贵” 分析)
- 理论驱动型交易策略可以分为6类
数据驱动型阿尔法模型
- 数据挖掘模型的缺陷
- 选择什么数据去建模
- 如果输入变量中噪声信息过大,包含很多错误信号,会误导数据分析人员。
- 技术分析人士,通常寻找市场行为中重复的模式,希望能对未来进行预测
- 数据挖掘模型的缺陷
实施策略
- 信号强度(signal strength),信号水平越高,收益或损失就越大
- 阿尔法模型实施的第二关键因素是投资期限
- 较短投资期限上收益差别通常要大于较长投资期限情形
- 高频交易策略:预测期限不超过当前交易日
- 短线交易策略:持仓一天到两周
- 中线策略:预测期限是几周到几个月
- 长线策略:持仓几个月或更长时间
- 投注结构:同时使用几种分组技术来减弱单一分组带来的风险
- 投资范围
- 地理范围
- 产品类别
- 模型设定
- 用数学语言给出策略的具体表达
- 模型参数设定
- 条件变量
- 修正型条件变量:基于某种给定的信号,根据该信号的特征而发生变化
- 辅助型条件变量:要求多种信号达成一致从而触发交易
- 运行频率
- 策略的多样性
混合型阿尔法模型
- 把每个阿尔法模型的产出乘以对应的权重再加起来,就可以得到组合的预测,用来指导如何构建目标投资组合
- 非线性模型对不同的阿尔法模型进行组合
第4章 风险模型
风险管理绝不仅仅是规避风险和减少损失,是通过对敞口实施有目的的选择和规模控制来提高收益的质量和稳定性
一般来说,风险模型会降低量化策略的盈利,但同时也可以降低策略收益波动性,降低重大损失发生的可能性。
- 控制风险规模
- 多种控制规模的量化交易模型,主要体现在一下三方面
- 控制规模的方式
- 度量风险的方式
- 怎么才算控制了规模
- 通过约束或惩罚加以限制
- 设定风险线(规定头寸规模不能超过投资组合的3%)
- 度量风险
- 计算不同时期各个产品收益的标准间差(波动率)
- 计算给定时间内所有相关金融产品的横截面标准差。标准差越大,说明金融茶农的表现种类多样化,意味着市场处于低风险中,可以选择多样化产品投注。
- 限制值的使用范围
- 多种控制规模的量化交易模型,主要体现在一下三方面
- 限制风险种类
- 最好能消除所有无意的风险敞口是条基本准则
- 理论驱动型风险模型(基本假设:系统风险可以被度量并加以减缓)
- 专注于已知的或系统性风险因素
- 合理的经济学解读风险因素
- 理论驱动型风险模型更受宽客青睐,因为风险因素有明确意义
- 经验型风险模型 (基本假设:系统风险可以被度量并加以减缓)
- 根据历史数据来判断这些风险是什么以及投资组合如何暴露其中
- 统计学的基本理解揭示风险模型的另外一个问题(数据量越多,回溯时间长,模型自适应能力差。数据少,统计意义不足。可以使用日间数据,每分钟频次)
第5章 交易成本模型
交易成本模型的基本理念是:交易是有成本的,除非有足够的理由,否则不应该进行交易
- 定义交易成本
- 主要有三部分构成:佣金和费用、滑点(slippage)、市场冲击成本(market impact)
- 佣金和费用:支付给经纪商、交易所和监管者的费用
- 滑点:交易者决定开始交易到订单进入交易所系统实际被执行这两个时间段所发生的价格变动
- 决定下单到订单进入市场被执行之间会存在一个时间间隔,而滑点是关于这个间隔的一个函数。
- 市场冲击成本:交易者买入某项产品的行为会推高该产品的价格。而交易者想要卖出,当他完成交易时会造成产品价格的下降。
- 大规模订单会造成巨大的波动幅度
- 定义为订单进入市场时的价格和订单被执行价格之间的差价
- 交易成本模型的种类
- 4种基本类型:常值型、线性、分段线性,二次型交易成本模型
- 在对不同产品的交易成本进行估计时,很多宽客对其投资组合每一种产品单独使用模型,并且基于交易系统所收集的数据允许模型随着时间变化。
- 交易成本用图形可视化(横轴订单规模,纵轴交易成本),宽客们普遍认为曲线应该是二次型,但是二次函数建模复杂,计算量更大。所以用其他方法。
第6章 投资组合构建模型
结合阿尔法模型,风险模型,交易成本模型之后,决定改进行怎样的投资组合。主要考虑期望收益、风险和交易成本之间的平衡
量化投资组合模型主要分文两大类,一类是基于规则的模(依赖于经验)型,另一类是基于优化的(使用程序算法进行优化)
- 基于规则的投资组合构建模型
- 常见的基于规则的投资组合模型有4类:相等头寸加权、相等风险加权、阿尔法驱动型加权和决策树加权。
- 相等头寸加权:尽可能多的头寸上多样化投注来减缓风险
- 相等风险加权:根据风险的波动性,来调整头寸的规模。
- 无论采用何种方法度量风险,都是一种回顾型度量
- 阿尔法驱动型加权:通过阿尔法模型来决定头寸规模。
- 使用风险模型给出单个头寸的最大规模上限
- 投资组合最优化
- 均值方差优化技术。三个输入变量(期望收益,方差,期望相关系数矩阵),输出在不同风险水平下可以达到的最高可能收益投资组合,称为有效边界
- 波动率预测
- 期望相关性随时间变化很大
- 优化技术
- 无约束条件的优化方法:把所有钱投入到最该风险调整的金融产品上
- 带约束条件的优化方法:头寸规模限制,产品组头寸限制
- Black-Litterman优化方法:解决了优化工具的输入变量带有测量误差的一些相关问题。利用投资者对不同金融产品收益的预测来调整真实观测到的产品间相关系数。
- grinold-kahn方法:建立因素投资组合群。根据各个模型的权重来确定各个头寸的权重
- 重新取样效率:改进优化工具的输入变量。用蒙特卡洛模拟的方法对数据重新取样,减少优化工具的输入偏差。
- 基于数据挖掘的最优化方法
- 投资组合构建模型的输出
- 输出变量是目标投资组合:理想的头寸及各个头寸的规模
- 将目标投资组合与现有投资组合进行比较,二者间的差距就是需要进行的交易。
- 如何选择投资组合构建模型
第7章 执行模型
绝大多数宽客通过电子交易。交易者通过经纪公司的基础设施和交易接口在电子市场(ECN)直接进行交易。电子交易通过直接准入市场(DMA)得以实现
- 订单执行算法
- 执行算法的主要目的以及绝大部分执行方法的主要功能就是新建和消除头寸时最小化交易成本。
- 度量执行算法的效率
- 中间市场价格:最佳买入和最佳卖出价的均值
- 交易量加权平均价格:衡量多笔交易时执行算法的质量
- 进取订单和被动订单
- 一个常见的这种做法是将限价订单的价格设定在介于最佳买入价和最佳卖出价之间的某个价位。
- 其他订单类型
- 暗订单:让市场其他参与者看不到自身订单信息的交易方式(牺牲与相同价格明订单的优先权为代价),只有部分交易所允许暗订单交易
- 大订单和小订单:与小订单相比,大订单的交易成本会不成比例的快速上涨。常用方法是将大订单进行拆分,带回面临价格波动风险,以及市场冲击带来的额外成本,
- 何处下单
- 交易基础设施
- 宽客在实施交易策略过程中所使用的硬件和软件都属于基础设施的最终组成部分。绝大部分交易者使用第三方经纪公司作为执行策略的代理机构。
- 主机托管(colocation):对延迟效应敏感的量化策略可以选择主机托管的方式改进连接速度。交易者将交易服务器的物理地址尽可能靠近交易所。
- 金融信息交换协议(FIX):
第8章 数据
- 数据的重要性
- 错误的数据将导致错误的结果
- 绝大部分顶级公司都是从源头直接手机数据,而不是从数据供应商那里购买
- 数据类型
- 数据可以分为两类:价格数据和基本面数据
- 大部分价格数据倾向于关注短期效应。基本面数据中通常是长期策略。
- 数据来源:从源头直接获取
- 数据清洗
- 缺失值处理
- 错误观测值:异常值过滤
- 数据中含有错误的时间戳
- 数据不同步(前视偏差问题)
- 数据存储:关系型数据库
第9章 研究
集中讨论交易策略中阿尔法模型方面的研究
研究蓝图:科学的方法
- 观察具有可解释性的食物
- 形成理论去解释观察结果
- 对理论进行推断
- 理论需要检验
- 市场是高度动态的过程。量化交易者必须持续不断地进行研究。
思想的产生
- 宽客提出他们的想法主要方式是观察市场
- 金融学术论文
- 研究员或者投资组合经理在量化公司之间的迁移
检验
- 样本内测试(训练) :样本的宽度(股票数量)和长度(时间跨度)
- 使用更多的数据,宽客构建的模型适用于更广泛的情景和市场环境。但是当模型被调整的实际,构建模型的风险越大(仅能对过去进行很好的解释)
- 使用交叉数据进行样本内检验和模型拟合检验
- “良好的”模型组成部分
- 模型“好坏”的度量:
- 累计盈利图
- 平均收益率
- 收益率随时间变异性
- 波峰波谷最大降幅(最大回撤)
- 预测力(统计量R-squared)
- 胜率或盈利时间占比
- 回报相对于风险的不同比率(夏普率,信息比率)
- 与其他策略的关系(比较现存策略和加进新思想后的结果,度量新策略的价值)
- 时间延迟:获得信号后,延迟交易,策略收益如何
- 特定参数敏感性
- 过度拟合:能够很好解释过去的模型,但对未来解释性较差
- 模型复杂度(对有许多参数或因子的模型要持怀疑态度,考虑到过拟合的风险)
- 模型“好坏”的度量:
- 样本外检验
- 样本检验外的R2R^2R2和样本检验内R2R^2R2的比值
- 通常情况下,在样本内数据和样本外数据来回切换是个可怕的想法,会带来问题。(不能使用未来的数据)
- 检验中的假设条件
- 样本内测试(训练) :样本的宽度(股票数量)和长度(时间跨度)
第三部分 量化投资策略实战指南
第10章 量化策略的风险内生性
模型风险:任何一个量化交易系统都会带给投资者的最基本风险类型
- 建模的不适宜性
- 对于给定问题进行错误的量化建模
- 对已知问题的模型的错误应用
- 模型的错误设定:研究员建立了不能很好描述真实世界的模型
- 执行错误:软件或者网络架构错误
- 建模的不适宜性
结构关系变化风险:市场结构的转变引起以和金融工具的历史行为或者金融工具之间的关系剧烈变动
外生冲击风险:主要不是有市场内部信息所驱动(战争,恐怖袭击,政治干预),当非市场信息对价格产生影响,股价运动趋势大于平常的幅度,量化策略会受到影响。
蔓延风险和同质投资风险:这类风险不是因为策略本身,而是因为其他投资者持有相同的策略
- 这个风险因素和策略使用的人数相关
- 与其他投资者持有的别的因素有关,这些因素使得他们退出量化交易策略
宽客如何监控风险:利用不同的软件监控风险敞口、监控它们的系统和各种各样的量化特有风险。
- 敞口监控工具:从当前持有头寸开始,根据经济所关心的敞口进行分许和分析头寸
- 利润和损失监控工具:关心投资组合前一天的收盘价,并对同一产品的收盘价与当前市场价格进行比较
- 执行监控工具:显示量化交易者的执行进度。显示目前正在运行的订单以及哪种订单被完成,包含交易规模和价格信息。
- 系统性能监控工具:检测软件和基础设施错误。
第11章 对量化交易的批评
交易是一门艺术、不是科学
由于低估风险,宽客引发很多的市场波动性:这个批评即包含真实成分,也包含虚假成分。
宽客不能应对市场行情中的不寻常时间或者快速变化:对量化交易最合理的批评
- 宽客必须依赖于历史数据才能对未来进行预测,这种依赖性的结果是,当市场发生重大或者突然改变时,很可能会遭受损失。
宽客不是完全相同
- 宽客建立量化交易策略自由度很大
- 量化经理的日收益相关性很低
长远来看,只有少数几个大型量化公司才能蓬勃发展(错误结论)
- 在困难时期,管理大量资金并不总是好事
- 较小的对冲基金实际上表现优于大型对冲基金
- 较小规模基金的基金经理倾向于将注意力集中在他们熟悉的事情上,而大型经理为了扩大资金规模,需要多样化的投资领域,大型经理会涉及越来越多远离自己专业的领域
- 绝大多数量化策略的成功与否是由负责人良好的判断力和有效的研究过程决定。
- 精通数学,计算机科学和金融的人在一起工作会更好
宽客在数据挖掘中存在错误:基于数据挖掘技术广泛应用于社会和自然科学学科的许多领域,认为数据挖掘技术不能应用于资本市场是有失公平的
- 在量化金融领域,过度拟合的必然结果就是损失金钱
- 在数据挖掘策略中,较短周期更能经得起数据挖掘的考验。
- 持有周期少于1天的策略,数据挖掘策略可能更有用
- 持有周期近似为一个星期的策略,将数据挖掘技巧与健全的市场理论向结合的混合策略更好用
- 对于期望吃藕周期为数月或者数年的策略,过度依赖数据挖掘技巧可能不奏效
第12章 评估宽客和量化交易策略
- 收集信息
- 评估量化交易策略
- 投资过程的6个主要内容
- 研究和发展策略
- 数据搜寻,清洗
- 投资选择和构造
- 投资组合构建
- 执行
- 分析管理和监测
- 策略的收益模式
- 投资过程的6个主要内容
- 评估量化交易者
- 宽客应该在分析中保持细心和谨慎,必须对未来的预测能力保持谦逊的态度
- 深入了解一些投资过程的细节:对既定宽客品质的评价经常来自细节方面的决策
- 优势:定义优势是指有利于投资组合经理成果概率的因素。
- 优势有三个共性来源:投资过程、缺乏竞争、结构性因素
- 评估宽客的诚信
- 宽客如何适应投资组合
- 阿尔法投资组合:投资组合的构建是风险敞口分配的问题
- 赌注结构
- 投资期限多样化
第四部分 高速及高频交易
高频交易在市场上有一定占比
高频交易者在当天平仓,高频交易策略不追求日内累计较大量头寸
- 高频交易者要求拥有高速度的交易设施
- 高频交易要求投资时间范围低于1天
- 任何时候不能持有隔夜头寸
第14章 高速交易
高速交易也被称为低延迟交易,指的是对于不同类型的交易者,要求以最低延迟进入市场,能够以最低延迟执行决定
速度的重要性
- 被动订单是不能立即成交的限制订单;进取型订单是一个可以立即执行的订单。
- 流动性在任何时候都可以定义为立即以公允价格进行单元交易的可行性
- 价格的公平性
- 能够广泛反映金融工具中潜在的经济暴露的基本面
- 与其相似的金融工具具有敏感性
- 放置被动型订单中速度的重要性
- 放置进取型订单中速度的重要性
- 取消被动订单中速度的重要性
延迟根源
- 市场内外传输:距离交易所相匹配引擎越近的地方,信息进入和流出的速度越快。
- 匹配引擎是指交易所用时间戳标记和对进入市场订单进行优先顺序排列,将买卖双方集中在一起进行逻辑匹配, 并对交易数据进行播送的软件
- 市场中心间的传输:证券经常会在许多地方进行交易,存在数据整合的问题
- 建立订单薄:利用各种信息(新订单、取消订单、交易订单)脚力订单薄是宽客的工作。存在速度和精确度的权衡
- 整合订单薄:对于分散市场,有许多信息流需要整合到一个统一的订单薄里面。
- 数据突发:建立高速交易设备最重要的挑战之一是每一条的信息并不是匀速到达。在遇到高的消息流时,延迟时间会越长。
- 信号构建: 量化交易策略的速度(算法时间复杂度)
- 风险检查:在向市场发送订单之前的最后一步是想风险监管部分递交订单(风险监管有延迟)。
- 市场内外传输:距离交易所相匹配引擎越近的地方,信息进入和流出的速度越快。
第15章 高频交易
聚焦于高频交易,理解这些交易者所用的策略,并弄清楚这些策略如何与基础设施相关联
高频交易策略分位4种类型:契约型做市(contractual market making)、非契约型做市(noncontractual market making)、套利(arbitrage)、快速的alpha策略(fast alpha)
契约型做市
- 做市(market making):中间商,为有需求的人们提供市场流动性
- 契约型做市商被要求做到:1. 支付给经纪人一定的费用 2. 完成客户发送的所有订单
非契约型做市:为不同交易所提供订单薄中的买单和卖单
套利:暗含着无风险盈利,很有吸引力,也很难得到
- 当金融工具结构性相关是,套利机会存在
- 为了获取套利的资格,交易者必须捕捉市场的无效性
- 指数套利:比较跟踪一个指数的金融工具和跟踪同一个指数的金融工具的值,或者和这个指数的成分股相比
- 跨市场套利:利用分散的市场结构(多种交易所交易同一金融产品),有时会引起不同交易地点,同一金融产品价格的不同。
快速的阿尔法策略
- 主要利用价格信号
- 快速的alpha策略对贯穿于交易日频繁变化的信息、价格、容量和订单薄信息其作用
- 速度的必要性源于渴望将被动订单放置于订单的顶部,以及源于有必要取消陈腐的被动订单
高频交易风险管理和投资组合构建
- 对于高频交易策略,风险管理最常见的方向是控制极少数易于计算的风险。(最大订单数,限定金融产品的最大累计头寸国模)
第16章 关于高频交易的争论
关于高频交易是否创造了不公平竞争
- 投资于昂贵的基础设施并不能保证成功
- 很难看出高频交易不公平以及高频交易创造双层体制的观点
高频交易是否导致老鼠仓交易或者操控市场
- 高频交易者在订单发生之前看见订单是不可能存在的
- 高频交易者取消订单的频率在微观层次操纵市场
- 高频交易在一些市场上的出现大大缓解了日终操控的频率和严重性
高频交易是否导致更大的波动性和结构不稳定性、
- 无论是计算机,还是高频交易者都不会在实体经济投资者关系的问题上扮演任何角色
- 高频交易者不需要对波动性进行负责
高频交易是否缺乏社会价值
- 高频交易者实际上为市场提供了大量的流动性,促进了大量其他交易者的交易活动
监管注意事项
- 金融交易税(针对高频交易和市场结构改进最愚蠢的想法)
高频交易者不是由邪恶的人们所操纵,他们遵守市场规则,具备良好意识。高频交易不该被禁止。
第17章 量化交易的展望
- 今天的市场比过去更加公平平等
- 低延迟技术竞争的尽头是一片光明
- 量化交易系统所使用的方式也需要发展
《打开量化投资的黑箱》 阅读笔记相关推荐
- trainer setup_Detectron2源码阅读笔记-(一)Configamp;Trainer
一.代码结构概览 1.核心部分 configs:储存各种网络的yaml配置文件 datasets:存放数据集的地方 detectron2:运行代码的核心组件 tools:提供了运行代码的入口以及一切可 ...
- VoxelNet阅读笔记
作者:Tom Hardy Date:2020-02-11 来源:VoxelNet阅读笔记
- Transformers包tokenizer.encode()方法源码阅读笔记
Transformers包tokenizer.encode()方法源码阅读笔记_天才小呵呵的博客-CSDN博客_tokenizer.encode
- 源码阅读笔记 BiLSTM+CRF做NER任务 流程图
源码阅读笔记 BiLSTM+CRF做NER任务(二) 源码地址:https://github.com/ZhixiuYe/NER-pytorch 本篇正式进入源码的阅读,按照流程顺序,一一解剖. 一.流 ...
- Mina源码阅读笔记(一)-整体解读
2019独角兽企业重金招聘Python工程师标准>>> 今天的这一节,将从整体上对mina的源代码进行把握,网上已经有好多关于mina源码的阅读笔记,但好多都是列举了一下每个接口或者 ...
- “CoreCLR is now Open Source”阅读笔记
英文原文:CoreCLR is now Open Source 阅读笔记如下: CoreCLR是.NET Core的执行引擎,功能包括GC(Garbage Collection), JIT(将CIL代 ...
- QCon 2015 阅读笔记 - 团队建设
QCon 2015阅读笔记 QCon 2015 阅读笔记 - 移动开发最佳实践 QCon 2015 阅读笔记 - 团队建设 中西对话:团队管理的五项理论和实战 - 谢欣.董飞(今日头条,LinkedI ...
- 05《软件需求模式》阅读笔记
剩下的两个阅读笔记写第二部分.各类需求模式,共八个领域和它的需求模式,这一次写前四个. 基础需求模式,它是所有种类的系统都可能需要的一些东西.系统间接口需求模式使用系统间接口需求模式定义被定义的系统和 ...
- [置顶] Linux协议栈代码阅读笔记(一)
Linux协议栈代码阅读笔记(一) (基于linux-2.6.21.7) (一)用户态通过诸如下面的C库函数访问协议栈服务 int socket(int domain, int type, int p ...
- 大型网站技术架构:核心原理与案例分析阅读笔记二
大型网站技术架构:核心原理与案例分析阅读笔记二 网站架构设计时可能会存在误区,其实不必一味追随大公司的解决方案,也不必为了技术而技术,要根据本公司的实际情况,制定适合本公司发展的网站架构设计,否则会变 ...
最新文章
- 手机密钥连接linux主机
- jmeter获取时间_time 函数
- Swift 中的指针使用
- P4718-[模板]Pollard-Rho算法
- 人生的12个经典领悟
- 1069. 微博转发抽奖(20)
- can't select mysql database_ERROR 1006 (HY000) Can't create database (errno: 13) MySQL 5.6.12
- 定义和声明之间有什么区别?
- 二相四线制步进电机驱动原理与Proteus仿真
- @override注解_Spring中的各种注解深入理解
- 制作Thinkpad五合一WIN7光盘(只要两个小步骤,并附$OEM$资料包下载)
- 自然语言处理(一)——中英文分词
- 【转自Testerhome】iOS 真机如何安装 WebDriverAgent
- 不要在循环中访问数据库,这样会严重影响数据库性能
- 2021 年最佳 3D 渲染 GPU
- 利用二进制位求平均值
- 美国大学生数学建模竞赛获奖经验贴
- java从学号中提取班级_如何实现表间查询并提取班级号
- H2 数据库怎么导出和导入
- python列表两两相减_【数据分析入门】之:如何用Python代替Excel(1)
热门文章
- php进销存 手机版_银鱼进销存app下载-银鱼进销存手机版 v1.4.6
- 积分球原理及积分球类型介绍
- eds能谱图分析实例_X射线光电子能谱(XPS)谱图分析
- 三进制计算机_来了!中级综合能力常考知识点集锦(三)
- 如何重定向cin和cout?
- tomcat11、tomcat10 安装配置(Windows环境)(详细图文)
- 基于sklearn的人工神经网络
- 在 console mode 中使用 C/C++ 编译器 (作者:侯俊杰)
- Predicting Human Microbe-Drug Associations via Graph Convolutional Network with Conditional Random F
- 树莓派 交叉编译 php,apm 树莓派的交叉编译方法 - 穿越机综合技术讨论区-5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)...