基于自然语言的智能编程方法、设备与存储介质与流程

文档序号:14518804阅读:213来源:国知局
基于自然语言的智能编程方法、设备与存储介质与流程

本发明涉及计算机领域,更具体地,涉及计算机领域中关于基于自然语言的智能编程方法、设备与存储介质。



背景技术:

现有的计算机语言中,基本上都是由国外软件商生产的西文计算机语言。现在的社会日新月异,发展的非常快,编程软件也得到了飞快的发展,利有编程软件编制的程序其使用范围也在不断的扩大,各种编程软件的使用率也得到了不断提高,可是每个编程软件都是需要采用相应的编程语言来编程操作,这就需要专业的编程软件人员来操作编程,从而给编程的使用带来诸多麻烦,同时也严重影响了编程软件的快速发展,同时也是英语水平不高的非计算机专业人士学习编程的一大障碍。

在金融领域,人们在做量化策略和投资时,往往视策略编程为一个难题。编程需要重新学习,不同的编程语言让人们产生很大的困扰。现有的策略编程软件通常是采用python语言进行编程,对于普通投资者来说,用python语言编程表达自己的语言十分困难,一方面用户需要具备一定的英文水平,另一方面,用户还需要学习python编程语言。若能使用普通编程语言,不需要记住大量的英文语句,用户可以在自己母语的基础上从更高方面入手。而且可以减少学习英语的成本,为汉语区的软件产业发展提供帮助。



技术实现要素:

为克服以上缺陷,本发明提出一种基于自然语言的智能编程方法、设备与存储介质,通过预先定义对象、金融指标、函数的标准编程语言,将所述标准编程语言转换成自然语言并生成标准编程语言和自然语言转换的映射词库,用户以自然语言编写的量化策略被关联词库识别并生成相应的交易标的,并可同时进行回测或交易,降低了普通投资者的专业要求。

为此,本发明的一实施例提出一种基于自然语言的智能编程方法,所述基于自然语言的智能编程方法适于在计算设备中执行,包括以下步骤:

(1)编程语言预定义,提取对象、金融指标、函数的标准编程语言,将所述标准编程语言转换成自然语言;

(2)定义交易策略,根据所述交易策略进行筛选和/或回测和/或交易。

所述的步骤(1)具体包括:

a.预定义对象、金融指标、函数的标准语言;

b.转换所述对象、金融指标、函数的标准语言为自然语言;

c.建立标准语言与自然语言的映射关系,形成映射库;

所述转换方法包括人工转换和/或机器翻译;

所述标准语言包括python语言、c语言、c++语言、java语言、matlab语言、html语言、麦语言;

所述自然语言为世界各国人类自然文字语言或者通过语音输入产生的文字语言;

所述的自然语言包括中文。

所述步骤(2)具体包括:

d.定义交易策略;

e.基于所述映射库对所述交易策略进行标准化生成标准化策略;

f.根据所述标准化策略进行筛选和/或回测和/或交易;

所述交易策略包括对象、金融指标、函数中的一组或多组;

所述金融指标包括财务指标、技术指标、盈利指标、风险指标、行情指标、用户自定义指标;

所述对象包括交易标的品种、标识、公司名称、股东、投资人、法人;

所述函数包括交易方向、交易方式、交易方法、交易权重、金额或数量、交易条件、交易限制、交易时间中的一组或多组。

进一步地,所述步骤(2)、步骤(d)中,所述定义交易策略步骤包括:

手动输入交易策略;或

在菜单栏中选择交易策略;或

语音输入交易策略。

进一步地,所述步骤(e)具体包括:

计算各交易策略与映射库中自然语言的相似度,取相似度最大的映射关系组成交易策略,并进行标准化生成标准化策略。

本发明基于自然语言的智能编程方法还包括信息推送步骤,通过预先配置的帐号向用户发送交易信息和/或回测信息,或通过预设页面向用户展示交易信息和/或回测信息。

本发明的另一实施例提出一种基于自然语言的智能编程方法,适于在计算设备中执行,其特征在于,包括以下步骤:

(1)建立标准语言与自然语言的映射关系的映射库:

a.预定义对象、金融指标、函数的标准语言;

b.转换所述对象、金融指标、函数的标准语言为自然语言;

c.建立标准语言与自然语言的映射关系,形成映射库;

(2)生成相应的交易标的和/或所述交易标的的回测结果:

d.定义筛选条件;

e.基于所述映射库对所述筛选条件进行标准化生成标准化策略;

f.根据所述标准化策略生成相应的交易标的和/或所述交易标的的回测结果。

所述标准语言包括python语言、c语言、c++语言、java语言、matlab语言、html语言、麦语言;

所述自然语言为世界各国人类自然文字语言或者通过语音输入产生的文字语言;

所述筛选条件包括对象、金融指标、函数中的一组或多组;

所述的回测结果包括年化收益率、最大收益、最大回撤、阿尔法收益、贝塔收益、夏普比率、盈亏比、连续亏损、连续盈利、最大盈利、最大亏损中的一组或多组。

本发明的另一实施例提出一种计算设备,包括:

一个或多个处理器;

存储器;以及

一个或多个程序,其中所述一个或多个程序存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行基于自然语言的智能编程方法中的任一方法。

本发明的另一实施例还提出一种计算机存储介质,所述存储介质存储有一个或多个程序,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行基于自然语言的智能编程方法中的任一方法。

与现有技术相比,本发明具有以下有益效果:

通过预先定义对象、金融指标、函数的标准编程语言,将所述标准编程语言转换成自然语言并生成标准编程语言和自然语言转换的关联词库,用户以自然语言编写的量化策略被关联词库识别运行并生成相应的交易标的或标准化策略以及相应的回测,或者根据标准化策略进行回测或交易,降低了对普通投资者的计算机专业要求和英文水平要求,策略编写将变得简单,投资者可以把更多时间放在策略研究上而不是放在编程上。

附图说明

图1示出了本发明一实施例基于自然语言的智能编程方法流程图。

图2示出了本发明另一实施例基于自然语言的智能编程方法流程图。

具体实施方式

人们在做量化策略和投资时,现有技术的主要缺点在于要求投资者在量化平台上进行策略编程,根据投资者的策略进行自动交易。而策略编程不但需要投资者懂得计算机专业编程知识,还要求投资者懂得编程所使用的语言,故策略编程成为普通投资者做量化交易的一个不可避免的难题。基于此,本发明实施例提供的基于自然语言的智能编程方法,可以帮助投资人员利用自己的母语进行策略编程,降低了对普通投资者的计算机专业要求和英文水平要求,策略编写将变得简单,投资者可以把更多时间放在策略研究上而不是放在编程上。

本发明基于自然语言的智能编程方法适用但不限于股票(包括港股、a股)、期货、股票+期货、商品期货、期权(包括商品期权、股指期权)、债券、指数、etf、外汇及相关的金融衍生品中的一种或多品种混合,预先生成标准编程语言和自然语言转换的关联词库,用户以自然语言编写的量化策略被关联词库识别运行并生成相应的交易标的,并可同时进行回测或交易。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

本发明公开一种基于自然语言的智能编程方法,适于在计算设备中执行。参见图1,示出了本发明基于自然语言的智能编程方法流程图,包括以下步骤:

步骤101,预定义标准语言,建立标准语言与自然语言的映射关系,形成映射库。

量化投资平台的编程语言包括python语言、c语言、c++语言、java语言、matlab语言、html语言、麦语言等等,在此并不对平台的编程语言作任何限制。预定义对象、金融指标、函数相关的标准编程语言,该标准编程语言包括python语言、c语言、c++语言、java语言、matlab语言、html语言、麦语言,本实施例中,对象包括交易标的品种、标识、公司名称、股东、投资人、法人。对象包括交易标的品种、标识、公司名称、股东、投资人、法人,该品种包括但不限于股票(包括港股、a股)、期货、股票+期货、商品期货、期权(包括商品期权、股指期权)、债券、指数、etf、外汇及相关的金融衍生品中的一种或多品种混合。所述金融指标包括财务指标、技术指标、盈利指标、风险指标、行情指标、用户自定义指标,财务指标包括但不限于市盈率、净利润、营业收入等等财务报表上体现的指标,技术指标包括但不限于macd,kdj,均线等等,盈利指标包括但不限于阿尔法收益率、贝塔收益率、年化收益率、总盈利率、最大盈利、平均盈利、最大亏损、平均亏损、总亏损、最大回撤、盈亏比、夏普比率等等,风险指标包括但不限于历史风险率,行情指标包括但不限于k线图。所述函数包括交易方向、交易方式、交易方法、交易权重、金额或数量,交易条件、交易限制、交易时间中的一组或多组。在此也并不对对象、金融指标、函数作任何限定,上述对象、金融指标、函数均为平台使用的标准编程语言,提取所有对象、金融指标、函数相关的标准编程语言,并将该标准编程语言转换成自然语言,该自然语言为用户熟悉的母语,可以是世界各国人类自然文字语言,或者通过语音输入产生的文字语言,包括中文,日文,韩文,英文,俄文等等,在此不一一列举,本实施例不对自然语言的语种作任何限定,可以为各种与标准编程语言不同的语言,本实施例将以中文作为用户母语进行阐述。本实施例中,语言转换方法可以是人工逐个翻译转换,也可以通过机器翻译转换,转换后生成对象、金融指标、函数的标准语言和自然语言转换的映射词库,供后续用户用母语输入策略时即利用该映射词库进行内部编程将其标准化还原生成标准编程语言。比如,关联词库的表达方式包括buy-买入,sell-卖出,buy_open-买入开仓,sell_open-卖出开仓,buy_close-买入平仓,sell_close-卖出平仓。

本实施例中的机器翻译,通过对大量的平行语料进行统计分析,构建统计翻译模型(词汇、比对或是语言模式),进而使用此模型进行翻译,一般会选取统计中出现概率最高的词条作为翻译,概率算法依据贝叶斯定理。假设要把一个英语句子a翻译成汉语,所有汉语句子b,都是a的可能或是非可能的潜在翻译。pr(a)是类似a表达出现的概率,pr(b|a)是a翻译成b出现的概率。找到两个参数的最大值,就能缩小句子及其对应翻译检索的范围,从而找出最合适的翻译。

步骤102,定义交易策略,根据所述交易策略进行筛选和/或回测和/或交易。

定义交易策略,该定义的交易策略为自然语言,定义方式包括手动以母语的方式输入,或在交易策略设置成自然语言的菜单形式,用户直接对菜单进行选择以定义交易策略的方式输入,或者通过语音输入的方式输入并转换成自然语言,交易策略包括对象、金融指标、函数中的一组或多组的组合。

本实施例中,所述金融指标包括所述金融指标包括财务指标、技术指标、盈利指标、风险指标、行情指标、用户自定义指标指标中的一组或多组;所述函数包括交易方向、交易方式、交易方法、交易权重、金额或数量,交易条件、交易限制、交易时间等等,并不限于此。用户可选择定义一组交易策略,也可同时设置多组交易策略,该交易策略为由用户以中文表达方式编写的条件。当交易策略有多组时,单组条件之间以分隔符号隔开,分隔符号可以设置为分号,冒号,逗号,顿号,句号中的一种。用户用母语输入策略后点击完成或搜索按钮时,利用该映射词库进行内部编程并将其标准化还原生成标准编程语言编写的策略,根据所述标准化的交易策略进行筛选标的、回测和/或进行交易。

本实施例中,标准化交易策略的生成方法通过计算各组策略与映射库中自然语言的相似度,取相似度最大的映射关系组成交易策略,并进行标准化生成标准化策略。

实施例二

步骤201,预定义标准语言,建立标准语言与自然语言的映射关系,形成映射库。

量化投资平台的编程语言包括python语言、c语言、c++语言、java语言、matlab语言、html语言、麦语言等等,在此并不对平台的编程语言作任何限制。预定义对象、金融指标、函数相关的标准编程语言,该标准编程语言包括python语言、c语言、c++语言、java语言、matlab语言、html语言、麦语言,本实施例中,对象包括交易标的品种、标识、公司名称、股东、投资人、法人。对象包括交易标的品种、标识、公司名称、股东、投资人、法人,该品种包括但不限于股票(包括港股、a股)、期货、股票+期货、商品期货、期权(包括商品期权、股指期权)、债券、指数、etf、外汇及相关的金融衍生品中的一种或多品种混合。所述金融指标包括财务指标、技术指标、盈利指标、风险指标、行情指标、用户自定义指标,财务指标包括但不限于市盈率、净利润、营业收入等等财务报表上体现的指标,技术指标包括但不限于macd,kdj,均线等等,盈利指标包括但不限于阿尔法收益率、贝塔收益率、年化收益率、总盈利率、最大盈利、平均盈利、最大亏损、平均亏损、总亏损、最大回撤、盈亏比、夏普比率等等,风险指标包括但不限于历史风险率,行情指标包括但不限于k线图。所述函数包括交易方向、交易方式、交易方法、交易权重、金额或数量,交易条件、交易限制、交易时间中的一组或多组。在此也并不对对象、金融指标、函数作任何限定,上述对象、金融指标、函数均为平台使用的标准编程语言,提取所有对象、金融指标、函数相关的标准编程语言,并将该标准编程语言转换成自然语言,该自然语言为用户熟悉的母语,可以是世界各国人类自然文字语言,或者通过语音输入产生的文字语言,包括中文,日文,韩文,英文,俄文等等,在此不一一列举,本实施例不对自然语言的语种作任何限定,可以为各种与标准编程语言不同的语言,本实施例将以中文作为用户母语进行阐述。本实施例中,语言转换方法可以是人工逐个翻译转换,也可以通过机器翻译转换,转换后生成对象、金融指标、函数的标准语言和自然语言转换的映射词库,供后续用户用母语输入策略时即利用该映射词库进行内部编程将其标准化还原生成标准编程语言。比如,关联词库的表达方式包括buy-买入,sell-卖出,buy_open-买入开仓,sell_open-卖出开仓,buy_close-买入平仓,sell_close-卖出平仓。

步骤202,定义筛选条件,根据所述筛选条件生成相应的交易标的和/或所述交易标的的回测结果。

定义筛选条件,该定义的筛选条件为自然语言,定义方式包括手动以母语的方式输入,或在筛选条件设置成自然语言的菜单形式,用户直接对菜单进行选择以定义筛选条件的方式输入,或者通过语音输入的方式输入并转换成自然语言,筛选条件包括对象、金融指标、函数中的一组或多组的组合。

本实施例中,所述金融指标包括所述金融指标包括财务指标、技术指标、盈利指标、风险指标、行情指标、用户自定义指标指标中的一组或多组;所述函数包括交易方向、交易方式、交易方法、交易权重、金额或数量,交易条件、交易限制、交易时间等等,并不限于此。用户可选择定义一组筛选条件,也可同时设置多组筛选条件,该筛选条件为由用户以中文表达方式编写的条件,即策略。当筛选条件有多组时,单组条件之间以分隔符号隔开,分隔符号可以设置为分号,冒号,逗号,顿号,句号中的一种。用户用母语输入策略后点击完成或搜索按钮时,利用该映射词库进行内部编程并将其标准化还原生成标准编程语言编写的策略,根据所述标准化的策略生成相应交易标的及相应的回测结果。所述的回测结果包括年化收益率、最大收益、最大回撤、阿尔法收益、贝塔收益、夏普比率、盈亏比、连续亏损、连续盈利、最大盈利、最大亏损;本实施例中,回测结果由用户定义,可以包括单个标的的回测结果,也可以是多个标的的组合回测结果。

本实施例中,标准化策略的生成方法通过计算各组筛选条件与映射库中自然语言的相似度,取相似度最大的映射关系进行标准化生成标准化策略。

实施例三

为更好的理解本发明的技术方案,下面结合在实际应用中的实例对本发明实施例一进行详细的阐述。仍参见图1,示出了本实施例基于自然语言的智能编程方法的流程图,该方法适于在计算设备中执行,包括以下步骤:

步骤101,预定义标准语言,建立标准语言与自然语言的映射关系,形成映射库。

预定义对象、金融指标、函数相关的标准编程语言,提取所有对象、金融指标、函数相关的标准编程语言,并将该标准编程语言转换成自然语言,转换后生成对象、金融指标、函数的标准语言和自然语言转换的映射词库,供后续用户用母语输入策略时即利用该映射词库进行内部编程将其标准化还原生成标准编程语言。

步骤102,定义交易策略,根据所述交易策略进行筛选和/或回测和/或交易。

编写交易策略,该交易策略由自然语言编写,在本实施例中,该交易策略由中文编写。交易策略包括对象、金融指标、函数中的一组或多组,具体包括交易标的、交易方向、交易方法、交易权重、买卖方式、交易条件、交易限制、交易时段中的一组或多组。交易标的包括股票、期货、股票+期货、商品期货、期权、债券、指数、etf、外汇及相关的金融衍生品中的一种或多品种混合;方向包括买入、卖出;交易权重方式包括按金额、按标的数量、按比例进行交易;买卖方式包括市价、限价、五档即时成交剩余撤销、五档即时成交剩余转限。所述交易策略并不限于上述列举的内容。在本实施例中,该交易策略由中文编写。

具体地,编写如下交易策略:

标的(股票),方向(买入),方法(kdj指标),按比例(每次10%),买卖方式(市价),交易时段(2016.1.1-2016.8.1);

标的(股票),方向(卖出),方法(kdj指标),按量(全部),买卖方式(市价),交易时段(2016.1.1-2016.8.1)。

用户以中文方式输入交易策略及其相应的参数,完整其策略,输入策略后点击完成或搜索按钮时,利用该关联词库进行内部编程并将其标准化还原生成标准化交易策略。

优选地,在菜单栏中选择交易标的及所述交易标的相应的交易策略并输入所述策略参数,该菜单栏由自然语言编写。具体地,用户选择下拉菜单设置交易策略:

标的(股票),方向(买入),方法(kdj指标),按比例(每次10%),买卖方式(市价),交易时段(2016.1.1-2016.8.1);

标的(股票),方向(卖出),方法(kdj指标),按量(全部),买卖方式(市价),交易时段(2016.1.1-2016.8.1)。

优选地,以语音方式输入交易策略:

标的(股票),方向(买入),方法(kdj指标),按比例(每次10%),买卖方式(市价),交易时段(2016.1.1-2016.8.1);

标的(股票),方向(卖出),方法(kdj指标),按量(全部),买卖方式(市价),交易时段(2016.1.1-2016.8.1)。

用户通过选择和输入相应的参数或约束条件,完整其策略,输入策略后点击完成或搜索按钮时,利用该关联词库进行内部编程并将其标准化还原生成标准化的交易策略。

根据所上述标准化交易策略筛选标的和/或回测和/或交易。

优选地,本实施例还包括信息推送步骤,将交易标的、交易信息或回测信息实时发送至用户的通讯平台,比如可通过手机短信,微信,qq等方式发送给用户。

可选地,将交易信号或回测信号对接用户通信平台的api,通过用户登陆界面,用户可以实时查看自己的交易情况和持仓情况。

实施例四

为更好的理解本发明的技术方案,下面结合在实际应用中的实例对本发明实施例二进行详细的阐述。仍参见图2,示出了本实施例基于自然语言的智能编程方法的流程图,该方法适于在计算设备中执行,包括以下步骤:

步骤201,预定义标准语言,建立标准语言与自然语言的映射关系,形成映射库。

预定义对象、金融指标、函数相关的标准编程语言,该标准编程语言包括python语言、c语言、c++语言、java语言、matlab语言、html语言、麦语言,上述对象、金融指标、函数均为平台使用的标准编程语言,提取所有对象、金融指标、函数相关的标准编程语言,并将该标准编程语言转换成自然语言,转换后生成对象、金融指标、函数的标准语言和自然语言转换的映射词库,供后续用户用母语输入策略时即利用该映射词库进行内部编程将其标准化还原生成标准编程语言。比如,关联词库的表达方式包括buy-买入,sell-卖出,buy_open-买入开仓,sell_open-卖出开仓,buy_close-买入平仓,sell_close-卖出平仓。

步骤202,定义筛选条件,生成相应的交易标的和/或所述交易标的的回测结果。

用户在平台手动以中文的方式输入筛选条件及其相应参数,该筛选条件由对象、金融指标、函数中的一组或多组组成,输入策略后点击完成或搜索按钮时,利用映射词库进行内部编程并将其标准化还原生成标准化交易策略。

具体的实施例中,比如在策略编写界面输入中文“业绩扭亏为盈”,“市盈率<30”,或在策略筛选界面筛选中文“业绩扭亏为盈”,“市盈率<30”条件,或以语音方式输入并生成中文“业绩扭亏为盈”,“市盈率<30”,点击完成或搜索按钮时,利用该映射词库进行内部编程并将其标准化还原生成标准编程语言编写的策略,比如python语言编写的编程策略。比如投资者想了解一下业绩增长>50%的股票有哪些,即输入“业绩增长>50%”,点击完成或搜索按钮时,利用该映射词库进行内部编程并将其标准化还原生成标准编程语言(比如python语言)编写的策略。

根据该标准化的策略生成并显示相应交易标的,同时,还可选地包括显示交易标的回测结果及定义的其它指标,该其它指标包括回测结果及财务指标。上述回测结果及财务指标通过预定义的方式显示,可定义单个标的的回测结果或同时定义多个标的组合的回测结果。回测结果包括年化收益率、最大收益、最大回撤、阿尔法收益、贝塔收益、夏普比率、盈亏比、连续亏损、连续盈利、最大盈利、最大亏损中的一组或多组。比如输入“业绩增长>50%”,则显示相应标的、标的的筛选条件及定义的其它指标,比如:贵州茅台业绩增长>50%;市值>50亿;深振业业绩增长>50%;市值>50亿;中国平安业绩增长>50%;市值>50亿。还可定义显示贵州茅台业绩增长>50%;市值>50亿;macd上穿;boll线上穿。通过显示筛选条件的参数,可以让用户核对输入的筛选条件是否有误。

实施例五

本发明还提供一种计算设备,包括:

一个或多个处理器;

存储器;以及

一个或多个程序,其中所述一个或多个程序存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行下列方法中的任一方法:

(1)编程语言预定义,提取对象、金融指标、函数的标准编程语言,将所述标准编程语言转换成自然语言;

(2)定义交易策略,根据所述交易策略进行筛选和/或回测和/或交易;

或:

(1)建立标准语言与自然语言的映射关系的映射库:

(2)基于筛选条件,生成相应的交易标的和/或所述交易标的的回测结果。

实施例六

本发明还提供一种计算机存储介质,所述存储介质存储有一个或多个程序,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行下列方法中的任一方法:

(1)编程语言预定义,提取对象、金融指标、函数的标准编程语言,将所述标准编程语言转换成自然语言;

(2)定义交易策略,根据所述交易策略进行筛选和/或回测和/或交易;

或:

(1)建立标准语言与自然语言的映射关系的映射库:

(2)基于筛选条件,生成相应的交易标的和/或所述交易标的的回测结果。

上述实施例所述的方法和装置,具体可由计算机芯片或实体实现,或由具有某种功能的产品来实现,其中,一种典型的设备为计算机。具体地,计算机可以为个人计算机、服务器、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制平台、平板计算机、可穿戴设备或这些设备中的任何设备的组合。

本领域技术人员应明白,本发明的实施例可提供方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或者结合软件和硬件方面的实施例的形式。而且,本发明可采用一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd、rom、光学存储器等)上实施的计算机程序产品的形式。

以上所述仅为本发明的实施例,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1