❶ 程序化交易的软件评价
是国内唯一开发出股票程序化交易软件,期货程序化交易软件,现货程序化交易软件,白银程序化交易软件,融资融券程序化交易软件,程序化软件是能够对设定的公式策略和价格进行自动跟踪,并按设定的条件进行自动下单交易的软件。
文华财经
专业期货软件服务商,源于中国本土的程序化软件,系统稳定,国内占有率高。基于国内用户习惯诞生的“麦语言”,小语法大函数,积木式的轻松编程环境。提供最全的回测样本:国内合约从开市至今的全部历史数据,支持专业程序化的金融工程思想:多模型组合测试和加载。独创的自动交易运行模组,轻松监控几十个模型的信号执行、资金、持仓、挂单等状态,并且支持手动辅助。
TB交易开拓者
国内的tradestation,语言移植国外程序交易软件,是国内市场占有率仅次于文华财经的交易软件。在语言方面略胜于文华财经,在交易稳定性方面,使用者反应不一。
金字塔决策交易系统
金字塔是一款集程序化交易、看盘分析为一体的全功能综合软件:支持图标程序化交易、后台程序化交易、高频交易、趋势线程序化交易等多种自动交易模式;公式模型编写及操作兼容国内主流分析软件;支持闪电下单、图表下单、预警雷达下单等多种下单模式;支持板块指数、套利、多账户交易及动态止赢止损。还可支持VBS、VBA、C++二次开发。
multicharts+达钱(MC)
MultiCharts 经过研发,证券和外汇交易所设计的专业图表绘制和自动化交易的软件。高清晰的绘图功能结合中国期货的实时行情、历史回补与自动交易,帮助使用者一站式解决过去繁琐的数据收集及软件设置,并支持Excel下单等创新方式。该软件功能非常先进,虽经台湾传入我国,但使用习惯依然沿用外软,国内的使用者需要经过一段时间的适应。
龙软程序化交易平台(DTS)
龙软被大智慧收购后,于2012年推出该平台。实现了交易策略(Lua代码),交易界面(XML配置)的灵活自定义,目前支持,期现套利、ETF套利、商品期货、股指期货、权证、股票的全品种程序化交易。该系统的主要特点是交易速度快,计算速度快,采用后端服务器分布式部署模式,客户端只做数据浏览和指令操作,所有的计算都在后台完成。是一款非常全面,面向机构的高端程序化软件
高手交易软件
高手交易系统是从韩国期权交易市场起步并发展起来的,具有15年全球市场交易经验以及专业化的技术背景,高手交易系统不仅仅可以做期货交易,同时也可以进行期权交易。在全球期权交易量排名第一的韩国期权市场中,高手为个人、机构、专业投资团队等服务了15年。高手交易系统中运用了EF委托,STage程序化交易引擎,GOM高手对象模型,DDE实时行情分析工具等。大大提高了交易的效率,并获得惊人的收益。
金钱豹
金钱豹是一款给专业人士使用的程序化软件,其支持C++、C#、matlab、Net3.5、JAVA等众多接口。给予软件非常大的扩展性。
YesTrader
YesTrader来自于韩国,是以期货买卖为目的的交易软件。不仅具有便捷的下单功能,而且载有包含多样化技术指标的性能超强的图表。该软件还可以通过用系统语言编辑逻辑公式把投资者所需的任何交易策略自由的表现出来,也可用该交易策略进行自动买卖。刚进入我国不久,正处于发展期
SPT盛立高频程序化交易平台
SPT是一款专为期货、证券交易所设计的高频程序化交易平台。该系统具有高速的行情以及交易处理能力,通过完备的交易风控体系,保证程序化交易的稳定性和准确性。
永安程序化交易系统
永安程序化交易系统包括永安程序化交易平台及该平台上配套开发的交易模型,永安程序化交易系统的交易平台是基于最底层、最稳定的计算机语言C++语言开发;交易模型的设计也是在C++语言的框架下编写,可扩展性强、订单系统精准高效。
❷ 什么是ActiveX 控件
ActiveX是Microsoft对于一系列策略性面向对象程序技术和工具的称呼,其中主要的技术是组件对象模型(COM)。在有目录和其它支持的网络中,COM变成了分布式COM(DCOM)。在创建包括ActiveX程序时,主要的工作就是组件,一个可以自足的在ActiveX网络(现在的网络主要包括Windows和Mac)中任意运行的程序。这个组件就是ActiveX近控件。ActiveX是Microsoft为抗衡Sun Microsystems的JAVA技术而提出的,此控件的功能和JAVA applet功能类似。
如果您使用的是Windows操作系统,您或许会注意到一些以OCX结尾的文件。OCX代表“对象链接与嵌入控件”(OLE),这个技术是Microsoft提出的程序技术,用于处理桌面文件的混合使用。现在COM的概念已经取代OLE的一部分,Microsoft也使用ActiveX控件代表组件对象。
组件的一大优点就是可以被大多数应用程序再使用(这些应用程序称为组件容器)。一个COM组件(ActiveX控件)可由不同语言的开发工具开发,包括C++和Visual Basic或PowerBuilder,甚至一些技术性语言如VBScript。
目前,ActiveX控件在Windows 95/NT和Macintosh中运行,Microsoft还准备支持UNIX的ActiveX控件。
❸ 股票模型的建模过程
模型准备 :了解个股的实际背景,明确其实际意义,掌握对象的各种信息。用数学语言来描述问题。
模型假设 :根据实际对象的特征和建模的目的,对问题进行必要的简化,并用精确的语言提出一些恰当的假设。
模型建立 :在假设的基础上,利用适当的数学工具来刻划各变量之间的数学关系,建立相应的数学结构。(尽量用简单的数学工具)
模型求解 :利用获取的数据资料,对模型的所有参数做出计算(估计)。
模型分析 :对所得的结果进行数学上的分析。
模型检验 :将模型分析结果与实际情形进行比较,以此来验证模型的准确性、合理性和适用性。如果模型与实际较吻合,则要对计算结果给出其实际含义,并进行解释。如果模型与实际吻合较差,则应该修改假设,在次重复建模过程。
模型应用 :应用方式因问题的性质和建模的目的而异。
❹ 股票软件怎么开发股票软件开发需要注意哪些
股票软件开发开发过程包括以下五个阶段:
一、股票软件开发定制分析
然后把它用软件工程开发语言(形式功能规约,软件需求分析就是回答做什么的问题。一个对用户的需求进行去粗取精、去伪存真、正确理解。即需求规格说明书)表达进去的过程。本阶段的基本任务是和用户一起确定要解决的问题,建立软件的逻辑模型,编写需求规格说明书文档并最终得到用户的认可。需求分析的主要方法有结构化分析方法、数据流程图和数据字典等方法。本阶段的工作是根据需求说明书的要求,设计建立相应的软件系统的体系结构,并将整个系统分解成若干个子系统或模块,定义子系统或模块间的接口关系,对各子系统进行具体设计定义,编写软件概要设计和详细设计说明书,数据库或数据结构设计说明书,组装测试计划。
二、股票软件开发设计
也可以是可组合、可分解和可更换的功能单元。模块,股票软件设计可以分为概要设计和详细设计两个阶段。实际上软件设计的主要任务就是将软件分解成模块是指能实现某个功能的数据和程序说明、可执行程序的顺序单元。可以是一个函数、过程、子程序、一段带有顺序说明的独立的顺序和数据。然后进行模块设计。概要设计就是结构设计,其主要目标就是给出软件的模块结构,用软件结构图表示。详细设计的首要任务就是设计模块的顺序流程、算法和数据结构,主要任务就是设计数据库,常用方法还是结构化顺序设计方法。
三、股票软件开发定制编码
即写成以某一顺序设计语言表示的"源程序清单"充沛了解软件开发语言、工具的特性和编程风格,软件编码是指把软件设计转换成计算机可以接受的顺序。有助于开发工具的选择以及保证软件产品的开发质量。
四、股票软件开发测试
关键在于理解测试方法。不同的测试方法有不同的测试用例设计方法。两种常用的测试方法是白盒法测试对象是源程序,股票软件测试的目的以较小的代价发现尽可能多的错误。要实现这个目标的关键在于设计一套出色的测试用例(测试数据和预期的输出结果组成了测试用例)如何才干设计出一套出色的测试用例。依据的顺序内部的逻辑结构来发现软件的编程错误、结构错误和数据错误。结构错误包括逻辑、数据流、初始化等错误。用例设计的关键是以较少的用例覆盖尽可能多的内部顺序逻辑结果。白盒法和黑盒法依据的软件的功能或软件行为描述,发现软件的接口、功能和结构错误。其中接口错误包括内部/外部接口、资源管理、集成化以及系统错误。
五、股票软件开发与维护
对软件产品所进行的一些软件工程的活动。即根据软件运行的情况,维护是指在已完成对软件的研制(分析、设计、编码和测试)工作并交付使用以后。对软件进行适当修改,以适应新的要求,以及纠正运行中发现的错误。编写软件问题演讲、软件修改演讲。
❺ 怎样查询过往某一天的股票行情
一、使用股票网站或者炒股软件即可查看过往某日的股票行情。
在股票网站或者炒股网站的股票交易日选项中选择想要查看的日期,即可查看当天的股票交易行情。
二、股票软件更准确的称谓应该是证券分析软件或证券决策系统,它的基股票软件本功能是信息的实时揭示(包括行情信息和资讯信息),所以早期的股票软件有时候会被叫做行情软件。股票软件的实质是通过对市场信息数据的统计,按照一定的分析模型来给出数(报表)、形(指标图形)、文(资讯链接),用户则依照一定的分析理论,来对这些结论进行解释,也有一些傻瓜式的易用软件会直接给出买卖的建议,这些易用软件大部分是用专业视角剖析整个股市的走势。
股票软件的实质是通过对市场信息数据的统计,按照一定的分析模型来给出数(报表)、形(指标图形)、文(资讯链接)。用户则依照一定的分析理论,来对这些结论进行解释,也有一些傻瓜式的易用软件会直接给出买卖的建议。其实,比较正确,或者实在的用法,是应该挑选一款性能稳定、信息精准的软件,结合自己的炒股经验,经过摸索之后,形成一套行之有效的应用法则,那样才是值得信赖的办法,而机械地轻信软件自动发出的进场离场的信号,往往会谬以千里。
三、股票行情的分析方法
1、技术分析
技术分析是以预测市场价格变化的未来趋势为目的,通过分析历史图表对市场价格的运动进行分析的一种方法。股票技术分析是证券投资市场中普遍应用的一种分析方法。
2、基本分析
基本分析法通过对决定股票内在价值和影响股票价格的宏观经济形势、行业状况、公司经营状况等进行分析,评估股票的投资价值和合理价值,与股票市场价进行比较,相应形成买卖的建议。
3、演化分析
演化分析是以演化证券学理论为基础,将股市波动的生命运动特性作为主要研究对象,从股市的代谢性、趋利性、适应性、可塑性、应激性、变异性和节律性等方面入手,对市场波动方向与空间进行动态跟踪研究,为股票交易决策提供机会和风险评估的方法总和。
❻ 什么叫股票模型
股票模型就是对于现实中的个股,为了达到盈利目的,作出一些必要的简化和假设,运用适当的数学分析,得到一个数学结构。
股票模型:
股票建模是利用数学语言(符号、式子与图象)模拟现实的模型。把现实模型抽象、简化为某种数学结构是数学模型的基本特征。它或者能解释特定现象的现实状态,或者能预测到对象的未来状况,或者能提供处理对象的最优决策或控制。
把个股的实际问题加以提炼,抽象为数学模型,求出模型的解,验证模型的合理性,并用该数学模型所提供的解答来解释现实问题,我们把这一应用过程称为股票建模。
建模过程:
模型准备 :了解个股的实际背景,明确其实际意义,掌握对象的各种信息。用数学语言来描述问题。
模型假设 :根据实际对象的特征和建模的目的,对问题进行必要的简化,并用精确的语言提出一些恰当的假设。
模型建立 :在假设的基础上,利用适当的数学工具来刻划各变量之间的数学关系,建立相应的数学结构。(尽量用简单的数学工具)
模型求解 :利用获取的数据资料,对模型的所有参数做出计算(估计)。
模型分析 :对所得的结果进行数学上的分析。
模型检验 :将模型分析结果与实际情形进行比较,以此来验证模型的准确性、合理性和适用性。如果模型与实际较吻合,则要对计算结果给出其实际含义,并进行解释。如果模型与实际吻合较差,则应该修改假设,在次重复建模过程。
模型应用 :应用方式因问题的性质和建模的目的而异。
❼ 如何设计股票模型
股票模型 网络名片 股票模型就是对于现实中的个股,为了达到盈利目的,作出一些必要的简化和假设,运用适当的数学分析,得到一个数学结构。 目录概念股票建模建模过程股票模型的作用 编辑本段概念在这里引用数学模型的定义,也可以说,股票建模是利用数学语言(符号、式子与图象)模拟现实的模型。把现实模型抽象、简化为某种数学结构是数学模型的基本特征。它或者能解释特定现象的现实状态,或者能预测到对象的未来状况,或者能提供处理对象的最优决策或控制。 编辑本段股票建模把个股的实际问题加以提炼,抽象为数学模型,求出模型的解,验证模型的合理性,并用该数学模型所提供的解答来解释现实问题,我们把这一应用过程称为股票建模。 编辑本段建模过程模型准备 :了解个股的实际背景,明确其实际意义,掌握对象的各种信息。用数学语言来描述问题。 模型假设 :根据实际对象的特征和建模的目的,对问题进行必要的简化,并用精确的语言提出一些恰当的假设。 模型建立 :在假设的基础上,利用适当的数学工具来刻划各变量之间的数学关系,建立相应的数学结构。(尽量用简单的数学工具) 模型求解 :利用获取的数据资料,对模型的所有参数做出计算(估计)。 模型分析 :对所得的结果进行数学上的分析。 模型检验 :将模型分析结果与实际情形进行比较,以此来验证模型的准确性、合理性和适用性。如果模型与实际较吻合,则要对计算结果给出其实际含义,并进行解释。如果模型与实际吻合较差,则应该修改假设,在次重复建模过程。 模型应用 :应用方式因问题的性质和建模的目的而异。 编辑本段股票模型的作用第一,能让分析过程简化,并让复杂的分析过程通过数据表达出来。 第二,通过对模型的反复修正,能起到对个股的未来走势起到预测效果。 第三,便于掌握股市行情。
❽ 期货程序化实盘交易哪个平台稳定些
1.文华财经
老牌行情软件提供商,系统相对稳定,国内占有率高。
2.TB 交易开拓者
国内的tradestation,语言移植国外程序交易软件,是目前国内市场占有率仅次于文华财经的交易软件。在语言方面略胜于文华财经,在交易稳定性方面,使用者反应不一。
3.金字塔决策交易系统
金字塔是一款集程序化交易、看盘分析为一体的全功能综合软件:支持图标程序化交易、后台程序化交易、高频交易、趋势线程序化交易等多种自动交易模式;公式模型编写及操作兼容国内主流分析软件;支持闪电下单、图表下单、预警雷达下单等多种下单模式;支持板块指数、套利、多账户交易及动态止赢止损。还可支持VBS、VBA、C++二次开发。
4.multicharts+达钱(MC)
MultiCharts 经过多年的研发,是一款专为期货,证券和外汇交易所设计的专业图表绘制和自动化交易的软件。高清晰的绘图功能结合中国期货的实时行情、历史回补与自动交易,帮助使用者一站式解决过去繁琐的数据收集及软件设置,并支持Excel下单等创新方式。该软件功能非常先进,虽经台湾传入我国,但使用习惯依然沿用外软,国内的使用者需要经过一段时间的适应。
5.龙软程序化交易平台(DTS)
龙软被大智慧收购后,于2012年推出该平台。实现了交易策略(Lua代码),交易界面(XML配置)的灵活自定义,目前支持,期现套利、ETF套利、商品期货、股指期货、权证、股票的全品种程序化交易。该系统的主要特点是交易速度快,计算速度快,采用后端服务器分布式部署模式,客户端只做数据浏览和指令操作,所有的计算都在后台完成。是一款非常全面,面向机构的高端程序化软件
6.高手交易软件
高手交易系统是从韩国期权交易市场起步并发展起来的,具有15年全球市场交易经验以及专业化的技术背景,高手交易系统不仅仅可以做期货交易,同时也可以进行期权交易。在全球期权交易量排名第一的韩国期权市场中,高手为个人、机构、专业投资团队等服务了15年。高手交易系统中运用了EF委托,STage程序化交易引擎,GOM高手对象模型,DDE实时行情分析工具等。大大提高了交易的效率,并获得惊人的收益。[2]
7.金钱豹
金钱豹是一款给专业人士使用的程序化软件,其支持C++、C#、matlab、Net3.5、JAVA等众多接口。给予软件非常大的扩展性。
8.YesTrader
YesTrader来自于韩国,是以期货买卖为目的的交易软件。不仅具有便捷的下单功能,而且载有包含多样化技术指标的性能超强的图表。该软件还可以通过用系统语言编辑逻辑公式把投资者所需的任何交易策略自由的表现出来,也可用该交易策略进行自动买卖。刚进入我国不久,正处于发展期
9.SPT盛立高频程序化交易平台
SPT是一款专为期货、证券交易所设计的高频程序化交易平台。该系统具有高速的行情以及交易处理能力,通过完备的交易风控体系,保证程序化交易的稳定性和准确性。
10.永安程序化交易系统
永安程序化交易系统包括永安程序化交易平台及该平台上配套开发的交易模型,永安程序化交易系统的交易平台是基于最底层、最稳定的计算机语言C++语言开发;交易模型的设计也是在C++语言的框架下编写,可扩展性强、订单系统精准高效。
❾ Swing 或 JavaServer Faces:究竟选择哪一个
Swing 能否经受住富互联网应用程序宣传热潮的考验?2006 年 3 月发布J2EE Web 技术已经从一个静态的内容提供环境迅速发展为一个在内联网和互联网上运行的动态业务应用程序的可靠平台。Web 的前景体现在,无论您的业务需求如何,浏览器都将是您未来唯一需要的客户端。在这种趋势的推动下,最近掀起了新一轮围绕高度交互的 Web 界面(基于一组称作 AJAX 的技术)的宣传热潮。AJAX 与新 J2EE 标准 JavaServer Faces (JSF) 的结合使用在处理 Web 应用程序方面有望提供更好的最终用户体验和认可。AJAX(异步 Javascript+XML 的缩写)描述了一组现有技术(如 JavaScript、XML 和文档对象模型 (DOM))的使用模式。不可否认的是,AJAX 和 JavaServer Faces 来势迅猛,并将很快挡住 Swing 的去路,而 Swing 自 1998 年以来一直是用 Java 构建丰富用户界面的标准方法。浏览器将在未来唱主角?Swing 能否经受住富互联网应用程序宣传热潮的考验?本文针对 Swing 和 JavaServer Faces 进行了介绍、定位和比较,以帮助开发人员决定对某种作业使用哪种技术。此外,本文还介绍了 Oracle 应用程序开发框架 (ADF) 如何有助于简化使用这两种技术进行的应用程序开发。 从Java 到 Swing 再到 JavaServer Faces应用程序开发史中曾出现过许多编程语言。早在 1991 年,James Gosling 发明了“Oak”,即 Java 的前身。由于 Oak 无法出售,因此 Sun 于 1995 年推出了 Web 编程语言 - Java,此后不久 Java Applet 即成为 Web 应用程序开发的这个“石器时代”的主导技术。1998 年发布了用于开发轻型 Java Web GUI 和客户端桌面应用程序的 Java Swing 平台。一年以后,Sun 推出了 Java 2 企业版 (J2EE) 平台,该平台在 6 年后引入了 JavaServer Faces。Swing 本身是一个基于抽象窗口工具包 (AWT) 和 Java 基础类 (JFC) 构建的轻型组件集。从推出到现在的七年多时间里,Swing 程序包已经成为 J2SE 中一个非常成熟的 Java 库,并广泛用在企业级业务应用程序的构建中。Swing 以灵活而强大的开发环境着称,它为应用程序开发人员提供了大量的控制权。毫不夸张地说,只要是可以用 Java 构思的应用程序,就可以用 Swing 构建它。但 Swing 的灵活增加了复杂度和学习难度。类似 Oracle JDeveloper、NetBeans 和 IntelliJ 这样的 Java IDE 为 Swing 提供了可视的 4GL 编辑环境,有助于开发人员快速入门并执行更深层次的操作,而不必深入学习 Swing。2004 年 3 月推出的 JavaServer Faces(也称作 JSF,或简称为“Faces”)是一个用于构建 Web 应用程序的基于组件的框架,该框架并入了 JavaBean 事件模型,用于将信息发送到其他组件。作为 J2EE Web 技术的发展,JavaServer Faces 将基于模板的编程式 Web 开发与 4GL 类型的开发选项结合在一起。 J2SE Swing 体系结构尽管Swing 是 Java 标准版 (Java SE) 的正式部分,但它并不是核心 Java 语言的成员,而是被视为一个标准扩展。以 javax.swing 而非 java.swing 开头的 Swing 程序包名称也反映了这一点。使用 Swing 开发的应用程序在 Java 运行时环境 (JRE) 中执行,该环境可以安装在本地桌面客户端中,也可以集成到 Java Web Start 或 Web 浏览器中。所有Swing UI 组件均为 JavaBean,并采用对象模型控制器体系结构,将数据表示与对数据的操作分离。该模型不包含任何 UI 特定的代码,反之亦然。模型与 UI 之间的所有信息交换均通过 JavaBean 事件和监听器进行。这种职责划分使经验丰富的 Swing 开发人员能够自定义组件 UI,而不必更改组件行为。Swing 中的组件控制器和视图称作 UI 代理。控制器将用户交互指派给模型,并由模型保存组件的状态。 图1:Swing 体系结构 Swing 中的 UI 组件可在运行时通过属性方法或在设计时通过可视编辑器以编程方式进行控制。并非 Swing 中的所有组件均绑定到数据,某些组件(如按钮)只需要处理 GUI 状态。UI 组件中的事件通过注册的 JavaBean 监听器(如 MouseListener、FocusListener 或 ChangeListener)进行检测。 ADF 与 SwingSwing 始终存在的难题之一是如何将组件绑定到动态数据。过去,有许多不同框架已经通过非标准方法多次解决了这一难题。而作为 JSR-227(用于解决此数据绑定难题的建议标准)早期采用者的 ADF 以及 ADF Swing 采用标准方法将 Swing 应用程序绑定到所有业务服务,如 Enterprise JavaBeans、TopLink、Web 服务、ADF 业务组件以及 URL。ADF Swing 是一个将 Swing 域模型绑定到 Oracle ADF 绑定的小型 Java 层。ADF Swing 开发人员采用声明方式将组件模型设置为 ADF 绑定中的有名引用。ADF 中的数据控件将一致的客户端开发 API 公开给不同的业务服务,以便 Swing 开发人员使用。数据控件采用标准方法来创建、删除和插入数据,并采用标准控件来导航数据集。ADF 绑定将一个可以从数据控件访问的较小的数据子集公开给 Swing 应用程序面板或框架。Swing 开发人员无需了解应用程序构建所基于的业务服务,这是因为他们不再处理特定的模型 API。同样,他们并不负责资源查找或类似任务。所有这些任务均由 JSR-227 实现处理,该实现提供了一个有效的控制反转机制。由于ADF Swing 应用程序开发在很大程度上是一个使用 ADF 执行的声明任务,因此它缩短了新手和 Java 专家的应用程序开发周期。例如,UI 第一绑定使项目团队可以轻松地进行快速原型设计。可以采用概念验证的方式创建 UI 的非绑定版本,然后采用回溯方式将其绑定到服务。 图2:ADF Swing 体系结构 JavaServer FacesJavaServer Faces 是 Web 应用程序开发中的一个里程碑,它将成为 J2EE 5.0(SUN 最近将其重新命名为 JEE 5.0)中核心 Java 企业版平台的一部分。JavaServer Faces 可以作为独立的 Servlet 在 J2EE1.4 应用服务器中使用。Web 并非为需要事务和状态处理的业务应用程序而设计。多年来,开发人员花费了大量时间使用各种技术(如隐藏的 HTML 域、cookie、URL 或会话参数)来跟踪 Web 应用程序的状态,而这样做仅仅为了克服 HTTP 协议无状态这个问题。JavaServer Faces 有助于开发人员重新关注应用程序的业务要求,而不再关注基础的交付技术。JavaServer Faces 是一个 UI 框架,它对应用程序开发人员隐藏了 HTTP 请求 – 响应循环的细节。与Swing 中的 JavaBean 体系结构相似,JavaServer Faces 使用通过属性公开状态和行为的 UI 组件来构建 Web 界面。尽管 JavaServer Faces 页面通常汇集在 JSP 文件中,但这并不是必需的。JSF 这项技术并非只可用于基于浏览器的应用程序,同时也可用于构建移动应用程序。JavaServer Faces 中的 UI 组件是显示不可知的。这意味着应用程序开发人员并不构建针对特定设备的应用程序,而是构建可以在许多设备上运行的应用程序。JSF 中的 UI 组件呈现器类(打包的呈现器集的一部分)决定 UI 的可视化表示。如果初始应用程序请求来自 Web 浏览器,则该表示采用 HTML 格式,否则应用程序将按照请求客户端设备所支持的方式呈现(假设该设备类型存在一组呈现器类)。类似文本域这样的 UI 组件通过 ExpressionLanguage (EL) 值绑定绑定到 (JSF) 管理的 bean 模型上。在值绑定中,EL 用于引用辅助 bean 中的 setter 和 getter 方法对。例如,EL 表达式 #{users.firstname} 将 JSF 组件绑定到用户 bean 中的 setFirstname 和 getFirstname 方法上。EL 绑定另一个可能的形式是方法绑定。方法绑定引用受管理 bean 中的方法,并在 JSF 中(就像在按钮中一样)用于将操作属性绑定到视图层逻辑,以便在复杂导航情形下或者在需要导航前和导航后处理的情况下执行。 图3:JavaServer Faces 体系结构 受管理 bean 的另一个角色是将 UI 组件绑定到域数据,例如访问 JDBC 查询的结果集或查找 Enterprise JavaBean (EJB) 会话。此外,页面上的 UI 组件可能在辅助 bean 中包含一个用于以编程方式访问的表示。Oracle 应用程序开发框架 (ADF) 和 JavaServer FacesOracle JDeveloper 10.1.3 支持通过可视编辑器进行 JavaServer Faces 开发。此外,Oracle ADF 可用于通过声明方式将 JavaServer Faces 和 ADF Faces 组件绑定到业务服务数据。正如在 Swing 的上下文中介绍 Oracle ADF 时所指出的,使用 Oracle ADF 绑定为 JavaServer Faces Web 应用程序开发人员提供了一个统一的开发 API,用于访问 Web 服务、Enterprise Java Bean、TopLink、POJO、ADF 业务组件以及其他类型的业务服务。ADF Faces 是一组基于 JavaServer Faces API 构建并可以部署到任何 JSF 实现(如由 Sun 或 Apache MyFaces 提供的参考实现)的 100 多个 JSF UI 组件的总称。除了适用于浏览器客户端的 HTML 呈现器工具包以外,ADF Faces 还为在 telnet 客户端、移动设备和 PDA 上显示的 Web 应用程序提供了呈现器,并支持作为显示不可知 Web 应用程序开发环境的 JavaServer Faces 的强大功能。为将ADF 与 JavaServer Faces 应用程序集成,表达式语言值绑定访问 ADF 绑定对象,而非辅助 bean 中的数据。ADF 绑定对象(默认情况下名为“bindings”)由 ADF servlet 在应用程序初始化过程中创建,并使开发人员能够访问通过 ADF 数据控件和绑定层公开的所有集合和方法。要以编程方式引用和使用辅助 bean 中的 ADF 绑定对象,可以通过 faces 配置中的 ExpressionLanguage 表达式 #{bindings} 访问绑定对象并将其作为受管理属性的值注入到辅助 bean 中。 图4:使用 ADF 的 JavaServer Faces 体系结构 履行富互联网应用程序的诺言:AJAX 和 ADF Faces对于并非熟悉 Javascript、XML 或文档对象模型 (DOM) 等 Web 技术的开发人员而言,AJAX 易于理解但却难于实现。对于业务应用程序而言,仅当在 JavaServer Faces 这样的 Web 应用程序框架中以“现成方式”在组件中使用时,AJAX 才有意义。ADF Faces 提供了部分页面呈现和对话框支持,使开发人员能够构建更好的 Web 客户端。作为一个早期实现的 AJAX,部分页面呈现缩短了客户端的响应时间,因为它减小了只需刷新页面的某些部分的网页的下载大小。ADF Faces 的未来发展方向是提供一组利用 AJAX 的富互联网组件,以便 Web 应用程序开发人员能够构建响应性和交互性较高的 Web 客户端,而不必编写 JavaScript 或 DHTML 代码。在 JavaOne 2005 召开期间首次展示了 ADF Faces 富互联网应用程序客户端的预览版本。在什么场合使用什么技术? 当决定对新应用程序开发使用哪种技术时,应用程序的要求(而非各种技术的功能)是一个不错的指标。以下是对两种技术的简要分类比较 开发:主要的 Java IDE 支持对 Swing 和 JavaServer Faces 进行可视开发。开发 JavaServer Faces 应用程序时,开发人员可以获得很多好处而不必编写 Java 代码。组件:Swing 和 JavaServer Faces 均基于组件,并将 JavaBeans 用于其 UI 组件。还可以创建在应用程序中使用的自定义组件。页面和布局:Swing 中的布局通过嵌套 Swing 面板定义。Swing 组件的位置及其调整大小的行为通过 LayoutManagers 确定。同样,在 JavaServer Faces 中,布局通过容器(如 ADF Faces 中的 PanelPage 和 PanelBox)定义。每个容器可以有很多个子组件,而其中的每个子组件本身也是容器。尽管使用 HTML 表格安排 JSF 应用程序的布局可能比较吸引人,但在处理 JSF 应用程序时建议您不要混合使用多技术。UI 响应性:AJAX 更适合于 Web 应用程序,它可以根据提供的输入或模型层中引发的事件向用户立即提供反馈。Swing 用户界面具有高响应性,并可以刷新屏幕上的特定区域而不用刷新整个屏幕。例如,股票应用程序可以向 Swing 应用程序发送有关已更改值的信息,无需重新查询即可将该信息显示给用户。更新、插入和删除:Web 模型基于 HTTP 协议,该协议并非为事务应用程序和动态业务应用程序而设计。JavaServer Faces 自动处理 Web 开发人员以往所面临的大量问题,但在处理多行更新方面,有时仍需要开发人员亲自操作。而在 Swing 中,多行操作对于应用程序开发人员(如使用 ADF Swing 的开发人员)而言比较简单。外观: Swing 支持动态外观类,这些类在应用程序启动时向其应用特定颜色方案。更改应用程序外观不需要更改应用程序代码。JavaServer Faces 使用样式表显示不同的用户外观。此外,Oracle ADF Faces 还提供了一个称作“换肤”的特性,其作用与 Swing 中的外观类相似。国际化:这两种技术均支持使用资源包进行字符串翻译。JavaServer Faces 包含客户端上的浏览器设置中的首选用户语言,而 Swing 应用程序根据 Java 运行时环境中的区域设置确定语言。JavaServer Faces 和 Swing 均可以编程方式设置语言,以便应用程序用户可以从应用程序中选择一种翻译。事件模型:JavaServer Faces 和 Swing 组件均使用 JavaBean 事件模型发布有关模型或组件更改的信息。相关各方可以使用 JavaBean 监听器注册事件,如值更改事件、属性更改事件或阶段事件。键盘快捷方式:尽管这两种技术均支持键盘快捷方式,但由于 Swing 并不依赖于浏览器,因此在这方面优势比较明显。所有键盘功能均由 Swing 处理并可以由应用程序开发人员控制。桌面集成:安装到本地的 Swing 应用程序拥有客户端桌面的完全访问权限。JavaServer Faces 通过上载和下载文件只提供有限的桌面集成。导航:Swing 只具有编程式导航功能,而不存在为 Swing 标准(定义应根据操作输出显示哪个面板)定义的外部控制器。JavaServer Faces 使用一个控制器组件,可以根据计算输出使用指定的导航示例对其进行配置。导航可以定义为操作组件的静态字符串,而对于更复杂的导航,则可以用 Java 表示。应用程序控制:与导航相关,相对于在 JavaServer Faces 中而言,应用程序开发人员可以更好地控制客户端中的 Swing 应用程序。用户在 Java 运行时环境中运行 Swing 应用程序,而这并不会因为(例如)工具栏不是应用程序本身的一部分而引起冲突。在浏览器中运行的 JavaServer Faces 应用程序总要求开发人员解决已知的浏览器限制。如今,没有使应用程序开发人员能够关闭不需要的浏览器行为或功能(如浏览器后退按钮或浏览器保留的键盘快捷方式)的通用浏览器标准和一组通用 API。性能:对于执行数据密集型操作的应用程序而言,JavaServer Faces 的性能似乎要高于 Swing,这是因为它只显示对客户端的更改。使用 AJAX,所需的下载大小将变得更小,从而性能将得到进一步的提高。尽管 Swing 可以使用远程服务器上部署的业务逻辑,但这需要使用远程方法调用 (RMI),该调用的性能要低于 JavaServer Faces 模型。但应始终针对单个应用程序来分析网络性能,并应在可能的用户界面中考虑应用程序的要求。安全性:JavaServer Faces 集成了声明式 J2EE 安全性,从而易于保护 Web 应用程序以及与一次性登录集成。Swing 更难于保护,且将基于 J2SE 权限的安全性与需要更多专业技能的 Java 验证和授权服务 (JAAS) 结合使用。部署:JavaServer Faces 部署到 J2EE 容器并从 Web 中进行访问。该部署的体系结构既可以是两层的(其中的业务逻辑层与视图层位于同一服务器上)也可以是三层的。Swing 通常部署到本地客户端上,或通过 JavaWeb Start(J2SE 中一个基于服务器的软件管理选件)进行部署。对于 JavaServer Faces 而言,使用 Oracle Application Server Control 或相似的管理控制台可以使部署变得更简单、更易于管理。综上所述,如果应用程序要求对用户输入或更改用户显示的事件立即做出响应,则 应使用 Swing。这对在一个屏幕上显示多个主/从相关性的复杂用户界面也是如此。此外,与 Web 相比,Swing 还可以为需要执行即时项目验证的应用程序(可能基于复杂的逻辑)提供更好的支持。使用 Swing 的另一个重要原因是需要不仅能文件上载和下载的桌面集成。此类集成的例子有本地打印机访问、对电话或扫描仪等外部设备的访问。此外,与 Web 技术(其中封闭浏览器使用某些键盘组合)相比,Swing 可以为需要定义其自身的键盘映射的应用程序提供更好的服务。在构建 Swing 应用程序时,其他浏览器功能(如可能妨碍业务控制的应用程序导航的浏览器后退按钮)不会成为问题。某些业务要求应用程序脱机运行(即与网络断开连接),您可以根据此要求来构建 Swing 应用程序。最后,Swing 应用程序只使用一种语言开发,而 JavaServer Faces 混合使用 Java、XML 和 ExpressionLanguage 等技术。如果需要可以从任何位置(不要求安装客户端)访问应用程序,则 应使用 JavaServer Faces。这包括可能为 PDA、移动电话和 telnet 客户端等显示设备提供的支持。与 Swing 不同,JavaServer Faces 可以通过防火墙(使用 HTTP 或 HTTPS 来保护客户端-服务器通信)进行轻松的运行。由于逻辑在服务器上执行,因此 JavaServer Faces 更易于部署并需要更少的客户端资源。如今,互联网应用程序已得到普遍使用,因此您可以假设应用程序用户熟悉 Web 应用程序的外观和使用。这降低了用户在使用新应用程序时的学习难度。安全性是使用基于 Web 的 JavaServer Faces 应用程序的另一个重要原因。尽管可以使用 JAAS 构建安全的 Swing 应用程序,但构建与服务器上容器管理的安全性和一次性登录集成的基于 Web 的应用程序则更为简单。此外,与在 Swing 中相比,在 JSF 中更容易实现需要将其中的身份发送到其他组件或应用程序的安全性集成。但您应该知道的是,将 JSF 与 AJAX 结合使用是基于 Javascript(需要浏览器支持)的。将来,Swing 技术如今具有的优点将逐渐消失。例如在美国,宾西法尼亚和旧金山两座城市已经启动了一些在整个城市提供无线访问的项目。一旦世界上的其他国家/地区采用了该模型,那么在断开连接模式下工作(Swing 当前的优点)将不再必要。有关 Swing 逐渐失去优势的另一个例子是 AJAX 有望为 Web 应用程序带来的即时客户端显示响应这一优点。 有选择的生产效率:是否只须学习一种技术? 成功开发 J2EE 应用程序需要 J2EE 框架和 Java IDE,它们尽量对应用程序开发人员隐藏复杂性,同时还实施了最佳的编码实践。 一项互联网工作招聘快速调查显示,Web 应用程序开发人员的就业市场远远大于 Swing 应用程序开发人员。因此,在理想情况下您需要学习的一门技术是 Web 应用程序开发,其中包括 JavaServer Faces、AJAX 和 JavaServer Pages。在需要开发 Swing 应用程序时,如果将 Oracle 应用程序开发框架和 Oracle JDeveloper 与 Swing 结合使用,则 Web 应用程序开发技术就足够了。Oracle JDeveloper 是一个支持 J2EE 桌面和 Web 应用程序的集成 Java IDE。使用 Oracle 应用程序开发框架,应用程序开发人员无须再学习如何使用不同的 API 来访问各种持久层技术,使用一个一致的 API 就可以了。使用Oracle ADF,Web 应用程序开发人员可以在设计时和运行时使用与 Swing 应用程序开发人员构建 Java 桌面应用程序所使用的同一组元数据文件。由于提供了相似的开发环境,因此 Swing 应用程序开发人员将发现开发 Web 应用程序其实比较简单,反之亦然。因此,如果您必须只学习一种技术,则建议您最好学习如何使用 Oracle 应用程序开发框架开发 Web 应用程序。总结JavaServer Faces 与 AJAX 的发展过程就像人类学习走路一样,是一个渐进的过程。Web 应用程序最初以静态界面形式出现,现在已经逐步演变为一个动态应用程序平台。AJAX 只不过是需要在其最具有意义的环境 - JSF 中实现的下一个逻辑步骤。拥有富互联网客户端使开发人员可以选择使用适当的技术解决问题。富互联网应用程序 (AJAX)基于组件的 Web 客户端 (JSF)基于动态标记的 Web 客户端 (JSP)桌面集成客户端 (Swing)AJAX 阐述了一种使 J2EE 应用程序开发人员能够将复杂的业务应用程序发布到 Web 的可能。作为 Swing 开发人员,您不必在意围绕 AJAX 展开的宣传热潮,但应在意它的动机。宣传是为了推广新机会,而这正体现了 JavaServer Faces 和 AJAX 的本质:为应用程序开发人员构建富 Web 应用程序提供新机会。Swing 是为客户端桌面开发 Java 应用程序的标准方法,并且它要解决的开发问题与 JavaServer Faces 和 AJAX 不同。它通过 Community Process 以及 Sun(它还领导了 Java 桌面网络组件 (JDNC) 项目)的努力得到不断发展和改进。尽管Swing 与 JavaServer Faces/AJAX 在功能上存在重叠,但两者并不直接竞争。为某项工作选择的技术必须解决您要解决的问题,而反之则不然。使用 Oracle 应用程序开发框架,开发人员可以灵活地选择相应的技术,以便使用一种基础技术集开发 Web 应用程序和桌面应用程序。 Frank Nimphius 和Duncan Mills 是Oracle 开发人员工具部门的产品经理,两人均为 Oracle ACE。
❿ 怎么做股票模型
我也曾今也想到过这个问题。但是,告诉你一个不幸的消息,股票不可以用模型制作,我以前试过用指数模型和高斯分布做过,但后来去给一个博士谈到这个问题的时候。最终达成一致共识,股票不能建立模型。只能在股票和其他衍生工具之间建立交易模型,例如capm,b-s模型。如果是老师布置的作业,你就给她说,不能建立模型。