首页> 中国专利> 用于快速筛查的领域专用语言解释器和交互式可视界面

用于快速筛查的领域专用语言解释器和交互式可视界面

摘要

本申请公开了允许针对领域专门配置的计算系统的用户探索和过滤属性丰富的数据集中的数据以测试筛选策略并发现特别感兴趣的目标的改进系统和方法。该技术包括输入界面诸如多行编辑器,该多行编辑器允许用户在任何时间录入、修正、添加、插入、减去、改变以及以其他方式自由编辑所录入的符号和运算符。领域专用语言解释器在所录入的符号和运算符被更新时连续地处理它们。交互式可视界面还包括显示根据该输入界面的当前内容进行更新的实时结果的网格视图。

著录项

  • 公开/公告号CN116235144A

    专利类型发明专利

  • 公开/公告日2023-06-06

    原文格式PDF

  • 申请/专利权人 奎克索提克实验室公司;

    申请/专利号CN202180061410.5

  • 发明设计人 萨拉·伊塔尼;

    申请日2021-05-25

  • 分类号G06F9/451(2006.01);

  • 代理机构北京领科知识产权代理事务所(特殊普通合伙) 11690;北京领科知识产权代理事务所(特殊普通合伙) 11690;

  • 代理人张丹;杨晞

  • 地址 美国华盛顿州西雅图市

  • 入库时间 2023-06-23 06:30:03

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-06-23

    实质审查的生效 IPC(主分类):G06F 9/451 专利申请号:2021800614105 申请日:20210525

    实质审查的生效

说明书

相关申请的交叉引用

本申请要求于2020年5月24日提交的名称为“Domain-Specific LanguageInterpreter and Interactive Visual Interface for Rapid Screening”并将SaraItani列为发明人的美国临时专利申请号63/029,556的权益。上述申请的全部内容以及随附提交的申请数据表中引用的所有优先权文档的全部内容均出于所有目的通过引用整体并入本文。

技术领域

本公开涉及允许计算系统的用户探索和过滤领域专用、属性丰富的数据集中的数据以测试筛选策略和发现特别感兴趣的目标的改进系统和方法。

背景技术

筛选大量数据以找到有价值的东西通常是一项艰巨的任务。“大海捞针”和“四处寻找”等比喻表达了这样一种挑战,例如,招聘经理寻找一组面试工作的候选人,购房者在购买前确定要考虑参观的少量房屋,或者投资者筛查证券以选择一组值得考虑作为投资的股票。

例如,股票市场为投资者提供了大量的证券,其中可以从大量来源获得关于每种证券的大量信息。为了使挑选感兴趣证券的过程更易于管理,投资者可以根据一些标准筛查证券,以缩小名单。结果是范围更小的名单;剩余的证券是否更有前景取决于投资者对标准的选择以及在选择和验证这些证券时的复杂程度。基于用于缩小名单的大量可用标准(一些是有用的、一些是无价值的,一些最终会产生误导),即使有效地筛查证券也可能充满挑战。

筛查策略可能试图反映投资者的投资理念,或者通常被视为一种形式或偶尔用于支持预感。

附图说明

图1例示了根据一个实施方案的快速筛查系统的示例性用户界面,示出了被配置用于股权筛查的多行编辑器和网格视图显示。

图2例示了根据一个实施方案的快速筛查系统的操作例程。

图3A至图3B例示了根据一个实施方案的被配置用于股权筛查的快速筛查系统的示例性用户界面,示出了多行编辑器内的修改。

图4例示了根据一个实施方案的被配置用于股权筛查的快速筛查系统的示例性用户界面,示出了用于创建自定义股权范围的对话框。

图5A例示了根据一个实施方案的被配置用于股权筛查的快速筛查系统的示例性用户界面,示出了领域专用灵活文本匹配和完成建议。

图5B例示了根据一个实施方案的被配置用于股权筛查的快速筛查系统的示例性用户界面,示出了数据标签探索。

图6A至图6B例示了根据一个实施方案的被配置用于股权筛查的快速筛查系统的示例性用户界面,示出了根据标准的过滤。

图7例示了根据一个实施方案的被配置用于股权筛查的快速筛查系统的示例性用户界面,示出了分配给自定义变量名称的表达式。

图8A至图8C例示了根据一个实施方案的被配置用于股权筛查的快速筛查系统的示例性用户界面,示出了对自定义变量名称的多个引用的同时重命名。

图9例示了根据一个实施方案的被配置用于股权筛查的快速筛查系统的示例性用户界面,示出了领域专用句法错误处理。

图10例示了根据一个实施方案的被配置用于股权筛查的快速筛查系统的示例性用户界面,示出了变换函数。

图11例示了根据一个实施方案的被配置用于股权筛查的快速筛查系统的示例性用户界面,示出了阵列数据的自动图形显示。

图12例示了根据一个实施方案的被配置用于股权筛查的快速筛查系统的示例性用户界面,示出了到10-K报告的链接的自动显示。

图13例示了根据一个实施方案的被配置用于股权筛查的快速筛查系统的示例性用户界面,示出了持有专利的公司的选择性显示。

图14例示了根据一个实施方案的被配置用于股权筛查的快速筛查系统的示例性用户界面,示出了对10-K报告中找到的文本的过滤。

图15例示了根据一个实施方案的被配置用于股权筛查的快速筛查系统的示例性用户界面,示出了结果的分组。

图16A至图16B例示了根据一个实施方案的用于现有技术系统的示例性公式和用于被配置用于股权筛查的快速筛查系统的对应示例性表达式,示出了改进的易用性。

图17A至图17B例示了根据一个实施方案的被配置用于股权筛查的快速筛查系统的示例性用户界面,示出了回溯测试。

图18例示了根据一个实施方案的被配置用于股权筛查的快速筛查系统的示例性变化警报图。

图19A例示了根据一个实施方案的用于在被配置用于股权筛查的快速筛查系统中进行内省的示例性AI特征。

图19B例示了根据一个实施方案的用于在被配置用于股权筛查的快速筛查系统中进行预测的示例性AI特征。

图20例示了根据一个实施方案的用于在被配置用于股票筛查的快速筛查系统中进行制度变更检测的示例性AI特征。

图21例示了根据一个实施方案的用于在被配置用于股权筛查的快速筛查系统中优化混合的示例性AI特征。

图22例示了根据一个实施方案的用于在被配置用于股权筛查的快速筛查系统中进行特征建议的示例性AI特征。

图23例示了根据一个实施方案的被配置用于股权筛查的快速筛查系统的示例性用户界面,示出了运算符的创造性使用。

图24例示了根据一个实施方案的被配置用于股权筛查的快速筛查系统的示例性用户界面,示出了自动格式化。

图25例示了根据一个实施方案的被配置用于股权筛查的快速筛查系统的示例性用户界面,示出了预测的时间点态势报告。

图26例示了根据一个实施方案的被配置用于股权筛查的快速筛查系统的示例性用户界面,示出了态势报告历史预测图。

图27是示出通常结合在可以实现本技术的计算系统和其他设备中的一些组件的框图。

图28是例示根据一个实施方案的用于回溯测试的示例性并发服务器交互的若干组件的示意和数据流图。

图29是例示根据一个实施方案的用于实现快速筛查系统的示例性服务器系统的若干组件的示意图。

具体实施方式

本申请公开了允许针对领域专门配置的计算系统的用户探索和过滤属性丰富的数据集中的数据以测试筛选策略并发现特别感兴趣的目标的改进系统和方法。

所公开的技术利用了一种新颖的、直观的方法,包括领域专用语言解释器和交互式可视界面,它们一起立即响应以领域专用语言录入的符号和运算符。该技术包括输入界面诸如多行编辑器,该多行编辑器允许用户在任何时间录入、修正、添加、插入、减去、改变以及以其他方式自由编辑所录入的符号和运算符。领域专用语言解释器在所录入的符号和运算符被更新时连续地处理它们。交互式可视界面还包括显示根据该输入界面的当前内容进行更新的实时结果的网格视图。

该技术还提供了选定目标相对于历史资料和基准的高速并行评估,使得策略能够在几秒钟内进行回溯测试。该技术还包括人工智能(AI)机器学习特征,以帮助用户识别策略或驱动它们的因素、寻找相似的目标以及考虑不同的评估标准。

例如,当应用于证券信息时,本文公开的系统和方法提供了用于筛查证券的改进方法。

总之,所公开的技术的各个方面提供了使用短学习曲线的高易用性,并且提供了即时反馈以使得能够快速细化用于探索、可视化和过滤结构化和/或非结构化数据的迭代搜索策略。领域专用语言以及相关联的解释器和交互式可视界面将数据探索、查询、可视化以及即将到来的目标整合到一个中心工作流中。领域专用语言的结构和由快速筛查系统提供的立即的、用户友好的反馈相结合以鼓励迭代发现和探索,从而使得用户能够可视化他们的筛查标准的效果并且使得仅具有商业电子表格经验的用户足够容易地快速执行复杂的筛查操作。因此,想要找到答案的没有技术专长的人可以通过当前公开的技术获得答案,而不必依赖于具有这种专长的不同的人或团队。进一步的结果是,用户能够基于该技术提供的特征来实时探索选项并细化他们的想法。

此外,本公开的技术允许在想法生成、筛选、研究、测试、执行和监控策略(例如,投资策略)的过程中发生根本性转变。在过去,这些过程中的每个过程都将被单独处理。所公开的技术独特地合成了所有这些。本技术用有限的、分开的反馈回路来代替由不同的人执行的不相交的过程,并且将其整合到一种语言、工具和界面中,形成一个集成的即时反馈回路。

本公开中描述的为所公开的快速筛查系统提供基础的技术包括编译器、人机界面或交互(HCI)、编程语言设计、数据库工程、分布式计算、机器学习、定量分析和金融方面的进步和见解。因此,本公开的改进作为一个整体结合了若干不同领域的改进,并且对于任何一个领域的普通技术人员来说通常不是显而易见的。

现在详细参考如附图中所示的实施方案的描述。虽然结合附图和相关描述来描述实施方案,但是不存在将范围限制于本文所公开的实施方案的意图。相反,其意图是覆盖所有另选方案、修改和等效方案。在另选实施方案中,不同的或附加的输入(例如,下拉菜单选择器或自然语言处理)可添加到所例示的那些输入界面或与其组合,而不将范围限制于本文所公开的实施方案。例如,下文阐述的实施方案主要在股权筛查的上下文中进行描述。然而,本文所描述的实施方案是例示性示例,并且决不将所公开的技术限于任何特定应用、领域、知识主体、搜索类型、或计算平台。

短语“在一个实施方案中”、“在各种实施方案中”、“在一些实施方案中”等重复使用。这样的短语不一定指相同的实施方案。术语“包含”、“具有”和“包括”是同义的,除非上下文另有说明。如在本说明书和所附权利要求书中所使用的,单数形式“一个”、“一种”和“该”包括复数指示物,除非该内容清楚地另有说明。还应当注意,术语“或”通常以其包括“和/或”的含义使用,除非该内容清楚地另有说明。

所公开的快速筛查系统和方法可采用多种形状因素。图1至图29示出了若干不同的布置和设计。所例示的快速筛查系统不是详尽的列表;在其他实施方案中,句法可以被重新排列(例如,“仅”或“限制”而不是“过滤器”或“~”),或者输入编辑器或结果显示能够以不同的排列形成。然而,没有必要详尽地示出这些任选的具体实施细节来描述示例性实施方案。

图1例示了根据一个实施方案的快速筛查系统的示例性用户界面100,示出了被配置用于股权筛查的多行编辑器101和网格视图显示102。用户界面100可以由一个或多个快速筛查系统计算设备诸如本地或远程服务器提供,下文参考图27、图28和图29更详细地描述。在所例示的用户界面100中,快速筛查系统向用户提供多行编辑器101,在该多行编辑器中用户已经在编号为1-6的一系列行上录入符号110、120、130、140、150、160。

行1-6中的每一行包含作为领域专用语言(在该情况下,专用于证券领域的语言)的一部分的符号110-160。符号110-160表示以下各项中的一项或多项:开始的标识符全域,每个标识符表示该全域的成员;数据值的数据标签,每个数据值与标识符相关联;对数据值进行处理的运算符;和/或用于限制或缩小要考虑的标识符全域的过滤标准。

规范定义了领域专用语言。领域专用语言集中在领域上,因此可以包括相对于通用编程工具或语言的约束。相反,诸如Python或结构化查询语言(SQL)等通用语言是跨领域编程语言而不是领域专用语言。领域专用语言中的大部分句法是领域专用术语,使得本领域的普通技术人员将认识到领域专用语言中的大部分句法。这意味着领域专用语言包含非常少的编程专用句法,并且不适于通用编程。这还意味着用户可以在不进行任何“编程”的情况下获得结果:即使用户只录入一个数据标签,快速筛查系统也会显示结果,因为它在语义上有意义,因此也是人类可读的。

在各种实施方案中,领域专用语言包含表示与标识符相关联的数据(包括对数据的操作的结果)或用于在标识符中进行选择的过滤操作的符号。

在一些实施方案中,领域专用语言不包含非领域专用关键词。在这种情况下,运算符都是符号(诸如“+”或括号“[”...“]”)。因此,用户在多行编辑器101中录入的所有字母文本可以被理解为有意义的,例如数据标签。在一些实施方案中,领域专用语言不包含除变换函数之外的非领域专用关键词。

数据标签各自表示与标识符(例如,可以通过唯一的证券ID和/或可识别的股票代号来识别的证券)相关联的数据值,该标识符包括根据其他值诸如表达式的结果计算的值。在许多实施方案中,数据值还与日期、时间跨度或一系列日期相关联。数值的类型可以包括例如数值(例如,证券的最近价格或股本回报率(“ROE”))、字符串值(例如,国家或行业)、多个值的阵列(例如,过去4个季度中的每个季度的ROE或最近新闻标题)、数据结构/集合/序列化,诸如JSON(JavaScript对象表示法)或XML(可扩展标记语言)或HTML(超文本标记语言)或者CSV(逗号分隔值)数据(例如,关于10-K报告的信息,包括其日期和超链接)等。

表达式是领域专用语言中的数据标签和运算的有限的、格式良好的组合;用户输入的行可被解释为一个表达式或多个表达式。对用户录入的每个表达式进行评估,为每个标识符生成上述类型的数据值中的一种(例如,串接或以其他方式组合字符串以生成新字符串,或计算ROE和资产回报率(“ROA”)的标准化加权组合以生成新的数值)。表达式可以使用标准数学运算符,例如“+”或“*”。因此,表达式会产生根据其他数据值(包括其他表达式)计算得出的数据值。

变换是生成元数据的表达式,该元数据表征标识符相对于引用的数据值,诸如随时间推移、相对于标准分布、或相对于其他证券(例如,平均、分级、五分位数、标准化、趋势稳定性等)。

变量名称表示用户分配给任意用户选择的变量名称的任何数据值集合(例如,用户想要计算的任何表达式的值),这些变量名称然后变成表示该数据值的自定义数据标签,以便于之后引用。以这种方式,用户可以扩展领域专用语言。

要考虑和筛查的标识符(例如,证券)全域可能包括预定义的集合(所有股票、S&P

匹配运算符提供了例如数字比较器(例如,<、<=、==、>=、>、!=/<>)(例如,收入>10M)[在各种实施方案中,可以处理和/或显示速记单位,例如,M代表百万或者k代表千]或文本比较器,诸如“包含”或“是”或“?”(例如,TickerSymbol?“AAPL”或Latest10K包含“中国关税”)。在一些实施方案中,在没有字母文本的情况下实现类似“包含”的运算符。例如,使用括号符号来指示“包括”、“具有”或“包含”关系,句法可以是“Filings 10k[″china tariffs″]”。这提供了一个事物(短语“中国关税”)在另一事物(一组公司10-K报告)中的直观表示,并且避免了以其他领域专用语言的非领域专用关键词。

过滤运算符根据一个或多个匹配运算符(例如,~RoE>0或价格<100)选择与某些数据值或表达式标准匹配的标识符。在各种实施方案中,过滤使得显示尺寸减小的全域或初始选择的全域的较小部分,并且显示对应于用于过滤的标准的数据值。

在各种实施方案中,通过诸如图1所示的快速筛查系统之类的环境或工具来处理领域专用语言,该环境或工具包括交互式多行编辑器:该交互式多行编辑器被配置为接受用户输入(例如,来自键盘、语音识别或自然语言处理、屏幕上按钮、下拉菜单、和/或各种输入选项中的上下文菜单项选择,其中的一些可被显示来代替编辑器);解析器和解释器,该解析器和解释器被配置为根据定义该领域专用语言的规范来解释输入;服务器引擎,该服务器引擎被配置为根据输入获得与领域相关的结构化和/或非结构化数据;可视化工具,该可视化工具被配置为当用户将输入录入到交互式编辑器中时提供实时更新结果显示或网格视图。在各种实施方案中,在编辑器中录入的每个表达式和/或数据标签对应于在网格视图中显示的信息的列。

与现有系统不同,结果数据以可由用户有意义地解释且容易地可视化的方式呈现。这减少了用户确保他们下拉正确的数据并可能清理它而必须花费的时间。这也使得发现模式和关系变得更容易。因此,快速筛查系统有助于为用户例示投资策略:与传统筛查器不同,本公开的系统和方法允许快速发现和探索数据;测试不同的想法以验证或否定这些想法;灵活生成自定义指示符和指数;可重复过程;确定趋势、共性和特点;可直接应用于策略的可行见解。

返回图1,在第一行110上,用户已录入“$UnitedStatesAll”。在该示例中(在证券领域内),“$”是指示标识符全域,并且该全域是所有美国股票。如本文所使用的,标识符表示全域的成员-在例示的示例中为特定证券。因此,用户已选择从考虑所有美国股票开始。在证券领域内,用户可以另选地选择考虑例如其他类型的证券,诸如公司或政府(例如,城市)债券、期权、互惠基金等;其他国家的股权;在特定交易所交易的股票;行业专用证券;固定收益金融产品;不良贷款;衍生证券;等等。虽然本公开通常使用术语“股权”、“股票”或“公司”作为方便的速记,但本公开的意图是用这些术语涵盖所有证券。

在多行编辑器101下方,例示了网格视图显示102。在其他实施方案中,多行编辑器101和网格视图显示102的布置可以不同;例如,编辑器在下方,或并排,或完全在不同的窗口或屏幕中。网格视图显示102包括一系列的列115、123、125、133、135、145、155。每一列直接对应于多行编辑器101中的符号或表达式。例如,所描绘的“股票代码”列115对应于所有美国股票的“$UnitedStatesAll”全域。“股票代码”列115显示一系列行,每一行对应于与所有美国股票的全域相关联的每个标识符。因此,每只美国股票在“股票代码”列115中由其股票代号标识。股票代码只是显示名称,在各种具体实施中,该技术使用唯一标识符来明确地标识每只证券。例如,选定全域中的每个成员可以由其全名和交易所来标识,或者例如由某个其他唯一标识符诸如证券ID来标识。这对于支持国际股票特别有用。在本技术的其他实施方案中,网格视图显示102可被不同地布置,诸如每一列表示证券(或其他筛查目标)且每一行表示证券的属性、嵌套表、或其他等效布置,这些都在本公开的范围内。

在所例示的列和行格式的各种具体实施中,每一列中的数据值是可排序的,诸如通过用户与列标题的交互(例如,通过鼠标点击来排序、反转或恹复排序次序,或通过上下文菜单)。在各种具体实施中,这些列本身是可重新排序的。例如,网格视图显示102可提供用于列相对于另一列向左或向右移动、被拖动(例如,通过鼠标点击并拖动操作)到列之间的不同位置、被隐藏或关闭(或重新示出)、或被最小化(例如,作为指示可重新展开的数据集或分组的图标)的控件。在一些实施方案中,当在网格视图中移动或移除一列信息时,界面在编辑器中显示具有对应表达式和/或数据标签的指示,诸如允许重新示出该列的控件或指示该列不按原始次序显示的符号。在一些实施方案中,当在网格视图中移动或移除一列信息时,系统也更新编辑器中的代码。

在多行编辑器101中继续,在第二行120上,用户已录入“ReturnOnEquityPctStandardize=>zScoreROE”。虽然下文将更详细地描述所例示示例的特定句法,但所述技术涵盖各种等效另选方案且不限于所例示的确切领域专用语言。在该示例中,用户首先选择或录入了数据标签“ReturnOnEquityPct”。如本文所使用的,数据标签表示给定全域中的每个成员的属性;数据标签标记或指代了与每个标识符相关联的特定数据值。例如,在所有美国股票的全域中,ReturnOnEquityPct是指,对于在该全域中具有股票的每个公司的股本回报率百分比。类似地,如该示例中在多行编辑器101中的第三行130上所示,ReturnOnAssets是指,对于每个这样的公司的资产回报。

因此,在网格视图显示102中,列123在该列顶部的标题行中示出了“股本回报率Pct”数据标签,并且显示了列出对应行中示出的每个股票代号的股本回报率百分比的数据值。在例示的示例中,筛查从当前日期开始运行。在各种实施方案中,系统也允许筛查从先前的“当日”运行。

行120和130以ReturnOnEquityPct和ReturnOnAssets数据标签开始,然后利用将它们中的每一者标准化为正态分布来变换它们中的每一者的表达式继续,从而产生z分数。在一些实施方案中,标准化函数首先对值进行缩尾处理以减少异常值影响,用中值替换空值等。所例示的表达式然后将这些z分数分别分配给自定义命名变量或数据标签“zScoreROE”和“zScoreROA”。因此,在标题“z分数ROE”下的列125显示了每只股票(由列115中的股票代号表示)的股本回报率百分比的标准化z分数;在标题“z分数ROA”下的列135类似地显示了每只股票的资产回报率的标准化z分数。

多行编辑器101中的行140是添加zScoreROE和zScoreROA数据标签并将它们分配给新变量或数据标签“zScoresAdded”的表达式。网格视图102中的列145因此具有标题“z分数添加”,并且在列115中显示具有股票代号的每个股票标识符的新数据值。列145中的数据值是列125和135中的数据值之和。

在该示例中,可以观察到明显的舍入:所显示的值被自动地限制到两个小数位以增强筛查过程中的可读性,同时系统可以对所显示的数据值下的精确数字进行操作。在其他实施方案中,可以采用有效数字或其他方法来提供易用性。在一些实施方案中,用户行为诸如对数据值的悬停、右击、复制粘贴、或长按可以显露关于该值的附加细节。

在多行编辑器101中继续,在第五行150上,用户已录入了表达式“zScoresAddedSplitQuintiles=>bucket”。如函数建议窗格和解释性文本151中所示,该示例中的SplitQuintiles函数将跨当前标识符集合(例如,证券ID,甚至在可识别的股票代号被显示的情况下)的zScoresAdded数据值排序为五分位数,其中例如最低的五分位数被分配值“1”,最高的五分位数被分配值“5”(在一些系统中,反之亦然)。因此,在所有美国股票中,股本回报率百分比(标准化)加上资产回报率(标准化)综合排名在后20%的公司在列155中的值为“1”,而其在前20%的公司在列155中的值为“5”,其他公司在列155中的值为“2”、“3”或“4”。在网格视图102中,列155的标题是“bucket”,因为在多行编辑器101中,行150中的表达式将五分位数据标签分配给自定义变量“bucket”。

在第六行160上,用户已录入表达式“~bucket==5”。在该例示性示例的句法中,该表达式中的波浪号表示过滤操作。该操作使得用户能够根据匹配标准来过滤、限制、减小或缩小先前显示的标识符集合。在该情况下,一旦快速筛查系统处理多行编辑器101中行160中的过滤表达式,网格视图102便不再显示所有美国股票的全域中的所有标识符(或为方便起见,股票代号)。相反,只有自定义变量“bucket”的数据值为“5”165的股票代码(即,标准化组合股本回报率和资产回报率的最高五分位数)被包括在更新的网格视图102中。

因此,所公开的快速筛查系统允许用户执行大量多属性数据的复杂筛查,并且到目前为止比所允许的先前系统更容易地进行,使用最少的句法,并且具有前所未有的连续、有效的即时反馈和结果。

图2例示了根据一个实施方案的快速筛查系统的操作例程200。在各种实施方案中,操作例程200由一个或多个快速筛查系统计算设备诸如本地或远程服务器提供,下文参考图27、图28和图29更详细地描述。操作例程200开始于开始框201。

图2以及随后的流程图和示意图是代表性的,并且可能没有示出所有的功能、步骤或数据交换;相反,它们提供了如何实现该系统的理解。相关领域的技术人员将认识到,可以重复、改变、省略或补充一些功能,并且可以容易地实现未示出的其他(较不重要的)方面。本领域技术人员将理解,图2和下文讨论的每个示意图中的每一者中示出的框能够以多种方式改变。例如,当以给定次序呈现过程或框时,另选具体实施能够以不同的次序执行例程,并且一些过程或框可以经重新布置、删除、移动、添加、细分、组合和/或修改以提供另选方案或子组合。这些过程或框中的每一者能够以多种不同的方式实现。另外,虽然过程或框有时被示为连续执行,但是这些过程或框可以替代地并行执行或实现,或者可以在不同时间执行。图2中描绘的框中的一些和其他示意图是本领域公知的类型,并且它们本身可以包括不需要在此描述的操作序列。本领域普通技术人员可以创建源代码、微代码、程序逻辑阵列等,或者基于本文提供的图和详细描述来实现所公开的技术。

在框215中,操作例程200生成用于用户输入和/或要快速筛选的结果显示的界面。例如,在一个实施方案中,操作例程200提供了交互式编辑器(诸如图1的多行编辑器101)和结果网格视图(诸如图1的网格视图102),其中该实施方案将被用作示例来例示下文描述的各种操作。在各种实施方案中,快速筛查系统使得用于用户输入和/或结果显示的界面被呈现在远离快速筛查系统服务器的客户端设备上。

在框225中,操作例程200例如经由框215中提供的交互式编辑器来获得输入,并根据领域专用语言规范或语法解析该输入。领域专用语言规范或语法可以包含例如表示来自特定领域的数据标签的术语,使得具有该领域知识的用户可以使用该知识来发现以该领域专用语言的术语。例如,在证券领域,特别是股票领域中,“ROE”是“股本回报率”的常用速记,它是通过例如将年度净收入(资产减去负债)除以股东的股权而计算出的衡量盈利能力或财务业绩的指标。因此,如果快速筛查系统被配置用于这样的领域并且从用户接收“roe”的输入,则操作例程200可以使用文本模式匹配将该输入解析为对命名为“ROE”或“ReturnOnEquity”的数据标签的请求。

在各种具体实施中,在框225中解析输入包括对输入执行词法分析以从该输入中的领域专用语言规范或语法识别符号或记号,以及执行句法分析以将输入符号转变成抽象句法树(AST)。

在框235中,操作例程200处理解析错误。例如,当领域专用语言不包含命名为“roe”或“ROE”的数据标签时,用户可键入“roe”。在一些实施方案中,操作例程200记录任何错误(包括例如在其他阶段诸如数据检索时的错误),这些错误防止了操作例程200关于具有错误的行的进一步进展,并且循环回到框225以处理附加用户输入诸如校正。在各种实施方案中,尽管有错误,操作例程200还是尽可能地处理,并保留在遇到错误之前存在的结果。

在一些实施方案中,操作例程200为用户标识未被辨认的输入,诸如通过突出显示它。在一些实施方案中,操作例程200可以尝试推断领域专用语言中最接近的匹配,并且例如用最接近的有效匹配替换未被辨认的输入,或者提出一组未被辨认输入的可能替换或补充。在各种实施方案中,操作例程200继续解析用户的输入并处理解析器辨认的符号。

在框245中,操作例程200获得对在框225中解析的数据标签执行操作所必需的任何数据。例如,如果经解析的表达式需要尚未加载到存储器中的一组数据值,则操作例程200标识与所需数据值相关联的一个或多个数据源并从该一个或多个数据源中的至少一个数据源加载所需信息。在一些实施方案中,操作例程200在另一阶段或在运行中获得数据。

在一些实施方案中,操作例程200加载或预加载并高速缓存用于标识符和/或数据标签的集合或子集的缓慢变化的(在幅度和/或变化频率的易失性或稳定性方面)、最近显示的和/或频繁请求的数据值的快照,以在用户的输入需要这样的数据值时加速处理。在一些实施方案中,操作例程200标识相关数据标签(例如,基于用户历史、跨用户的流行程度、可用性等),预取它们(例如,并行地),并且本地高速缓存数据以向用户快速提供结果。

在框255中,操作例程200解释经解析的输入。例如,如果用户录入了表达式,则操作例程200标识经解析的符号所指的数据值,确定应当执行什么操作,并执行所需的操作。例如,操作例程200可以解释AST并且评估每个经解析的表达式。在一些实施方案中,操作例程200以逐行为基础进行操作。在一些实施方案中,操作例程200按次序评估每条输入行。

在一些实施方案中,一旦输入被解析,操作例程200就在连续的基础上(例如,不等待用户停止键入)解释并执行输入,使得界面将在输入被录入并获得结果时尽可能快地更新,并且用户不必在决定执行所完成的输入之前完成录入输入。无论何时用户输入改变(以及任选地无论何时基础数据改变),如果结果立即更新或者在短延迟之后更新,则结果可以被认为是“实时的”。提供实时结果除了便于学习和探索数据集本身之外,还增加了界面的可学习性。在一些实施方案中,操作例程200在短延迟之后解释和/或执行输入(例如,从约十分之一秒直到约1-5秒的“去抖动”时段,或者只要用户在键入时暂停),以允许用户在快速筛查系统完成处理输入之前最终完成或修正或修改输入。在一些实施方案中,操作例程200将这样的“去抖动”时段应用于结果显示,如下文进一步描述的。这种延迟可以帮助操作例程200在用户准备好时呈现结果,从而改善用户接收立即响应结果的感知。

在各种实施方案中,操作例程200提供增量解释,仅解释和执行受用户输入影响的语句、表达式或行。例如,如果操作例程200接收、解析并解释第五行上的表达式,则操作例程200可保持前四行的内容而不改变,以最小化处理时间。通过增量解释和通过在可能的情况下将新的或改变的元素与先前结果组合,快速筛查系统最大化了界面的响应性。

在各种实施方案中,由于以下若干原因的组合,领域专用语言对于操作例程200解释255是快速的:因为解释器可利用其并发和数据分片设计(例如,跨时间、数据项和用户专用模式);语言是领域专用的,因此对于任务是高度专门化和优化的,而不是适用于通用计算;仅将需要对用户可见的结果发送到客户端;它是为增量解释而设计的;语言本身允许对用户行为进行语义理解,从而可以优化查询计划器。此外,后端系统被布置成部分地基于对领域专用语言的约束来提供快速结果,如下文参考图27至图29进一步讨论的。

在框265中,在输入已被解析和解释之后,操作例程200向用于结果显示的界面更新、移除和/或添加类别,该结果显示与来自用于用户输入的界面的经解释的输入相对应。例如,在网格视图实施方案示例中,当快速筛查系统解释新调用数据标签的表达式时,操作例程200在网格视图中添加具有与该数据标签相关联的标题的列。在一些实施方案中,操作例程200为用户未明确命名的表达式生成新的列标题名称。

在一些实施方案中,当操作例程200正在获得数据(如框245中所述)时,操作例程200可显示数据标签的列,并且在接收到数据值时填充数据值。在一些实施方案中,操作例程200显示每个语句或表达式中的每个计算或新引入的数据标签的列(例如,多行编辑器中的每行),从而提供透明度和理解(并且帮助调试),因为所有中间步骤都是可见的。在一些实施方案中,操作例程200为每个语句或表达式显示一列,并默认隐藏中间计算。当用户编辑或删除表达式时,操作例程200相应地改变或移除不再被包括在输入中的数据标签和数据值。在各种实施方案中,操作例程200通过将新的或改变的元素与先前的结果组合来递增地更新结果显示,以最小化处理和渲染时间,从而最大化界面的响应性。在一些实施方案中,操作例程200获得如框245中所述的数据,并且仅当已经接收到向用户显示的足够数据时才显示结果。例如,操作例程200可以在更新显示之前汇编结果(例如,结果值的大部分或全部,或将初始对用户可见的那些结果值的大部分或全部),而不是在获得结果时在网格视图显示中的大部分空列上方显示标题。当值准备好时立即将完整的或大部分完整的结果添加到显示中,而不是在加载时逐段添加,可以帮助操作例程200以改善用户接收即时结果的感觉的方式呈现结果。一般而言,在用户完成表达式或输入行的若干秒内呈现的结果被感知为“立即”。当判断界面之后在呈现结果中是否提供立即响应时,用户可以忽略启动延迟,例如对于复杂数据集的初始加载。

在框275中,在输入已被解析和解释之后,操作例程200过滤对应于选定标识符全域和活动过滤标准的所显示的标识符。例如,在网格视图实施方案示例中,当快速筛查系统解释过滤与数据标签相关联的数据值的表达式时,操作例程200确定哪些标识符匹配过滤标准,并且仅显示匹配标识符和与匹配标识符相关联的数据值。在一些实施方案中,操作例程200用每个输入行或表达式的条目连续地建立结果集。在一些实施方案中,当获得结果数据时,操作例程200将结果集插入到用于显示结果的数据库中(例如,客户端请求将初始对用户可见的数据的子集,以便客户端可以实际显示整个结果集的该子集)。在一些实施方案中,操作例程200可以使用来自与用户的现有会话的结果。

在框285中,操作例程200确定是否例如经由用于用户输入的界面接收到附加输入。在一些实施方案中,操作例程200可以异步地处理附加输入(包括在先前输入中的任何位置处修改或删除先前输入)而不等待其他框(例如,获得数据245)完成,或者可以取消先前输入的处理以响应新的或改变的输入来确保最近请求的数据的快速显示。换句话说,操作例程可以确定是否在任何时间接收到附加输入。如果接收到附加输入,则操作例程200循环回到输入解析框225以处理下一输入符号(如果有的话)。

操作例程200在结束框299中结束。

图3A、图3B例示了根据一个实施方案的被配置用于股权筛查的快速筛查系统的示例性用户界面300,示出了多行编辑器内的修改。

在图3A中,多行编辑器301中的行1310指定“$UnitedStatesSmallAndMidCap”标识符全域,即,被分类为中小市值的美国股票,并且行2320是“CompanyName”的数据标签。因此,在网格视图302中,第一列315显示指定全域中的股票的股票代号(或例如作为适当标识符的唯一证券ID),并且第二列325显示每个标识符的相关联公司名称。虽然例示的示例以美国股票为重点,但也可以选择国际证券。

在图3B中,行1312有所不同:它现在指定了“$UnitedStatesLargeCap”标识符的全域,即,被分类为大市值的美国股票。行2 320未改变,为“CompanyName”的数据标签。在网格视图302中,修改后的第一列317显示指定全域内股票的一组新股票代号(代替标识符),第二列327显示每个标识符的相关联公司名称。在该示例中,即使在输入已经在行2 320上被录入和处理之后,快速筛查系统也接受行1 310-312上的输入的修改。快速筛查系统无缝地处理这样的改变(完全替换所考虑的标识符的全域)而不需要用户从输入的末尾删除回到改变的地方或者以其他方式重新开始。在一些实施方案中,快速筛查系统允许用户撤销改变(例如,通过撤消堆栈,或使用键盘敲击诸如Control-z),并且通过高速缓存结果允许用户在动态结果之间快速来回切换。通过提供灵活的、可自由编辑的多行输入并且通过响应于改变用户输入而连续地刷新更新,所公开的快速筛查系统允许用户以先前不可能的方式来有力地且快速地探索另选方案以识别期望的策略。

图4例示了根据一个实施方案的被配置用于股权筛查的快速筛查系统的示例性用户界面400,示出了用于创建自定义股权范围的对话框。用户可能希望为所考虑的标识符的起始全域创建自定义标准。例如,房地产经纪人可能专门研究房屋的类型或位置(例如,市中心公寓单元或远郊独栋住宅),或者投资者可能关注行业类别或公司规模。在各种实施方案中,快速筛查系统提供了用于使用各种标准来定义新的或自定义全域的方便界面,该界面可以基于频繁使用来优化。

在例示的示例中,对话框400提示用户向例如具有选定方面420的股票的自定义全域给出名称410,该选定方面例如是指定国家、市值范围、最低流动性或全球行业分类标准(

在一些实施方案中,快速筛查系统允许例如在共享办公室环境中与他人共享所创建的全域,以用于用户之间的协作。类似地,在一些实施方案中,快速筛查系统允许协作地共享自定义数据标签、表达式和整个筛查会话。在一些实施方案中,可以在创建之后编辑或删除自定义标识符全域。在一些实施方案中,为了增强在创建新的全域时快速筛查系统性能,将与全域创建标准(例如,股票的国家、市值、行业等)相关的数据存储在定期更新的单独数据库快照中(例如,存储在存储器数据中),使得信息对客户来说是快速可用的,而不需要从证券信息数据库中检索。在一些实施方案中,领域专用语言本身可用于定义全域。

图5A例示了根据一个实施方案的被配置用于股权筛查的快速筛查系统的示例性用户界面500,示出了领域专用灵活文本匹配和完成建议。如上文参考图2所讨论的,即使当输入包含错误或以其他方式不是精确匹配时,快速筛查系统也可以针对领域专用术语灵活地匹配输入以提供准确的实时术语匹配。例如,在多行编辑器501中,行2输入520是“returonequit”。该输入漏掉了“return”末尾的“n”(或者根据另一种解释,在“return”中包括附加的“o”,并完全漏掉了“on”一词),同时也漏掉了“equity”末尾的“y”。然而,所公开的快速筛查系统在光标处显示数据标签建议窗格和说明性文本窗口521,从而突出显示可能预期的输入数据标签的匹配字母。多行编辑器501允许用户选择所提供的选项中的一个选项来立即替换未完成的和拼错的输入。与此相反,先前的系统诸如电子表格公式需要字符完整的文本和不直观的单元格编号交叉引用,打字错误会破坏这些引用,而通用工具诸如

图5B例示了根据一个实施方案的被配置用于股权筛查的快速筛查系统的示例性用户界面550,示出了数据标签探索。数据探索对话框551允许用户发现预期的输入数据标签以便立即使用。在各种领域中,可用数据标签的数量对于用户来说可能是巨大的,其数量为数千或数万、跨越无限数据源、跨越数万或数十万个证券。示例性数据探索对话框551提供了用于公司名称555、搜索文本560和数据包或数据提供者565的字段。在例示的示例中,用户搜索与微软公司的术语“EBIT”(息税前利润)相关的数据标签,这些标签可从名称为“S&P Global-基础数据”的数据包中获得。在一些实施方案中,用自动输入特征来辅助用户录入的文本以帮助快速发现。匹配的数据标签被列在结果框570中,其示出了每个数据标签的名称、描述和值(针对当前季度和过去十二个月)。其他实施方案包括其他属性或甚至完整的示例性片段。在一些实施方案中,搜索文本可以匹配关于数据标签的任何信息,包括值(例如,特定年度增长率)。方便的用户界面元素允许用户通过双击575结果框570中的单元格来锁定它并使用按钮580复制选定的一个或多个数据标签来选择期望的数据标签。例如,在例示的示例中,双击8.163900单元格571将锁定数据标签“Ebit10YrCagrPct”,并且如果双击8.566600单元格572将锁定数据标签“Ebit10YrCagrPctTtm”,则可以容易地将其中任一个或两个数据标签复制到剪贴板以粘贴到表达式中。通过提供这样的领域专用数据探索工具,快速筛查系统允许用户比先前可能的更容易、更快速且更有效地发现相关数据标签、探索可用数据标签以及筛查数据。

图6A、图6B例示了根据一个实施方案的被配置用于股权筛查的快速筛查系统的示例性用户界面600A-600B,示出了根据标准的过滤。如上文参考图1和图2所讨论的,快速筛查系统允许用户根据表达性匹配标准来过滤、限制、减少或缩小标识符集合。在例示的示例中,用户界面600A在网格视图602的列615中显示美国大盘股。多行编辑器601行2上的输入620是“ReturnOnEquityPctTtm”,这是过去12个月内每个公司的股本回报率百分比的数据标签。“股本回报率Pct Ttm”的值被显示在网格视图602的列625中。

转向用户界面600B,多行编辑器601行2上的输入622现在是“~ReturnOnEquityPctTtm>40”,在行首添加波浪号(“~”)过滤运算符,在数据标签后添加比较条件“>40”。因此,网格视图602不再显示所有美国大盘股的指定全域中的所有标识符(或它们的股票代号)。相反,只有公司过去12个月的股本回报率大于40的公司列617中的股票代码才被包括在列627的更新的网格视图602中。因为在列615中显示的所有标识符的ReturnOnEquityPctTtm的数据都已经由系统加载(并且显示在列625中),所以这种限制操作可以很快地完成。

在一些实施方案中,需要像“~”(或“filter”、“limit”、“only”等)这样的表达运算符(例如,以增强用户可读性)。在一些实施方案中,虽然可以允许表达运算符,但是可以根据此较运算符的存在来推断过滤操作。在推断了过滤的情况下,或者对于所有过滤操作,快速筛查系统可以区分行或语句(例如,通过修饰语句或应用文本格式化、背景颜色等;和/或通过在被用户忽略并由系统推断的地方插入表达运算符)。

在一些实施方案中,快速筛查系统提供了附加的过滤相关运算符,例如,“或”运算符、“非”运算符和/或枚举(Y中的所有x)等。

图7例示了根据一个实施方案的被配置用于股权筛查的快速筛查系统的示例性用户界面700,示出了分配给自定义变量名称的表达式。如上文参考图1所讨论的,快速筛查系统允许用户创建新的自定义变量名称或数据标签。例如,快速筛查系统允许任何数据标签被赋予新的别名,并且对任何表达式(例如,修改与数据标签相关联的数据值,或组合多个数据值)命名,以便它可以被有用地标记并且被方便地再次引用。该名称可以应用于例如代码片段或实际变量(因此不需要重新计算)。因此,结合如上文参考图4所述的定义自定义全域的能力,用户可以扩展领域专用语言以满足他们自己的需要,例如定义全域、数据标签、数据源和/或变换。

多行编辑器701中所例示的语句740将两个数据标签“ReturnOnEquityPct”和“RemrnOnAssets”的总和分配给自定义命名的变量或数据标签“MyCustomIndex”。因此,列745在标题“我的自定义指数”下显示了网格视图702中显示的每个股票代号的两个数据值(股本回报率百分比和资产回报率)的总和。在一些实施方案中,快速筛查系统使用PascalCase(其中复合名称的所有单词都大写)作为命名数据标签的约定以方便用户阅读,并且结果显示界面(例如,网格视图702中的标题行)自动在数据标签的适当位置中添加空格(例如,在小写字母和随后的大写字母之间)以提高易读性。数据标签中不带空格的复合名称的其他等效约定包括camelCase(其中第一个单词后的所有单词都大写)、kebab-case(其中破折号分隔单词)和snake case(其中下划线分隔单词)。在一些实施方案中,快速筛查系统使用点符号来命名变量,例如“ReturnOnEquity.TTM”或使用括号。在一些实施方案中,数据标签中允许有空格,或者系统用空格解析输入以识别明确的匹配数据标签(或者如果输入在领域专用语言和运算符的上下文中不明确则建议可能的选项)。通过将变量名与显示输出相链接,该技术鼓励非程序员自然地编写可维护的“代码”,因为他们可以辨认输出中的标题是否看起来正确。

在一些实施方案中,系统包括自然语言用户界面,诸如书面文本或语音识别界面。自然语言处理(NLP)经常失败,因为人类语言没有足够的限制来获得一致可靠的结果。因为所公开的技术提供了领域专用语言作为中间层,所以可以极大地改善结果。例如,可以通过语言模型(例如,GPT-3)来处理“找到所有在10K报告中提到中国关税的公司”的自然语言请求,以生成领域专用语言的表达式。因为领域专用语言在语义上是有意义的,所以人类可以理解给输出,验证该表达式是否按照自然语言语句的要求进行,并在需要时进行编辑。因为领域专用语言中的表达式在很短的空间内表现力很强,所以它们很容易被用户验证,从而提供更有意义和更容易信任的交互模式。

与声明变量然后向其赋值的大多数编程语言相反,在所例示的实施方案中,领域专用语言包括在结果之后运算的赋值运算符,在心理上鼓励用户探索各种表达式(当用户键入或修订或替换它们时立即解释这些表达式)然后向用户命名的变量赋值结果(立即显示)。这也确保了该表达式更快地“补全”:例如,当公式或语句“A=awesome(param)”直到语句的最后才完成时,表达式“param|awesome=>A”在其整个构造过程中是完整的。

图8A至图8C例示了根据一个实施方案的被配置用于股权筛查的快速筛查系统的示例性用户界面800A、800B、800C,示出了对自定义变量名称的多个引用的同时重命名。在例示的示例中,在多行编辑器801的行3中的输入830中,用户已定义了命名为“StandrRoa”的自定义变量或数据标签。此外,在多行编辑器801的行4中的输入840中,用户已录入了引用自定义变量或数据标签“StandrRoa”的表达式。在图8A中,快速筛查系统在行4中的光标处显示数据标签建议窗格和说明性文本窗口841,从而突出显示“StandrRoa”作为辨认的用户定义的变量。在图8B中,多行编辑器801中的上下文菜单842中突出显示的选择向用户提供了自定义变量名称的“改变所有出现”的能力。在图8C中,多行编辑器801已允许用户在多个位置同时将“StandrRoa”改变为“StandardRoa”。因此,快速筛查系统能够对变量名称进行一致的全局改变,而不破坏任何变量引用。相反,常规的领域内搜索系统不提供任何重构文本条目的能力。

图9例示了根据一个实施方案的被配置用于股权筛查的快速筛查系统的示例性用户界面900,示出了领域专用句法错误处理。如上文参考图2和图5所讨论的,当解析输入时,快速筛查系统是容错的。例如,如果输入是不完美的,则快速筛查系统可以尝试推断领域专用语言中的预期匹配,并且例如用最接近的有效匹配替换未被辨认的输入,或者提出一组未被辨认输入的可能替换或补充。此外,格式错误的输入(例如,语法错误诸如与领域专用语言中的任何运算符或数据标签不匹配的符号)将不会使快速筛查系统崩溃或使处理停止。在各种实施方案中,快速筛查系统继续解析输入的剩余部分(在错误之前和之后)并且处理解析器辨认的符号,并且可以继续显示先前成功的结果。

在例示的示例900中,用户在多行编辑器901的行2中录入了打字错误或不完整输入920“Returone”,例如,在先前已录入了有效数据标签“ReturnOnEquityPct”之后。快速筛查系统在光标处显示数据标签建议窗格和说明性文本窗口921,从而突出显示可能预期的输人数据标签的匹配字母。同时,多行编辑器901显示标注为“错误:行2的无效句法”(或者,例如,“错误:行2不存在数据标签”)的文本警告922,以及页边文本修饰923和红色斜下划线,以突出显示未辨认且未处理的输入920的位置。在一些实施方案中,错误处理包括应用特定于领域的信息,使得错误消息是特定于领域的。

同时,网格视图902的其余部分不受影响;美国大盘股915的全域与多行编辑器901其余部分中的数据标签以及显示的标识符的对应数据值一起保持显示。在一些实施方案中,先前显示的数据(例如,“股本回报率Pct”列925)保持显示直到快速筛查系统可处理的输入被录入到其位置;在一些实施方案中,不显示快速筛查系统无法处理的符号的数据。

图10例示了根据一个实施方案的被配置用于股权筛查的快速筛查系统的示例性用户界面1000,示出了变换函数。在例示的示例中,多行编辑器1001的行2中的输入1020中的竖线符号(“”)表示变换函数或运算。在该示例中,在运算符建议窗格和说明性文本窗口1021中列出了五个变换函数:

average(当应用于数字阵列时,产生例如算术平均值);

rank(比较每个标识符的数据值并对它们进行分级,从高到低或从低到高);

quintile(比较每个标识符的数据值并将它们分类到五个桶中,每个桶20%,并产生五分位数);

standardize(将每个标识符的数据值与标准化正态分布进行比较,并产生z分数);和

trend stability(当应用于数字阵列时,产生指示趋势是正向、负向还是两者都不是的数字)。

在各种实施方案中,快速筛查系统可以提供附加或不同的变换函数(例如,中值函数、十分位数函数等)。例如,一组自然语言处理转换函数允许用户录入表达式诸如“NewsRecent[″lawsuit″]|Sentiment=>LawsuitNewsSentiment”来判断关于参与诉讼的公司的新闻报道的要旨。

图11例示了根据一个实施方案的被配置用于股权筛查的快速筛查系统的示例性用户界面1100,示出了阵列数据的自动图形显示。在例示的示例中,多行编辑器1101的行2上的输入1120是“ReturnOnEquityPct[-11q:0q]”,这是表示每个公司在过去12个季度(即,从11个季度之前到现在)中的每个季度的股本回报率百分比的数据标签。在一些实施方案中,关于与值阵列相关联的数据标签的表达式不需要显式阵列符号,除了显示阵列数据的选定子集。例如,表示阵列值的两个数据标签可被加在一起或以其他方式在表达式中进行操纵。在一些实施方案中,另选或速记符号诸如“ReturnOnEquityPct[12q]”可紧凑地指示直到现在的时期数(例如,年、季度、月、周或天)。在一些实施方案中,系统自动地对齐阵列数据。例如,如果引用时间序列A的数据标签除以引用时间序列B的数据标签,则系统可以通过前向填充自动对齐当前值。

在该示例中,所公开的快速筛查系统将阵列数据显示为用户友好的紧凑图1125,每个标识符(具有实际显示的股票代号)对应一个图。由快速筛查系统产生的紧凑图包括结果阵列中每个数据值的水平轴上方或下方的阴影。因此,快速筛查系统使得正值和负值在视觉上明显,并且使得用户容易辨别随时间的趋势。此外,在紧凑图1125中的一个图中的用户行为(诸如在图上方悬停、右击、或长按图或图上的数据点)可显露标识符的结果阵列中的底层数据值1127中的一个或多个值。在一些实施方案中,紧凑图1125包括或显示关键信息,诸如边界或x轴标记(例如,日期)。

在一些实施方案中,快速筛查系统也为用户定义的功能和数据标签提供类似的功能性或可扩展性。例如,数据标签或功能可以是可扩展的,使得程序员可以编写作为数据标签或功能的基础的自定义代码(例如,用于复杂数据的自定义可视化)并且使其对使用该数据标签或功能的非程序员可用。例如,在一些实施方案中,将自定义变量或数据标签命名为以“Score”结尾可以根据四分位数、十分位数、分级等自动设置相关联数据值的格式并对其进行颜色编码。类似地,在一些实施方案中,将自定义变量或数据标签命名为以“Trend”结尾可以自动提示系统在图中显示任何相关联的阵列数据,和/或将自定义变量或数据标签命名为以“Pie”结尾可以自动提示系统在饼图中显示任何相关联的阵列数据。在一些实施方案中,系统可被配置为绘制任何阵列数据。在各种实施方案中,设置结果的格式和/或对其进行颜色编码可经由任何界面、甚至交互式地实现。例如,在一些实施方案中,列可以在显示中被分组以在一组子标题上方显示组标题。

图12例示了根据一个实施方案的被配置用于股权筛查的快速筛查系统的示例性用户界面1200,示出了到10-K报告的链接的自动显示。

类似于图11,快速筛查系统界面网格视图1202包括显示紧凑图的列1225,这些紧凑图表示对应于多行编辑器1201的行2中的输入1220中数据标签的数据值阵列。在该情况下,输入1220是“ReturnOnEquityPct[-3q:0q]”,这是表示每个公司在过去四个季度(即,从3个季度之前到现在)中的每个季度的股本回报率百分比的数据标签。同一输入1220生成阵列数据值的“趋势稳定性”变换,给出每种情况下的趋势的数字指示符1245。如图所示,趋势都是向上的,因为行4中的输入1240将所显示的标识符限制为在过去4个季度的股本回报率趋势为十分积极(大于0.8)的那些标识符。行3是空白的,示出了所例示的实施方案中多行编辑器1201无缝地解析不连续输入的能力。

应用所公开的技术以识别正稳定性趋势的另一种方式是比较两个时间段内的稳定性趋势。例如,以下表达式建立了表示从一年前到四个月前的股本回报率百分比的趋势稳定性的命名为“RoeStabilityPrevious”的自定义数据标签,以及表示从四个月前到今天的股本回报率百分比的趋势稳定性的命名为“RoeStabilityRecent”的自定义信息标签:

(ReturnOnEquityPct[-11q:-4q])|TrendStability=>RoeStabilityPrevious

(ReturnOnEquityPct[-3q:0q])|TrendStability=>RoeStabilityRecent

通过从一个趋势中减去另一个趋势,可以确定并过滤差异,例如:

(RoeStabilityRecent-RoeStabilityPrevious)=>RoeTrendDifference

~RoeTrendDifference>1

或者,在另选方案中,可以过滤先前和当前趋势的绝对值,例如,以识别ROE最近飙升的公司:

~RoeStabilityRecent>0.6

~RoeStabilityPrevious<0.6

多行编辑器1201的行5中的输入1250将数据标签“Filings10k”添加到网格视图1202中,从而显示关于每家公司向美国证券交易委员会(SEC)提交的最新10-K报告的信息。在例示的实施方案中,10-K报告信息包括最近可用报告的日期,以及指向SEC在线报告副本的超链接,以便筛查人员可以直接阅读或下载文档。因此,快速筛查系统可以被配置为处理复杂的数据类型,例如JSON格式的数据和元数据,使得结果能够以用户可访问的格式显示,从而向筛查人员呈现比先前可能的更多数量的有用信息。

多行编辑器1201的行6中的输入1260将数据标签“GicsSector”添加到网格视图1202,从而为每个所显示的标识符(股票代号)显示GICS部门。

图13例示了根据-个实施方案的被配置用于股权筛查的快速筛查系统的示例性用户界面1300,示出了持有专利的公司的选择性显示。在多行编辑器1301中,行3中的输入1330和行4中的输入1340使用数据标签“PatentsIssued”来标识已被授予一个或多个专利的公司。例如,快速筛查系统可以搜索已发布专利的数据库,并识别其所有者或受让人与公司名称匹配的专利(在某些具体实施中容纳非精确匹配和/或相关实体)。在例示的示例中,在输入1330中,表达式“PatentsIssued[″autonomous vehicle″,″autonomous driving″]”被解释为标识已被授予包含短语“自动驾驶车辆”或短语“自动驾驶”(其被分配了数据标签AutonomousDrivingPatents)的一个或多个专利的公司。类似地,输入1340中的表达式“PatentsIssued[″electric vehicle″]”由快速筛查系统解释为标识已被授予包含短语“电动车辆”的一个或多个专利的公司(其被分配了数据标签ElectricVehiclePatents)。

在网格视图1302中,列1335显示自动驾驶专利,并且列1345显示电动车辆专利,示出了专利标题和发布日期并且提供了到这些专利文档的链接。在一些实施方案中,快速筛查系统提供了通过搜索找到的专利(或当前有效的专利)的总数。例如,电动车辆的pure-play专利分数可以被表达为“PatentsIssuedCount[″ElectricVehicles″]/PatentsIssuedCount”或类似的表达式。在例示的示例中,多行编辑器1301的行7中的输入1370示出了利用表达式“~AutonomousDrivingPatents>0”的过滤,并且行8中的输入1380利用表达式“~ElectricVehiclePatents>0”过滤,使得包括在网格视图1302中的公司(如公司股票代码列1315中列出的)仅为在每个类别中具有至少一个专利的公司。换句话说,所显示的公司具有自动驾驶专利1375和电动车辆专利1385两者(尽管不一定是任何自动电动车辆专利)。

在各种实施方案中,快速筛查系统可被配置为获得、链接到和过滤广泛范围的数据源的内容。例如,“NewsRecent”数据标签可以使得网格视图1202显示来自各种新闻来源的关于每家公司的最近新闻标题。类似于图12的表格10-K链接和图13的专利标题,关于给定标识符的每个新闻标题链接到整个文章,同时有用地直接在搜索结果中提供概要信息。在一些实施方案中,系统允许用户对包含感兴趣的术语的最近新闻文章进行过滤。例如,表达式诸如“NewsRecent[″autonomous driving″]”可以允许用户识别在一个领域中具有少数公开专利的公司,比较他们在该领域中的媒体参与度,反之亦然。以这种方式,快速筛查系统使得筛查人员能够直接观察公司技术发展的活跃区域或者阅读关于感兴趣的目标的新闻,并且获得关于这样的目标的报道的主观印象以补充数字数据分析,或者识别可能影响与某些证券相关的市场的突发新闻。

图14例示了根据一个实施方案的被配置用于股权筛查的快速筛查系统的示例性用户界面1400,示出了对10-K报告中找到的文本的过滤。类似于图12,图14中的快速筛查系统包括紧凑的趋势图和数据标签“Filings10k”。然而,图14没有提供到表格10-K报告的链接,而是使用该数据标签来基于其10-K报告的内容过滤标识符。特别地,在例示的示例中,多行编辑器1401的行5中的输入1450示出了利用表达式“~Filings10k contains″chinatariffs″”的过滤。因此,基于多个标准来限制结果网格视图1402中的公司列表1415:美国大盘股公司1410,其ROE在前四个季度1420、1425内已经激烈地增长1440、1445,并且其最后一个表格10-K报告提到中国和价目表1450、1455。

在网格视图1402中,“报告10k”列1455显示了来自10-K的相关匹配文本,其中突出显示了匹配搜索项,而不是仅仅提供到整个表格10-K文档的链接。在一些实施方案中,突出显示的文本提供了到源文档的链接,或者更具体地提供了到源文档的引用部分的链接。

如上所述,在一些实施方案中,在没有字母文本的情况下实现类似“包含”的运算符。例如,使用括号符号,句法可以是“Filings10k[″china tariffs″]”作为等效示例,类似于图13中的“PatentsIssued[″electric vehicle″]”示例。在一些实施方案中,“contains”运算符用作变换,例如“Filings1ok|contains″china tariffs″”,使得该步骤显式并允许对结果进行过滤;该过滤本身可以是隐式的。通过提供基于文档诸如表格10-K报告或专利的内容来过滤标识符的能力,所公开的快速筛查系统实现了强大的新的筛查方法并且提供了跨不同数据集进行合成的能力。

图15例示了根据一个实施方案的被配置用于股权筛查的快速筛查系统的示例性用户界面1500,示出了结果的分组。类似于图12,图15中的快速筛查系统包括在多行编辑器1501的行6的输入1560中的数据标签“GicsSector”。因此,结果网格视图1502针对每个所显示的标识符(股票代号)显示GICS部门。然而,在图15中,“Gics部门”列1565标题用于根据标识符的类别数据值对这些标识符进行分组。

在例示的实施方案中,“Gics部门”标题也被显示1506为在网格视图1502的顶部设置行组。因此,网格视图1502的左侧列出了一系列GICS部门类别1566。每个类别可以被扩展以显示该部门中的公司的标识符,或者被折叠以显示该部门中满足有效全域过滤标准的公司的数量。在该示例中,美国大盘股公司中最近ROE强劲增长的标准产生了一份主要是信息技术股的名单。所公开的快速筛查系统的这些界面特征允许筛查人员识别趋势,探索用于识别感兴趣的目标的策略,并且容易地看到尝试另选策略的影响。

如上文示例中的每个示例中所证明的,所公开的快速筛查系统的灵活可自定义性、易用性、快速反馈和强大功能允许例如复杂的、富有表现力的筛查(“过去三年中股本回报率(RoE)不断增加且稳定的所有公司”);独特的视角(“所有在过去10-K中提到中国关税的公司”);识别数据中的不连续性或不一致性(“所有品牌人气上升但股价持平的公司”);发现总体趋势(“财报会议电话问答中人气上升的部门”);和基准测试(“MSFT在我们构建的所有筛查表现如何?”)。值得注意的是,筛查可以是可组合的,因此用户可以从一个筛查引用另一个筛查,或者跨多个筛查对公司进行“单元测试”。这使得容易构建透视图的镶嵌图。本公开的系统和方法提供了先前不可用的灵活、结构化的透视图。

图16A至图16B例示了根据一个实施方案的用于现有技术系统的示例性公式1600A和用于被配置用于股权筛查的快速筛查系统的对应示例性表达式1600B,示出了改进的易用性。

图17A至图17B例示了根据一个实施方案的被配置用于股权筛查的快速筛查系统的示例性用户界面1700A-1700B,示出了回溯测试。在图17A中,多行编辑器1701中的上下文菜单1772中突出显示的选择向用户提供了相对于过去的市场结果“回溯测试”一组标准的表现的能力。

回溯测试是指测试模型(诸如一组筛查标准)以根据历史数据确定在任何给定时间值得购买的股票。通过将相同的标准应用于过去的数据,筛查人员可以确定策略在另一时间是否有效,此时不同的股票代码标识符可能已满足正在测试的数据标签标准。回溯测试允许用户确定一组标准(如果在过去一段时间内持续使用)的执行情况。回溯测试人员根据用户选择的标准创建假设位置,随时间执行用户的策略,并记录结果。在本公开之前,回溯测试通常既昂贵又缓慢(数小时或数周),并且仅限于有限的数据集。所公开的快速筛查系统技术花费约几分之一秒到五至十秒来产生回溯测试结果1700B,并且可以回溯测试使用领域专用语言的完整词汇表达的策略,而不需要大量配置或使用单独的工具。下文参考图28更详细地描述用于回溯测试的示例性并发服务器交互。在一些实施方案中,使用与系统用于筛查的代码相同的代码的子集来实现回溯测试,这通过领域专用上下文而成为可能。

图17B示出了图17A的多行编辑器1701中所示标准的一组回溯测试结果1700B。所例示的回溯测试是等权重的;在一些实施方案中,快速筛查系统被配置为任选地运行因素加权回溯测试(而不是仅等权重),诸如通过选择(例如,右击)要加权的因素然后选择回溯测试。在各种实施方案中,回溯测试结果1700B包括报告生成,该报告生成包括绘制和列出回溯测试的结果的各种方法。例如,回溯测试可以提供与一个或多个基准相比,根据选定筛选标准选择的投资在选定时间段内表现如何和/或计算随时间的回报的统计数据。所公开的技术提供了对并发编程的执行的前所未有的可访问性,这种可访问性是用户根本无法利用常规技术来获得的。

图18例示了根据一个实施方案的被配置用于股权筛查的快速筛查系统的示例性变化警报图1800。在一些实施方案中,快速筛查系统可以被配置为执行自动每日筛查并且例如经由电子邮件将结果发送给用户。例如,如果有任何重要的改变(例如,公司添加或从列表中删除、新的风险来源、相关新闻报道等),快速筛查系统可以自动突出显示以节省用户时间并减少可用性偏差。在例示的图表1800中,以竖直列出的标识符和数字水平轴示出了股票筛查的一组结果。变化警报图1800提供了昨天(蓝色圆圈)和今天(橙色圆圈)的值之间变化的可视化,从而允许观看者立即看到发生了什么变化以及变化了多少。

在一些实施方案中,该技术为用户提供了生成比较任何两个筛查结果集的类似图的能力。

图19A例示了根据一个实施方案的用于在被配置用于股权筛查的快速筛查系统中进行内省的示例性AI特征1900。在例示的示例中,所公开的技术使用人工智能(AI)机器学习(ML)来对现有筛查实践进行内省和改进。

首先,识别当前在现有筛查模型中使用的因素(例如,对可能的投资进行分级)。例如,以所公开的快速筛查系统的领域专用语言表示的假设筛查可能是(0.4*RetumOnEquity+0.4*RetumOnAssets+0.2*DebtToEquity)=>CustomFactor,其中现有筛查人员根据CustomFactor从高到低对可能的投资进行排序,以根据对他们最重要的内容对他们的查询进行优先级排序。

为了训练黑箱AI模型来复制现有的实践,我们提出问题:“知道输入是ROE、ROA和DTE,以及对应的输入数据和结果,我们能建立复制它们的筛查结果的模型吗?”然后,我们训练了许多ML模型,样本输入与现有模型使用的输入、现有分级以及预测分级的输出相同,以验证该模型是否反映了当前实践。在训练模型之后,我们可以对其进行内省(即,查看黑箱内部)以确定对该模型的相对特征重要性。自省可以确定例如因子是多余的或者被意外地重加权。例如,用户可能认为ROE和ROA在他们的筛查过程中被相等地加权;但是如果可以通过主要使用ROA来构建预测用户的预期模型的输出的模型,则AI特征1900可以帮助用户理解他们的筛查过程实际上如何工作,并且改进它,或者提供获得相同结果的另选方式。

训练ML模型中最困难的部分中的一者是特征选择过程。通常,选择特征的专家用户不同于实现该模型的数据科学家或定量研究人员。所公开的技术允许从用户在构建现有筛查时使用领域专用语言来推断筛选人员的特征选择参数。对这种领域专用语言的使用进行分析在任何现有筛查器中都是不可能的,因为没有类似可访问的其他筛选器能够充分表达用户想要的内容,也没有在现有语言中足够结构化或约束以使得我们能够从用户对工具的使用推断出语义含义。

另一个挑战是过度拟合,特别是在处理金融数据时。对于自省用例,所产生的ML模型被过度拟合并不重要,因为我们实际上并不是在预测未来事件,只是分析现有事件。通过利用过度拟合模型的特性,所公开的技术与常规实践和教导背道而驰。过度拟合通常被认为是不期望的,并且对于本领域普通技术人员而言将是极其不直观的。

图19B例示了根据一个实施方案的用于在被配置用于股权筛查的快速筛查系统中进行预测的示例性AI特征1950。这是不同于上文相对于图19A所述的内省ML模型的改进AI筛查的方法。在该情况下的方法是使用机器学习来训练一组分类器,该组分类器将某个时间点的全域公司以及示例性公司的选定子集作为输入。该示例性公司可以是单独选择的单个标识符的列表,也可以是满足某些过滤标准的标识符(例如,ROE高于阈值,或公司名称包含“酒店”)。子集中的示例性公司可以是“首选”目标、具有筛查者希望避免的特征的公司或其他类别。开发ML模型的方法可以包括自举、随机森林、AutoML或其他ML模型,优选地是训练者可以推断相对特征权重的模型。训练者可以对得到的筛查模型施加一些控制,例如,通过训练更多的模型并求平均值。分类器经过训练以产生示例性公司;它们都以不同的方式实现了相同的解决方案。因此,它们可以预测将找到那些示例性公司的过滤器。这可以通过示出哪些数据标签和权重相关或反相关来显露用户的偏好。在一些具体实施中,结果是生成概率分布和特征权重。

与对类似事物的预定义集合的一个子集训练并且对另一假定类似子集进行运算的典型推荐引擎不同,此训练模型创建了抽象层,从而描述用户可能认为他们很熟悉的范围(例如,选定行业中的选定公司)。除了帮助量化之外,该模型还允许用户将对该范围的理解应用于其他范围或全域,诸如其他行业、国家和/或时间。

这些分类器可以单独使用,或者作为集成的一部分使用。集成使得我们能够减少对预测上下文的过度拟合。并且一些模型使得我们能够进一步内省具体的权重。其他具体实施包括组合从该相同算法的不同“运行”生成的分类器。例如,所得到的预测模块(分类器的组合)能够以多种不同方式应用,或者可以使得用户能够利用机器对特征权重进行调整或迭代。

图20例示了根据一个实施方案的用于在被配置用于股票筛查的快速筛查系统中进行制度变更检测的示例性AI特征2000。在金融领域,制度变更与金融市场行为的突然变化相关联,诸如可能与经济活动在扩张和衰退之间变化的周期相关联。理解制度变更是重要的,因为它使得投资管理方能够对系统市场变化作出反应。

制度变更模型通常被定义为时间序列模型,其中允许参数在某一固定数量的“制度”的每一者中取不同值。通常,制度变更模型包括它们寻找的一些预定义因素集合以及制度的一些固定定义。通常,重要的思想是定义“什么是制度”和“影响制度的特征是什么”。然而,当前方法的两个问题是:

1.尽管鉴于我们历史的和预先定义的对制度的理解,模型可以告诉你可能的制度变更,但是投资者要回答的重要问题不是“世界在变化吗?”,而是“世界的变化是否对这种投资策略具有重要意义?”

2.它们需要预先定义输入变量,并且不适于影响市场的力量的变化。

我们可以继续在上文参考图19A所述的AI/ML方法的基础上进行构建,以解决自定义制度变更检测问题。在图19A的AI基础上,我们推断并构建了无需投资管理方明确指示的自定义制度变更模型。我们执行相同的过程,但是这次我们可以依次观察多个窗口,而不是查看一个快照时间窗口。因此,我们为每个时间段(例如,各季度)构建一组ML模型。

同样,我们构建的ML模型过度拟合并不重要。输出是定义的因素/特征随时间的影响。如果对你的投资过程而言重要的特征的影响发生了变化,那么这是一个早期警告信号,表明你所依赖的因素可能已经发生变化,因此你可能需要考虑调整你的方法。

目前还不存在从该少量信息推断制度变更模型的能力。语言的可表达性和语义结构/限制的结合,以及ML的应用,有助于增强这种能力。所公开的技术允许领域专家决策者将其与他们自己的判断组合,并利用AI一起迭代以改善结果。

返回参考图19B,预测性AI模型可被应用于使用关于过去已知制度的直觉来推断在当前制度中要做出的类似选择。例如,如果用户认为今天的制度与1990年公司所经历的制度相似,则该模型可用于突出显示与1990年选定公司的子集相似的公司(例如在该制度下蓬勃发展的公司)。也就是说,在1990年被训练来预测感兴趣目标的模型现在可以应用于今天。因此,通过输入一组名称和日期,输出将是在当前和一组筛查中具有与它们相关联的分数的一组相似名称。

又如,目前的世界状况通常是根据“价值”、“增长”、品质”、“势头”等因素股目前是否被看好跑赢大盘来评估的。但是用户可能不确定例如品质类别是否实际应用于该用户的世界“范围”(例如,有限的证券子集)。例如,要找到在2007年和/或2003年表现良好的公司,需要太多的数据才能记住;因此,传统的投资者必须回归直觉。AI模型基本上可以将这种直觉编纂成法典:在“这感觉就像过去的某个时间”的想法不具体的地方,该模型使“现在感觉像那时”变得具体和可量化。

此外,这种AI模型方法可以应用于跨行业或跨国家,以及日期或资产类别(例如,2003年的美国市场与现在的中国市场),从而实现迁移学习并且产生关于否则可能仍然未被发现的交叉连接的见解。

所公开的AI模型训练并不仅仅经由不可调整的黑箱使用过去来预测未来;其添加用户对关于过去的基于经验的直觉的输入,量化制度(即时定义,不预先分类),基于该制度定义预测性模型,并且提供识别当时运行良好的特性的依据,如果用户的直觉正确,那么现在也可以运行良好。该模型提供与在过去的环境中过去感兴趣的公司类似的当今公司的推荐(例如,基于它们的表现/回报或其他品质),而不是试图告诉你今天你处于什么预定义的制度,同时不提供可执行的见解(例如,鉴于环境相似,你可能会考虑购买哪些公司)。

在一些实施方案中,可以从编辑器中指定的代码中推断出用于训练模型的相关“特征”(例如,通过分析数据标签(包括用户定义的数据标签)和表达式)。通常,数据科学或机器学习专家将执行该特征工程。所公开的技术使得不知道机器学习的非技术用户能够有效地与机器学习AI筛查模型协作。

这便于用户和AI筛查模型之间的连续反馈循环,其中用户可以通过改变多行编辑器中的文本来有效地执行特征工程以改进AI筛查模型。这样,用户可以有效地对馈送到模型中的指定特征进行迭代,并且更好地找到感兴趣的目标。

图21例示了根据一个实施方案的用于在被配置用于股权筛查的快速筛查系统中优化混合的示例性AI特征2100。

基于上文关于图19A和图20所公开的方法,我们使用这些内省和/或制度变更见解来优化未来的筛查模型。如果ROE表现出色,即,如果筛查人员认为ROE和ROA同样重要,但ML模型推断ROE可能会识别出更多感兴趣的公司,则我们可以在你生成的列表中突出显示你可能希望更多地关注的公司。

类似地,基于上文关于图19B和图20所公开的方法,对你的投资组合中的高绩效证券进行建模的筛查可被应用于通过找到一组筛查来生成这些证券的名称来识别附加的筛查标准和/或权重。

在上述方法的变化形式中,预测性AI模型还可应用于获得对筛查中的名称的羊群和/或最小共识风险评估。给定筛查和日期的输入,输出是两个标识符列表:出现在其他筛查中最少的名称,以及出现在其他筛查中最多的名称。第一个表示最小共识风险;第二个表示羊群风险。

因此,如果我们生成例如100个筛查来帮助你找到该组公司(即,如果有100种方式来获得相同的解决方案),那么如果其中75个筛查都认为MSFT是不错的选择,那么收益取决于你对MSFT是你想要购买的公司种类的信心。它是否代表了你所看重的?或者你是否反思并怀疑自己的观点有多独立?也就是说,如果筛查显露了大部分你所做的是传统成长型投资者所做的,而一小部分是你的“秘密武器”,那么你就有能力内省并据此采取行动来调整你的偏见、你的观点和/或你的行为。

在另一变化形式中,预测性AI模型可用于识别未遂事件:例如,未出现在用户的初始筛查或投资组合中的名称,但确实出现在许多AI学习的筛查中的股票代码名称。这样的公司可能需要采取行动进行调查。

图22例示了根据一个实施方案的用于在被配置用于股权筛查的快速筛查系统中进行特征建议的示例性AI特征2200。

基于上文关于图19A、图20和图21所公开的方法,我们可以建议添加到一组筛查标准的特征(例如,数据标签)以及要移除的特征。例如,我们添加仅仅是随机噪声的一个或多个特征,将其设置为用于与现有筛查标准中的其他因素的影响进行比较的基线,并且推荐移除低于该阈值的特征。例如,如果DTE在我们的阴影模型中的影响小于随机噪声,则可能会认为该信号正在被合并,但实际上并非如此。因为我们具有对用户正在试图完成的目标的强语义理解,所以我们可以静态地和/或动态地分析以做出改进其策略性能的建议。

所公开的AI模型和界面提供简单但强大的抽象级别,因为用户输入是领域专用的,所以我们对用户希望解决的问题类型有更多的背景。用户输入允许推断领域内的用户偏好。该界面是非技术和交互式的,鼓励用户基于其结果进行迭代,并容易地进行“特征”工程。

此外,这些AI模型与普通的定量建模形成对比,后者的目标通常定义得非常严格。所公开的模型使得我们能够以定性和/或难以描述的目标为目标,这使得其对于更依赖于经验的全权投资者而言是可行且有用的。

图23例示了根据一个实施方案的被配置用于股权筛查的快速筛查系统的示例性用户界面,示出了运算符的创造性使用。在多行编辑器2301中,行3输入2330基于美国大型资本公司2310的当前资产回报率,对其应用“RankHighToLow”变换,并将分级元数据分配给变量“RoaRank”2335。行6表达式2360结合了三元运算符、表情字符和字符串连接,以产生易于阅读的Roa指示符列2365。三元运算符的功能类似于格式为“(X?Y:z)”的简短if-then语句,其中如果表达式X为真,则三元运算符的输出为Y,否则输出为z。因此,对于Roa分级为75或更低的任何公司,结果是绿色复选框表情字符,对于Roa分级为76或更高的任何公司,结果是红色的X标记表情字符。输出表情字符与空格字符和资产回报率值级联,从而显示Roa指示符列2365,突出显示美国大盘股中Roa最高的股票。

图24例示了根据一个实施方案的被配置用于股权筛查的快速筛查系统的示例性用户界面2400,示出了自动格式化。在例示的示例中,应用于美国大盘股2410全域,三次计算确定了“价值”因素2450/2455、“增长”因素2460/2465和“品质”因素2470/2475。在行10、行11和行12中,三个因素各自应用了“SplitQuintiles”变换2451、2461、2471,从而生成为每个标识符的因素分数分配1到5的五分位数的元数据。

每个因素的五分位数计分被分配给以“Score”结尾命名的可变或自定义数据标签。因此,快速筛查系统通过用“热图”颜色编码在网格视图2402中显示与那些变量相关联的值来专门处理这些值。如图所示,“1”五分位数分数显示在深红色的单元格中;“2”五分位数分数显示在深橙色的单元格中;“3”五分位数分数显示在黄色的单元格中;“4”五分位数分数显示在浅绿色的单元格中;并且,“5”五分位数分数显示在深绿色的单元格中。

显示值的这种和其他自动格式化提供了与常规筛查系统的对比,并且使得显示结果对于未经训练的用户而言易于理解,同时提供了更大的灵活性和表现力。

图25例示了根据一个实施方案的被配置用于股权筛查的快速筛查系统的示例性用户界面2500,示出了预测的时间点态势报告。时间序列情况报告模型不仅提供了探索和筛查能力,还提供了利用分析者随时间的预测并将其与公司的实际表现进行比较的深入了解和强大的分析。

在例示的示例中,在多行编辑器界面2501中,在行12510中,符号“#/Model/SituationReport”调用了态势报告模式或模型(也可以使用许多其他等效方法,诸如按钮、下拉菜单、语音命令等)。一些控件未示出,包括用于录入公司列表或全域标识符的输入字段(在该情况下为“公司名称”列2515中显示的五家公司)和带有日历下拉列表的日期字段。多行编辑器界面2501包括一组表示分析者在若干区域中的预期的数据标签(诸如“EbitConsensusMean”2530)。该数据标签反映了分析者对公司息税前利润预测的共识平均值。

态势报告模型中每个单元格的内容都不是简单的值,而是每个复杂数据集的汇总。为了生成汇总情况报告,快速筛查系统为网格显示2502中的每个单元格产生计算过程,以下载和处理基础信息。对数据进行插值和平滑,然后显示。所显示的值表示选定公司的选定指标的当前(针对选定日历日期)预测变化率。例如,在例示的示例中,对于Bed Bath&Beyond公司2531,Ebit共识平均值2535的值为53 2545。这指示共识平均值略有正斜率,意味着预测EBIT将保持不变或略有增加。

在例示的示例中,基于平滑预测的曲线斜率,沿着红-黄-绿光谱(基于标准偏差,用于匹配人眼/预期)对单元格进行着色。因此,0与10之间的值对应于最快下降,而90到100的值对应于相对于最大绝对斜率的最快增加。微软公司2532的EBIT共识平均值2535非常高,为95 2546,因此被着色为鲜艳的绿色,指示共识预测微软的EBIT将一如既往地急剧增长。截至本公开之日,所示分析的计算复杂度将使其不可能在个人计算机上运行。

除了显示当前趋势之外,态势报告还提供了控件,允许对分析者的预测进行以前不可用的导航、综合和上下文感知。例如,通过调整日历日期,用户可以容易地对以前的时间进行预测,并比较共识预测的状态如何变化或正在变化。此外,绿色箭头2580或红箭2585指示公司的实际预测超过或未达到预期的共识预测,这可能预示着变化。此外,每个单元格是到随时间显示更完整信息的更大图形的链接,如下文参考图26进一步描述的。

图26例示了根据一个实施方案的被配置用于股权筛查的快速筛查系统的示例性用户界面2600,示出了态势报告历史预测图2601。当用户从图25中选择单元格2545时,示出了该图2601,并且示出了初始态势报告表中显示的数字后面的细节。图2601包括阶梯线2610,其表示在所显示的时间范围内对Bed,Bath&Beyond的EBIT的实际共识预测。此外,还示出了平滑线2620,其也是上文参考图25所述的斜率计算的来源。在实际和平滑预测周围或附近是阴影区域2640,其表示分析者预测的预测区间。当实际预测2610在预测区间2640之外时,态势报告表(图25中所示)标记了偏移,因为它可能指示与先前确定的预期的变化。图例2650显示了给定日期的精确值。

态势报告图适用于任何时间序列数据,而不仅仅是估计值。如应用于例示的示例中的估计值,其突出显示了分析者预测中超出预测的巨大变化,以及一致的变动。例如,dy(平滑的)图沿着图表的下半部分延伸,示出了预测的变化率。因此,在例示的示例中,分析者的EBIT预期在2018年10月左右上升2630,在2019年11月左右下降2635。这使得分析者预期中的拐点更容易识别,而无需用户提供编码或其他特殊技术专长。这种共识预测的可视化减少了学习曲线,并且通过将公司添加到列表而缩短了洞察的时间,用户可以得到立即的结果。因此,所公开的技术可以使得用户容易看到警告,甚至可能在市场反应之前。其他实施方案使得用户能够以与上述相同的方式筛查该信息。

图27是示出通常结合在可以实现本技术的计算系统和其他设备中的一些组件的框图。在例示的实施方案中,计算机系统2700包括处理组件2730,其根据存储在存储器2740中的计算机可读指令来控制计算机系统2700的操作。处理组件2730可以是任何逻辑处理单元,诸如一个或多个中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)等。处理组件2730可以是电子设备中的单个处理单元或多个处理单元,或者分布在多个设备上。本技术的各方面可体现在专门编程、配置或构造成执行本文详细说明的计算机可执行指令中的一者或多者的专用计算设备或数据处理器中。

本技术的各方面还可在分布式计算环境中实践,其中功能或模块由通过通信网络诸如局域网(LAN)、广域网(WAN)或因特网等链接的远程处理设备来执行。在分布式计算环境中,模块可以被定位于本地和远程存储器存储设备两者中。在各种实施方案中,计算机系统2700可包括共同提供本文所述的功能的一个或多个物理和/或逻辑设备。在一些实施方案中,计算机系统2700可包括一个或多个复制的和/或分布式的物理或逻辑设备。在一些实施方案中,计算机系统2700可包括从“云计算”提供商提供的一个或多个计算资源,例如华盛顿州西雅图的亚马逊公司提供的

处理组件2730连接到存储器2740,该存储器可包括临时及/或永久存储装置与只读存储器(ROM)和可写存储器(例如,随机存取存储器或RAM、CPU寄存器和芯片上高速缓存存储器)两者的组合、可写非易失性存储器诸如快闪存储器或其他固态存储器等、硬盘驱动器、可移除介质、磁性或光学可读磁盘和/或磁带、纳米技术存储器、合成生物存储器等等。存储器不是脱离底层硬件的传播信号;因此,存储器和计算机可读存储介质本身并不指代瞬时传播信号。存储器2740包括包含程序、软件和信息的数据存储装置,诸如操作系统2742、应用程序2744和数据2746。计算机系统2700操作系统2742可包括例如

计算机系统2700可包括输入组件2710,该输入组件接收来自用户交互的输入并向处理器2730提供输入,通常由硬件控制器调解,该硬件控制器解释从输入设备接收到的原始信号并且使用已知的通信协议向处理器2730传送信息。输入组件2710的示例包括键盘2712(具有物理或虚拟键)、定点设备(诸如鼠标2714、操纵杆、拨号盘、或眼睛跟踪设备)、在被用户触摸时检测接触事件的触摸屏2715、接收音频输入的麦克风2716、以及用于静态照片和/或视频捕获的相机2718。计算机系统2700还可包括各种其他输入组件2710,诸如GPS或其他位置确定传感器、运动传感器、具有加速计的可穿戴输入设备(例如,可穿戴手套型输入设备)、生物特征传感器(例如,指纹传感器)、光传感器(例如,红外传感器)、读卡器(例如,磁条读取器或存储卡读取器)等等。

处理器2730还可例如直接或经由硬件控制器连接到一个或多个各种输出组件2720。输出设备可以包括在其上显示文本和图形的显示器2722。显示器2722可以是例如LCD、LED或OLED显示屏幕(诸如台式计算机屏幕、手持式设备屏幕或电视屏幕)、电子墨水显示器、投影显示器(诸如抬头显示设备)和/或与充当输入设备以及向用户提供图形和文本可视反馈的输出设备的触摸屏2715集成的显示器。输出设备还可以包括用于播放音频信号的扬声器2724、用于触觉输出诸如振动的触觉反馈设备等。在一些具体实施中,扬声器2724和麦克风2716由组合的音频输入-输出设备来实现。

在例示的实施方案中,计算机系统2700还包括一个或多个通信组件2750。通信组件可包括例如有线网络连接2752(例如,以太网端口、电缆调制解调器、Thunderbolt电缆、FireWire电缆、Lightning连接器、通用串行总线(USB)端口等中的一者或多者)和/或无线收发器2754(例如,Wi-Fi收发器、蓝牙收发器、近场通信(NFC)设备、利用GSM、CDMA、3G、4G和/或5G技术的无线调制解调器或蜂窝无线电等中的一者或多者)。通信组件2750适于直接经由有线或无线对等连接和/或间接经由通信链路和联网硬件(诸如交换机、路由器、中继器、电缆和光纤、光发射器和接收器、无线电发射器和接收器等(其可包括因特网、公共或专用内联网、本地或扩展Wi-Fi网络、蜂窝塔、普通老式电话系统(POTS)等))在计算机系统2700与其他本地和/或远程计算设备之间通信。计算机系统2700还包括电源2760,其可包括电池电源和/或用于操作与计算机系统2700相关联的各种电气组件的设施电源。

可适于与该技术一起使用的公知计算系统、环境和/或配置的示例包括但不限于个人计算机、服务器计算机、手持式或膝上型设备、蜂窝电话、可穿戴电子设备、平板设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子设备、网络PC、小型计算机、大型计算机、包括以上系统或设备中的任一者的分布式计算环境等。虽然如上所述配置的计算机系统通常用于支持该技术的操作,但是本领域普通技术人员将理解该技术可以使用各种类型和配置并且具有各种组件的设备来实现。不必示出这样的基础结构和具体实施细节来描述例示性具体实施。

图28是例示根据一个实施方案的用于回溯测试的示例性并发服务器交互的若干组件的示意和数据流图2800。用户诸如经由web应用或其他客户端设备2810(例如,运行本地软件或访问软件即服务(SaaS))与快速筛查系统交互。用户请求回溯测试2805,例如,如上文参考图17详细描述的。对于不太复杂的结果,诸如修改筛查标准和其他投资组合分析,快速筛查系统可以类似地操作。客户端web应用或设备2810向会话服务器2820(例如,管理远程服务器上的用户数据库的主机设备)发送请求2815。请求2815可包含例如订户认证或会话信息以确保订户被授权(以及例如对回溯测试服务收费),和/或指定回溯测试的参数(诸如要测试的标准和要测试的基准)的日期和代码。在各种实施方案中,参数已经与用户的会话相关联并且在服务器上是可用的,因此当前会话和回溯测试请求的识别可以用最少的数据传输来完成。在一些实施方案中,客户端接口设备或web应用2810向会话服务器2820发送针对新的筛查、回溯测试或其他投资组合分析请求何时发生的一个或多个触发,并且订阅当分析完成时要接收的更新。

当用户已被会话服务器2820验证时,会话服务器2820向例如在服务器诸如一个或多个云计算实例上运行的主函数2830发送请求2825。主函数2830作为整体管理回溯测试请求的处理和组装,包括使用并发计算资源(例如,触发lambda函数2840)来执行请求以高效地并行化回溯测试计算。lambda是简单的,但可以完成很多事情,因为系统可以并行地产生许多任务,以在短时间内同时执行大量任务。例如,在回溯测试中,快速筛查系统可以将计算分解成离散的时间段,例如回溯测试中的每年和每年中的各个月。这允许回溯测试速度的显著提高。在各种实施方案中,领域专用语言被设计用于并发性和数据分片(例如,跨时间、数据项和用户专用模式)。

在例示的实施方案中,lambda函数2840从一个或多个金融数据数据库2850获得数据,其中物化视图2845包含跨数据和时间的快照。在一些实施方案中,物化视图2845快照也包括最近的一组历史值,这会导致一些重复,但是使得例如极快地并且以可比较的方式访问过去几年的自定义趋势成为可能。物化视图示例数据2848包括日期、标识符、一对值(针对过去十二个月和当前季度)和一对历史值集合(针对过去十二个月以及当前季度)。在各种实施方案中,保存物化视图2848以在运行相同或另一回溯测试时加速访问;这允许用户在不同回溯测试s的结果之间来回切换而不需要重新计算。在各种实施方案中,筛查和/或回溯测试功能可以插入到多种类型的数据存储中,并且不限于数据库2850;例如,也可以有效地使用应用编程接口(API)。

lambda函数2840返回到主函数2830,并且主函数2830将回溯测试或其他分析的全部结果2855递送到会话服务器2820。在各种实施方案中,在运行查询之后,完整结果2855被存储在服务器侧。这意味着如果数据本身不改变(例如,分类、分组等),则快速筛查系统不需要一直重新运行查询,并且还开辟了增量查询的可能性。

在一些实施方案中,lambda函数2840用客户端接口设备或web应用2810已订阅的结果来更新。在一些实施方案中,会话服务器2820向客户端接口设备或web应用2810提供结果标识符2857。客户端界面设备或web应用2810然后可以请求部分结果2865(例如,仅在用户的显示器上呈现可视结果所必需的结果)。会话服务器2820然后将结果2875的所请求部分递送到客户端接口设备或web应用2810。

图29是例示根据一个实施方案的用于实现快速筛查系统的示例性服务器系统的若干组件的示意图2900。用户诸如经由web应用或其他客户端设备2910与快速筛查系统交互。web应用2910经由例如服务器端点2905、2908与会话服务器2920通信,以请求诸如筛查、回溯测试或执行时间序列预测分析。服务器在1:1对应的基础上处理对服务器端点2905的请求,其中会话服务器2920例如将每个请求一行插入到会话数据库中。例如,当处理录入表达式的用户的筛查会话时,web应用2910将所录入的表达式提供给会话服务器2920,该会话服务器可以发起对该表达式的处理。例如,每当在编辑器中更新、添加或移除行时,web应用2910通知会话服务器2920,该会话服务器发起对后端数据库2940或编译器/解释器2930的请求。在一些实施方案中,从web应用2910到会话服务器2920的回溯测试请求也以1∶1的基础进行处理。

服务器在1:多对应的基础上处理对服务器端点2908的请求,其中会话服务器2920例如将每个请求多行插入到会话数据库中。例如,响应于时间序列分析请求,会话服务器2920可以针对公司和预测的每个组合(即,结果表中的每个单元格)发起单独的过程,而不是针对整个请求发起一个过程。在一些实施方案中,web应用2910客户端发起一系列单独的请求;在一些实施方案中,会话服务器2920接收分析请求并产生所要求的子任务。在任一情况下,单独的任务都可以在每个单元格的基础上产生一组结果,而不是例如单个JSONblob,从而允许异步地组装结果。

会话服务器2920的其他组件包括认证服务2921,以确保请求者被授权并且数据是安全的;认证服务2921可以与用户数据2922链接。用户数据库2922可以另外存储用户的代码(例如,确保筛查表达被自动保存并且跨会话可用)、偏好和/或认证凭证,并且可以提供高速缓存层。会话数据服务2923管理用户的会话数据,包括高速缓存筛查结果2934。例如,对于正在运行筛查的用户,当用户以领域专用语言编写代码时,会话数据服务2923可以在会话数据库中为该代码插入行。在一些实施方案中,会话数据服务轮询更新。当所请求的数据被加载(例如,从编译器/解释器2930)时,会话数据服务2923高速缓存该数据并且用结果更新web应用2910。

此外,会话服务器2920可以存储上下文数据2924。上下文2924可以包括例如自定义全域(各自包括例如全域的名称、定义全域的参数(例如,最低市值、国家、特定公司名称等))和/或自定义索引(各自包括例如索引的名称以及回报的时间序列(用户可以上传))。上下文数据2924可以在用户之间共享以允许更容易的协作并最大限度地减少重复或同步问题。

在例示的实施方案中,会话服务器2920与编译器/解释器2930是分开的。单独存储会话数据可以提供优点。例如,对于用户分析和/或遥测,它可以允许数据更容易地审计。此外,它还可以报告哪些数据被使用最多,由哪些人使用,而不仅仅是哪个包,还可以报告粒度数据诸如字段映射,这有助于降低成本。因此,所公开的技术的结构实现了在运行常规后端数据库查询时通常不可能进行的自省和分析。

此外,因为编译器/解释器2930是单独的服务器,并且因为领域专用语言提供了关于用户试图完成的内容的上下文,并且预期结果是可验证和可复制的,所以所公开的系统使得系统管理员能够在没有编程语言的传统约束的情况下进行语言特征更新。这使得能够更快地向用户递送新特征,因为领域专用语言的结构及其上下文理解可以允许管理员确保它们永远不会中断(这对于传统语言的新版本而言是典型的)。

编译器/解释器2930是负责执行筛查搜索、回溯测试和/或分析建模的实际请求的主力军。该示意图是简化的逻辑表示;本领域的技术人员将理解,作为示例,编译器/解释器2930可以包括分布式计算资源,以执行所需的处理、负载平衡/队列管理等。所例示的会话服务器2920与编译器/解释器2930的分离对于编译器/解释器2930也是有利的,其不需要理解用户,但是需要理解数据源。

在例示的实施方案中,筛查模型2935包含或引用语法2931,它使用该语法来将用户的代码(例如,作为整体)解析成抽象句法树(AST)2932。筛查模型2935评估每一行2933,包括每一行中的表达式(例如,按次序)。对于每一行,它解释AST。筛查模型2935连接到一个或多个数据库(包括高速缓存,如果可用的话)以获得数据,并且对于每行连续地建立结果集2934。筛查模型2935将结果集2934插入到会话数据服务2923结果数据库中。

在例示的实施方案中,回溯测试模型2936运行通过回溯测试专用逻辑2937以及共享筛查模型2935组件。回溯测试模型2936利用筛查模型2935以及各种数据库优化(包括快照,以及卸载一些计算以更接近数据库)。当回溯测试运行时,通常根据一组买/卖标准随时间重新平衡。这些标准可以表达为筛查标准。因此,如果用户编写筛查,则无需附加配置,他们可以立即基于该筛查代码运行回溯测试,只需点击一下。

编译器/解释器2930然后利用其对用户意图(他们想要运行回溯测试)的语义理解来在执行代码之前优化代码,作为回溯测试模型2936中的重新平衡步骤的一部分。例如,如果确定在向溯测试的上下文内未使用数据标签或表达式(可能是来自探索性筛查会话的剩余列,或者仅为了向最终用户显示的目的而计算),则回溯测试模型2936可以在执行回溯测试之前剔除或以其他方式排除该代码,因为它将不会有意义地影响针对回溯测试的过滤标准或因素权重。相反,使用通用编程语言运行的回溯测试缺乏这种语义理解(即某些被下拉的数据或某些执行的分析对用户当前要执行的行为没有任何有意义的影响),因此这种优化无法使用常规手段自动执行。

在各种实施方案中(例如,对于运行跨多年的回溯测试),回溯测试模型2936将回溯测试分解成子组件并且将它们并行化2938(例如,按月,或计算回报等)。

附加的模型2939(例如,时间序列分析处理模型)类似地由编译器/解释器2930执行,并且产生被发送到会话服务器2920的结果集合。在所需的上下文最少的情况下,相同的领域专用语言适用于编译器/解释器2930提供的所有模型。

在一些实施方案中,为了促进高速缓存,请求可以通过编译器/解释器2930运行两次:第一次收集和预取数据标签,第二次实际评估请求。这可以使得数据存储能够在第一次运行时有效地高速缓存结果。

后端数据可包括未优化数据存储库2945和优化数据库2940两者。例如,通常访问的数据可以被优化用于快速检索,特别是对于最常见的查询。优化的数据库2940组件可以包括例如用于不同数据集的轻量级读取访问表2941,以及时间点快照2942(例如,用于“今天”和“月末”,追溯到特定年份),以减少查询时间。非结构化数据(例如,10-K报告)可被处理以变得更优化。然而,优化不是二进制的;例如,专利信息包括大量的非结构化文本,但也可以诸如经由名称相似性处理报告以将它们链接到公司(而不仅仅是链接到静态数据)。因此,这样的数据库不必具有与证券名称或标识符的精确匹配,并且它们仍然能够以其他方式“加入”。

优化不仅是提供改进性能的工具,而且是由所公开系统的结构提供的优点。通常,对数据集运行查询(例如,运行回溯测试请求)的人员无法控制基础数据库,基础数据库是必须满足来自具有不同目标的用户的查询并且处理访问数据库的通用编程语言的大数据存储库。相反,所公开的技术在保持高度表现力的同时对使用情况和访问模式强加了显著的限制,这是允许产生高性能结果和更加用户友好的界面的优化。

在一些实施方案中,系统的数据存储库和其他元件是完全可扩展的并且对集成开放。例如,对具有API依从性的任何数据库的远程访问都是可能的,并且任何提供者都可以实现接口。数据本身专用于语言专用于的领域,但如果数据服务器遵守指定的接口,它就“正常工作”。类似地,可扩展性可应用于:数据标签集(以标准化格式,无论是以领域专用语言定义的、自定义的、导出的、或甚至自引用的);附加的变换;自定义报告模板(例如,回溯测试或筛查的结果);结果(例如,以标准化JSON格式返回);视图(例如,将字符串阵列显示为带项目符号的HTML列表);甚至模型(例如,为每个模型提供单独的会话数据库端点)。例如,视图能够以HTML或数据结构的形式传递回web应用2910,这允许数据基于其内容或上下文而被专门呈现。因此,例如,URL可被显示为链接,值的阵列可被视为图表,并且名称以“Score”或“Ranking”结尾的变量的值可与热图颜色梯度一起显示。实质上,任何数据标签、任何功能、任何模型和任何报告都可以被集成到所公开的完全可扩展系统中。虽然用于领域专用语言的基本操作符可以保持相同,但是新的数据类型、处理和变换可以针对不同的域或客户来自定义。

虽然本文中已图解说明及描述特定具体实施,但本领域的普通技术人员将了解,在不脱离本公开的范围的情况下,另选和/或等效具体实施可替代所示及所述的特定实施方案。

例如,尽管上文在快速筛查系统和/或由一个或多个服务器向远程客户端提供的服务方面描述了各种实施方案,但是在其他实施方案中,可以在客户端计算机上本地地采用类似于本文所述的那些筛查方法来在本地或远程语料库内找到并显示结果。

类似地,尽管上文在能够筛查股票或其他证券(例如,债务证券、虚拟货币等)的筛查系统或服务方面描述了各种实施方案,但是其他实施方案可以使用类似的技术来允许筛查或筛选另一专业领域中的数据,诸如房地产、广告、医疗诊断、药物研究、雇佣、梦幻运动、电影、科学数据、照片等。例如,回溯测试可以在一组给定条件下对不同药物进行模拟;应用于地质数据领域的筛查系统可以改善对石油钻探地点的搜索;应用于房地产的系统可以寻找被低估的购房机会;应用于癌症筛查的系统可以提供改进的能力,以立即在样本中进行复杂的分析并识别研究的趋势和有希望的途径。在其他实施方案中,可以对所公开的技术进行各种其他应用。本申请旨在覆盖本文所讨论的实施方案的任何修改或变化形式。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号