用于资产管理和交易的分布式进化算法的制作方法

文档序号:6349027阅读:169来源:国知局
专利名称:用于资产管理和交易的分布式进化算法的制作方法
用于资产管理和交易的分布式进化算法相关申请交叉引用本申请基于35USC 119(e)要求2009年4月28日提交的名称为“Distributed Evolutionary Algorithm for Stock Trading”的美国临时申请号61/173580 的权益,在此通过引用将其内容全文并入。
背景技术
复杂的金融趋势和模式分析处理通常利用超级计算机、大型机或功能强大的工作站和PC完成,它们通常位于公司的防火墙内,并且由该公司的信息技术(IT)组拥有和操作。在这种硬件和运行该硬件的软件方面的投资是巨大的。维护(修复、调整、打补丁)和操作(电气,安全数据中心)这种基础架构的成本同样巨大。股票价格的波动通常是不可预测的,但是偶尔呈现出可预测模式。基因算法(GA) 被公知为已经在股票分类中使用。根据一种理论,在任何给定时间,5 %的股票遵循一种趋势。基因算法因此有时被使用来将股票分类为遵循或不遵循趋势,并且取得一些成功。作为基因算法的超集的进化算法在穿越混沌搜索空间时是良好的。如同Koza,J. R 1992 年在 MIT 会议上发表的"Genetic Programming :0n the Programming of Computers by Means of Natural Selection”中已经示出,进化算法可以被使用来在断言注释时进化完整的程序。进化算法的基本元素是环境、基因模型、适应性函数(fitness function)以及复制函数。环境可以是任何问题陈述的模型。基因可以由用于管理在所述环境内管理其行为的规则集定义。规则是要在所述环境中执行的动作所遵循的条件列表。适应性函数可以利用进化规则集正在与所述环境进行协商的成功程度定义。适应性函数由此用于评估每个基因在所述环境中的适应度(fitness)。复制函数通过将规则与所述父基因中的最适应的父基因混合来生成新基因。在每代中,创建新的群体(population)。在所述进化过程的开始,通过将形成基因的构件块或字母放置在一起,完全随机地创建组成所述初始群集的基因。在基因编程时,所述字母是一组条件和动作,该一组条件和动作组成在所述环境内管理所述基因的行为的规则。一旦建立起群集,就使用所述适应性函数来对该群集进行评估。具有最高适应度的基因随后被使用来在被称作复制的过程中创建下代。通过复制,父基因的规则被混合,并且有时被变异(即,在规则中进行随机变化) 来创建新的规则集。该新的规则集随后被分配给将作为所述新代的成员的子基因。在一些具体实现中,上代中的最适应成员(称为精英)也被复制到下代。

发明内容
根据本发明的一个实施例,一种联网计算机系统,包括一个或多个服务器计算机, 以及多个与所述服务器计算机通信的客户端计算机。每个客户端计算机部分包括存储器、 通信端口和处理器。每个客户端服务器中的存储器可被操作来存储多个基因,每个基因由一组一组条件和至少一个动作表征。每个客户端计算机中的通信端口持续周期性地接收与存储在所述存储器中的基因相关联的数据。每个客户端计算机中的处理器通过将其每个基因所提供的解与周期性接收的与该基因相关联的数据进行比较来评估该基因的性能特性。 由此,每个基因的性能特性利用每个周期性接收的数据而被更新和改变。基因的性能特性定义其适应度。在一个实施例中,与每个基因相关联的数据是历史交易数据,并且每个基因所提供的解是由该基因推荐的交易。在一个实施例中,其适应度在覆盖第一时间段的评估之后被确定为小于第一预定阈值的基因被丢弃。在周期性地接收到新数据时,剩余(存留的)基因继续由它们的客户端计算机评估。在一个实施例中,响应于来自所述服务器计算机的指令,在所述第一评估时间段中存留的基因继续由所述客户端计算机评估一个或多个附加时间段。在每个附加时间段期间,丢弃适应度小于阈值的基因。当服务器请求时,在一个或多个评估时间段中存留的基因被存储在精英基因池中,以供所述服务器选择。与多个时间段对应的用于评估基因的适应度的阈值可以相等或者可以不相等。在一个实施例中,所述服务器计算机从所述客户端计算机的精英池中选择基因, 并且将其存储在其存储器中。所述服务器可以将存储在其存储器中的基因传送回所选择的客户端计算机中的一个或多个中,以进行覆盖附加时间段的进一步评估。所选择的客户端计算机在附加时间段内进一步评估基因,并且尝试将所述存留的基因传送回所述服务器。 被所述客户端计算机丢弃的基因被报告给所述服务器。在一个实施例中,所述服务器仅仅接收适应度被所述客户端计算机确定为等于或大于所述服务器先前存储的该基因的适应度的基因。在一个实施例中,由客户端计算机初始评估的基因根据客户端计算机所存储并执行的计算机指令而被生成。在一个实施例中,所述服务器在任何给定时间将固定数目的基因存储在其存储器中。在从客户端计算机接受新基因后,所述服务器将所接受的基因的适应度值与所述服务器先前已经存储在所述服务器中的该基因的对应适应度值结合。根据本发明的一个实施例,一个求解计算问题的方法,部分包括存储N个基因, 每个基因由一组条件以及至少一个动作表征;继续周期性地接收与所述N个基因相关联的数据;以及通过将每个基因所提供的解与所述周期性接收的与该基因相关联的数据进行比较,来评估该基因的性能特性。由此,每个基因的性能特性利用每个周期性接收的数据而被更新和改变。基因的性能特性定义其适应度。在一个实施例中,与每个基因相关联的数据是历史交易数据,并且每个基因所提供的解是由该基因推荐的交易。在一个实施例中,在覆盖跨度为P天的第一时间段的评估之后其适应度被确定为小于第一预定阈值的基因被丢弃。在周期性地接收到新数据时,继续评估在上述评估中存留的剩余基因。在一个实施例中,在所述第一评估时间段中存留的基因响应于指令而被继续评估一个或多个附加时间段。在每个附加时间段期间,丢弃适应度低于阈值的基因。在所述一个或多个评估时间段内存留的基因被存储在精英基因池中,以供可能的选择。所选择的基因被存储在不同的存储器中。与多个时间段对应的用于评估基因的适应度的阈值可以相等或者可以不相等。在一个实施例中,所选择的基因可以被传送回,以用于覆盖附加时间段的进一步评估。所选择的基因在附加时间段内被进一步评估。在该进一步的评估中存留的基因被提供来用于选择。在该进一步的评估中没有存留的基因被丢弃,但是在报告中指出。在一个实施例中,仅仅选择适应度被确定为等于或大于先前存储的该基因的适应度的基因。在一个实施例中,基因根据所述客户端计算机存储并执行的计算机指令而被生成。在一个实施例中,管理和向所述客户端计算机传送指令的计算机在任何给定时间存储固定数目的所选择的基因。在一个实施例中,如果新近选择的基因先前被选择和存储,则将该新近选择的基因的适应度值与该基因的对应适应度值结合。


图1是根据本发明的一个实施例的被配置为执行进化算法的网络计算系统的示例高级方框图。图2示出了根据本发明的一个示例实施例的图1中的客户端计算机系统和服务器计算机系统的多个功能逻辑块。图3A示出了根据本发明的一个实施例的一个或多个客户端计算机评估多个基因的性能特性的示例流程图。图;3B示出了根据本发明的一个实施例的一个或多个服务器计算机评估多个基因的性能特性的示例流程图。图4示出了根据本发明的一个实施例的图1中的客户端计算机和服务器计算机的多个组件。
具体实施例方式根据本发明的一个实施例,服务器计算机和多个客户端计算机形成网络计算系统,该网络计算系统是可扩展的,并且适于使用运行在客户端计算机上的软件应用来持续评估生成的多个基因的性能特性。在一个实施例中,基因是推荐交易选项的虚拟资产交易者(asset trader)0在下面的描述中,应当理解(i)系统指的是硬件系统、软件系统或结合的硬件/ 软件系统;(ii)网络计算系统指的是多个移动或固定计算机系统,该多个移动或固定计算机系统彼此无线通信地或使用有线线路进行通信;网络计算系统部分包括多个计算机,多个计算机中的至少一个是中央或分布式服务器计算机,以及剩余的计算机是客户端计算机,每个服务器计算机或客户端计算机包括至少一个CPU和存储器。图1是根据本发明的一个实施例的网络计算系统100的示例高级方框图。网络计算系统100被示出为部分包括N个客户端计算机20以及一个服务器计算机10。应当理解, 服务器10可以是集中式服务器或分布式服务器。客户端计算机可以是膝上型计算机、台式计算机、蜂窝/VoIP手持通信/计算设备、平板计算机等。宽带连接将客户端计算机(在本文中或者称为客户端)20连接到服务器计算机 (在本文中或者称为服务器)10。这种连接可以是电缆、DSL、WiFi、3G无线、4G无线或者任何其他现有的或将来的被开发来将CPU连接到因特网的有线或无线标准。可以使用任何 CPU,只要根据本发明并且在下面进一步描述的客户端软件能够在该CPU上运行。在一个实施例中,网络计算系统100实现金融算法/分析,并且计算交易策略。为此,与上述算法/分析相关联的计算任务被分为多个子任务,多个子任务中的每个被分配并委派给客户端中的不同客户端。客户端所实现的计算结果此后被服务器10收集和结合, 以得到目前正在处理的任务的解。每个客户端所接收的子任务可以包括相关算法或计算代码、由该算法实现的数据、以及要通过使用相关算法和数据解决的一个或多个难题/问题。 相应地,在一些示例中,服务器10接收并结合布置在客户端中的CPU所提供的部分解,以生成针对所请求的计算问题的解。当网络计算系统10正在处理的计算任务包括金融算法时, 通过综合客户端提供的部分解而实现的最终结果可以包括关于一个或多个资产的交易的建议。在其他示例中,客户端所执行的任务彼此独立。相应地,在这些实施例中,虽然客户端所实现的结果没有彼此结合,但是服务器利用池来结合它从客户端接收到的结果以提出解。尽管参照使用基因来针对金融资产(例如,股票、指数、货币等)提出建议提供下面的描述,但是要理解的是,本发明的实施例同样适用于发现任何其他计算问题的解,如下进一步的描述。进化算法的定标(scaling)可以在二个维度进行,即利用池尺寸和/或评估。在进化算法中,池或群体越大,基因的多样性越大。因此,发现较为适应的基因的可能性随着池尺寸的增加而增加。为此,基因池可以分布在多个客户端上。每个客户端评估其基因池, 并且将最适应的基因传送到服务器,如下进一步。根据本发明的与网络相连的每个客户端接收或下载客户端软件。客户端软件自动生成多个基因,基因的数目可以根据存储器尺寸和客户端的CPU处理能力而改变。例如,在一个实施例中,客户端可以具有1000个用于评估的基因。基因被假设为是虚拟交易者,该虚拟交易者被给予假定钱数以便使用历史数据来进行交易。这些交易根据一组规则而被执行,这组规则定义基因并由此提示该基因买入、卖出、保持其位置或退出其位置。规则是其后跟随动作的条件列表,该动作可以是例如买入、 卖出、退出或保持。规则还可以被设计为包含盈利目标以及止损目标,由此使得退出动作变为多余。当没有触发基因中的规则时发生保持动作,因此,基因有效地保持其当前位置。条件是基于指示符的条件的连接列表(conjunction list)。指示符是可以被馈送到比如最低价格变动(tick)或接近价格的条件的系统输入。指示符还可以自省来指示基因在任何给定时候的适应度。根据本发明的一个示例实施例,下面的代码在条件、指示符以及基因所采取的动作方面定义该基因if (PositionProf it >= 2% and ! (tick = (-54/10000) % prev tick and MACD is negative)and ! (tick = (-119/10000) % prev tick and Position is long))and ! (ADX χ 100 <= 5052))then SELL其中,“and”表示逻辑“与”操作,“ ! ”表示逻辑“非”操作,“tick”、“MACD”和“ADX” 是股票指示符,“SELL”表示卖出动作,以及“PositionProfit”表示基因的曲线位置。基因在股票交易日被评估。股票交易日是针对特定股票的历史数据的日价值。在给定股票交易日的特定间隔,例如,每5分钟,通过将指示符的当前值指派到每个规则的条件中,评估基因的规则。如果针对指示符值,基因的条件都不为真,则该基因保持其先前位置。如果该基因没有位置,则它不执行动作。基因可以被设计为采取其满足条件的第一规则的动作。如果例如该规则的动作是卖出,则所采取的由该基因提议的交易是卖出。在另一示例中,引发退出动作的规则可以击败所有其他表决(vote),并且迫使退出该基因的当前位置。根据本发明的一个实施例,基因的适应度或成功是通过近似以及使用大量数据而被确定的。用于评估基因的模型因此可以是部分的并且覆盖较短的时间跨度,同时提高针对更多的股票交易日评估基因时的准确性以及盈利体验。为了建立基因的适应度的初始近似,如下进一步,首先针对可用数据的子集来评估基因的适应度。已经进行的基因适应度评估所针对的时间段在本文中被称为基因的成熟年龄,在本文中也被称为基因的年龄。达到预定年龄的基因能够复制下代基因并对下代基因做出贡献。每个这种基因可以继续存活并待在基因池中,只要其累积适应度满足预定条件。用于评估基因的适应度的历史数据非常大。因此,即使采用当今的高处理能力及大存储容量计算机,在单个机器上在合理的时间内实现优异结果通常是不可行的。大的基因池还要求大存储器以及高处理能力。根据本发明的一个实施例,定标被使用来在合适的时间段内实现高质量的评估结果。定标操作在两个维度内执行,即,在池尺寸内以及在对相同基因的评估内,以生成更多种类的基因池,从而增加发现更适应的基因的可能性。因此, 根据本发明的一个实施例,在多个用于评估的客户端上分发基因池。每个客户端继续使用该客户端持续周期性接收的历史数据来评估其基因池。换言之,继续针对客户端周期性且持续接收的附加历史数据来评估基因的性能(在本文中也称为基因的适应度)。满足一个或多个预定条件的基因被传送到服务器。根据本发明的另一实施例,基因分发还被用来增加针对相同基因进行的评估的速度。为此,服务器接收到的但还没达到特定成熟年龄或还未满足一个或多个预定条件的基因,可以被从服务器传送回多个客户端以供进一步的评估。客户端针对基因实现的评估结果(或者在本文中称为部分评估)被传送回服务器。服务器将基因的部分评估结果与在将基因传送到客户端时的该基因的适应度值合并,以得到该基因的适应度测量值。例如,假设基因的年龄是500个评估日,并且该基因被从服务器传送到例如两个客户端,每个客户端被指示在附加的100天内评估该基因。相应地,每个客户端还在该附加的100个股票交易日内评估该基因,并且将其评估结果报告给服务器。这两个结果与基因在被传送到两个客户端时的该基因的适应度测量值结合。结合后的结果表示针对700天评估的该基因的适应度。换言之,根据这个示例,分布式系统针对每个客户端仅仅使用100个不同的评估日,将基因的成熟年龄从500天增加到700天。根据本发明,分布式系统因此在评估其基因时是可高度扩展的。有利地,根据本发明,客户端能够在它们的本地复制时使用在服务器中存储的基因,从而提高了它们的基因的质量。每个客户端是独立的进化设备,不仅评估其池中的基因,而且创建新代基因并且在本地推进进化过程。由于客户端利用它们自有的本地进化过程来推进,因此它们的处理能力不会浪费,即使它们不是与服务器持续通信。一旦重新建立与服务器间的通信,客户端可以将它们的最适应基因传送到服务器,并且从服务器接收基因来进行进一步的评估。每个客户端计算机具有用于访问一个或多个数据馈送服务器(通常使用参考标记30示出)的通信端口,以获得解决目前正处理的问题所需要的信息。当推荐比如股票、 商品、货币等的资产的交易策略时,数据馈送服务器所提供的信息包括覆盖指定时间段的资产值。或者,尽管没有示出,解决目前正处理的问题所需要的信息可以经由服务器10,从数据馈送服务器30提供给客户端20。尽管服务器10在图1中被示出为单个中央服务器, 但是要理解的是,服务器10可以是分布式服务器。图2示出了每个客户端20和服务器10的多个逻辑块。如图所示,每个客户端20 被示出为包括由在该客户端上运行的独立应用软件生成的基因池对。下面,每个基因被假设为是金融资产(例如,股票)的交易者,但是要理解的是,基因通常适合于发现任何其他计算问题的解。使用评估块22,在跨P个交易日(例如,600天)的第一预定时间段内评估客户端的每个基因的性能特性。通过比较每个基因的交易建议并且确定在预定时间段内该基因的对应返回率,执行针对该基因的评估。基因的性能特性在本文中也称为基因的适应度。客户端20接收历史交易数据,以确定其基因的适应度。一旦完成对其所有基因的性能评估,每个客户端计算机选择并将其性能最好的基因(存留基因)放入精英池26中。在一个实施例中,存留基因可以是利用它们的建议的返回率确定的基因池中的性能排名前5 %的基因。在其他实施例中,存留基因是适应度超过预定阈值的基因。无法满足针对适应度的所要求的条件的剩余基因不会存留,并且被丢弃。每个客户端继续使用该客户端继续周期性接收的历史交易数据来评估其精英(存留)基因。在一些实施例中,当在最初P个交易日内对基因进行初始评估之后,还在多个(S 个)附加时间段内对存留基因进行评估,每个附加时间段的跨度为Q个其他交易日。例如, 在最初600个交易日期间的对基因的初始评估之后,在两个附加时间段内对每个存留基因进一步进行评估,每个附加时间段的跨度为600个更多的交易日。因此,在这些示例中,在 1800个交易日内评估每个基因。这些多个时间段可以是非重叠的连续时间段。此外,每个附加时间段的交易日的数目,即,Q,可以等于或者可以不等于初始评估时间段的交易日的数目,g卩,P。每个这种附加时间段中的评估可能导致丢失在先前评估中已经存留的基因。 例如,如果已经在例如600天的初始评估时间段中存留的基因在跨度例如1200天的交易日期间的适应度小于预定阈值水平,则它可能不会在例如600天的第二时间段期间执行的评估中存留。丢弃在精英池沈中存储的无法在这些附加评估时间段中存留的基因。被要求通过初始评估时间段的适应度阈值水平可以与被要求来通过后续评估的适应度阈值水平相同或者可以不相同。在初始评估时间段和后续评估时间段的适应度条件下存留的基因被保持存储在精英池沈中,并且可供基因选择块观用于可能的选择以及被传送到服务器10。服务器10 从客户端计算机接收的基因被存储在服务器10的服务器基因池14中。基因选择块观将在基因的相关联的精英池沈中的基因的适应度与池14中的性能最差的基因的适应度进行比较。在一个实施例中,服务器10仅仅接受由客户端计算机确定的适应度至少等于或好于基因池14中存储的该基因的适应度的基因。服务器10因此向客户端计算机告知其性能最差的基因的适应度,以使得基因选择模块观能够进行该比较并且识别出服务器10将接受的基因。例如,服务器10可以向基因选择模块观传送查询,该查询指示“我的最差基因的适应度是X,你有性能更好的基因吗? ”。基因选择模块观可以通过讲述“我具有10个这种更好的基因”进行应答,并且尝试将这些基因传送给服务器。在一个实施例中,基因池14 具有固定尺寸。因此,为了接受新基因,服务器10丢弃在其池14中存储的基因中的一个基因。在一个实施例中,池14的初始群集根据在客户端的汇聚式(collective)精英池中初始存储的所有基因中的最适应的基因形成。继续这个过程,直到池14达到其满容量,该满容量可以动态改变。在另一实施例中,为了形成其初始群体,池14继续接受在精英池中存储的基因,直到池14达到其满容量。基因接受块12被配置为在从客户端到达的基因被添加到服务器池358之前,确保该基因所具有的适应度比已经存储在服务器池14中存储的基因更好。在每个所接受的基因被添加到服务器池14之前,基因接受块12利用标识符对该基因加戳记并且执行多个空间清理操作。精英池沈中的基因被允许复制。为此,基因复制块30随机选择并结合两个或更多基因,即,通过混合用于创建父基因的规则。随后利用新近创建的基因(子基因)以及位于精英池中的基因重新填充池对。旧的基因池被丢弃。继续如上对池M中的新的群体进行评估。在一些实施例中,服务器10将池M中所存储的每个成熟年龄(即,已经进行的基因适应度的评估所针对的交易日的总和)小于预定值的基因传送回一组所选择的客户端计算机,以在跨度为W个交易日的附加时间段内进行进一步的适应度评估。在附加时间段内被评估的适应度无法满足一个或多个预定条件(即,它们的适应度小于所要求的阈值) 的基因被客户端计算机丢弃。在附加时间段内被评估的适应度满足一个或多个预定条件的基因被传送回服务器10,以供存储在池14中。客户端计算机将所丢弃的基因报告给服务
ο在一些实施例中,为了增加在池14中存储的基因的年龄,服务器10将该基因传送给多个客户端计算机,每个客户端计算机被指示在不同的交易日集内对基因执行进一步的评估。例如,假设4个客户端计算机被选择对在池14中存储的基因的适应度进行进一步的评估。由此,第一个被选择的客户端计算机被指示来在第一时间段内对该基因进行评估;第二个被选择的客户端计算机被指示来在第二时间段内对该基因进行评估;第三个被选择的客户端计算机被指示来在第三时间段内对该基因进行评估;以及第四个被选择的客户端计算机被指示来在第四时间段内对该基因进行评估。应当理解,第一时间段、第二时间段、第三时间段和第四时间段可以是彼此重叠或者彼此不重叠的不同时间段。然后,服务器从选择的客户端计算机接收适应度值,并且将这些适应度与该基因的先前适应度结合(如同在将该基因传送回客户端之前由服务器维护的),以得到该基因的适应度值的更新值。因此, 根据本发明,通过在并行操作的多个客户端计算机之间分发评估任务,提高了基因的老化速度。在一个实施例中,先前适应度值和新适应度值的平均值被用于计算被服务器传送到客户端来进行进一步评估的基因的新适应度值。由于服务器中的基因被传送到若干客户端来进行评估,因此如果一个或多个客户端出现故障,则仅仅基因的部分评估结果丢失。可以执行服务器池基因的备份/恢复过程,以确保在服务器出现故障的情况下的连续性。此外,因为客户端被配置为具有被指示来进行评估的服务器基因的副本,并且因为客户端在它们的进化过程中是自给自足的,所以即使当服务器出现故障或者以其他方式掉线时,客户端可以继续对它们的基因进行评估,并且推进进化过程。当服务器恢复在线时, 甚至可以根据在客户端中存储的基因重新创建服务器池。因此,根据本发明的实施例,网络计算系统不会丢失对基因的先前处理的历史记录。数据馈送服务器50提供更广范围的已交易资本(例如,股票、债券、商品、货币等)以及它们的衍生物(比如,期权、期货等)的历史金融数据。数据馈送服务器50可以与服务器20或者客户端直接进行交互。数据馈送服务器还可以提供对多个技术分析工具的访问,比如金融指示符 MACD、Bollinger Band、ADX、RSI 等。图3A示出了根据本发明的一个实施例的利用多个客户端计算机来评估多个基因的性能特性的示例流程图300。在基因的生成302以及与基因相关联的数据的接收304之后,使用所接收的数据对基因进行评估306,以确定其性能特性或适应度。在评估306之后, 丢弃310适应度被确定308为小于阈值的基因。适应度被确定308为大于或等于阈值的基因被存储并给提供314来供服务器计算机选择和接受。图;3B示出了根据本发明的一个实施例的利用一个或多个服务器计算机来评估多个基因的性能特性的示例流程图350。在接受新基因之前,服务器计算机确定362新基因是否先前被服务器接受并存储。如果服务器计算机确定新基因先前被服务器计算机接受并存储,则服务器计算机将该新基因的适应度值与其旧适应度值结合364,并且接受356该基因。如果服务器计算机确定新基因先前未被服务器计算机接受并存储,则服务器计算机将每个这种基因的适应度与服务器计算机先前所存储的基因的适应度进行比较352。如果该比较352表明被提供以供接受的基因的适应度所具有的值大于或者等于服务器计算机先前所存储的基因的适应度值,则服务器计算机接受356基因。如果该比较352表明被提供来供接受的基因的适应度所具有的值小于服务器计算机先前所存储的基因的适应度值,则服务器计算机不接受3M基因。对于每个被服务器计算机接受的基因,服务器计算机确定 358用于评估新近接受的基因的时间段是否满足要求的持续时间条件。如果确定新近接受的基因不满足所要求的持续时间条件,则基因被传送回360 —个或更多客户端计算机以进行覆盖更多时间段的进一步评估。如果确定新近接受的基因满足所要求的持续时间条件, 则服务器计算机370将新近接受的基因和其适应度值一起存储370。图4示出了图1中的客户端计算机和服务器计算机的多个组件。每个服务器和客户端设备被示出为包括至少一个处理器402,至少一个处理器402经由总线子系统404与多个外围设备通信。这些外围设备可以包括存储子系统406、用户接口输入设备412、用户接口输出设备414以及网络接口子系统416,存储子系统406的一部分包括存储器子系统408 和文件存储子系统410。输入和输出设备允许与数据处理系统402之间的用户交互。网络接口子系统416提供到其他计算机系统、网络和存储资源404的接口。网络可以包括因特网、局域网(LAN)、广域网(WAN)、无线网络、企业内部互联网、私人网络、公共网络、交换网络或者任何其他合适的通信网络。网络接口子系统416用作用于从其他资源接收数据以及向其他资源传送数据的接口。网络接口子系统416的实施例包括以太网卡、 调制解调器(电话、卫星、电缆、ISDL等)、(异步)数字用户线路(DSL)单元等。用户接口输入设备412可以包括键盘,比如鼠标、轨迹球、触摸板或图形输入板的指示设备,扫描仪,条形码扫描仪,并入在显示器中的触摸屏,比如语音识别系统、麦克风的音频输入设备,以及其他类型的输入设备。通常,术语“输入设备”的使用意在包括所有可能类型的设备以及输入信息的方式。用户接口输出设备414可以包括显示子系统、打印机、传真机,或者非视觉显示设备,比如音频输出设备。显示子系统可以是阴极射线管(CRT)、比如液晶显示器(LCD)的平板设备、或者投影设备。通常,术语“输出设备”的使用意在包括所有可能类型的设备以及输出信息的方式。存储子系统406可以被配置为基本编程及数据结构,该基本编程及数据结构提供根据本发明的实施例的功能。例如,根据本发明的一个实施例,实现本发明的软件模块可以存储在存储子系统206中。这些软件模块可以由处理器402执行。存储子系统406还可以提供用于存储根据本发明使用的数据的储存设备。存储子系统406可以包括例如存储器子系统408以及文件/磁盘存储子系统410。存储器子系统408可以包括多个存储器,包括用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)418以及用于存储固定指令的只读存储器(ROM)420。文件存储子系统410提供对程序和数据文件的永久性(非易失性)存储,并且可以包括硬盘驱动器、软盘驱动器以及相关联的可移动介质、紧凑盘只读存储器(CD-ROM)驱动器、光驱、可移动介质盒及其他类似的存储介质。总线子系统404提供用于使得客户端/服务器的各种组件和子系统能够彼此通信的机制。尽管总线子系统404被示意性地示出为单个总线,但是总线子系统的替换实施例可以使用多个总线。客户端/服务器可以具有各种类型,包括个人计算机、便携式计算机、工作站、网络计算机、大型机、信息亭或者任何其他数据处理系统。要理解的是,图3中描绘的客户端 /服务器的描述仅仅意在作为一个示例。比图3中所示的系统具有更多或更少组件的许多其他配置是可能的。本发明的上述实施例是例示性的,而不是限制性的。本发明不限于可以使用的客户端计算机的类型和数目。本发明不限于可以使用的服务器计算机的类型和数目。各种替换实施例和等价物是可能的。针对本公开的其他添加、删减或修改是显而易见的,并且意在落在所附权利要求书的范围内。
权利要求
1.一种联网计算机系统,包括多个客户端计算机,所述多个客户端计算机中的第一客户端计算机包括存储器,可操作以存储N个基因,每个基因由多个条件和至少一个动作来表征,其中N 是大于1的整数;通信端口,适于持续周期性地接收与所述N个基因相关联的数据;以及处理器,可操作以通过将所述N个基因中的每个基因所提供的解和周期性接收的与该基因相关联的数据进行比较来评估每个基因的性能特性,每个基因的所述性能特性利用每个周期性接收的数据而被调整并且定义所述基因的适应度。
2.根据权利要求1所述的联网计算机系统,其中与每个基因相关联的所述数据是历史交易数据,并且其中每个基因所提供的所述解是由所述基因做出的交易建议。
3.根据权利要求2所述的联网计算机系统,其中所述第一客户端计算机被配置为在评估所述N个基因的适应度P天之后丢弃所述N个基因中的M个基因,每个被丢弃的基因所具有的适应度小于第一预定阈值,剩余的N-M个基因中的每个基因是存留基因,其中M和P 是整数,并且其中M小于N。
4.根据权利要求3所述的联网计算机系统,其中,所述第一客户端计算机还被配置为 在除了所述P天之外的多个Q天中评估剩余基因的适应度;丢弃在所述P+Q天内评估的适应度小于第二预定阈值的基因;以及重复所述评估和所述丢弃的操作至少S次,其中Q和S是整数,并且其中S等于或大于 1,其中在S次评估和丢弃操作中存留的基因定义第一精英基因池,每个基因的年龄为V个交易日,其中V由P+S*Q定义,其中*表示乘法操作;以及将第一精英池的基因传送给服务器计算机。
5.根据权利要求4所述的联网计算机系统,其中所述第一预定阈值和第二预定阈值相寸。
6.根据权利要求4所述的联网计算机系统,其中所述服务器计算机适于 从所述第一客户端计算机接收所述第一精英池基因;将接收的基因存储在服务器基因池中;以及将所述服务器基因池中的一个或多个基因传送到所述多个客户端计算机的至少第一子集中的每个客户端计算机,以用于跨W个交易日的适应度评估。
7.根据权利要求4所述的联网计算机系统,其中所述多个客户端计算机的所述至少第一子集中的每个客户端计算机适于从所述第一服务器计算机接收所述服务器基因池中的所述一个或多个基因; 通过将所接收基因中的每个基因做出的交易建议与跨所述W个交易日的相关联历史交易数据进行比较,评估所接收基因的适应度; 丢弃适应度小于第三阈值的基因; 将所丢弃的基因报告给所述服务器计算机;以及将未被丢弃的基因传送给所述服务器,以便存储在所述服务器基因池中。
8.根据权利要求7所述的联网计算机系统,其中所述W个交易日和V个交易日不重叠。
9.根据权利要求7所述的联网计算机系统,其中所述第三阈值等于所述第一阈值和第二阈值。
10.根据权利要求7所述的联网计算机系统,其中仅在所述基因的适应度大于先前存储在所述服务器基因池中的基因的适应度的情况下,将所述基因传送到所述服务器计算机。
11.根据权利要求2所述的联网计算机系统,其中所述客户端计算机的存储器中存储的N个基因根据在所述第一客户端计算机中存储并且由所述第一客户端计算机的处理器执行的计算机指令而被生成。
12.根据权利要求7所述的联网计算机系统,其中所述服务器基因池被配置为存储固定数目的基因。
13.根据权利要求10所述的联网计算机系统,其中所述服务器还适于对与所述服务器从所述多个客户端计算机中的所述至少第一子集接收的每个基因相关联的多个适应度值与在所述服务器中存储的该基因的对应适应度值进行结合。
14.根据权利要求3所述的联网计算机系统,其中所述多个指示符作为一个逻辑表达式来评估,所述逻辑表达式由逻辑“与”操作连接和/或由逻辑“非”操作修改。
15.根据权利要求14所述的网络计算系统,其中每个基因所推荐的所述至少一个动作选自买入、卖出、保持、长期退出以及短期退出推荐。
16.一种联网计算机系统,包括服务器计算机,所述服务器计算机被配置为从多个客户端计算机中的第一客户端计算机接收精英基因池;将所接收的基因存储在基因池中;以及将所述服务器基因池中的一个或多个基因传送到所述多个客户端计算机的至少第一子集中的每个客户端计算机以用于跨W个交易日的适应度评估,所述精英基因池是通过评估N个基因中每个基因的性能特性而生成的,对每个基因的所述评估是通过将每个基因所提供的解与周期性接收的与该基因相关联的数据进行比较,每个基因的性能特性利用每个周期性接收的数据而被调整并且定义该基因的适应度,每个基因由多个条件以及至少一个动作来表征。
17.根据权利要求16所述的联网计算机系统,其中与每个基因相关联的所述数据是历史交易数据,并且其中每个基因所提供的解是由所述基因做出的交易建议。
18.根据权利要求17所述的联网计算机系统,其中所述多个客户端计算机中的第一客户端计算机被配置为在评估所述N个基因的适应度P天之后丢弃所述N个基因中的M个基因,每个被丢弃的基因所具有的适应度小于第一预定阈值,剩余的N-M个基因中的每个基因是存留基因,其中M和P是整数,并且其中M小于N。
19.根据权利要求18所述的联网计算机系统,其中所述多个客户端中的第一客户端计算机还被配置为在除所述P天之外的多个Q天评估剩余基因的适应度;丢弃在P+Q天内被评估的适应度小于第二预定阈值的基因;以及重复所述评估和所述丢弃的操作至少S次,其中Q和S是整数,并且其中S等于或大于 1,其中在S次评估和丢弃操作中存留的基因定义第一精英基因池,每个基因的年龄为V个交易日,其中V由P+S*Q定义,其中*表示乘法操作。
20.根据权利要求17所述的联网计算机系统,其中所述服务器计算机仅接收适应度大于先前存储在所述服务器基因池中的基因的适应度的基因。
21.根据权利要求20所述的联网计算机系统,其中所述服务器基因池被配置为存储固定数目的基因。
22.根据权利要求20所述的联网计算机系统,其中所述服务器还适于对与所述服务器所接收的每个基因相关联的多个适应度值与所述服务器中存储的该基因的对应适应度值进行结合。
23.根据权利要求17所述的联网计算机系统,其中所述多个指示符作为一个逻辑表达式来评估,所述逻辑表达式由逻辑“与”操作连接和/或由逻辑“非”操作修改。
24.根据权利要求23所述的联网计算机系统,其中每个基因所推荐的所述至少一个动作选自买入、卖出、保持、长期退出以及短期退出推荐。
25.一种用于使用多个客户端计算机来求解计算问题的方法,所述方法包括 存储N个基因,每个基因由多个条件和至少一个动作表征,其中N是大于1的整数; 持续周期性地接收与所述N个基因相关联的数据;以及通过将所述N个基因中的每个基因所提供的解与周期性接收的与该基因相关联的数据相比较来评估该基因的性能特性,每个基因的所述性能特性利用每个周期性接收的数据而被调整并且定义该基因的适应度。
26.根据权利要求25所述的方法,其中与每个基因相关联的所述数据是历史交易数据,并且其中每个基因所提供的解是由所述基因做出的交易建议。
27.根据权利要求26所述的方法,还包括在评估所述N个基因的适应度P天之后丢弃所述N个基因中的M个基因,每个被丢弃的基因所具有的适应度小于第一预定阈值,剩余的N-M个基因中的每个基因是存留基因, 其中M和P是整数,并且其中M小于N。
28.根据权利要求27所述的方法,还包括在除所述P天之外的多个Q天内评估剩余基因的适应度; 丢弃在P+Q天内被评估的适应度小于第二预定阈值的基因;以及重复所述评估和所述丢弃的操作至少S次,其中Q和S是整数,并且其中S等于或大于 1,其中在S次评估和丢弃操作中存留的基因定义第一精英基因池,每个基因的年龄为V个交易日,其中V由P+S*Q定义,其中*表示乘法操作;以及将所述第一精英池的基因传送给服务器计算机。
29.根据权利要求28所述的方法,其中所述第一预定阈值和第二预定阈值相等。
30.根据权利要求28所述的方法,还包括从所述多个客户端计算机中的第一客户端计算机接收所述第一精英池基因; 将所接收的基因存储在服务器池基因中;以及将所述服务器池基因中的一个或多个基因传送到所述多个客户端计算机的至少第一子集中的每个客户端计算机,以用于跨W个交易日的适应度评估。
31.根据权利要求28所述的方法,还包括从所述多个客户端计算机中的第一服务器计算机接收所述第一精英池基因; 将所接收的基因存储在服务器池基因中;以及将所述服务器池基因中的一个或多个基因传送到所述多个客户端计算机的至少第一子集中的每个客户端计算机,以用于跨W个交易日的适应度评估。
32.根据权利要求31所述的方法,其中所述W个交易日和V个交易日不重叠。
33.根据权利要求31所述的方法,其中所述第三阈值等于所述第一阈值和第二阈值。
34.根据权利要求31所述的方法,其中仅在所述基因的适应度大于先前存储在所述服务器池中的基因的适应度的情况下,将所述基因传送到所述服务器计算机。
35.根据权利要求26所述的方法,其中每个客户端计算机中存储的N个基因根据在所述第一客户端计算机中存储并且由所述第一客户端计算机的处理器执行的计算机指令而生成。
36.根据权利要求31所述的方法,其中所述服务器池被配置为存储固定数目的基因。
37.根据权利要求34所述的方法,还包括对与所述服务器从所述多个客户端计算机中的至少第一子集接收的每个基因相关联的多个适应度值与所述服务器中存储的该基因的对应适应度值进行结合。
38.根据权利要求27所述的方法,其中所述多个指示符作为一个逻辑表达式来评估, 所述逻辑表达式由逻辑“与”操作连接和/或由逻辑“非”操作修改。
39.根据权利要求38所述的方法,其中每个基因推荐的所述至少一个动作选自买入、 卖出、保持、长期退出以及短期退出推荐。
40.一种单机计算机,包括配置作为服务器的处理内核;以及配置作为多个客户端的多个处理内核,所述多个客户端中的每个客户端包括存储器,可操作以存储N个基因,每个基因由多个条件和至少一个动作来表征,其中N 是大于1的整数;端口,适于持续周期性地接收与所述N个基因相关联的数据;每个客户端处理内核被配置为通过将所述N个基因中的每个基因所提供的解与周期性接收的与该基因相关联的所述数据进行比较来评估该基因的性能特性,每个基因的所述性能特性利用每个周期性接收的数据而被调整并且定义该基因的适应度。
41.根据权利要求40所述的单机计算机,其中与每个基因相关联的所述数据是历史交易数据,并且其中每个基因所提供的解是由所述基因做出的交易建议。
42.根据权利要求41所述的单机计算机,其中所述多个客户端计算机中的第一客户端计算机被配置为在评估所述N个基因的适应度P天之后丢弃所述N个基因中的M个基因, 每个被丢弃的基因所具有的适应度小于第一预定阈值,剩余的N-M个基因中的每个基因是存留基因,其中M和P是整数,并且其中M小于N。
43.根据权利要求42所述的单机计算机,其中所述客户端计算机中的所述第一客户端计算机还被配置为在除所述P天之外的多个Q天内评估剩余基因的适应度;丢弃在P+Q天内被评估的适应度小于第二预定阈值的基因;以及重复所述评估和所述丢弃的操作至少S次,其中Q和S是整数,并且其中S等于或大于 1,其中在S次评估和丢弃操作内存留的基因定义第一精英基因池,每个基因的年龄为V个交易日,其中V由P+S*Q定义,其中*表示乘法操作;以及将所述第一精英池的基因传送给服务器处理内核。
44.根据权利要求43所述的单机计算机,其中所述第一预定阈值和第二预定阈值相寸。
45.根据权利要求43所述的单机计算机,其中所述服务器处理内核适于从所述第一客户端处理内核接收所述第一精英池基因;将所接收的基因存储在服务器处理内核池基因中;以及将所述服务器处理内核池基因中的一个或多个基因传送到所述多个客户端处理内核的至少第一子集中的每个客户端处理内核,以用于跨W个交易日的适应度评估。
46.根据权利要求43所述的单机计算机,其中所述多个客户端处理内核的至少第一子集中的每个客户端处理内核适于从所述服务器处理内核接收所述第一精英池基因中的所述一个或多个基因;通过将每个所接收基因做出的交易建议与跨所述W个交易日的相关联的历史交易数据进行比较,来评估所接收基因的适应度;丢弃适应度小于第三阈值的基因;将所丢弃的基因报告给所述服务器处理内核;以及将未被丢弃的基因传送给所述服务器处理内核,以便存储在所述服务器池基因中。
47.根据权利要求46所述的单机计算机,其中所述W个交易日和V个交易日不重叠。
48.根据权利要求46所述的单机计算机,其中所述第三阈值等于所述第一阈值和第二阈值。
49.根据权利要求46所述的单机计算机,其中仅在所述基因的适应度大于先前存储在所述服务器池中的基因的适应度的情况下,将所述基因传送到所述服务器处理。
50.根据权利要求41所述的单机计算机,其中每个客户端处理内核中存储的所述N个基因根据在所述单机计算机中存储并且由所述单机计算机执行的计算机指令而生成。
51.根据权利要求46所述的单机计算机,其中所述服务器处理内核池被配置为存储固定数目的基因。
52.根据权利要求49所述的单机计算机,其中所述服务器处理内核还适于对与所述服务器处理内核从所述多个客户端处理内核中的至少第一子集接收的每个基因相关联的多个适应度值与所述服务器处理内核中存储的该基因的对应适应度值进行结合。
53.根据权利要求42所述的单机计算机,其中所述多个指示符作为一个逻辑表达式来评估,所述逻辑表达式由逻辑“与”操作连接和/或由逻辑“非”操作修改。
54.根据权利要求43所述的单机计算机,其中每个基因推荐的所述至少一个动作选自买入、卖出、保持、长期退出以及短期退出操作。
55.根据权利要求40所述的单机计算机,其中所述单机计算机是大型计算机。
全文摘要
服务器计算机和多个客户端计算机形成网络计算系统,该网络计算系统是可扩展的,并且适于使用运行在所述客户端计算机上的软件应用来持续评估生成的多个基因的性能特性。每个客户端计算机持续周期性地接收与在其存储器中存储的基因相关联的数据。使用此数据,客户端计算机通过对由基因提供的解与周期性接收的与该基因相关联的数据进行比较来评估该基因的性能特性。由此,每个基因的性能特性利用每个周期性接收的数据而被更新和改变。基因的性能特性定义其适应度。基因可以是推荐交易选项的虚拟资产交易者,并且与基因相关联的数据可以是历史交易数据。
文档编号G06F15/18GK102422280SQ201080018807
公开日2012年4月18日 申请日期2010年4月28日 优先权日2009年4月28日
发明者B·霍德雅特, H·沙尔扎德 申请人:遗传融资(巴巴多斯)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1