欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用戶定義的算法的電子交易的制作方法

文檔序號:6351525閱讀:165來源:國知局
專利名稱:用戶定義的算法的電子交易的制作方法
技術(shù)領(lǐng)域
當(dāng)前描述的技術(shù)針對電子交易系統(tǒng)。更具體地,某些實(shí)施例針對用戶定義的算法的電子交易。
背景技術(shù)
電子交易系統(tǒng)一般包括客戶機(jī)裝置,該客戶機(jī)裝置與可充當(dāng)該客戶機(jī)裝置的主機(jī)的電子交易所通信。典型地,電子交易系統(tǒng)準(zhǔn)備對買入和賣出要交易的可交易對象的訂單進(jìn)行電子匹配??山灰讓ο笫强梢越灰椎奈锲?。股票(Stock)、期權(quán)(option)、期貨(future)交易合約、有價(jià)證券(securities)和商品(commodities)是可交易對象的幾個(gè)示例。電子交易所向客戶機(jī)裝置傳送市場數(shù)據(jù)。該市場數(shù)據(jù)可包括例如價(jià)格數(shù)據(jù)、市場深度數(shù)據(jù)、最近交易量數(shù)據(jù)、與可交易對象的市場相關(guān)的數(shù)據(jù)、和/或其組合。客戶機(jī)裝置從電子交易所接收市場數(shù)據(jù)。在一些電子交易系統(tǒng)中,客戶機(jī)裝置接收和處理市場數(shù)據(jù),而不在顯示裝置上顯示該市場數(shù)據(jù)。例如,“黑匣子”算法交易系統(tǒng)可自動(dòng)運(yùn)行并不顯示市場數(shù)據(jù)。然而,在其他電子交易系統(tǒng)中,客戶機(jī)裝置在顯示裝置上顯示所處理的市場數(shù)據(jù)??蛻魴C(jī)裝置可包括創(chuàng)建交易屏幕的軟件。一般,交易屏幕使得用戶能夠參與電子交易會話。例如,交易屏幕可使得用戶能夠?yàn)g覽市場數(shù)據(jù)、向電子交易所提交交易訂單、獲得市場報(bào)價(jià)(quote)、監(jiān)視頭寸(position)、和/或其組合。在一些電子交易系統(tǒng)中,客戶機(jī)裝置向電子交易所發(fā)送交易訂單。然而,在其他電子交易系統(tǒng)中,諸如服務(wù)器側(cè)裝置的其他裝置負(fù)責(zé)向電子交易所發(fā)送一個(gè)或多個(gè)交易訂單。一旦接收到交易訂單,電子交易所就將該交易訂單鍵入交易所訂單簿,并嘗試將該交易訂單的數(shù)量與一個(gè)或多個(gè)對方(contra-side)交易訂單的數(shù)量進(jìn)行匹配。作為示例,賣出訂單是具有相同價(jià)格的買入訂單的對方。類似地,買入訂單是具有相同價(jià)格的賣出訂單的對方。不匹配的交易訂單的數(shù)量被保持在交易所訂單簿中,直到交易訂單的數(shù)量被電子交易所匹配為止。當(dāng)取消交易訂單時(shí),不匹配的交易訂單的數(shù)量也可以由客戶機(jī)裝置或電子交易所從訂單簿中去除。一旦匹配了交易訂單的數(shù)量,電子交易所就可以向匹配了交易訂單的數(shù)量的客戶機(jī)裝置發(fā)送確認(rèn)。電子交易所已使得增長數(shù)目的參與者可能在任何給定時(shí)間在市場中激活。潛在市場參與者的數(shù)目增長已有利地導(dǎo)致更有競爭性的市場和更大的流動(dòng)資金(liquidity)。在有競爭性的環(huán)境中,與其中每一秒或幾分之一秒都將截取交易機(jī)會計(jì)算在內(nèi)的電子交易類似,可期望提供這樣的工具,其幫助參與者在市場場所(marketplace)中有效競爭或甚至給予超出其他參與者的優(yōu)勢(edge)。一些當(dāng)前系統(tǒng)包括算法交易系統(tǒng),其可允許對于市場信息改變的更迅速的評估和反應(yīng)。然而,這樣的系統(tǒng)典型地需要熟練的程序員開發(fā)交易算法,花費(fèi)幾天(或甚至幾月)進(jìn)行測試和調(diào)試,并且當(dāng)交易者對不同方案進(jìn)行判斷或者期望對算法邏輯的修改時(shí),必須重復(fù)開發(fā)和調(diào)試處理。

發(fā)明內(nèi)容
這里描述的實(shí)施例包括但不限于各種裝置、系統(tǒng)、方法、和計(jì)算機(jī)程序產(chǎn)品。某些實(shí)施例提供建造(building)塊按鈕和算法區(qū)域來定義算法。某些實(shí)施例允許即使在單一交易會話期間、也迅速調(diào)整參數(shù)和參數(shù)的邏輯兩者。當(dāng)正定義算法時(shí),某些實(shí)施例提供表達(dá)式的實(shí)時(shí)(live)評估。某些實(shí)施例通過降低或消除用戶對編程代碼的寫入,而降低傳統(tǒng)編程算法的風(fēng)險(xiǎn),諸如語法錯(cuò)誤、不清楚邏輯、以及非交易者程序員開發(fā)交易者指定的算法的需求。某些實(shí)施例提供用于同時(shí)全部建造、調(diào)試、和仿真(利用真實(shí)市場數(shù)據(jù))算法的單一應(yīng)用。另外,該單一應(yīng)用還可以準(zhǔn)備啟動(dòng)使用該算法的訂單的下訂(placement)。某些實(shí)施例提供用于設(shè)計(jì)算法的設(shè)計(jì)帳篷(canvas)區(qū)和塊。某些實(shí)施例提供具有復(fù)雜功能性的塊,用于在算法中使用。某些實(shí)施例準(zhǔn)備對設(shè)計(jì)帳篷區(qū)中放置的塊分組。某些實(shí)施例準(zhǔn)備虛擬化組塊,使得算法的部分的動(dòng)態(tài)實(shí)例化能夠處置特定離散事件。某些實(shí)施例允許迅速調(diào)整算法的參數(shù)和邏輯兩者,即使在單一交易會話期間。當(dāng)正設(shè)計(jì)算法時(shí),某些實(shí)施例提供塊的實(shí)時(shí)反饋。某些實(shí)施例提供安全特征,以降低當(dāng)設(shè)計(jì)算法時(shí)的潛在錯(cuò)誤。當(dāng)客戶機(jī)裝置和算法服務(wù)器之間的連接被破壞時(shí),某些實(shí)施例準(zhǔn)備用于算法的一些或所有部分的操作。某些實(shí)施例通過降低或消除用戶對編程代碼的寫入,而降低傳統(tǒng)編程算法的風(fēng)險(xiǎn),諸如語法錯(cuò)誤、不清楚邏輯、以及非交易者程序員開發(fā)交易者指定的算法的需求。某些實(shí)施例提供用于同時(shí)全部建造、調(diào)試、和仿真(利用真實(shí)市場數(shù)據(jù))算法的單一應(yīng)用。另外,該單一應(yīng)用還可以準(zhǔn)備啟動(dòng)使用該算法的訂單的下訂。某些實(shí)施例準(zhǔn)備啟動(dòng)作為訂單類型所選擇的算法所要管理的訂單的下訂。某些實(shí)施例準(zhǔn)備啟動(dòng)從值軸所選擇的用戶定義的交易算法所要管理的訂單的下訂。某些實(shí)施例準(zhǔn)備在算法正管理訂單時(shí)、改變該算法的變量。某些實(shí)施例準(zhǔn)備手動(dòng)修改算法正管理的訂單。某些實(shí)施例準(zhǔn)備向未管理的訂單分配算法,以管理該訂單。某些實(shí)施例準(zhǔn)備顯示由值軸上的不同的用戶定義的交易算法正管理的工作訂單。某些實(shí)施例提供排列(ranking)工具。某些實(shí)施例準(zhǔn)備要用于訂單下訂的所選擇的可交易對象的排列。某些實(shí)施例準(zhǔn)備選擇用于基于該排列來啟動(dòng)(多個(gè))訂單的執(zhí)行策略。下面描述其他實(shí)施例。另外,可對所描述的實(shí)施例進(jìn)行修改,而不脫離本發(fā)明的精神或范圍。


這里將參考下圖來描述示例實(shí)施例。圖I圖示了其中可采用某些實(shí)施例的電子交易系統(tǒng)的框圖。圖2A圖示了根據(jù)某些實(shí)施例的交易界面。圖2B圖示了根據(jù)某些實(shí)施例的證券(instrument)選擇界面。圖2C-2I圖示了根據(jù)某些實(shí)施例的在交易界面中建造對于算法的定義。圖2J圖示了根據(jù)某些實(shí)施例的交易界面。圖3A圖示了其中可采用某些實(shí)施例的電子交易系統(tǒng)的框圖。圖3B圖示了根據(jù)某些實(shí)施例的交易界面。圖3C圖示了可在根據(jù)某些實(shí)施例的交易界面中使用的塊的示例。圖3D-1到3D-7圖不了根據(jù)某些實(shí)施例生成的不例編程代碼。圖3E-R圖示了根據(jù)某些實(shí)施例的交易界面。圖4A-4F圖示了根據(jù)某些實(shí)施例的交易界面。圖5圖示了根據(jù)某些實(shí)施例的排列工具。圖6圖示了根據(jù)某些實(shí)施例的計(jì)算裝置的框圖。當(dāng)結(jié)合示出某些實(shí)施例的圖進(jìn)行閱讀時(shí),前面的概述以及下面的詳細(xì)描述將被更好地理解。這些圖是為了圖示某些實(shí)施例的目的,但是應(yīng)理解的是,本發(fā)明不限于圖中示出的安排和手段(instrumentality)。
具體實(shí)施例方式I.示例電子交易系統(tǒng)圖I圖示了其中可采用某些實(shí)施例的電子交易系統(tǒng)100的框圖。系統(tǒng)100包括客戶機(jī)裝置110、網(wǎng)關(guān)120、和電子交易所130??蛻魴C(jī)裝置110與網(wǎng)關(guān)120通信。網(wǎng)關(guān)120與交易所130通信。如這里使用的,短語“通信”可包括直接通信以及通過一個(gè)或多個(gè)中間組件的間接通信。在操作中,客戶機(jī)裝置110可發(fā)送訂單以買入或賣出交易所130處的可交易對象。例如,用戶可利用客戶機(jī)裝置110來發(fā)送訂單。將訂單通過網(wǎng)關(guān)120發(fā)送到交易所130。另外,將市場數(shù)據(jù)從交易所130通過網(wǎng)關(guān)120發(fā)送到客戶機(jī)裝置110。用戶還可以利用客戶機(jī)裝置110來監(jiān)視該市場數(shù)據(jù),并根據(jù)市場數(shù)據(jù)作出發(fā)送對于可交易對象的訂單的判斷??山灰讓ο笫强衫脭?shù)量和/或價(jià)格交易的任何東西。例如,諸如股票、期權(quán)、債 券、期貨、貨幣、憑單、基金衍生物、有價(jià)證券、商品、交易項(xiàng)目(traded events)、貨物、以及收藏品和/或它們的組合的金融產(chǎn)品可以是可交易對象。可交易對象可以是“真實(shí)的”或“人造的”。真實(shí)的可交易對象包括交易所所列出的產(chǎn)品。人造的可交易對象包括用戶所定義的并且交易所沒有列出的產(chǎn)品。例如,人造的可交易對象可包括真實(shí)的(或其他人造的)產(chǎn)品的組合,諸如由交易者利用客戶機(jī)裝置110創(chuàng)建的人造價(jià)差(spread)。客戶機(jī)裝置110可包括一個(gè)或多個(gè)電子計(jì)算平臺,諸如手持裝置、膝上型計(jì)算機(jī)、桌面型計(jì)算機(jī)、具有單核或多核處理器的工作站、具有多個(gè)處理器的服務(wù)器、和/或計(jì)算機(jī)群。例如,盡管邏輯上表示為單一裝置,但是客戶機(jī)裝置110可包括與服務(wù)器通信的交易終端,其中交易終端和服務(wù)器都是客戶機(jī)裝置110。交易終端可向用戶提供交易屏幕,并可向服務(wù)器傳遞命令,用于通過交易屏幕的用戶輸入(諸如,下訂單)的進(jìn)一步處理??蛻魴C(jī)裝置100 —般由用戶擁有、操作、控制、編程、配置、或按照別的方式使用。如這里使用的,短語“用戶”可包括但不限于人(例如,交易者)或電子交易裝置(例如,包括處理器和存儲器或算法交易系統(tǒng))。在諸如擁有、操作、控制、編程、配置、或其他用途中可涉及一個(gè)或多個(gè)用戶??蛻魴C(jī)裝置110可包括一個(gè)或多個(gè)交易應(yīng)用。(多個(gè))交易應(yīng)用可以例如通過在交易和制圖(charting)窗口中安排和顯示市場數(shù)據(jù),來處理市場數(shù)據(jù)。市場數(shù)據(jù)可以從例如交易所130接收。作為另一示例,市場數(shù)據(jù)可以從提供歷史數(shù)據(jù)和/或仿真交易所但是不實(shí)現(xiàn)真實(shí)世界交易的仿真環(huán)境接收。該處理可以基于諸如用戶偏好。(多個(gè))交易應(yīng)用可包括諸如自動(dòng)價(jià)差交易工具的自動(dòng)交易工具。一個(gè)或多個(gè)交易應(yīng)用可分布在客戶機(jī)裝置110的一個(gè)或多個(gè)計(jì)算裝置之間。例如,交易應(yīng)用的某些組件可在交易工作站上執(zhí)行,并且交易應(yīng)用的其他組件可在與工作站通信的服務(wù)器上執(zhí)行。客戶機(jī)裝置110可包括電子交易工作站、便攜式交易裝置、諸如“黑匣子”或“灰匣子”系統(tǒng)的算法交易系統(tǒng)、嵌入式交易系統(tǒng)、和/或自動(dòng)交易工具。例如,客戶機(jī)裝置110可以是運(yùn)行一份X—TRADER (由伊利諾伊州芝加哥的交易技術(shù)國際有限公司(TradingTechnologies International, Inc.)提供的電子交易平臺)的計(jì)算系統(tǒng)。作為另一示例,客戶機(jī)裝置110可以是運(yùn)行也由交易技術(shù)國際有限公司提供的諸如Autospreadei' 和/或Autotrader 的自動(dòng)交易工具的計(jì)算裝置。交易應(yīng)用可以被存儲在客戶機(jī)裝置110的計(jì)算機(jī)可讀介質(zhì)中。在某些實(shí)施例中,交易應(yīng)用的某些組件可以被存儲在交易工作站上,并且交易應(yīng)用的其他組件可以被存儲在與工作站通信的服務(wù)器上。在某些實(shí)施例中,交易應(yīng)用的一個(gè)或多個(gè)組件可以從另一計(jì)算機(jī)可讀介質(zhì)裝載到客戶機(jī)裝置110的計(jì)算機(jī)可讀介質(zhì)中。例如,交易應(yīng)用(或交易應(yīng)用的更新)可以由制造商、開發(fā)商、或發(fā)行商存儲在一個(gè)或多個(gè)CD或DVD上,所述CD或DVD然后被提供給負(fù)責(zé)在客戶機(jī)裝置110上裝載該應(yīng)用的某人或提供給客戶機(jī)裝置110從其恢復(fù)交易應(yīng)用的服務(wù)器。作為另一示例,客戶機(jī)裝置110可例如經(jīng)由因特網(wǎng)或內(nèi)部網(wǎng)從服務(wù)器接收交易應(yīng)用(或交易應(yīng)用的更新)。當(dāng)由客戶機(jī)裝置110請求時(shí)(“拉分布”(pulldistribution))和/或沒有由客戶機(jī)裝置110請求時(shí)(“推分布”),客戶機(jī)裝置110可接收交易應(yīng)用或更新??蛻魴C(jī)裝置110適于發(fā)送買入或賣出可交易對象的訂單??蛻魴C(jī)裝置110還可以適于取消訂單、改變訂單、和/或查詢交易所。作為另一示例,客戶機(jī)裝置110可適于在不實(shí)現(xiàn)真實(shí)世界交易的仿真環(huán)境中向仿真交易所發(fā)送訂單。客戶機(jī)裝置110所發(fā)送的訂單可以例如根據(jù)用戶的請求發(fā)送或者自動(dòng)發(fā)送。例如,交易者可利用電子交易工作站,來下訂對于特定可交易對象的訂單,手動(dòng)提供該訂單的各種參數(shù),諸如訂單價(jià)格和/或數(shù)量。作為另一示例,自動(dòng)交易工具可計(jì)算訂單的一個(gè)或多個(gè)參數(shù),并自動(dòng)發(fā)送該訂單。在一些實(shí)例中,自動(dòng)交易工具可準(zhǔn)備發(fā)送訂單,但是在沒有來自用戶的確認(rèn)的情況下不實(shí)際發(fā)送它。在某些實(shí)施例中,客戶機(jī)裝置110包括用戶接口。用戶接口可包括諸如用于向用戶呈現(xiàn)交易應(yīng)用的基于文本的或圖形的界面的一個(gè)或多個(gè)顯示裝置。例如,顯示裝置可包括計(jì)算機(jī)監(jiān)視器、手持裝置顯示器、投影儀、和/或電視機(jī)。用戶接口可以由用戶使用,以使用交易應(yīng)用來指定或回顧訂單的參數(shù)。用戶接口可包括諸如用于從用戶接收輸入的一個(gè)或多個(gè)輸入裝置。例如,輸入裝置可包括鍵盤、軌跡球、雙按鈕或三按鈕鼠標(biāo)、和/或觸摸屏。用戶接口可包括用于與用戶交互的其他裝置。例如,信息可通過揚(yáng)聲器而實(shí)際提供給用戶和/或通過麥克風(fēng)接收。在某些實(shí)施例中,交易應(yīng)用可包括一個(gè)或多個(gè)交易屏幕,以使得交易者能夠與一個(gè)或多個(gè)市場交互。交易屏幕可以在例如實(shí)現(xiàn)各種交易策略的同時(shí),使得交易者能夠獲得和瀏覽市場信息,設(shè)置訂單條目參數(shù),鍵入和取消訂單、和/或監(jiān)視頭寸。例如,交易應(yīng)用可以從交易所130接收信息(諸如買入價(jià)、買入數(shù)量、賣出價(jià)、賣出數(shù)量、以前銷售的價(jià)格和數(shù)量、和/或其他市場相關(guān)信息),該信息依次可利用客戶機(jī)裝置110的用戶接口來顯示?;谒邮盏男畔ⅲ灰灼聊豢娠@示關(guān)于可交易對象的價(jià)格水平的范圍以及所述價(jià)格水平的對應(yīng)買入和賣出數(shù)量。為了向交易者提供永久(pertinent)交易信息,交易屏幕可以顯示在內(nèi)部市場周圍的價(jià)格范圍(以及對應(yīng)買入和賣出數(shù)量)。該信息可以被連續(xù)或規(guī)則地提供給交易應(yīng)用,這允許交易應(yīng)用利用當(dāng)前市場信息來更新該交易屏幕。交易者可使用交易屏幕,來例如基于所顯示的信息來下訂對于可交易對象的買入和賣出訂單,或者按照別的方式來交易可交易對象。交易屏幕可顯示一個(gè)或多個(gè)交易工具。交易工具是允許、幫助、和/或促進(jìn)電子交易的電子工具。示范交易工具包括但不限于圖表、交易階梯、訂單條目工具、自動(dòng)交易工具、自動(dòng)價(jià)差交易工具、風(fēng)險(xiǎn)管理工具、訂單參數(shù)工具、訂單條目系統(tǒng)、市場網(wǎng)格、履行(fill)窗口、和市場訂單窗口、其組合、用于交易、準(zhǔn)備交易、或管理交易的其他電子工具。在某些實(shí)施例中,客戶機(jī)裝置110包括算法交易應(yīng)用。例如,客戶機(jī)裝置110可包括黑匣子或灰匣子交易應(yīng)用。作為另一示例,客戶機(jī)裝置110可包括這樣的交易應(yīng)用,其對市場數(shù)據(jù)進(jìn)行算法化處理,但是提供用戶接口以允許用戶基于算法處理手動(dòng)下訂單、或者操縱自動(dòng)下訂的訂單。算法交易應(yīng)用是包括自動(dòng)處理的算法以執(zhí)行某些動(dòng)作的交易應(yīng)用。即,交易應(yīng)用包括執(zhí)行定義的(多個(gè))動(dòng)作的一連串自動(dòng)指令。這些動(dòng)作可包括例如按照特定方式處理市場數(shù)據(jù)、下訂單、修改現(xiàn)有訂單、刪除訂單、避免下訂單、選擇起作用的(多個(gè))可交易對象、確定下訂單或修改訂單的價(jià)格、確定下訂單或修改訂單的數(shù)量、確定應(yīng)買入還是賣出訂單、和將動(dòng)作延遲一時(shí)段。如這里使用的,算法(也稱為交易算法)由包括描述要在交易中使用的算法的邏輯表達(dá)式和參數(shù)的定義來指定。邏輯表達(dá)式指定參數(shù)之間的關(guān)系,并可生成多個(gè)參數(shù)。參數(shù)可包括例如到該算法的邏輯表達(dá)式中的輸入。算法的定義可以至少部分由算法交易應(yīng)用指定。例如,算法交易應(yīng)用可允許用戶僅指定要由預(yù)定義的邏輯表達(dá)式使用的參數(shù)。作為另一示例,算法交易應(yīng)用可允許用戶指定一些或全部邏輯表達(dá)式以及一些或全部參數(shù)。其中由用戶指定邏輯表達(dá)式的交易算法是用戶定義的交易算法。在某些實(shí)施例中,來自客戶機(jī)裝置110的訂單通過網(wǎng)關(guān)120被發(fā)送到交易所130。客戶機(jī)裝置110可使用例如局域網(wǎng)、廣域網(wǎng)、虛擬專網(wǎng)、Tl線路、T3線路、ISDN線路、存在點(diǎn)、和/或因特網(wǎng)來與網(wǎng)關(guān)120通信。網(wǎng)關(guān)120適于與客戶機(jī)裝置110和交易所130通信。網(wǎng)關(guān)120促進(jìn)客戶機(jī)裝置110和交易所130之間的通信。例如,網(wǎng)關(guān)120可接收來自客戶機(jī)裝置110的訂單,并將訂單傳送到交易所130。作為另一示例,網(wǎng)關(guān)120可接收來自交易所130的市場數(shù)據(jù),并將市場數(shù)據(jù)傳送到客戶機(jī)裝置110。在某些實(shí)施例中,網(wǎng)關(guān)120對在客戶機(jī)裝置110和交易所130之間傳遞的數(shù)據(jù)執(zhí)行處理。例如,網(wǎng)關(guān)120可將從客戶機(jī)裝置110接收的訂單處理為交易所130可接受的數(shù)據(jù)格式。類似地,網(wǎng)關(guān)120可將從交易所130接受的交易所特定格式的市場數(shù)據(jù)轉(zhuǎn)換為客戶機(jī)裝置110所理解的格式。網(wǎng)關(guān)120的處理也可以包括跟蹤來自客戶機(jī)裝置110的訂單,并基于例如從交易所130接收的履行確認(rèn)來更新訂單的狀態(tài)。作為另一示例,網(wǎng)關(guān)120可聚合(coalesce)來自交易所130的市場數(shù)據(jù),并將其提供到客戶機(jī)裝置120。在某些實(shí)施例中,網(wǎng)關(guān)120提供除了在客戶機(jī)裝置110和交易所130之間傳遞的處理數(shù)據(jù)之外的服務(wù)。例如,網(wǎng)關(guān)120可提供風(fēng)險(xiǎn)處理。網(wǎng)關(guān)120可包括諸如手持裝置、膝上型計(jì)算機(jī)、桌面型計(jì)算機(jī)、具有單核或多核處理器的工作站、具有多個(gè)處理器的服務(wù)器、和/或計(jì)算機(jī)群的一個(gè)或多個(gè)電子計(jì)算平臺。網(wǎng)關(guān)120可包括一個(gè)或多個(gè)網(wǎng)關(guān)應(yīng)用。(多個(gè))網(wǎng)關(guān)應(yīng)用可以處置例如訂單處理和市場數(shù)據(jù)處理。該處理可基于例如用戶偏好。在某些實(shí)施例中,網(wǎng)關(guān)120使用例如局域網(wǎng)、廣域網(wǎng)、虛擬專網(wǎng)、Tl線路、T3線路、ISDN線路、存在點(diǎn)、和/或因特網(wǎng)與交易所130通信。一般,交易所130可由交易所實(shí)體擁有、操作、控制、或使用。示范交易所實(shí)體包括CME組、倫敦國際金融期貨期權(quán)交易所(“LIFFE”)、洲際交易所(“ICE”)、和歐洲期貨期權(quán)交易所(Eurex)。交易所130可以是適于允許買入和賣出例如交易所為了交易而提供的可交易對象的、諸如計(jì)算機(jī)、服務(wù)器、或其他計(jì)算裝置的電子匹配系統(tǒng)。交易所130適于匹配用于買入和賣出可交易對象的訂單??山灰讓ο罂捎山灰姿?30列出用于交易。這些訂單可包括從例如客戶機(jī)裝置110接收的訂單。訂單可例如通過網(wǎng)關(guān)120從客戶機(jī)裝置110接收。另外,訂單可以從與交易所130通信的其他裝置接收。即,典型地,交易所130將與也提供要匹配的訂單的各個(gè)其他客戶機(jī)裝置(這可與客戶機(jī)裝置110類似)通信。交易所130適于提供市場數(shù)據(jù)。市場數(shù)據(jù)可被提供到例如客戶機(jī)裝置110。市場數(shù)據(jù)可例如通過網(wǎng)關(guān)120提供到客戶機(jī)裝置110。市場數(shù)據(jù)可包括代表例如內(nèi)部市場的數(shù)據(jù)。內(nèi)部市場是某一時(shí)間點(diǎn)處的最低賣價(jià)(也稱為“最低叫價(jià)(best ask)”)和最高買價(jià)(也稱為“最高出價(jià)(best bid)”)。市場數(shù)據(jù)還可以包括市場深度。市場深度指的是在內(nèi)部市場可用的數(shù)量,并也可表示按照遠(yuǎn)離內(nèi)部市場的其他價(jià)格可用的數(shù)量。由此,內(nèi)部市場可被看作市場深度的第一級別。遠(yuǎn)離內(nèi)部市場的一個(gè)最低價(jià)位(tick)可被看作例如市場深度的第二級別。在某些實(shí)施例中,可提供市場深度用于所有價(jià)格級別。在某些實(shí)施例中,可提 供市場深度用于少于所有價(jià)格級別。例如,可提供市場深度僅用于內(nèi)部市場每一側(cè)的前五個(gè)價(jià)格級別。該市場數(shù)據(jù)還可以包括諸如最后交易價(jià)格(LTP)、最后交易數(shù)量(LTQ)、和訂單履行信息的信息。在某些實(shí)施例中,系統(tǒng)100包括多于一個(gè)客戶機(jī)裝置110。例如,與上述客戶機(jī)裝置110類似的多個(gè)客戶機(jī)裝置可以與網(wǎng)關(guān)120通信,以向交易所130發(fā)送訂單。在某些實(shí)施例中,系統(tǒng)100包括多于一個(gè)網(wǎng)關(guān)120。例如,與上述網(wǎng)關(guān)120類似的多個(gè)網(wǎng)關(guān)可以與客戶機(jī)裝置Iio和交易所130通信。這樣的安排可用于提供例如如果一個(gè)網(wǎng)關(guān)120發(fā)生故障的備份(redundancy)。在某些實(shí)施例中,系統(tǒng)100包括多于一個(gè)交易所130。例如,網(wǎng)關(guān)120可和與上述交易所130類似的多個(gè)交易所通信。這樣的安排可允許客戶機(jī)裝置110通過例如網(wǎng)關(guān)120在多于一個(gè)交易所處交易。在某些實(shí)施例中,系統(tǒng)100包括多于一個(gè)交易所130和多于一個(gè)網(wǎng)關(guān)120。例如,與上述網(wǎng)關(guān)120類似的多個(gè)網(wǎng)關(guān)可以和與上述交易所130類似的多個(gè)交易所通信。每一網(wǎng)關(guān)可與例如一個(gè)或多個(gè)不同交易所通信。這樣的安排可允許一個(gè)或多個(gè)客戶機(jī)裝置110在例如多于一個(gè)交易所處交易(和/或提供與多個(gè)交易所的備份連接)。在某些實(shí)施例中,客戶機(jī)裝置110包括一個(gè)或多個(gè)計(jì)算裝置或處理組件。換言之,客戶機(jī)裝置110的功能性可以由多于一個(gè)計(jì)算裝置執(zhí)行。例如,一個(gè)計(jì)算裝置可生成要發(fā)送到交易所130的訂單,而另一計(jì)算裝置可向交易者提供圖形用戶接口。在某些實(shí)施例中,網(wǎng)關(guān)120包括一個(gè)或多個(gè)計(jì)算裝置或處理組件。換言之,網(wǎng)關(guān)120的功能性可以由多于一個(gè)計(jì)算裝置執(zhí)行。在某些實(shí)施例中,交易所130包括一個(gè)或多個(gè)計(jì)算裝置或處理組件。換言之,交易所130的功能性可以由多于一個(gè)計(jì)算裝置執(zhí)行。在某些實(shí)施例中,網(wǎng)關(guān)120是客戶機(jī)裝置110的一部分。例如,網(wǎng)關(guān)120的組件可以是與客戶機(jī)裝置110相同的計(jì)算平臺的一部分。作為另一示例,網(wǎng)關(guān)120的功能性可以由客戶機(jī)裝置110的組件執(zhí)行。在某些實(shí)施例中,不存在網(wǎng)關(guān)120。當(dāng)例如客戶機(jī)裝置110不需要利用網(wǎng)關(guān)120與交易所130通信時(shí),這樣的安排可出現(xiàn)。例如,如果客戶機(jī)裝置110已適于與交易所130直接通信。在某些實(shí)施例中,網(wǎng)關(guān)120在物理上位于和客戶機(jī)裝置110相同的地點(diǎn)。在某些實(shí)施例中,網(wǎng)關(guān)120在物理上位于和交易所130相同的地點(diǎn)。在某些實(shí)施例中,客戶機(jī)裝置110在物理上位于和交易所130相同的地點(diǎn)。在某些實(shí)施例中,網(wǎng)關(guān)120在物理上位于與客戶機(jī)裝置110和交易所130兩者分離的地點(diǎn)。盡管為了簡明的目的沒有示出,但是在某些實(shí)施例中,系統(tǒng)100可包括專用于通信架構(gòu)的其他裝置,諸如中間件、防火墻、集線器、轉(zhuǎn)換器、路由器、交易所專用通信設(shè)備、調(diào)制解調(diào)器、安全管理器、和/或加密/解密裝置。上述系統(tǒng)100的組件、元件、和/或功能性可按照例如硬件、固件、和/或軟件指令集的各種形式單獨(dú)或者組合實(shí)現(xiàn)。某些實(shí)施例可被提供為駐留在諸如存儲器、硬盤、CD-ROM、DVD、EPROM、和/或文件服務(wù)器的計(jì)算機(jī)可讀介質(zhì)上的指令集,用于在通用目的計(jì)算機(jī)或其他計(jì)算裝置上執(zhí)行。II.算法訂單建造器某些實(shí)施例提供建造塊按鈕和算法區(qū)域以定義算法。某些實(shí)施例允許迅速調(diào)整算法的參數(shù)和邏輯兩者,甚至在單一交易會話期間。當(dāng)定義算法時(shí),某些實(shí)施例提供表達(dá)式的實(shí)時(shí)評估。某些實(shí)施例通過降低或消除用戶對編程代碼的寫入,而降低傳統(tǒng)編程算法的風(fēng)險(xiǎn),諸如語法錯(cuò)誤、不清楚的邏輯、以及非交易者的程序員開發(fā)交易者所指定的算法的需求。某些實(shí)施例提供用于同時(shí)全部建造、調(diào)試、和(利用真實(shí)市場數(shù)據(jù))仿真算法的單一應(yīng)用。另外,該單一應(yīng)用還可以準(zhǔn)備使用該算法來啟動(dòng)訂單的下訂。圖2A圖示了根據(jù)某些實(shí)施例的交易界面200。交易界面200是稱為算法訂單建造器(“Α0Β”)的算法交易應(yīng)用的交易界面。AOB允許交易者創(chuàng)建用于下訂單的算法。然而,應(yīng)注意的是,所圖示的交易界面200的元素可合并到其他交易界面中。交易界面200包括證券選擇按鈕201、市場網(wǎng)格202、仿真指示訂單條目區(qū)域203、自動(dòng)保值(hedge)選項(xiàng)204、摩擦(scratch)數(shù)量205、變量區(qū)域206、算法區(qū)域210、和建造塊按鈕215。算法區(qū)域210包括價(jià)格區(qū)域211、數(shù)量區(qū)域212、和條件區(qū)域213。在操作中,通過利用一個(gè)或多個(gè)建造塊按鈕215在價(jià)格區(qū)域211、數(shù)量區(qū)域212、和/或條件區(qū)域213中建造表達(dá)式,而在算法區(qū)域210中定義算法。算法中用戶定義的變量的缺省值可以使用變量區(qū)域206來指定。一旦已定義了算法,可使用仿真指示訂單條目區(qū)域203來指示該表達(dá)式的邏輯將如何運(yùn)轉(zhuǎn)(behave)。要根據(jù)所定義的算法管理的訂單可然后使用交易界面來啟動(dòng)。證券選擇按鈕201準(zhǔn)備要下訂的訂單所涉及的證券(即,可交易對象)的選擇。如圖2A中圖示的,已使用證券選擇按鈕201來選擇GEH1-GEM1日歷價(jià)差,如證券選擇按鈕201中顯示的所選擇的證券的名稱所指示的。如果還沒有選擇證券,則證券選擇按鈕201可顯示“選擇證券”或提供還沒有選擇證券的某一其他指示。一旦激活了證券選擇按鈕201 (例如,通過使用指針選擇它或在觸摸屏上觸摸它),可顯示證券選擇界面來允許證券的選擇。圖2B圖示了根據(jù)某些實(shí)施例的證券選擇界面220。證券選擇界面220顯示可交易產(chǎn)品的列表,并允許用戶通過跟隨證券樹來指定要交易的特定可交易對象。證券樹允許用戶挑揀例如要指示的證券、證券類型(例如,價(jià)差或期貨)、和特定合約。例如,如圖示的,已選擇了 GEH1-GEM1日歷價(jià)差。返回參考圖2A,市場網(wǎng)格202顯示用于可交易對象的市場信息。可交易對象可以是例如利用證券選擇按鈕201選擇的證券。作為另一示例,可交易對象可以是用戶選擇的另一可交易對象。市場網(wǎng)格202可顯示諸如可交易對象的買入價(jià)和/或賣出價(jià)、買入數(shù)量和/或賣出數(shù)量、最后交易價(jià)和/或最后交易量信息。例如,市場網(wǎng)格202可顯示用于所選擇的證券的內(nèi)部市場價(jià)格和數(shù)量。仿真指示訂單條目區(qū)域203準(zhǔn)備生成對于評估在算法區(qū)域210中定義的算法的可操作方面的反饋。用戶可利用仿真指示訂單條目區(qū)域203來仿真買入或賣出所選擇的證券的假設(shè)訂單的下訂,以指示該表達(dá)式的邏輯將如何運(yùn)轉(zhuǎn)。用于假設(shè)訂單的價(jià)格和/或數(shù)量也可利用仿真指示訂單條目區(qū)域203來指定。另外,在某些實(shí)施例中,仿真指示訂單條目區(qū)域203可被配置為(例如,通過選擇復(fù)選框)啟動(dòng)買入或賣出所選擇的證券的實(shí)際訂單的下訂,其中根據(jù)所定義的算法來管理訂單。自動(dòng)保值選項(xiàng)204準(zhǔn)備指定當(dāng)履行啟動(dòng)的訂單時(shí),應(yīng)下訂對方訂單。當(dāng)履行訂單是買入訂單時(shí),該對方訂單是賣出訂單,而當(dāng)履行訂單是賣出訂單時(shí),該對方訂單是買入訂單。對方訂單的數(shù)量可以例如與履行的數(shù)量相同。對方訂單是按照可獲利脫手(exit)價(jià)格(諸如從履行訂單的價(jià)格的一個(gè)可交易增量(由交易所所定義))初始下訂的。例如,如果履行訂單按照價(jià)格100買入數(shù)量10,則對方訂單可以是按照價(jià)格101賣出數(shù)量10。作為另一示例,如果履行訂單按照價(jià)格100賣出數(shù)量5,則對方訂單可以是按照價(jià)格99買入數(shù)量5。摩擦(scratch)數(shù)量205用于自動(dòng)保值選項(xiàng)204。當(dāng)對方訂單的價(jià)格級別處的市場中的數(shù)量下降到低于指定的摩擦數(shù)量205時(shí),將對方訂單的價(jià)格級別改變?yōu)閷?yīng)履行訂單的價(jià)格。在該情況下,履行訂單被稱為“被摩擦”,并且不存在交易的利潤。在某些實(shí)施例中,可以不管獲利或虧損,按照接近該頭寸的價(jià)格來下訂對方訂單。變量區(qū)域206準(zhǔn)備指定和修改在算法區(qū)域210中使用的用戶定義的變量。變量區(qū)域206顯示每一變量名稱和它的值。可選擇變量區(qū)域,以改變變量名稱和/或它的值。變量也可被稱為算法的參數(shù)。算法區(qū)域210準(zhǔn)備定義管理訂單的算法。算法區(qū)域210包括價(jià)格區(qū)域211、數(shù)量區(qū)域212、和條件區(qū)域213。每一區(qū)域?qū)?yīng)于算法的不同方面。使用建造塊按鈕215來在該算法區(qū)域210中建造表達(dá)式,以定義算法。評估這些表達(dá)式,以確定用于算法區(qū)域210的每一區(qū)域的值。表達(dá)式包括利用建造塊按鈕215所指定的一個(gè)或多個(gè)元素。下面更詳細(xì)地討論建造塊按鈕215的使用。一旦已在算法區(qū)域210中定義了該算法,就可利用交易界面來啟動(dòng)買入或賣出訂單。例如,除了準(zhǔn)備啟動(dòng)假設(shè)訂單之外,在某些實(shí)施例中,仿真指示訂單條目區(qū)域203還可準(zhǔn)備啟動(dòng)實(shí)際訂單。作為另一示例,可使用與下面討論的界面類似的交易界面來啟動(dòng)訂單。然后根據(jù)定義的算法來管理所啟動(dòng)的訂單。評估價(jià)格區(qū)域211以確定正管理的訂單應(yīng)下訂的價(jià)格。價(jià)格區(qū)域211評估為代表價(jià)格的數(shù)字。如果價(jià)格區(qū)域211是空白的,則使用仿真指示訂單條目區(qū)域203中指定的價(jià)格。如果價(jià)格區(qū)域211包括表達(dá)式,則可忽略仿真指示訂單條目區(qū)域203中指定的價(jià)格。價(jià)格區(qū)域211可在不同時(shí)間(諸如當(dāng)市場數(shù)據(jù)改變時(shí))被評估到不同值。如果這樣的話,則正管理的訂單被改變?yōu)榘凑招聝r(jià)格工作。這可例如通過刪除該訂單并按照新價(jià)格下新訂單、或通過使用取消/替換命令而實(shí)現(xiàn)。評估數(shù)量區(qū)域212以確定正管理的訂單應(yīng)下訂的數(shù)量。數(shù)量區(qū)域212評估到代表數(shù)量的數(shù)字。如果數(shù)量區(qū)域212是空白的,則使用仿真指示訂單條目區(qū)域203中指定的數(shù)量。如果數(shù)量區(qū)域212包括表達(dá)式,則可忽略仿真指示訂單條目區(qū)域203中指定的數(shù)量。數(shù)量區(qū)域212可在不同時(shí)間(諸如當(dāng)市場數(shù)據(jù)改變時(shí))被評估到不同值。如果這樣的話,則正管理的訂單被改變?yōu)榘凑招聰?shù)量工作。這可例如通過刪除該訂單并按照新數(shù)量下新訂單、或通過使用改變訂單數(shù)量命令而實(shí)現(xiàn)。如果數(shù)量區(qū)域212評估到0,則可從市場中去除正管理的訂單,直到數(shù)量區(qū)域212評估到非零值為止。這可與下面討論的評估到“假”的條件區(qū)域213類似。
在某些實(shí)施例中,算法區(qū)域210不包括數(shù)量區(qū)域212。取代的是,數(shù)量可以是固定的或預(yù)先定義的。例如,用于管理保值訂單的交易界面(例如,當(dāng)履行交易策略的可交易對象的另一訂單時(shí)自動(dòng)下訂的訂單;這還可以被稱為保值管理器界面)可使用基于另一訂單的履行數(shù)量、并根據(jù)算法的觀點(diǎn)預(yù)定的數(shù)量。由此,算法區(qū)域是這樣的交易界面,其可允許算法用于工作保值訂單,可以不包括數(shù)量區(qū)域212,因?yàn)椴恍枰付〝?shù)量值,這是由于在利 用該算法時(shí)該數(shù)量值是預(yù)定的。評估條件區(qū)域213,以確定該算法是否應(yīng)是活動(dòng)的。條件區(qū)域213評估為布爾值。當(dāng)條件區(qū)域213評估為“真”時(shí),算法是活動(dòng)的。當(dāng)條件區(qū)域213評估為“假”時(shí),算法是不活動(dòng)的。如果條件區(qū)域213是空白的,則算法總是活動(dòng)的。條件區(qū)域213可在不同的時(shí)間(諸如當(dāng)市場數(shù)據(jù)改變時(shí))評估為不同值。當(dāng)算法是活動(dòng)的時(shí),正管理的訂單進(jìn)入市場并如上所述根據(jù)確定的價(jià)格和數(shù)量而工作。當(dāng)算法是不活動(dòng)的時(shí),從市場去除正管理的訂單。這可例如通過刪除訂單來實(shí)現(xiàn)。在某些實(shí)施例中,算法區(qū)域210不包括條件區(qū)域213。取代的是,一旦啟動(dòng)了訂單,該算法可總是僅為“活動(dòng)的”。例如,在保值管理器界面中,因?yàn)槠谕M可能快地履行保值訂單,所以正管理該保值訂單的算法可總是活動(dòng)的。如果價(jià)格區(qū)域211、數(shù)量區(qū)域212、和/或條件區(qū)域213中的表達(dá)式?jīng)]有評估到正確類型的值(用于價(jià)格區(qū)域211和數(shù)量區(qū)域212的數(shù)字以及用于條件區(qū)域213的布爾值),則該表達(dá)式是無效的。為了指示該表達(dá)式是無效的,某一區(qū)域的背景可以從綠(指示有效表達(dá)式)改變?yōu)榧t(指示無效表達(dá)式)。當(dāng)算法區(qū)域210的區(qū)域之一中的表達(dá)式是無效的時(shí),不能下訂訂單。在某些實(shí)施例中,可使用除了背景顏色之外還包括的其他指示符(或除了背景顏色之外的其他指示符),來指示算法區(qū)域210的區(qū)域中的表達(dá)式是無效的。例如,可使用不同背景圖案、不同邊界顏色或類型、諸如“準(zhǔn)備”或“無效”的文本消息、和/或感嘆號的圖標(biāo)。如果履行了正根據(jù)該算法管理的訂單,則可如上所述基于自動(dòng)保值選項(xiàng)204和摩擦數(shù)量205而自動(dòng)下訂對方訂單。如上面討論的,使用建造塊按鈕215來在該算法區(qū)域210中建造表達(dá)式,以定義算法。建造塊按鈕215還可被稱為例如圖標(biāo)、可移動(dòng)圖標(biāo)、圖標(biāo)按鈕、可移動(dòng)按鈕、或用戶接口元素。表達(dá)式包括元素(邏輯表達(dá)式和參數(shù)),并被評估以確定用于算法區(qū)域210的每一區(qū)域的值。建造塊按鈕215可被選擇并放置在算法區(qū)域210的特定區(qū)域中,以建造表達(dá)式。例如,用戶可將一個(gè)或多個(gè)建造塊按鈕215拖放到算法區(qū)域210的一個(gè)或多個(gè)區(qū)域中,諸如價(jià)格區(qū)域211、數(shù)量區(qū)域212、和/或條件區(qū)域213。作為另一示例,用戶可通過例如點(diǎn)擊建造塊按鈕215而選擇它,并且它可被放置在最近使用的算法區(qū)域210中。在算法區(qū)域210中放置建造塊按鈕215的步驟在算法區(qū)域210中構(gòu)造的表達(dá)式中放置元素。如下面討論的,表達(dá)式中的某些元素可包括充當(dāng)例如子表達(dá)式的附加元素。建造塊按鈕215的類型包括證券、常量、算術(shù)運(yùn)算符、邏輯運(yùn)算符、優(yōu)先運(yùn)算符、if-then-else構(gòu)造、和變量。證券建造塊按鈕指定所選擇的證券的屬性,諸如買入價(jià)和賣出數(shù)量。常量值建造塊按鈕指定諸如數(shù)字和布爾常量值。算術(shù)運(yùn)算符建造塊按鈕包括諸如加(“ + ”)、減(“_”)、乘(“*”)、和除(“/”)的算術(shù)運(yùn)算符。另外,算術(shù)運(yùn)算符建造塊按鈕可包括諸如的訂單方特定算術(shù)運(yùn)算符,其對于買入訂單是加而對于賣出訂單是減(或者對于賣出訂單是加而對于買入訂單是減,如用戶所指定的那樣)。邏輯運(yùn)算符建造塊按鈕包括諸如與(AND)、或(0R)、非(NOT)的邏輯運(yùn)算以及諸如大于(“>”)、小于(“〈”)、大于或等于(“>=”)、小于或等于(“〈=”)、以及等于(“ = ”)的比較。另外,邏輯運(yùn)算符建造塊按鈕可包括諸如“>/〈”的訂單方特定邏輯運(yùn)算符,其對于買入訂單是大于而對于賣出訂單是小于(或者對于賣出訂單是大于而對于買入訂單是小于,如用戶所指定的那樣)。優(yōu)先運(yùn)算符建造塊按鈕包括括號(“(”和“)”)。在某些實(shí)施例中,可使用優(yōu)先運(yùn)算符建造塊按鈕來形成包括括號之間的元素的子表達(dá)式。if-then-else構(gòu)造建造塊按鈕允許指定例如條件值。if-then-else構(gòu)造建造塊按鈕提供其中可使用一個(gè)或多個(gè)元素建造子表達(dá)式的部分。變量建造塊按鈕使用例如如上面討論的變量區(qū)域206來指定其值可改變的用戶定義的變量。圖2C-2I圖示了根據(jù)某些實(shí)施例的在交易界面200中建造對于算法的定義。如圖2C中圖示的,證券建造塊按鈕231被選擇并放置在價(jià)格區(qū)域211中作為證券建造塊232。證券建造塊232允許用戶從列表233中選擇應(yīng)使用所選擇的證券的哪個(gè)屬性。已選擇了證券買入價(jià)。由此,包括證券建造塊232的價(jià)格區(qū)域211 (被指定為證券買入價(jià))評估為市場中的即時(shí)證券買入價(jià)。所選擇的證券的屬性的示例包括買入價(jià)、賣出價(jià)、買入數(shù)量、賣出數(shù)量、最后交易價(jià)格、最后交易數(shù)量、體積(volume)、交易會話高、交易會話低、非暗示的買入數(shù)量/賣出數(shù)量(也稱為實(shí)際買入數(shù)量/賣出數(shù)量)、結(jié)算價(jià)格、最小可交易增量(也稱為最小價(jià)位尺寸)、以及在一價(jià)格處排隊(duì)的訂單的數(shù)目(也稱為人頭數(shù)(headcount))。另外,特殊訂單方特定屬性可以被指定(未示出),諸如“買入價(jià)”、“賣出價(jià)”、“買入數(shù)量”和“賣出數(shù)量”。對于這些特殊屬性,使用所指定的值用于買入訂單,并使用所指定的值的相反值用于賣出訂單。例如,如果選擇“賣出價(jià)”,則表達(dá)式評估為用于買入訂單的賣出價(jià)價(jià)和用于賣出訂單的買入價(jià)。如圖2D中圖示的,選擇該減法算術(shù)運(yùn)算符建造塊按鈕241并放置在價(jià)格區(qū)域211中作為減法建造塊242。現(xiàn)在價(jià)格區(qū)域211中的表達(dá)式包括證券建造塊232和減法建造塊242。然而,價(jià)格區(qū)域211中的表達(dá)式現(xiàn)在是無效的并且不能被評估(“買入價(jià)不是有語法意義的)。這可與無效的區(qū)域的類型類似地處理,如上面討論的那樣。即,由于價(jià)格區(qū)域211中的表達(dá)式是無效的,所以價(jià)格區(qū)域211的背景從綠色(指示有效表達(dá)式)改變?yōu)榧t色(指示無效表達(dá)式)。如圖2E中圖示的,數(shù)字常量值建造塊按鈕251被選擇并放置在價(jià)格區(qū)域211中作為常量值建造塊252。用戶已指定常量值建造塊252應(yīng)具有值“O. 5”。價(jià)格區(qū)域211中的表達(dá)式現(xiàn)在再次有效(注意,背景已從紅色改變回綠色),并評估到證券的即時(shí)買入價(jià)減去O. 5。如圖2F中圖示的,if-then-else構(gòu)造建造塊按鈕261被選擇并放置在數(shù)量區(qū)域212中作為if-then-else構(gòu)造建造塊262。if-then-else構(gòu)造建造塊262包括IF部分263、THEN部分264、和ELSE部分265。一個(gè)或多個(gè)元素(包括嵌套if-then-else構(gòu)造建造塊)的子表達(dá)式可被建造在if-then-else構(gòu)造建造塊262的每一部分中。當(dāng)評估if_then_else構(gòu)造建造塊262時(shí),如下確定其值。評估IF部分263以確定布爾值。當(dāng)從IF部分263確定的布爾值評估為“真”時(shí),if-then-else構(gòu)造建造塊262評估為THEN部分264中的表達(dá)式的值。當(dāng)從IF部分263確定的布爾值評估為“假”時(shí),if-then-else構(gòu)造建造塊262評估為ELSE部分265中的表達(dá)式的值。還使用建造塊按鈕215來建造if-then-else構(gòu)造建造塊262的部分中的表達(dá)式。如圖示的,IF部分263包括部分建造的表達(dá)式,用于進(jìn)行比較以確定證券買入數(shù)量是否大于某值。然而,由于該表達(dá)式不是有語法意義的,所以其是無效的。注意,所以,IF部分263的背景是紅色而不是綠色以指示該情況。另外,因?yàn)閕f-then-else構(gòu)造建造塊262不是有效的(因?yàn)樵揑F部分263不是有效的),所以數(shù)量區(qū)域212中的表達(dá)式不是有效的,并所以其也具有紅色背景。如圖2G中圖示的,if-then-else構(gòu)造建造塊262現(xiàn)在在其每一部分中包括有效表達(dá)式,并所以用于數(shù)量區(qū)域212的表達(dá)式也是有效的。如圖2H中圖示的,if-then-else構(gòu)造建造塊可以是嵌套的。if-then-else構(gòu)造建造塊262的ELSE部分265包括另一 if-then-else構(gòu)造建造塊266。如圖示的,由于if-then-else構(gòu)造建造塊266不包括其任意部分中的任意表達(dá)式,所以其不能被評估,并所以是if-then-else構(gòu)造建造塊262的ELSE部分265中的無效表達(dá)式。結(jié)果,ELSE部分265具有紅色背景以指示其表達(dá)式是無效的。此外,因?yàn)镋LSE部分265具有無效表達(dá)式,所以if-then-else構(gòu)造建造塊262不具有有效表達(dá)式,并所以數(shù)量區(qū)域212的背景是紅色的。如圖21中圖示的,if-then-else構(gòu)造建造塊262的IF部分263中的表達(dá)式包括變量建造塊273、274、275和276??赏ㄟ^使用變量建造塊按鈕、或當(dāng)使用常量值建造塊按鈕來指示該常量值應(yīng)該是變量時(shí)通過選擇選項(xiàng),來放置變量建造塊273、274、275和276。變量建造塊273顯示變量的名稱(“M_TH_1”)和其值(“5000”)。這可例如代表最小閾值。如上面討論的,變量區(qū)域206顯示每一變量名及其值。如圖示的,變量區(qū)域206包括名稱列271和缺省值列272,名稱列271具有用于每一變量建造塊273、274、275和276的條目,而缺省值列272具有用于每一變量的對應(yīng)缺省值條目。用戶可選擇缺省值列272中的缺省值條目,以改變相應(yīng)變量建造塊的缺省值,使得在數(shù)量區(qū)域212中的表達(dá)式的評估中使用新缺省值。類似地,用戶可選擇名稱列271中的名稱條目以改變相應(yīng)變量建造塊的名稱。變量建造塊273、274、275和276可允許用戶例如通過改變變量(例如充當(dāng)算法的參數(shù))的值,來操縱算法的運(yùn)轉(zhuǎn)(而不是基礎(chǔ)邏輯)。交易界面200提供實(shí)時(shí)評估特征。如圖2C — 21中圖示的實(shí)時(shí)評估特征提供用于表達(dá)式的評估值的顯示。例如當(dāng)正定義算法時(shí),可提供實(shí)時(shí)評估值。實(shí)時(shí)評估值可以例如與正評估的表達(dá)式相關(guān)地顯示。只要表達(dá)式改變或者表達(dá)式中的建造塊的值改變,就可執(zhí)行評估。也可周期性地或連續(xù)地執(zhí)行評估。在某些實(shí)施例中,可對于子表達(dá)式提供實(shí)時(shí)評估值。在某些實(shí)施例中,可對于表達(dá)式的個(gè)別元素提供實(shí)時(shí)評估值。如圖2C中圖示的,如上面討論的,證券買入價(jià)已被選擇為用于證券建造塊232的屬性。價(jià)格區(qū)域211的實(shí)時(shí)評估281顯示“8. 5”,這是證券的當(dāng)前買入價(jià)(也在市場網(wǎng)格202中示出)。如圖2D中圖示的,如上面討論的,價(jià)格區(qū)域211中的表達(dá)式是無效的并所以不顯示實(shí)時(shí)評估,因?yàn)椴荒茉u估表達(dá)式。如圖2E中圖示的,價(jià)格區(qū)域211的實(shí)時(shí)評估282顯示“8”,這是證券買入價(jià)(8. 5)減去常量值(O. 5)。除了價(jià)格區(qū)域211、數(shù)量區(qū)域212、和條件區(qū)域213的實(shí)時(shí)評估之外,可對于那些區(qū)域內(nèi)的表達(dá)式執(zhí)行實(shí)時(shí)評估。例如,如圖2G中圖示的,對于if-then-else構(gòu)造建造塊262的每一部分以及數(shù)量區(qū)域212自身提供實(shí)時(shí)評估。IF部分263的實(shí)時(shí)評估283是“真”,因?yàn)樽C券買入數(shù)量(863)大于或等于60。THEN部分264的實(shí)時(shí)評估284是2,因?yàn)門HEN部分264中的表達(dá)式正好是常量值2。類似地,ELSE部分265的實(shí)時(shí)評估285是1,因?yàn)镋LSE部分265中的表達(dá)式正好是常量值I。數(shù)量區(qū)域212的實(shí)時(shí)評估286是“2”,因?yàn)橛捎贗F部分263評估為“真”、所以if-then-else構(gòu)造建造塊262的評估是THEN部分264的值。交易界面200的建造塊按鈕215和算法區(qū)域210允許諸如交易者或非程序員的用戶減少開發(fā)算法所需的時(shí)間和風(fēng)險(xiǎn)。這通過減少或去除語法錯(cuò)誤(例如,由于特定編程語言的復(fù)雜性)并提供對于正建造的算法的實(shí)時(shí)評估和反饋(例如,通過標(biāo)記錯(cuò)誤并允許在建造算法時(shí)調(diào)試邏輯),來部分實(shí)現(xiàn)。一旦已在算法區(qū)域210中定義了算法,可保存該算法。算法可被給予名稱(例如,在正建造算法時(shí)和/或當(dāng)保存算法時(shí))。保存的算法可然后在將來時(shí)間利用交易界面200或利用另一交易界面被調(diào)用(recall)或引用(reference)。例如,保存的算法可利用交易界面200裝載,使得其可在另一訂單上編輯或重新使用。作為另一示例,保存的算法可作為訂單類型從另一交易界面引用,如下面討論的。圖2J圖示了根據(jù)某些實(shí)施例的交易界面290。交易界面290是適于準(zhǔn)備啟動(dòng)算法所管理的訂單的訂單票據(jù)(order ticket),其中對于那個(gè)訂單特別定義該算法。交易界面290包括算法區(qū)域299、算法訂單按鈕294、和建造塊按鈕295。算法區(qū)域299包括價(jià)格區(qū)域292、數(shù)量區(qū)域293、和條件區(qū)域294。價(jià)格區(qū)域291與上面討論的價(jià)格區(qū)域211類似。數(shù)量區(qū)域292與上面討論的數(shù)量區(qū)域212類似。條件區(qū)域293與上面討論的條件區(qū)域213類似。建造塊按鈕295與上面討論的建造塊按鈕215類似??墒褂媒灰捉缑?90來啟動(dòng)典型交易訂單的下訂。另外,可選擇算法訂單按鈕294來使能算法區(qū)域299。當(dāng)使能時(shí),算法訂單區(qū)域299按照與上述用于交易界面200的方式類似的方式,準(zhǔn)備使用價(jià)格區(qū)域291、數(shù)量區(qū)域292、和條件區(qū)域293來定義算法。一旦算法已在算法區(qū)域299中定義并啟動(dòng),則按照與上述用于交易界面200的方式類似的方式,根據(jù)定義的算法來管理。類似地,與交易界面200和290中的那些類似的算法區(qū)域和建造塊按鈕可被合并在交易應(yīng)用的其他組件中。例如,保值管理器界面可適于合并類似特征,使得可定義和指定算法以管理保值訂單。上述交易界面200和交易界面290的組件、元素、和/或功能性可例如按照硬件、固件、和/或作為軟件指令集的各種形式而單獨(dú)或組合實(shí)現(xiàn)。某些實(shí)施例可被提供作為駐留在諸如存儲器、硬盤、CD-ROM、DVD、EPROM和/或文件服務(wù)器的計(jì)算機(jī)可讀介質(zhì)上的指令集,用于在通用目的計(jì)算機(jī)或其他處理裝置上運(yùn)行。III.算法設(shè)計(jì)實(shí)驗(yàn)室某些實(shí)施例提供用于設(shè)計(jì)算法的設(shè)計(jì)帳篷區(qū)和塊。某些實(shí)施例提供具有在算法中使用的復(fù)雜功能性的塊。某些實(shí)施例準(zhǔn)備對設(shè)計(jì)帳篷區(qū)中放置的塊進(jìn)行分組。某些實(shí)施例準(zhǔn)備虛擬化的組塊,使得算法的部分的動(dòng)態(tài)實(shí)例化能夠處置特定離散事件。某些實(shí)施例允許即使在單一交易會話期間也迅速調(diào)整算法的參數(shù)和邏輯兩者。某些實(shí)施例提供當(dāng)設(shè)計(jì)算法時(shí)的塊的實(shí)時(shí)反饋。某些實(shí)施例提供安全特征以降低設(shè)計(jì)算法時(shí)的潛在錯(cuò)誤。當(dāng)客戶機(jī)裝置和算法服務(wù)器之間的連接破壞時(shí),某些實(shí)施例準(zhǔn)備算法的一些或全部部分的運(yùn)算。某些實(shí)施例通過降低或消除用戶對編程代碼的寫入,而降低傳統(tǒng)編程算法的風(fēng)險(xiǎn),諸如語法錯(cuò)誤、不清楚的邏輯、以及非交易者的程序員開發(fā)交易者所指定的算法的需求。某些實(shí)施例提供用于同時(shí)全部建造、調(diào)試、和(利用真實(shí)市場數(shù)據(jù))仿真算法的單一應(yīng)用。另外,該單一應(yīng)用還可以準(zhǔn)備使用該算法來啟動(dòng)訂單的下訂。
圖3A圖示了其中可采用某些實(shí)施例的電子交易系統(tǒng)300的框圖。系統(tǒng)300包括一個(gè)或多個(gè)客戶機(jī)裝置301、一個(gè)或多個(gè)算法服務(wù)器302、以及一個(gè)或多個(gè)電子交易所303。每一客戶機(jī)裝置301與一個(gè)或多個(gè)算法服務(wù)器302通信。每一算法服務(wù)器302與一個(gè)或多個(gè)交易所303通信。另外,在某些實(shí)施例中,盡管圖3A中沒有示出,但是客戶機(jī)裝置301也可與一個(gè)或多個(gè)交易所303通信??蛻魴C(jī)裝置301和/或算法服務(wù)器302與交易所的通信可通過與例如上述網(wǎng)關(guān)120類似的網(wǎng)關(guān)進(jìn)行。客戶機(jī)裝置301可與例如上述客戶機(jī)裝置110類似。在某些實(shí)施例中,客戶機(jī)裝置301可被稱為交易者終端。交易所303可與例如上述交易所130類似。在某些實(shí)施例中,算法服務(wù)器302物理上位于交易所303附近或位于交易所303處。在某些實(shí)施例中,算法服務(wù)器302是客戶機(jī)裝置301的一部分。在操作中,可在客戶機(jī)裝置301上設(shè)計(jì)用于電子交易的算法。該算法然后可傳遞到算法服務(wù)器302。算法服務(wù)器302執(zhí)行算法以進(jìn)行與交易所303的電子交易。市場數(shù)據(jù)可由算法服務(wù)器302接收用于由該算法使用。另外,市場數(shù)據(jù)可由客戶機(jī)裝置301接收用于在設(shè)計(jì)算法時(shí)使用。市場數(shù)據(jù)可從例如交易所303接收。作為另一示例,市場數(shù)據(jù)可從仿真器或從存儲的/歷史數(shù)據(jù)接收。圖3B圖示了根據(jù)某些實(shí)施例的交易界面310。交易界面310是用于稱為算法設(shè)計(jì)實(shí)驗(yàn)室(“ADL”)的算法交易應(yīng)用的交易界面。ADL允許交易者設(shè)計(jì)用于電子交易的算法。然而,應(yīng)理解的是,圖示的交易界面310的元素可被合并在其他交易界面中。交易界面310包括設(shè)計(jì)帳篷區(qū)311、塊列表區(qū)域312、變量區(qū)域313、和控制區(qū)域314。在某些實(shí)施例中,這些區(qū)域中的一個(gè)或多個(gè)可以在單獨(dú)窗口或工具條中。例如,塊列表區(qū)域312可以在與設(shè)計(jì)帳篷區(qū)311分離的窗口中。操作中,通過利用來自塊列表區(qū)域312的一個(gè)或多個(gè)塊在設(shè)計(jì)帳篷區(qū)311中定義算法。該算法中的用戶定義的變量的缺省值可以使用變量區(qū)域313來指定。一旦已定義了算法,可使用控制區(qū)域314中的控制來仿真該算法,以指示該算法的邏輯將如何運(yùn)轉(zhuǎn)。要根據(jù)所定義的算法管理的訂單可以然后使用交易界面啟動(dòng)。設(shè)計(jì)帳篷區(qū)311準(zhǔn)備定義算法。設(shè)計(jì)帳篷區(qū)311也可被稱為白板區(qū)域。設(shè)計(jì)帳篷區(qū)311提供可視編程環(huán)境用于設(shè)計(jì)該算法。設(shè)計(jì)算法的步驟包括建造、測試、仿真、和/或評估算法。在某些實(shí)施例中,設(shè)計(jì)帳篷區(qū)311是用于交易應(yīng)用310的界面的主要焦點(diǎn)(primary focus),并可以是例如大的空白。在該設(shè)計(jì)帳篷區(qū)311中,可根據(jù)用戶的偏好安排塊。在某些實(shí)施例中,設(shè)計(jì)帳篷區(qū)311提供可用于安排塊的網(wǎng)格線。在某些實(shí)施例中,設(shè)計(jì)帳篷區(qū)311包括可用于通過具有許多塊的大算法進(jìn)行導(dǎo)航的縱覽顯示或圖。在某些實(shí)施例中,設(shè)計(jì)帳篷區(qū)311可被縮小或放大,使得用戶可以一次或多或少看見算法。塊被放置在設(shè)計(jì)帳篷區(qū)311中,并連接以定義算法??蓮膲K列表區(qū)域312中選擇要放置的塊。一旦已放置了塊,該塊可然后連接到其他放置的塊。
塊列表區(qū)域312包括可在設(shè)計(jì)帳篷區(qū)311中選擇并放置的一個(gè)或多個(gè)塊。塊代表可根據(jù)用戶偏好組合來建造算法的不同功能性。一般,塊具有輸入和輸出。然而,某些塊可僅具有輸入,并且其他塊可僅具有輸出。例如,暫停塊可僅具有輸入。作為另一示例,數(shù)字塊可僅具有輸出。塊的輸入和輸出具有兩種主要類型之一連續(xù)或離散。連續(xù)類型輸入/輸出在任意特定時(shí)間點(diǎn)(由此連續(xù))具有值。離散類型輸入/輸出接收/提供與在某一特定時(shí)間點(diǎn)發(fā)生的特定動(dòng)作/事件對應(yīng)的離散事件(個(gè)別消息/對象)。當(dāng)特定動(dòng)作/事件發(fā)生時(shí),可生成對應(yīng)離散事件。除了輸入/輸出的主要類型,輸入/輸出可具有特定值類型。例如,連續(xù)輸入可具有布爾、數(shù)字、整數(shù)、浮點(diǎn)數(shù)字、或證券的值類型。作為另一示例,塊可具有變量值類型的兩個(gè)連續(xù)輸入,其中用于這兩個(gè)輸入的值類型可以例如是布爾或數(shù)字的,但是必須匹配。采用兩個(gè)輸入并比較它們以輸出指示輸入是否相等的布爾的等于塊可具有變量輸入,使得其可用于比較例如布爾或數(shù)字或證券。作為另一示例,離散輸出可具有履行確認(rèn)的值類型。即,離散輸出可提供履行確認(rèn)離散事件。作為另一示例,離散輸出可提供用于諸如訂單請求確認(rèn)(指示下訂了訂單)、履行確認(rèn)(指示履行或部分履行了訂單)、訂單改變確認(rèn)(指示改變了諸如價(jià)格或數(shù)量的工作訂單參數(shù))、訂單刪除確認(rèn)(指示刪除或取消了工作訂單)、或交易確認(rèn)(指示已發(fā)生交易)的動(dòng)作的多于一類離散事件。作為另一示例,離散事件可以是空的,因?yàn)槠鋬H指示已發(fā)生了事件??针x散事件可以例如通過定時(shí)器、布爾值的改變來觸發(fā),或用于在特定時(shí)間(諸如已滿足某些市場條件的一天中的時(shí)間或時(shí)間)激活算法的一部分。特定類型離散事件可包括與另一類型離散事件不同的信息。例如,訂單確認(rèn)可包括諸如訂單標(biāo)識符和/或證券的信息。作為另一示例,履行確認(rèn)離散事件可包括諸如訂單標(biāo)識符、價(jià)格、數(shù)量、證券、和/或履行時(shí)間的信息。作為另一示例,訂單刪除確認(rèn)可包括訂單標(biāo)識符、證券、和/或刪除時(shí)間。作為另一示例,空離散事件可以不包括任何信息(或者可以僅包括事件發(fā)生的時(shí)間)。離散事件可包括用戶定義的信息。例如,用于證券A的履行訂單的履行確認(rèn)的離散事件可包括用戶定義的市場信息,諸如在證券A中的履行時(shí)間處的證券B中的買入價(jià)。在某些實(shí)施例中,塊包括用于其輸入/輸出的主要類型的指示符。例如,連續(xù)輸入/輸出可以通過特定背景顏色、前景顏色、背景圖案、邊界顏色、邊界種類、形狀、符號、數(shù)字、文本、和/或字體來指示,而離散輸入/輸出可以通過另一顏色、圖案、邊界、形狀、符號、數(shù)字、文本、和/或字體來指示。在某些實(shí)施例中,塊包括用于其輸入/輸出的值類型的指示符。例如,具有特定值類型的輸入/輸出可以通過特定背景顏色、前景顏色、背景圖案、邊界顏色、邊界種類、形狀、符號、數(shù)字、文本、和/或字體來指示,而具有不同值類型的輸入/輸出可以通過另一顏色、圖案、邊界、形狀、符號、數(shù)字、文本、和/或字體來指示。在某些實(shí)施例中,當(dāng)光標(biāo)位于該塊附近時(shí),輸入或輸出的主要類型和/或值類型在彈出窗口中顯示。在某些實(shí)施例中,當(dāng)光標(biāo)位于該塊附近時(shí),關(guān)于塊的配置的信息在彈出窗口中顯示。塊代表不同功能性。在交易界面310中,塊已被分離為四個(gè)一般種類的功能性基本塊、交易塊、離散塊、和混雜(miscellaneous)塊。然而,這些分組是為了用戶的方便組織和利用;塊不需要被分組,并且塊的組不使得特定特征成為必需的。一些塊可以適當(dāng)?shù)剡m合多于一個(gè)類別,并且也可以采用塊的其他組織或分組?;緣K一般具有連續(xù)輸入和輸出,并提供算術(shù)運(yùn)算(例如,加、減、乘、和除)、邏輯運(yùn)算(例如,與、或、以及諸如等于、大于、和小于的比較)、常量值(例如,數(shù)字和布爾)、以及if-then-else 構(gòu)造。交易塊一般提供與操縱訂單(例如,下訂單、修改現(xiàn)有訂單、或刪除訂單)相關(guān)的更復(fù)雜的功能性或訂單相關(guān)信息(例如,履行確認(rèn))。交易塊可具有連續(xù)以及離散輸入和輸出兩者。例如,做市商(market maker)塊可具有用于指定證券、價(jià)格、數(shù)量和用于對訂單報(bào)價(jià)的條件的連續(xù)輸入,并可具有工作數(shù)量的連續(xù)輸出和用于提供履行的通知的離散輸出。交易塊允許用戶(包括非程序員(諸如交易者))利用虛擬設(shè)計(jì)環(huán)境(諸如由ADL提供)來創(chuàng)建和部署交易算法。與典型程序員相比,交易塊可允許算法的更快速和精確的設(shè)計(jì),與其他虛擬編程平臺相比,交易塊可利用更少步驟或指令。離散塊一般具有離散輸入和輸出,并基于離散事件的發(fā)生來提供操作。例如,發(fā)生器塊可生成離散事件的發(fā)生。作為另一示例,值提取器塊可從離散事件中提取值,并使得其作為連續(xù)值可用于算法的另一部分。作為另一示例,可使用定序器塊來控制其中響應(yīng)于離散事件處理隨后塊的序列。某些離散塊可存儲要在隨后時(shí)間引用的數(shù)據(jù)。例如,值累加器塊可接收離散事件,并從其提取用戶指定的值,所提取的值可以與從每一接收的離散事件提取的值累加?;祀s塊提供可能不必適合上述類別的各種功能性。例如,這些塊可提供特定目的或更復(fù)雜的計(jì)算,并可向算法自己的執(zhí)行添加附加控制。此外,混雜塊可提供更精確的控制風(fēng)險(xiǎn)的工具,將數(shù)字變換為可交易值,或?qū)r(shí)間(精確的或流逝的)用作輸入或變量。圖3C圖示了可在根據(jù)某些實(shí)施例的交易界面310中使用的塊320的示例。圖示了來自上述每一類別的示例塊。示例基本塊包括添加塊321和if-then-else塊322。示例交易塊包括做市商塊323、條件買入/賣出塊324、和訂單處理器塊325。示例離散塊包括值提取器塊326和分支塊327。示例混雜塊包括注釋塊328和暫停塊329。下面更詳細(xì)地討論這些塊中的每一個(gè)、連同可在某些實(shí)施例中包括的塊的其他示例。基本塊可以包括例如加、減、乘、除、大于、小于、大于或等于、小于或等于、與、或、等于、IF-THEN-ELSE、數(shù)字、布爾、以及常量塊。加法塊可以將兩個(gè)連續(xù)數(shù)字輸入加到一起,以產(chǎn)生一個(gè)連續(xù)數(shù)字輸出。加法塊可具有三角形形狀,中間具有加法符號(“ + ”),左側(cè)具有兩個(gè)連續(xù)輸入,而右側(cè)具有一個(gè)連續(xù)輸出。加法塊也可被稱為加法器塊。 減法塊可從第二連續(xù)數(shù)字輸入(例如,頂輸入)中減去一個(gè)連續(xù)數(shù)字輸入(例如,底輸入),以產(chǎn)生一個(gè)連續(xù)數(shù)字輸出。減法塊可具有三角形形狀,中間具有減法符號(“_”),左側(cè)具有兩個(gè)連續(xù)輸入,而右側(cè)具有一個(gè)連續(xù)輸出。乘法塊可以將兩個(gè)連續(xù)數(shù)字輸入相乘到一起,以產(chǎn)生一個(gè)連續(xù)數(shù)字輸出。乘法器塊可具有三角形形狀,中間具有乘法符號(“ X ”或“*”),左側(cè)具有兩個(gè)連續(xù)輸入,而右側(cè)具有一個(gè)連續(xù)輸出。除法塊可以用一個(gè)連續(xù)數(shù)字輸入(例如,頂輸入)除以第二連續(xù)輸入(例如,底輸入),以產(chǎn)生一個(gè)連續(xù)數(shù)字輸出。除法塊可具有三角形形狀,中間具有除法符號(“/”或“ + ”),左側(cè)具有兩個(gè)連續(xù)輸入,而右側(cè)具有一個(gè)連續(xù)輸出。
大于塊可以比較兩個(gè)連續(xù)數(shù)字輸入以確定一個(gè)輸入(例如,頂輸入)是否大于第二輸入(例如,底輸入)。如果第一輸入大于第二輸入,則輸出是真的連續(xù)布爾輸出,而對于所有其他條件,輸出是假。大于塊可在左側(cè)具有矩形形狀而在右側(cè)具有弓形形狀,中間是大于符號(“>”),左側(cè)具有兩個(gè)連續(xù)數(shù)字輸入,而右側(cè)具有一個(gè)連續(xù)布爾輸出。小于塊可以比較兩個(gè)連續(xù)數(shù)字輸入以確定一個(gè)輸入(例如,頂輸入)是否小于第二輸入(例如,底輸入)。如果第一輸入小于第二輸入,則輸出是真的連續(xù)布爾輸出,而對于所有其他條件,輸出是假。小于塊可在左側(cè)具有矩形形狀而在右側(cè)具有弓形形狀,中間是小于符號(“〈”),左側(cè)具有兩個(gè)連續(xù)數(shù)字輸入,而右側(cè)具有一個(gè)連續(xù)布爾輸出。大于或等于塊可以比較兩個(gè)連續(xù)數(shù)字輸入以確定一個(gè)輸入(例如,頂輸入)是否大于或等于第二輸入(例如,底輸入)。如果第一輸入大于或等于第二輸入,則輸出是真的連續(xù)布爾輸出,而對于所有其他條件,輸出是假。大于或等于塊可在左側(cè)具有矩形形狀而在右側(cè)具有弓形形狀,中間是大于或等于符號(“>=”或“>”),左側(cè)具有兩個(gè)連續(xù)數(shù)字輸入,而右側(cè)具有一個(gè)連續(xù)布爾輸出。小于或等于塊可比較兩個(gè)連續(xù)數(shù)字輸入以確定一個(gè)輸入(例如,頂輸入)是否小于或等于第二輸入(例如,底輸入)。如果第一輸入小于或等于第二輸入,則輸出是真的連續(xù)布爾輸出,而對于所有其他條件,輸出是假。小于或等于塊可在左側(cè)具有矩形形狀而在右側(cè)具有弓形形狀,中間是小于或等于符號(“〈=”或“<”),左側(cè)具有兩個(gè)連續(xù)數(shù)字輸入,而右側(cè)具有一個(gè)連續(xù)布爾輸出。與塊可以執(zhí)行兩個(gè)連續(xù)布爾輸入的邏輯關(guān)聯(lián),使得如果第一輸入(例如,頂輸入)是真并且第二輸入(例如,底輸入)是真,則布爾輸出是真。如果輸入中的任一個(gè)是假,則布爾輸出是假。與塊可在左側(cè)具有矩形形狀而在右側(cè)具有弓形形狀,中間是“AND”文本,左側(cè)具有兩個(gè)連續(xù)布爾輸入,而右側(cè)具有一個(gè)連續(xù)布爾輸出?;驂K可以執(zhí)行兩個(gè)連續(xù)布爾輸入的邏輯分離(disjunction),使得如果輸入中的任一個(gè)是真,則布爾輸出是真。如果兩個(gè)輸入是假,則輸出值是假。或塊可在左側(cè)具有矩形形狀而在右側(cè)具有弓形形狀,中間是“0R”文本,左側(cè)具有兩個(gè)連續(xù)布爾輸入,而右側(cè)具有一個(gè)連續(xù)布爾輸出。等于塊可比較兩個(gè)連續(xù)輸入,以確定一個(gè)輸入(例如,頂輸入)是否等于第二輸入(例如,底輸入)。輸入可以是變量值類型,使得等于塊可接收諸如數(shù)字、布爾、或證券的值,只要每一輸入是相同類型即可。如果兩個(gè)輸入相等,則輸出是真的連續(xù)布爾輸出,而對于所有其他條件,輸出是假。等于塊在左側(cè)具有矩形形狀而在右側(cè)具有弓形形狀,中間是等于符號(“ = ”),左側(cè)具有兩個(gè)連續(xù)變量輸入,而右側(cè)具有一個(gè)連續(xù)布爾輸出。等于塊也可被稱為等式塊。IF-THEN-ELSE塊可具有三個(gè)連續(xù)輸入布爾IF輸入、變量THEN輸入、和變量ELSE輸入。IF-THEN-ELSE塊具有一個(gè)連續(xù)變量輸出。如果IF輸入值是真,則輸出是THEN輸入的值。如果IF輸入值是假,則輸出是ELSE輸入的值。IF-THEN-ELSE塊可具有中間具有“?”符號的矩形形狀,左側(cè)具有一個(gè)連續(xù)布爾IF輸入以及兩個(gè)連續(xù)變量ELSE和THEN輸入,而右側(cè)具有一個(gè)連續(xù)變量輸出。數(shù)字塊可具有一個(gè)連續(xù)數(shù)字輸出,提供用戶所指定的數(shù)字值。當(dāng)下訂時(shí),可提示用戶鍵入用于數(shù)字塊的數(shù)值。作為選擇,數(shù)字塊可缺省為諸如I的預(yù)定義值。另外,可將該值指定為訂單票據(jù)數(shù)量或訂單票據(jù)價(jià)格。如果這樣的話,數(shù)字塊的值將是當(dāng)訂單被啟動(dòng)為使用該算法管理時(shí)、所指定的相應(yīng)值。指定的值可以例如通過選擇數(shù)字塊并使用被提示鍵入值的諸如菜單項(xiàng)或雙點(diǎn)擊的動(dòng)作,在該算法的設(shè)計(jì)期間由用戶改變。如果使用下面討論的變量區(qū)域313將數(shù)字塊指定為變量,則指定的值還可以改變。數(shù)字塊可具有環(huán)形形狀,中間 具有指定的數(shù)字,而右側(cè)具有一個(gè)連續(xù)數(shù)字輸出。該塊也可被稱為常數(shù)塊。布爾塊可具有提供用戶指定的布爾值的一個(gè)連續(xù)布爾輸出。當(dāng)下訂時(shí),可提示用戶鍵入用于布爾塊的布爾值。作為選擇,布爾塊可缺省為諸如真的預(yù)定義值。指定的值可以例如通過選擇布爾塊并使用提示鍵入值的諸如菜單項(xiàng)或雙點(diǎn)擊的動(dòng)作,在該算法的設(shè)計(jì)期間由用戶改變。如果使用下面討論的變量區(qū)域313將布爾塊指定為變量,則指定的值還可以改變。布爾塊可具有環(huán)形形狀,中間具有文本顯示的指定的布爾值,而右側(cè)具有一個(gè)連續(xù)布爾輸出。該塊也可被稱為常量布爾塊。在某些實(shí)施例中,數(shù)字塊和布爾塊可被合并在諸如常量塊的單一塊中。常量塊可具有一個(gè)連續(xù)變量輸出,提供用戶所指定的值。當(dāng)下訂時(shí),可提示用戶鍵入用于常量塊的值類型和值。作為選擇,常量塊可缺省為諸如數(shù)字的預(yù)定值類型和諸如I的預(yù)定義值。另外,可將該值指定為訂單票據(jù)數(shù)量或訂單票據(jù)價(jià)格。如果這樣的話,常量塊的值將是當(dāng)訂單被啟動(dòng)為使用該算法管理時(shí)、所指定的相應(yīng)值。指定的值可以例如通過選擇常量塊并使用提示鍵入值的諸如菜單項(xiàng)或雙點(diǎn)擊的動(dòng)作,在該算法的設(shè)計(jì)期間由用戶改變。如果使用下面討論的變量區(qū)域313將常量塊指定為變量,則指定的值還可以改變。常量塊可具有環(huán)形形狀,中間具有文本顯示的指定的值,而右側(cè)具有一個(gè)連續(xù)變量輸出。在某些實(shí)施例中,常量塊也支持對于值指定證券,這與下面討論的證券塊類似。交易塊可包括例如證券、證券屬性、做市商、分類賬(legger)、習(xí)慣價(jià)差、響應(yīng)買入/賣出、條件買入/賣出、訂單處理器、IF-THEN-ELSE證券、價(jià)格的證券屬性、之間的價(jià)差、交易、訂單、履行計(jì)算器、以及履行累加器塊。證券塊可具有一個(gè)連續(xù)證券輸出,提供證券名稱。證券名稱可以例如是交易所列出的證券或人造證券。當(dāng)下訂時(shí),可提示用戶指定用于證券塊的證券名稱。證券名稱可以例如從列表中選擇。作為選擇,證券塊可以缺省為預(yù)定義的值。指定的值可以例如通過選擇證券塊并使用提示鍵入值的諸如菜單項(xiàng)或雙點(diǎn)擊的動(dòng)作,在該算法的設(shè)計(jì)期間由用戶改變。如果使用下面討論的變量區(qū)域313將證券塊指定為變量,則指定的值還可以改變。證券屬性塊可以具有連續(xù)證券輸入和連續(xù)數(shù)字輸出。證券屬性塊可以采用證券名稱,并輸出用于該證券的指定屬性的值。屬性可包括最佳買入數(shù)量、最佳買入價(jià)、最佳賣出數(shù)量、最佳賣出價(jià)、體積、會話高價(jià)、會話低價(jià)、最小可交易增量、最后交易價(jià)格、最后交易數(shù)量、總數(shù)量(在按照新價(jià)格發(fā)生交易之前、按照最后交易價(jià)格成交的總數(shù)量)、來自先前交易會話的結(jié)算價(jià)格、實(shí)際(非暗示)最佳買入數(shù)量、實(shí)際(非暗示)最佳賣出數(shù)量、買入人頭數(shù)(按照最佳買入價(jià)的市場中的訂單數(shù))、賣出人頭數(shù)(按照最佳賣出價(jià)的市場中的訂單數(shù))、或頭寸(某一證券中的用戶的全部總量)。當(dāng)下訂時(shí),可提示用戶鍵入要由證券屬性塊提供的屬性。作為選擇,證券屬性塊可缺省為諸如買入數(shù)量的預(yù)定義值。指定的屬性可以例如通過選擇證券屬性塊并使用提示鍵入屬性的諸如菜單項(xiàng)或雙點(diǎn)擊的動(dòng)作,在該算法的設(shè)計(jì)期間由用戶改變。如果使用下面討論的變量區(qū)域313將證券屬性塊指定為變量,則指定的屬性也可以改變。
當(dāng)條件連續(xù)布爾輸入是真時(shí),做市商塊可提交按照兩個(gè)連續(xù)數(shù)字輸入指定的價(jià)格和數(shù)量由連續(xù)證券輸入所指定的可交易對象的買入或賣出訂單。條件輸入是可選的,如果沒有提供輸入,則缺省為真。當(dāng)條件輸入是假時(shí),做市商塊可刪除訂單。如果相應(yīng)價(jià)格和數(shù)量輸入值改變時(shí),做市商塊還可以修改現(xiàn)有訂單的價(jià)格或數(shù)量。數(shù)量輸入中指定的值代表考慮到在先履行的最大期望履行數(shù)量。例如,如果提供數(shù)量輸入值5,則5個(gè)訂單可進(jìn)入市場,并且如果履行了 3的數(shù)量,則2個(gè)訂單將繼續(xù)工作,即使價(jià)格輸入改變了。如果價(jià)格輸入改變,則工作訂單將稱為指定的新數(shù)量減去已履行的數(shù)量3。做市商塊可提供一個(gè)或多個(gè)離散輸出,其提供履行確認(rèn)和/或訂單請求離散事件。做市商塊可包括這樣的選項(xiàng),該選項(xiàng)指定即使刪除、停頓、停止、或暫停算法,做市商塊所生成的訂單也應(yīng)保留在訂單簿中。該特征例如對于算法的保值部分可以是有用的。做市商塊可包括這樣的選項(xiàng),該選項(xiàng)指定當(dāng)在訂單簿中顯示做市商塊所生成的訂單時(shí),應(yīng)將該訂單標(biāo)記為未決,這可使得更容易地標(biāo)識不正確地起作用的或不完全的算法(例如,如果不期望訂單保留在訂單簿中)。做市商塊還可包括這樣的選項(xiàng),該選項(xiàng)指定要與做市商塊所下的訂單關(guān)聯(lián)的顏色或文本標(biāo)記,使得它們更容易地例如在訂單窗口中標(biāo)識。分類賬塊可提交習(xí)慣價(jià)差的腿的可交易對象的買入或賣出訂單,其中每一腿的可交易對象通過連續(xù)證券輸入指定。習(xí)慣價(jià)差所期望的價(jià)格和數(shù)量通過兩個(gè)連續(xù)數(shù)字輸入來指定。當(dāng)條件連續(xù)布爾輸入是真時(shí),分類賬塊使用于價(jià)差的(多個(gè))個(gè)別訂單工作。條件輸入是可選的,并且當(dāng)不提供輸入時(shí),缺省為真。當(dāng)條件輸入是假時(shí),分類賬塊可刪除(多個(gè))訂單。如果價(jià)格和/或數(shù)量輸入值改變,則分類賬塊還可修改(多個(gè))工作訂單的價(jià)格和/或數(shù)量。數(shù)量輸入中指定的值代表考慮到先前履行的、價(jià)差的最大期望履行數(shù)量。例如,如果提供數(shù)量輸入值5,則5個(gè)訂單可進(jìn)入市場,并且如果履行了 3的數(shù)量,則2個(gè)訂單將繼續(xù)工作,即使價(jià)格輸入改變了。如果數(shù)量輸入改變,則工作訂單將為指定的新數(shù)量減去已履行的數(shù)量3。分類賬塊可提供一個(gè)或多個(gè)離散輸出,其提供價(jià)差履行、訂單請求和/或腿履行離散事件。在已經(jīng)為價(jià)差的腿提供證券之后,分類賬可例如通過選擇分類賬塊并使用被提示指定參數(shù)和設(shè)置的諸如菜單項(xiàng)或雙點(diǎn)擊的動(dòng)作來配置??蓪τ趦r(jià)差的每一腿規(guī)定的參數(shù)包括“多”(價(jià)差腿的系數(shù))、“交易數(shù)量”(價(jià)差的每一腿的數(shù)量,其中正數(shù)是買入,而負(fù)數(shù)是賣出)、“工作市場?”(根據(jù)價(jià)差的腿是否將主動(dòng)報(bào)價(jià)來觸發(fā))、“凈改變”(通過是否將習(xí)慣價(jià)差計(jì)算變換為凈改變而不是價(jià)格來觸發(fā))、“全部付清最小價(jià)位”(習(xí)慣價(jià)差將通過其進(jìn)入瘦腿上的限價(jià)訂單的最小價(jià)格增量的數(shù)目;正數(shù)意味著較積極地得到履行,負(fù)數(shù)意味著較不積極地得到履行)、以及“瘦比率”(為了使報(bào)價(jià)腿上的一個(gè)數(shù)量單元工作、而需要在瘦腿上存在的數(shù)量單元;這可以例如是兩條腿之間的數(shù)量的比率、或瘦腿中的閾值數(shù)量)??芍付ǖ脑O(shè)置包括“側(cè)”(買入或賣出習(xí)慣價(jià)差)、“總是使內(nèi)部市場工作”(當(dāng)真時(shí),觸發(fā)分類賬塊將僅使得在最好或內(nèi)部市場上出現(xiàn)的個(gè)別單邊圖利訂單工作,并且在某些實(shí)施例中,將僅使得通過查看市場買入/賣出尺寸比率而確定的更可能得到履行的腿工作)、“禁止‘剪斷’模式”(觸發(fā)缺省行為,即,如果分類賬塊能實(shí)現(xiàn)期望的價(jià)差價(jià)格,它將刪除當(dāng)前工作訂單并同時(shí)提交所有腿上的訂單,以按照期望價(jià)差價(jià)格得到履行;當(dāng)禁止時(shí),分類賬塊將僅使特定“工作市場? ”腿工作,即使期望價(jià)格變得暫時(shí)可用)、“修剪尺寸”(如所提供的價(jià)差數(shù)量輸入所定義的,在已履行總數(shù)量之前要遞增增加的同時(shí)工作的數(shù)量)、以及“標(biāo)記”(指定與價(jià)差履行離散事件關(guān)聯(lián)的用戶定義的標(biāo)記,以使得標(biāo)識它們更容易)。分類賬塊可包括這樣的選項(xiàng),該選項(xiàng)指定即使刪除、停頓、停止、或暫停算法,分類賬塊所生成的訂單也應(yīng)保留在訂單簿中。分類賬塊可包括這樣的選項(xiàng),該選項(xiàng)指定當(dāng)在訂單簿中顯示分類賬塊所生成的訂單時(shí),應(yīng)將該訂單標(biāo)記為未決,這可使得更容易地標(biāo)識不正確地起作用的或不完全的算法(例如,如果不期望訂單保留在訂單簿中)。分類賬塊還可包括這樣的選項(xiàng),該選項(xiàng)指定要與分類賬塊所下訂的訂單關(guān)聯(lián)的顏色或文本標(biāo)記,使得它們更容易地例如在訂單窗口中標(biāo)識。該塊也可被稱為自動(dòng)價(jià)差塊或多空套做者(spreader)塊。習(xí)慣價(jià)差塊可提交習(xí)慣價(jià)差的腿的可交易對象的買入或賣出訂單,其中從外部應(yīng)用提供習(xí)慣價(jià)差作為證券。習(xí)慣價(jià)差所期望的價(jià)格和數(shù)量通過兩個(gè)連續(xù)數(shù)字輸入來指定。當(dāng)條件連續(xù)布爾輸入是真時(shí),習(xí)慣價(jià)差塊使用于價(jià)差的(多個(gè))個(gè)別訂單工作。條件輸入是可選的,并且當(dāng)不提供輸入時(shí),缺省為真。當(dāng)條件輸入是假時(shí),習(xí)慣價(jià)差塊可刪除(多個(gè))訂單。如果價(jià)格和/或數(shù)量輸入值改變,則習(xí)慣價(jià)差塊還可修改(多個(gè))工作訂單的價(jià)格和/或數(shù)量。數(shù)量輸入中規(guī)定的值代表考慮到先前履行的、價(jià)差的最大期望履行數(shù)量。例如,如果提供數(shù)量輸入值5,如果履行了 3的數(shù)量,則2個(gè)訂單將繼續(xù)工作,即使價(jià)格輸入改變了。如果數(shù)量輸入改變,則工作訂單將為指定的新數(shù)量減去已履行的數(shù)量3。習(xí)慣價(jià)差塊可包括可選布爾輸入,以使能個(gè)別訂單的腿的訂單數(shù)量的動(dòng)態(tài)尺寸排列,而不需要在保值腿上呈現(xiàn)原始訂單數(shù)量。習(xí)慣價(jià)差塊可提供一個(gè)或多個(gè)離散輸出,其提供履行確認(rèn)和/或訂單請求離散事件。當(dāng)下訂時(shí),可提示用戶從外部應(yīng)用指定習(xí)慣設(shè)計(jì)證券,其中習(xí)慣設(shè)計(jì)證券提供代表交易策略的人造市場數(shù)據(jù)。作為選擇,特定的習(xí)慣設(shè)計(jì)證券可例如通過選擇習(xí)慣價(jià)差塊并使用被提示從外部應(yīng)用指定習(xí)慣設(shè)計(jì)證券的諸如菜單項(xiàng)或雙點(diǎn)擊的動(dòng)作,在算法設(shè)計(jì)期間由用戶指定和/或改變。作為選擇,在算法設(shè)計(jì)期間,用戶可指定設(shè)置,所述設(shè)置可包括“禁止‘剪斷’模式”(觸發(fā)缺省行為,即,如果習(xí)慣價(jià)差塊能實(shí)現(xiàn)期望的價(jià)差價(jià)格,它將刪除當(dāng)前工作訂單并同時(shí)提交所有腿上的訂單,以按照期望價(jià)差價(jià)格得到履行;當(dāng)禁止時(shí),習(xí)慣價(jià)差塊將僅使特定報(bào)價(jià)腿工作,即使期望價(jià)格變得暫時(shí)可用)和“修剪尺寸”(如所提供的價(jià)差數(shù)量輸入所定義的,在已履行總數(shù)量之前要遞增增加的同時(shí)工作的數(shù)量)。習(xí)慣價(jià)差塊可包括這樣的選項(xiàng),該選項(xiàng)指定即使刪除、停頓、停止、或暫停算法,習(xí)慣價(jià)差塊所生成的訂單也應(yīng)保留在訂單簿中。習(xí)慣價(jià)差塊可包括這樣的選項(xiàng),該選項(xiàng)指定當(dāng)在訂單簿中顯示習(xí)慣價(jià)差塊所生成的訂單時(shí),應(yīng)將該訂單標(biāo)記為未決,這可使得更容易地標(biāo)識不正確地起作用的或不完全的算法(例如,如果不期望訂單保留在訂單簿中)。習(xí)慣價(jià)差塊還可包括這樣的選項(xiàng),該選項(xiàng)指定要與習(xí)慣價(jià)差塊所下的訂單關(guān)聯(lián)的顏色或文本標(biāo)記,使得它們更容易地例如在訂單窗口中標(biāo)識。在某些實(shí)施例中,習(xí)慣價(jià)差塊可從外部應(yīng)用提供特定的習(xí)慣設(shè)計(jì)證券作為連續(xù)證券輸出。在某些實(shí)施例中,習(xí)慣價(jià)差塊可從外部應(yīng)用提供特定的數(shù)字或布爾值作為連續(xù)的數(shù)字或布爾輸出。該塊也可被稱為習(xí)慣策略塊或習(xí)慣外部應(yīng)用塊。 當(dāng)在離散輸入上接收到離散事件時(shí),響應(yīng)買入/賣出塊可啟動(dòng)用于由連續(xù)證券輸入所指定的證券的買入或賣出訂單的下訂。下訂單的價(jià)格和/或數(shù)量可通過連續(xù)數(shù)字輸入來提供。作為選擇,價(jià)格和/或數(shù)量可通過被評估來確定要使用的相應(yīng)價(jià)格或數(shù)量值的用戶定義的等式來指定。在某些實(shí)施例中,價(jià)格和數(shù)量之一可通過連續(xù)數(shù)字輸入來提供,而另一個(gè)可通過評估用戶定義的等式來提供。用于價(jià)格和/或數(shù)量的(多個(gè))指定的等式(如果使用)可例如通過選擇響應(yīng)買入/賣出塊并使用被提示鍵入(多個(gè))等式的諸如菜單項(xiàng)或雙點(diǎn)擊的動(dòng)作,在算法設(shè)計(jì)期間由用戶改變。等式可以例如按照原文鍵入或者使用與上述建造塊按鈕215類似的建造塊按鈕來鍵入。一旦響應(yīng)買入/賣出塊已啟動(dòng)了訂單的下訂,就不基于所提供的價(jià)格和/或數(shù)量值的隨后改變來更新訂單。響應(yīng)買入/賣出塊可包括這樣的選項(xiàng),該選項(xiàng)指定即使刪除、停頓、停止、或暫停算法,響應(yīng)買入/賣出塊所生成的訂單也應(yīng)保留在訂單簿中。響應(yīng)買入/賣出塊可包括這樣的選項(xiàng),該選項(xiàng)指定當(dāng)在訂單簿中顯示響應(yīng)買入/賣出塊所生成的訂單時(shí),應(yīng)將該訂單標(biāo)記為未決,這可使得更容易地標(biāo)識不正確地起作用的或不完全的算法(例如,如果不期望訂單保留在訂單簿中)。響應(yīng)買入/賣出塊還可包括這樣的選項(xiàng),該選項(xiàng)指定要與響應(yīng)買入/賣出塊所下的訂單關(guān)聯(lián)的顏色或文本標(biāo)記,使得它們更容易地例如在訂單窗口中標(biāo)識。當(dāng)條件連續(xù)布爾輸入是真時(shí),條件買入/賣出塊可啟動(dòng)按照兩個(gè)連續(xù)數(shù)字輸入指定的價(jià)格和數(shù)量的、用于連續(xù)證券輸入所指定的證券的、買入或賣出訂單的下訂。該條件輸入是可選的,并且當(dāng)不提供輸入時(shí),缺省是真。當(dāng)條件輸入值是假時(shí),條件買入/賣出塊不刪除訂單(但是直到條件輸入成為真時(shí)才啟動(dòng)訂單的下訂)。條件買入/賣出塊一次僅可提交一個(gè)訂單。在某些實(shí)施例中,即使可(例如,通過算法中的另一塊或由用戶手動(dòng))刪除訂單,條件買入/賣出塊也將繼續(xù)提交訂單(一次一個(gè))以努力實(shí)現(xiàn)初始提供的數(shù)量值。一旦條件買入/賣出塊已啟動(dòng)了訂單的下訂,就不基于在所提供的價(jià)格和/或數(shù)量值中的隨后改變來更新訂單。條件買入/賣出塊可提供一個(gè)或多個(gè)離散輸出,其提供履行確認(rèn)和/或訂單請求離散事件。條件買入/賣出塊可包括這樣的選項(xiàng),該選項(xiàng)指定即使刪除、停頓、停止、或暫停算法,條件買入/賣出塊所生成的訂單也應(yīng)保留在訂單簿中。條件買入/賣出可包括這樣的選項(xiàng),該選項(xiàng)指定當(dāng)在訂單簿中顯示條件買入/賣出塊所生成的訂單時(shí),應(yīng)將該訂單標(biāo)記為未決,這可使得更容易地標(biāo)識不正確地起作用的或不完全的算法(例如,如果不期望訂單保留在訂單簿中)。條件買入/賣出塊還可包括這樣的選項(xiàng),該選項(xiàng)指定要與條件買入/賣出塊所下的訂單關(guān)聯(lián)的顏色或文本標(biāo)記,使得它們更容易地例如在訂單窗口中標(biāo)識。訂單處理器塊可接收離散輸入上的訂單事件,并基于由兩個(gè)連續(xù)數(shù)字輸入提供的價(jià)格和數(shù)量值來管理對應(yīng)訂單。如果在連續(xù)布爾輸入上提供的值成為真,則刪除訂單。訂單處理器塊可提供一個(gè)或多個(gè)離散輸出,所述離散輸出提供履行確認(rèn)、刪除確認(rèn)、和/或改變確認(rèn)離散事件。訂單處理器塊可在連續(xù)數(shù)字輸出上提供工作數(shù)量和/或履行數(shù)量。訂單處理器塊可包括這樣的選項(xiàng),該選項(xiàng)指定即使刪除、停頓、停止、或暫停算法,訂單處理器塊所管理的訂單也應(yīng)保留在訂單簿中。IF-THEN-ELSE證券塊可具有三個(gè)連續(xù)輸入布爾IF輸入、證券THEN輸入、和證券ELSE輸入。IF-THEN-ELSE證券塊具有一個(gè)連續(xù)證券輸出。如果IF輸入值是真,則輸出是THEN輸入的證券值。如果IF輸入值是假,則輸出是ELSE輸入的證券值。IF-THEN-ELSE證券塊可具有中間具有“?”符號的矩形形狀,左側(cè)具有一個(gè)連續(xù)布爾IF輸入以及兩個(gè)連續(xù)證券ELSE和THEN輸入,而右側(cè)具有一個(gè)連續(xù)證券輸出。IF-THEN-ELSE證券塊與上面討論的IF-THEN-ELSE塊類似,但是專用于證券值。價(jià)格塊處的證券屬性具有連續(xù)證券輸入、連續(xù)數(shù)字輸入、和連續(xù)數(shù)字輸出。價(jià)格塊處的證券屬性可采取(連續(xù)證券輸入所提供的)證券名稱和(連續(xù)數(shù)字輸入所提供的)價(jià)格,并輸出按照指定價(jià)格的用于該證券的指定屬性的值。屬性可包括買入數(shù)量、賣出數(shù)量、實(shí)際(非暗示)買入數(shù)量、實(shí)際(非暗示)賣出數(shù)量、買入人頭數(shù)(按照指定價(jià)格在市場中的買入訂單的數(shù)目)、以及賣出人頭數(shù)(按照指定價(jià)格在市場中的賣出訂單的數(shù)目)。當(dāng)下訂時(shí),可提示用戶鍵入價(jià)格塊處的證券屬性所要提供的屬性。作為選擇,價(jià)格塊處的證券屬性可缺省為諸如買入數(shù)量的預(yù)定義值。該指定屬性可例如通過選擇價(jià)格塊處的證券屬性并使用被提示鍵入屬性的諸如菜單項(xiàng)或雙點(diǎn)擊的動(dòng)作,在算法設(shè)計(jì)期間由用戶改變。如果使用下面討論的變量區(qū)域213將價(jià)格塊處的證券屬性指定為變量,該指定屬性也可以改變。塊之間的價(jià)差可具有兩個(gè)連續(xù)證券輸入和連續(xù)證券輸出。塊之間的價(jià)差可采取兩個(gè)證券名稱(例如,一個(gè)來自“前腿”輸入而另一個(gè)來自“后腿”輸入),并輸出與兩個(gè)提供的證券的交易所列出的價(jià)差對應(yīng)的證券名稱(例如,“前腿一后腿”)。例如,可使用塊之間的價(jià)差來引用諸如“CLZ0” (2010年12月天然的)和“CLF1” (2011年I月天然的)的兩個(gè)不同證券之間的價(jià)差。這些“腿”可被分別稱為“前腿”和“后腿”。塊之間的價(jià)差的對應(yīng)輸出是交易所列出的價(jià)差證券,在該示例中是交易所列出的證券“CLZ0-CLF1”(2010年12月-2011年I月價(jià)差市場)??墒褂迷搲K以改善編程安全性,從而降低在正確引用證券之間的價(jià)差的處理中的誤差。例如,這兩個(gè)輸入證券可被表示為當(dāng)算法正在運(yùn)行時(shí)可改變的變量,或被指定為用于該算法管理的不同訂單的不同交易所列出的價(jià)差。塊之間的價(jià)差通過在不需要設(shè)置或改變第三變量以匹配兩個(gè)個(gè)別證券變量的情況下、得到“正確”列出的價(jià)差證券,來提供安全性。還可以使用塊之間的價(jià)差來定位或搜索某些交易所列出的價(jià)差的存在。交易塊可對于連續(xù)證券輸入上提供的證券提供離散事件輸出上的離散事件中的交易數(shù)據(jù)。離散事件包括與每一交易關(guān)聯(lián)的交易價(jià)格和交易數(shù)量值。交易數(shù)據(jù)可從例如交易所接收。交易價(jià)格和交易數(shù)量可例如通過值提取器塊、值累加器塊、離散最小塊、和/或離散最大塊,從離散事件提取。訂單塊可允許根據(jù)定義的算法來管理現(xiàn)有訂單(B卩,在該算法外已下訂的并且另一算法沒有管理的訂單)。例如,可使用訂單塊來提供特定類型的自動(dòng)保值例程,以限制用戶已手動(dòng)下訂的訂單。訂單塊提供現(xiàn)有訂單用于的證券的連續(xù)證券輸出、以及用于現(xiàn)有訂單的數(shù)量、價(jià)格、和生效(excute)數(shù)量的連續(xù)數(shù)字輸出。訂單塊還提供諸如履行確認(rèn)的與訂單相關(guān)的訂單離散事件的離散輸出。在某些實(shí)施例中,如果定義的算法包括訂單塊,其可在包括例如訂單窗口的交易界面中在向現(xiàn)有訂單施加的可用算法的列表中呈現(xiàn)。作為另一示例,當(dāng)算法運(yùn)行或在訂單塊自身中指定時(shí),可向算法提供訂單標(biāo)識符作為變量。當(dāng)施加到現(xiàn)有訂單時(shí),包括訂單塊的定義算法可然后根據(jù)該算法管理訂單。履行計(jì)算器塊可提供用于價(jià)差履行離散事件的離散輸出。當(dāng)算法在不使用分類賬塊或習(xí)慣價(jià)差塊的情況下買入/賣出習(xí)慣價(jià)差時(shí),可使用履行計(jì)算器塊。履行計(jì)算器塊接收用于價(jià)差的每一交易生效(履行)腿的多個(gè)連續(xù)證券輸入和離散輸入,前者提供用于腿的證券,而后者提供用于履行確認(rèn)的離散事件。在已提供了用于價(jià)差的腿的證券之后,履行計(jì)算器塊可例如通過選擇履行計(jì)算器塊并使用被提示指定參數(shù)和設(shè)置的諸如菜單項(xiàng)或雙點(diǎn)擊的動(dòng)作來配置??蓪τ趦r(jià)差的每一腿指定的參數(shù)包括“多”(價(jià)差腿的系數(shù))、“交易數(shù)量”(價(jià)差的每一腿的數(shù)量,其中正數(shù)是買入,而負(fù)數(shù)是賣出)、以及“凈改變”(觸發(fā)是否將習(xí)慣價(jià)差計(jì)算變換為凈改變而不是價(jià)格)??芍付ǖ脑O(shè)置包括“側(cè)”(買入或賣出用于履行計(jì)算器的習(xí)慣價(jià)差)和“標(biāo)記”(規(guī)定與價(jià)差履行離散事件關(guān)聯(lián)的用戶定義的標(biāo)記,以使得更容易標(biāo)識它們)。累加器塊可接收離散輸入上的訂單或履行離散事件,并在連續(xù)數(shù)字輸出上提供用于接收的離散事件的累加數(shù)量。例如,如果累加器塊連接到做市商塊,則累加器塊可對于從做市商塊接收的每一部分履行離散事件增加其連續(xù)數(shù)字輸出的值。可使用該塊,來跟蹤例如履行總數(shù)。累加器塊可以是通過(pass-through)塊,這樣接收的每一離散事件通過對應(yīng)離散輸出。累加器塊可以包括復(fù)位離散輸入,其一旦接收到事件,就將累加數(shù)量復(fù)位到O。累加器塊可以與下面討論的價(jià)值累加器塊類似,但是具有更多限制功能性,因?yàn)槠鋬H累加履行數(shù)量。離散塊可包括例如發(fā)生器、值提取器、值累加器、價(jià)值桶、離散移動(dòng)平均數(shù)、狀態(tài)、分支、多路復(fù)用器、漏斗(funnel)、定序器、離散最小值、和離散最大值塊。只要條件是真,發(fā)生器塊就可提供離散輸出上的離散事件。條件可通過連續(xù)布爾輸入來提供,使得只要條件輸入成為真,就生成事件。作為選擇,條件可被指定為事件,諸如“開始”(當(dāng)開始算法時(shí),條件為真,其后條件為假,使得當(dāng)開始算法時(shí)提供單一離散事件)、“改變”(只要連續(xù)布爾輸入值改變,條件就為真,從而從真到假或者從假到真都生成離散事件)、“每X” (每一指定的時(shí)間間隔中條件為真一次,其中該間隔可以按照分、秒、或毫秒來指定)。值提取器塊可接收離散輸入上的離散事件,并從該事件提取用戶指定的值。作為選擇,當(dāng)接收到離散事件時(shí),值提取器塊可評估用戶定義的等式以確定所提取的值。所提取的值可以然后在連續(xù)輸出上提供。輸出的值的類型取決于提取的值的類型。以下表達(dá)式可用于指定要從離散事件中提取的值“證券”(提供與離散事件關(guān)聯(lián)的證券)、“履行價(jià)格”(提供與離散事件關(guān)聯(lián)的履行價(jià)格)、“履行數(shù)量”(提供與離散事件關(guān)聯(lián)的履行數(shù)量)、“訂單數(shù)量”(提供與離散事件關(guān)聯(lián)的訂單數(shù)量)、“訂單價(jià)格”(提供與離散事件關(guān)聯(lián)的訂單價(jià)格)、“生效數(shù)量”(提供針對訂單數(shù)量的履行的累加)、“工作數(shù)量”(提供按照特定訂單價(jià)格的未生效訂單數(shù)量的累加)、“交易數(shù)量”(提供在交易所生效的交易的數(shù)量)、“交易價(jià)格”(提供在交易所生效的交易的價(jià)格)、和“變量”(提供指定的用戶定義變量的值或者在不是虛擬化組塊的一部分的算法中輸出的任何其他塊的值)。在某些實(shí)施例中,值提取器塊可從另一塊的輸出引用值。該值可通過使用上述“變量”表達(dá)式來引用,或者該值可被提供到例如值提取器塊的連續(xù)變量輸入。值提取器塊可以是通過塊,使得接收的每一離散事件通過對應(yīng)離散輸出。值累加器塊可接收離散輸入上的離散事件,并從該事件提取用戶指定的值,以在接收每一離散事件時(shí)累加值。累加的值在連續(xù)數(shù)字輸出上提供。以下表達(dá)式可用于指定要從離散事件中提取的值“履行價(jià)格”(提供與離散事件關(guān)聯(lián)的履行價(jià)格)、“履行數(shù)量”(提供與離散事件關(guān)聯(lián)的履行數(shù)量)、“訂單數(shù)量”(提供與離散事件關(guān)聯(lián)的訂單數(shù)量)、“訂單價(jià)格”(提供與離散事件關(guān)聯(lián)的訂單價(jià)格)、“生效數(shù)量”(提供針對訂單數(shù)量的履行的累加)、“工作數(shù)量”(提供按照特定訂單價(jià)格的未生效訂單數(shù)量的累加)、“交易數(shù)量”(提供在交易所生效的交易的數(shù)量)、“交易價(jià)格”(提供在交易所生效的交易的價(jià)格)、和“變量”(提供指定的用戶定義變量的值或者在不是虛擬化組塊的一部分的算法中輸出的任何其他塊的值)。值累加器塊可以是通過塊,使得接收的每一離散事件通過對應(yīng)離散輸出。值累加器塊可以包括復(fù)位離散輸入,一旦接收到事件,就將累加值復(fù)位到O。值累加器塊與上面討論的累加器塊類似,但是支持累加什么值的更靈活的配置。價(jià)值桶塊可準(zhǔn)備創(chuàng)建密鑰值對的表格。該表格可以是例如散列表。價(jià)值桶塊的表格的密鑰被稱為桶洞(bucket hole)。與特定桶洞(即,表格的密鑰)對應(yīng)的表格的值被稱為桶值。價(jià)值桶塊接收離散輸入上的離散事件。當(dāng)接收到離散事件時(shí),評估該桶洞的用戶定義的等式,以確定表格中的適當(dāng)條目。然后評估該桶價(jià)值的用戶定義的等式,以確定與所確定的桶洞對應(yīng)的表格中的條目的新桶價(jià)值。如下面討論的,新桶價(jià)值可與先前桶價(jià)值合并或者替代先前桶價(jià)值。當(dāng)下訂時(shí),可提示用戶鍵入用于桶洞和桶價(jià)值的等式。作為選擇,價(jià)值桶塊可缺省為預(yù)定義的等式,諸如桶洞“O”和桶價(jià)值“O”。指定的等式可例如通過選擇價(jià)值桶塊并使用被提示鍵入桶洞和桶價(jià)值等式之一或兩者的諸如菜單項(xiàng)或雙點(diǎn)擊的動(dòng)作,在算法設(shè)計(jì)期間由用戶改變。等式可以例如按照原文鍵入或者使用與上述建造塊按鈕215類似的建造塊按鈕來鍵入??捎糜谥付?可通過建造塊按鈕提供的)等式的表達(dá)式變量可包括“證券”(提供與離散事件關(guān)聯(lián)的證券)、“履行價(jià)格”(提供與離散事件關(guān)聯(lián)的履行價(jià)格)、“履行數(shù)量”(提供與離散事件關(guān)聯(lián)的履行數(shù)量)、“訂單數(shù)量”(提供與離散事件關(guān)聯(lián)的訂單數(shù)量)、“訂單價(jià)格”(提供與離散事件關(guān)聯(lián)的訂單價(jià)格)、“生效數(shù)量”(提供針對訂單數(shù)量的履行的累加)、“工作數(shù)量”(提供按照特定訂單價(jià)格的未生效訂單數(shù)量的累加)、“交易數(shù)量”(提供在交易所生效的交易的數(shù)量)、“交易價(jià)格”(提供在交易所生效的交易的價(jià)格)、和“變量”(提供指定的用戶定義變量的值或者在不是虛擬化組塊的一部分的算法中輸出的任何其他塊的值)。作為指定價(jià)值桶等式的一部分,用戶還可以配置新桶價(jià)值如何與先前桶價(jià)值合并。例如,新桶價(jià)值可被添加到先前桶價(jià)值(準(zhǔn)備對于每一接收的事件的相同桶洞而確定的桶價(jià)值之和)。作為另一示例,可確定對于同一桶洞而確定的桶價(jià)值的平均值。作為另一示例,新桶價(jià)值可替代先前桶價(jià)值(提供最新價(jià)值作為某一桶洞的桶價(jià)值)。價(jià)值桶可以缺省為例如對某一桶洞的桶價(jià)值求和。價(jià)值桶塊可以是通過塊,使得接收的每一離散事件通過對應(yīng)離散輸出。價(jià)值桶塊還可以具有洞連續(xù)數(shù)字輸入,提供要用作桶洞的價(jià)值,使得在價(jià)值連續(xù)數(shù)字輸出上提供所提供的桶洞的對應(yīng)桶價(jià)值。價(jià)值桶塊可以包括復(fù)位離散輸入,一旦接收到事件,就將復(fù)位所存儲的表格。離散移動(dòng)平均數(shù)塊可對于在每次在離散輸入處接收到離散事件時(shí)通過評估指定的用戶定義等式而確定的值提供移動(dòng)平均數(shù)。確定移動(dòng)平均數(shù)時(shí)所要使用的數(shù)據(jù)點(diǎn)的數(shù)目通過連續(xù)數(shù)字輸入指定。將移動(dòng)平均數(shù)提供到連續(xù)數(shù)字輸出。離散移動(dòng)平均數(shù)塊可保持所評估的數(shù)據(jù)點(diǎn)的列表,直到已達(dá)到對應(yīng)輸入所指定的數(shù)據(jù)點(diǎn)的數(shù)目為止,在該點(diǎn)處,可向列表添加最新數(shù)據(jù)點(diǎn),從列表去除最老數(shù)據(jù)點(diǎn),并計(jì)算該列表中的數(shù)據(jù)點(diǎn)的移動(dòng)平均數(shù)。當(dāng)下訂時(shí),可提示用戶鍵入要評估的等式。作為選擇,離散移動(dòng)平均數(shù)塊可缺省為預(yù)定義的值,諸如用于該等式的“O”。指定的等式可例如通過選擇離散移動(dòng)平均數(shù)塊并使用被提示鍵入等式的諸如菜單項(xiàng)或雙點(diǎn)擊的動(dòng)作,在算法設(shè)計(jì)期間由用戶改變。等式可以例如按照原文鍵入或者使用與上述建造塊按鈕215類似的建造塊按鈕來鍵入。可用于指定(可通過建造塊按鈕提供的)等式的表達(dá)式變量可包括“證券”(提供與離散事件關(guān)聯(lián)的證券)、“履行價(jià)格”(提供與離散事件關(guān)聯(lián)的履行價(jià)格)、“履行數(shù)量”(提供與離散事件關(guān)聯(lián)的履行數(shù)量)、“訂單數(shù)量”(提供與離散事件關(guān)聯(lián)的訂單數(shù)量)、“訂單價(jià)格”(提供與離散事件關(guān)聯(lián)的訂單價(jià)格)、“生效數(shù)量”(提供針對訂單數(shù)量的履行的累加)、“工作數(shù)量”(提供按照特定訂單價(jià)格的未生效訂單數(shù)量的累加)、“交易數(shù)量”(提供在交易所生效的交易的數(shù)量)、“交易價(jià)格”(提供在交易所生效的交易的價(jià)格)、和“變量”(提供指定的用戶定義變量的值或者在不是虛擬化組塊的一部分的算法中輸出的任何其他塊的值)。離散移動(dòng)平均數(shù)塊還可以采取作為復(fù)位輸入的離散輸入。當(dāng)通過復(fù)位輸入接收離散事件時(shí),丟棄所記錄的數(shù)據(jù)點(diǎn)。這可導(dǎo)致移動(dòng)平均數(shù)輸出為O或者“不是數(shù)”(NaN)。離散移動(dòng)平均數(shù)塊還可以提供OK連續(xù)布爾輸出,其指示是否已記錄了足夠數(shù)目的數(shù)據(jù)點(diǎn)以全面計(jì)算移動(dòng)平均數(shù)。OK輸出是假,直到已記錄了需要數(shù)目的數(shù)據(jù)點(diǎn)為止,并且其后為真(直到復(fù)位為止)。例如,如果數(shù)據(jù)點(diǎn)輸入的數(shù) 目提供值20,則需要在OK輸出成為真之前記錄20個(gè)數(shù)據(jù)點(diǎn)(即,指定的等式的20個(gè)評估,每一個(gè)通過離散事件的接收來觸發(fā))。離散移動(dòng)平均數(shù)塊還可以提供多個(gè)數(shù)據(jù)點(diǎn)連續(xù)數(shù)字輸出,其指示已記錄的數(shù)據(jù)點(diǎn)的數(shù)目。離散移動(dòng)平均數(shù)塊可以是通過塊,使得接收的每一離散事件通過對應(yīng)離散輸出。狀態(tài)塊可接收離散輸入上的離散事件,并評估每一離散輸出的條件,以確定是否應(yīng)在離散輸出上提供離散事件??墒褂脿顟B(tài)塊來設(shè)計(jì)狀態(tài)機(jī),其是包括例如有限數(shù)目狀態(tài)、那些狀態(tài)之間的轉(zhuǎn)變、和動(dòng)作的行為的模型。多個(gè)狀態(tài)塊可鏈接到一起,與“流程”圖類似,其中當(dāng)滿足某些條件時(shí),用戶可檢查邏輯運(yùn)行的方式。因?yàn)橥ㄟ^過去狀態(tài)確定當(dāng)前狀態(tài),所以可能必須記錄有關(guān)過去的信息。轉(zhuǎn)變指示狀態(tài)改變,并可通過將要求滿足以使能轉(zhuǎn)變的條件來描述。狀態(tài)塊允許用戶定義退出動(dòng)作以及定義轉(zhuǎn)變的條件。例如,在提供每一個(gè)對應(yīng)于不同狀態(tài)轉(zhuǎn)變的兩個(gè)離散輸出的狀態(tài)塊中,用戶對每一個(gè)輸出指定條件。在接收到離散事件之后,狀態(tài)塊等待與每一轉(zhuǎn)變關(guān)聯(lián)的一個(gè)或多個(gè)條件成為真(如果,當(dāng)接收到離散事件時(shí),沒有條件是真)。當(dāng)與某一狀態(tài)轉(zhuǎn)變關(guān)聯(lián)的條件評估為真時(shí),狀態(tài)塊在與那個(gè)某一狀態(tài)轉(zhuǎn)變關(guān)聯(lián)的輸出上提供離散事件(自從被接收以來已被保持)。條件可在連續(xù)布爾輸入上提供。作為選擇,條件可通過評估為布爾值的指定的用戶定義等式來提供。指定的等式可例如通過選擇狀態(tài)塊并使用被提示鍵入等式的諸如菜單項(xiàng)或雙點(diǎn)擊的動(dòng)作,在算法設(shè)計(jì)期間由用戶改變。等式可以例如按照原文鍵入或者使用與上述建造塊按鈕215類似的建造塊按鈕來鍵入??墒褂脿顟B(tài)塊來評估市場中的用戶定義圖案,例如,是否存在非較低價(jià)格的多個(gè)連續(xù)交易。這些信號可被用作進(jìn)入例如做市商塊的交易塊的條件輸入。狀態(tài)塊還可評估信息,諸如離散事件是買入還是賣出履行消息??捎糜谥付?可通過建造塊按鈕提供的)等式的表達(dá)式可包括“證券”(提供與離散事件關(guān)聯(lián)的證券)、“履行價(jià)格”(提供與離散事件關(guān)聯(lián)的履行價(jià)格)、“履行數(shù)量”(提供與離散事件關(guān)聯(lián)的履行數(shù)量)、“訂單數(shù)量”(提供與離散事件關(guān)聯(lián)的訂單數(shù)量)、“訂單價(jià)格”(提供與離散事件關(guān)聯(lián)的訂單價(jià)格)、“生效數(shù)量”(提供針對訂單數(shù)量的履行的累加)、“工作數(shù)量”(提供按照特定訂單價(jià)格的未生效訂單數(shù)量的累加)、“交易數(shù)量”(提供在交易所生效的交易的數(shù)量)、“交易價(jià)格”(提供在交易所生效的交易的價(jià)格)、和“變量”(提供指定的用戶定義變量的值或者在不是虛擬化組塊的一部分的算法中輸出的任何其他塊的值)。分支塊可接收離散輸入上的離散事件,并評估條件。如果條件是真,則將在第一離散輸出(“是”路徑)上提供離散事件,而如果條件是假,則將在第二離散輸出(“否”路徑)上提供離散事件。條件可在連續(xù)布爾輸入上提供。作為選擇,條件可通過評估為布爾值的指定的用戶定義等式來提供。指定的等式可例如通過選擇分支塊并使用被提示鍵入等式的諸如菜單項(xiàng)或雙點(diǎn)擊的動(dòng)作,在算法設(shè)計(jì)期間由用戶改變。等式可以例如按照原文鍵入或者使用與上述建造塊按鈕215類似的建造塊按鈕來鍵入。分支塊可用于評估例如離散事件是買入還是賣出履行事件??墒褂谩百I? ”建造塊按鈕來建造這樣的等式??捎糜谥付?可通過建造塊按鈕提供的)等式的其他表達(dá)式可包括“證券”(提供與離散事件關(guān)聯(lián)的證券)、“履行價(jià)格”(提供與離散事件關(guān)聯(lián)的履行價(jià)格)、“履行數(shù)量”(提供與離散事件關(guān)聯(lián)的履行數(shù)量)、“訂單數(shù)量”(提供與離散事件關(guān)聯(lián)的訂單數(shù)量)、“訂單價(jià)格”(提供與離散事件關(guān)聯(lián)的訂單價(jià)格)、“生效數(shù)量”(提供針對訂單數(shù)量的履行的累加)、“工作數(shù)量”(提供按照特定訂單價(jià)格的未生效訂單數(shù)量的累加)、“交易數(shù)量”(提供在交易所生效的交易的數(shù)量)、“交易價(jià)格”(提供在交易所生效的交易的價(jià)格)、和“變量”(提供指定的用戶定義變量的值或者在不是虛擬化組塊的一部分的算法中輸出的任何其他塊的值)。多路復(fù)用器塊可接收離散輸入上的離散事件,并在某一離散輸出上提供離散事件。例如,多路復(fù)用器塊可從訂單處理器塊接收離散事件,并基于離散事件的類型(例如,履行、改變、或刪除),在多路復(fù)用器塊的適當(dāng)離散輸出上提供它。當(dāng)下訂時(shí),可提示用戶指定對于哪些輸出提供哪些離散事件類型。作為選擇,多路復(fù)用器塊可缺省為提供用于每一離散事件類型的輸出的預(yù)定義的配置。對于其提供輸出的指定的離散事件類型可例如通過選擇多路復(fù)用器塊并使用被提示鍵入離散事件類型的諸如菜單項(xiàng)或雙點(diǎn)擊的動(dòng)作,在算法設(shè)計(jì)期間由用戶改變。多路復(fù)用器塊可以例如結(jié)合訂單處理器塊使用,以管理訂單。漏斗塊可接收兩個(gè)或更多離散輸入上的離散事件并在單一離散輸出上提供它們。漏斗塊不保持離散事件,漏斗塊使得離散事件通過到達(dá)輸出。漏斗塊可以例如結(jié)合需要多輸入的狀態(tài)塊使用。定序器塊可保證其中使得離散事件通過到達(dá)輸出的訂單。定序器塊可具有離散輸入以及兩個(gè)或更多離散輸出。當(dāng)在輸入處接收離散事件時(shí),定序器塊順序向每一輸出提供離散事件。即,在對于接收的離散事件的處理中,定序器塊將首先將離散事件提供到第一輸出,并然后將離散事件提供到第二輸出等。這可允許用戶精確地確定在算法中更新接收離散輸入的哪些訂單塊。然而,如果多個(gè)塊連接到定序器塊的同一離散輸出,則不指定接收離散事件的那些塊的訂單。該塊也可被稱為序列塊。離散最小值塊可比較兩個(gè)離散輸入,并提供指定屬性(例如,交易價(jià)格、交易數(shù)量等)的最小值的連續(xù)數(shù)字輸出。當(dāng)在輸入之一上接收到離散事件時(shí),指定的屬性值從事件中提取并存儲。將提取的值與用于另一離散輸入的最近存儲的值進(jìn)行比較,以確定哪個(gè)是較小的值,并在連續(xù)數(shù)字輸出上提供該值。如果還沒有對于輸入接收到離散事件,則從另一輸入提取的值可總是被看作較大值。作為替換,某一離散輸入的值可簡單缺省為O。離散最小值塊可以是通過塊,使得接收的每一離散事件通過對應(yīng)離散輸出。離散最小值塊可包括復(fù)位離散輸入,其一旦接收到事件,就將復(fù)位對于每一離散輸入存儲的值,并對應(yīng)地更新最小輸出。離散最大值塊可比較兩個(gè)離散輸入并提供指定屬性(例如,交易價(jià)格、交易數(shù)量等)的最大值的連續(xù)數(shù)字輸出。當(dāng)在輸入之一上接收到離散事件時(shí),指定的屬性值從該事件中提取并存儲。將提取的值與用于另一離散輸入的最近存儲的值進(jìn)行比較,以確定哪個(gè)是較大的值,并在連續(xù)數(shù)字輸出上提供該值。如果還沒有對于輸入接收到離散事件,則從另一輸入提取的值可總是被看作較大值。作為替換,某一離散輸入的值可簡單缺省為O。離散最大值塊可以是通過塊,使得接收的每一離散事件通過對應(yīng)離散輸出。離散最大值塊可包括復(fù)位離散輸入,其一旦接收到事件,就將復(fù)位對于每一離散輸入存儲的值,并對應(yīng)地更新最大輸出。混雜塊可包括例如最小、最大、舍入、顯示到小數(shù)、非、一次真、是數(shù)字、移動(dòng)平均數(shù)、條件f(x)、數(shù)字f(x)、平均數(shù)、定時(shí)器、注釋、隨機(jī)數(shù)、平方根、對數(shù)、和暫停塊。最小塊可比較兩個(gè)連續(xù)數(shù)字輸入,以確定哪個(gè)是較小值并輸出它。最小塊可具有三角形形狀,中間具有“MIN”文本,左側(cè)有兩個(gè)連續(xù)數(shù)字輸入,而右側(cè)有一個(gè)連續(xù)數(shù)字輸出。最大塊可比較兩個(gè)連續(xù)數(shù)字輸入,以確定哪個(gè)是較大值并輸出它。最大塊可具有三角形形狀,中間具有“MAX”文本,左側(cè)有兩個(gè)連續(xù)數(shù)字輸入,而右側(cè)有一個(gè)連續(xù)數(shù)字輸出。舍入塊可將連續(xù)數(shù)字輸入所提供的數(shù)字舍入到由連續(xù)數(shù)字輸入提供的最接近的增量,以產(chǎn)生一個(gè)連續(xù)數(shù)字輸出。如果沒有提供增量值,則舍入塊可舍入到最接近的整數(shù)。另外,用戶可指定用于舍入塊的三個(gè)選項(xiàng)之一正常舍入、總是上舍入、以及總是下舍入。正常舍入使用傳統(tǒng)舍入規(guī)則(例如,O. 5向上舍入為I,而O. 49向下舍入為O)。如果值落入兩個(gè)增量之間,總是上舍入將數(shù)字舍入為較高增量(例如,2. I向上舍入為3,而2舍入為2)。如果值落入兩個(gè)增量之間,總是下舍入將數(shù)字舍入為較低增量(例如,2. 9向下舍入為2,而2舍入為2)。如果不指定選項(xiàng),則舍入塊將缺省為例如正常舍入。舍入塊可具有矩形形狀,中間具有“Round”文本,左側(cè)有兩個(gè)連續(xù)數(shù)字輸入,而右側(cè)有一個(gè)連續(xù)數(shù)字輸出。顯示到小數(shù)塊可使用連續(xù)數(shù)字輸入所提供的數(shù)字和連續(xù)證券輸入所提供的證券,以輸出小數(shù)形式的數(shù)字。例如,如果用戶想使用數(shù)字塊來將諸如價(jià)格的值饋送到算法的剩余部分中(也許作為變量),而不必計(jì)算小數(shù)形式的值,則可利用顯示到小數(shù)塊。用戶可能習(xí)慣于看到作為117125的證券ZN的價(jià)格,這可代表117又12. 5/32nds的價(jià)格。利用顯示到小數(shù)塊,數(shù)字117125可以和證券一起被提供為輸入,并且顯示到小數(shù)塊將該數(shù)字變換為適當(dāng)小數(shù)格式值(這里,117. 390625),以由算法的剩余部分使用。顯示到小數(shù)塊可具有矩形形狀,中間具有“D2Dec”文本,左側(cè)有一個(gè)連續(xù)證券輸入和一個(gè)連續(xù)數(shù)字輸入,而右側(cè)有一個(gè)連續(xù)數(shù)字輸出。非塊可執(zhí)行連續(xù)布爾輸入的邏輯否定,使得如果輸入值為真,則輸出為假,而如果輸入值為假,則輸出為真。非塊可具有中間為否定符號(“! ”或“一”)的左側(cè)矩形形狀右側(cè)弓形形狀,左側(cè)有一個(gè)連續(xù)布爾輸入,而右側(cè)有一個(gè)連續(xù)布爾輸出。當(dāng)連續(xù)布爾輸入轉(zhuǎn)為真時(shí),一次真塊可對于算法的壽命提供真的連續(xù)布爾輸出。在輸入值至少一次變?yōu)檎嬷?,一次真塊的輸出值是假。一旦輸入值已成為真,一次真塊總是輸出真的值,而不管輸入值是否隨后改變。一次真塊可具有中間為“T”文本的左側(cè)矩形形狀和右側(cè)弓形形狀,左側(cè)有一個(gè)連續(xù)布爾輸入,而右側(cè)有一個(gè)連續(xù)布爾輸出。該塊也可被稱為一次真總是真塊。如果在連續(xù)數(shù)字輸入上提供的值是數(shù)字,則是數(shù)字塊可提供真的連續(xù)布爾輸出,而如果提供的值是“非數(shù)字”(NaN),則輸出假。該是數(shù)字塊可具有中間為“IsNum ”文本的左側(cè)矩形形狀和右側(cè)弓形形狀,左側(cè)有一個(gè)連續(xù)布爾輸入,而右側(cè)有一個(gè)連續(xù)布爾輸出。移動(dòng)平均數(shù)塊可采取數(shù)據(jù)值(其可隨著時(shí)間改變,諸如價(jià)格或數(shù)量)作為連續(xù)數(shù)字輸入以及多個(gè)分鐘值作為連續(xù)數(shù)字輸入,并提供指定數(shù)目的分鐘上的移動(dòng)平均數(shù)作為連續(xù)數(shù)字輸出。移動(dòng)平均數(shù)塊可記錄每秒的數(shù)據(jù)值。例如,如果用戶期望具有一分鐘移動(dòng)平均值,則移動(dòng)平均數(shù)塊將記錄60個(gè)數(shù)據(jù)點(diǎn)并對它們求平均用于輸出。移動(dòng)平均數(shù)塊可還可以采取指示數(shù)據(jù)值輸入是否有效的連續(xù)布爾值。該輸入是可選的,并缺省為真。當(dāng)數(shù)據(jù)值將被記錄時(shí)(缺省每秒一次),移動(dòng)平均數(shù)塊檢查以查看有效輸入是否為真。如果為真,則記錄數(shù)據(jù)值作為數(shù)據(jù)點(diǎn)。如果有效輸入為假,則不記錄數(shù)據(jù)值作為數(shù)據(jù)點(diǎn)。移動(dòng)平均數(shù)塊還可以采取作為復(fù)位輸入的離散輸入。當(dāng)通過復(fù)位輸入接收到離散事件時(shí),丟棄記錄的數(shù)據(jù)點(diǎn)。取決于正記錄的數(shù)據(jù)值,這可導(dǎo)致移動(dòng)平均數(shù)輸出為O或“非數(shù)字”(NaN)。移動(dòng)平均數(shù)塊還可以提供指示是否已記錄了足夠數(shù)目的數(shù)據(jù)點(diǎn)的OK連續(xù)布爾輸出,以完全計(jì)算移動(dòng)平均數(shù)。OK輸出為假,直到已記錄了需要數(shù)目的數(shù)據(jù)點(diǎn)為止,并且其后為真(直到復(fù)位為止)。例如,如果輸入的分鐘數(shù)目提供20的值(用于20分鐘移動(dòng)平均數(shù)),則將需要在OK輸出成為真之前記錄1200個(gè)數(shù)據(jù)點(diǎn)(在20分鐘時(shí)段中,每秒I個(gè)數(shù)據(jù)點(diǎn))。移動(dòng)平均數(shù)塊還可以提供指示是否已記錄了所述多個(gè)數(shù)據(jù)點(diǎn)的多個(gè)數(shù)據(jù)點(diǎn)連續(xù)數(shù)字輸出。該移動(dòng)平均數(shù)塊可具有中間為“MvgAvg”文本的矩形形狀,左側(cè)具有四個(gè)輸入(2個(gè)連續(xù)數(shù)字輸入、I個(gè)連續(xù)布爾輸入、和I個(gè)離散輸入),而右側(cè)具有三個(gè)輸出(2個(gè)連續(xù)數(shù)字輸出和I個(gè)連續(xù)布爾輸出)。條件f(x)塊可評估提供用于連續(xù)布爾輸出的值的用戶定義等式。當(dāng)下訂時(shí),可提示用戶鍵入要評估的等式。作為選擇,條件f(X)塊可缺省為諸如真的預(yù)定義的值。指定的等式可例如通過選擇條件f(x)塊并使用被提示鍵入等式的諸如菜單項(xiàng)或雙點(diǎn)擊的動(dòng)作,在算法設(shè)計(jì)期間由用戶改變。等式可以例如按照原文鍵入或者使用與上述建造塊按鈕215類似的建造塊按鈕來鍵入。在某些實(shí)施例中,條件f(x)塊可以引用來自另一塊的輸出的值。該值可使用指定該塊的建造塊按鈕215來引用和輸出,或者該值可被提供到條件f(x)塊的連續(xù)變量輸入。條件f(x)塊可具有中間為“f(x)”文本的左側(cè)矩形形狀和右側(cè)弓形形狀,左側(cè)沒有輸入(除非在用戶定義等式中引用值,在該情況下,與每一變量對應(yīng)地提供連續(xù)輸入),而右側(cè)有一個(gè)連續(xù)布爾輸出。數(shù)字f(x)塊可評估提供用于連續(xù)數(shù)字輸出的值的用戶定義等式。當(dāng)下訂時(shí),可提示用戶鍵入要評估的等式。作為選擇,數(shù)字f(x)塊可缺省為諸如O的預(yù)定義的值。指定的等式可例如通過選擇數(shù)字f(x)塊并使用被提示鍵入等式的諸如菜單項(xiàng)或雙點(diǎn)擊的動(dòng)作,在算法設(shè)計(jì)期間由用戶改變。等式可以例如按照原文鍵入或者使用與上述建造塊按鈕215類似的建造塊按鈕來鍵入。在某些實(shí)施例中,數(shù)字f(x)塊可以引用來自另一塊的輸出的值。該值可使用指定該塊的建造塊按鈕215來引用和輸出,或者該值可被提供到數(shù)字f (X)塊的連續(xù)變量輸入。數(shù)字f(x)塊可具有中間為“f(x)”文本的左側(cè)矩形形狀和右側(cè)弓形形狀,左側(cè)沒有輸入(除非在用戶定義等式中引用值,在該情況下,與每一變量對應(yīng)地提供連續(xù)輸入),而右側(cè)有一個(gè)連續(xù)數(shù)字輸出。在某些實(shí)施例中,條件f (X)塊和數(shù)字f(x)塊可被合并在諸如f(x)塊的單一塊中。f(x)塊可評估提供用于連續(xù)數(shù)字輸出的布爾或數(shù)字值的用戶定義等式。當(dāng)下訂時(shí),可提示用戶鍵入要評估的等式。作為選擇,f(x)塊可缺省為諸如O的預(yù)定義的值。指定的等式可例如通過選擇f(x)塊并使用被提示鍵入等式的諸如菜單項(xiàng)或雙點(diǎn)擊的動(dòng)作,在算法設(shè)計(jì)期間由用戶改變。等式可以例如按照原文鍵入或者使用與上述建造塊按鈕215類似的建造塊按鈕來鍵入。在某些實(shí)施例中,f(x)塊可以引用來自另一塊的輸出的值。該值可使用指定該塊的建造塊按鈕215來引用和輸出,或者該值可被提供到f(x)塊的連續(xù)變量輸入。f(x)塊可具有中間為“f(x)”文本的左側(cè)矩形形狀和右側(cè)弓形形狀,左側(cè)沒有輸入(除非在用戶定義等式中引用值,在該情況下,與每一變量對應(yīng)地提供連續(xù)輸入),而右側(cè)有一個(gè)連續(xù)變量輸出。平均數(shù)塊可對兩個(gè)或更多連續(xù)數(shù)字輸入求平均,以產(chǎn)生一個(gè)數(shù)字連續(xù)輸出。例如,平均數(shù)塊可具有10個(gè)輸入。作為另一示例,平均數(shù)塊可開始于一個(gè)輸入,并且每次進(jìn)行到平均數(shù)塊輸入的連接時(shí),可動(dòng)態(tài)提供新輸入。輸入的值被求和,并然后被除以提供值的輸入的數(shù)目,以產(chǎn)生輸出。平均數(shù)塊可具有中間為“AVE”或“AVG”文本的矩形形狀,左側(cè)具有兩個(gè)或更多連續(xù)數(shù)字輸入,而右側(cè)有一個(gè)連續(xù)數(shù)字輸出。定時(shí)器塊可提供用于時(shí)間的小時(shí)、分鐘、和秒的連續(xù)數(shù)字輸出。例如,時(shí)間可以是當(dāng)前時(shí)間。當(dāng)前時(shí)間可以例如是向用戶提供交易界面的計(jì)算裝置處的時(shí)間或者在算法服務(wù)器處的當(dāng)前時(shí)間。作為另一示例,時(shí)間可以從算法開始運(yùn)行的時(shí)間開始。作為另一示例,時(shí)間可以是自從當(dāng)前交易會話開始的時(shí)間。作為另一示例,時(shí)間可以從當(dāng)前交易會話的12amCST開始。作為另一示例,時(shí)間可以是交易所提供的時(shí)間。定時(shí)器塊可具有中間為“TIMER”文本或時(shí)鐘符號的矩形形狀,右側(cè)有三個(gè)連續(xù)數(shù)字輸出。注釋塊可提供文本框,用于用戶鍵入關(guān)于正設(shè)計(jì)的算法的評論和注釋。注釋塊可以不具有任何輸入或輸出。當(dāng)下訂時(shí),可提示用戶鍵入注釋框的文本。作為選擇,注釋框可缺省為諸如“在這里添加注釋”的預(yù)定義的值。指定的值可例如通過選擇注釋塊并使用被 提示鍵入值的諸如菜單項(xiàng)或雙點(diǎn)擊的動(dòng)作,在算法設(shè)計(jì)期間由用戶改變。注釋塊不影響算法的操作。注釋塊可具有矩形形狀,中間顯示有文本值。隨機(jī)數(shù)塊可向連續(xù)數(shù)字輸出提供隨機(jī)數(shù)。當(dāng)放置或稍后配置隨機(jī)數(shù)塊時(shí),隨機(jī)數(shù)可被指定為整數(shù)或浮點(diǎn)值。隨機(jī)數(shù)塊可缺省為提供整數(shù)值。隨機(jī)數(shù)可以在連續(xù)數(shù)字輸入所指定的最小值和連續(xù)數(shù)字輸入所指定的最大值之間。如果沒有提供最小輸入,則其可缺省為例如O。如果沒有提供最大輸入,則其可缺省為對于整數(shù)輸出為計(jì)算裝置所支持的最大整數(shù)、或者對于浮點(diǎn)輸出為I。當(dāng)應(yīng)提供新隨機(jī)數(shù)時(shí),隨機(jī)數(shù)塊還可以具有到信號的離散輸入。如果沒有提供離散輸入,則隨機(jī)數(shù)塊可例如每秒提供一次新隨機(jī)數(shù)。隨機(jī)數(shù)塊可以是通過塊,使得接收的每一離散事件通過到對應(yīng)離散輸出。隨機(jī)數(shù)塊可具有中間為問號符號(“?”)或“RAND”文本的正方形形狀,左側(cè)具有兩個(gè)連續(xù)數(shù)字輸入和一個(gè)離散輸入,而右側(cè)有一個(gè)連續(xù)數(shù)字輸出。平方根塊可對于在連續(xù)數(shù)字輸入上提供的值提供在連續(xù)數(shù)字輸出上的平方根值。如果輸入是負(fù)數(shù),則輸出可以是“非數(shù)字”(NaN)。平方根塊可具有中間為平方根符號(“V”)的三角形形狀,左側(cè)具有一個(gè)連續(xù)數(shù)字輸入,而右側(cè)有一個(gè)連續(xù)數(shù)字輸出。對數(shù)塊可對于在連續(xù)數(shù)字輸入上提供的值提供在連續(xù)數(shù)字輸出上的對數(shù)值。對數(shù)的底數(shù)值可以在連續(xù)數(shù)字輸入上提供。如果沒有提供底數(shù),則其可缺省為例如自然對數(shù)。對數(shù)塊可具有中間為“Log”文本的正方形形狀,左側(cè)具有兩個(gè)連續(xù)數(shù)字輸入,而右側(cè)有一個(gè)連續(xù)數(shù)字輸出。如果在離散輸入上接收到離散事件或者如果在連續(xù)布爾輸入上提供的值成為真,則暫停塊可暫停整個(gè)算法。在某些實(shí)施例中,如果布爾輸入值再次變?yōu)榧?,則算法可重新開始運(yùn)行。在某些實(shí)施例中,一旦因?yàn)闀和K使得已暫停算法,則可手動(dòng)重新啟動(dòng)算法。暫停塊可以是具有紅色背景的八邊形形狀,中間具有“Stop”文本,左側(cè)具有一個(gè)連續(xù)布爾輸入和一個(gè)離散輸入。代表算法的指令或邏輯(其后稱為編程代碼)基于算法的定義而生成。在某些實(shí)施例中,編程代碼是可隨后編譯的源代碼(諸如人和/或編譯器可讀文本)。在某些實(shí)施例中,編程代碼是中間語言。在某些實(shí)施例中,編程代碼包括機(jī)器可執(zhí)行指令。在某些實(shí)施例中,編程代碼的生成包括生成的源代碼和/或中間語言代碼的編譯。在某些實(shí)施例中,編程代碼的生成不包括生成的源代碼和/或中間語言代碼的編譯,并且這樣的編譯是分離處理。生成的編程代碼(如果適當(dāng)?shù)脑挘诰幾g之后)然后可被仿真和/或使用,以根據(jù)定義的算法交易。如這里使用的,當(dāng)編程代碼被討論為要運(yùn)行、執(zhí)行、和/或仿真時(shí),假設(shè)生成的編程代碼已被附加編譯,如果適當(dāng)?shù)脑?,要運(yùn)行、執(zhí)行、和/或仿真。在某些實(shí)施例中,當(dāng)設(shè)計(jì)算法時(shí),生成編程代碼。要注意的是,在設(shè)計(jì)算法時(shí),隨著塊和/或連接被添加、修改、和/或去除,算法的定義可改變。在某些實(shí)施例中,當(dāng)對算法定義進(jìn)行改變時(shí),自動(dòng)生成編程代碼。在某些實(shí)施例中,根據(jù)用戶的請求生成編程代碼。在某些實(shí)施例中,編程代碼由客戶機(jī)裝置處的交易界面310的算法交易應(yīng)用的組件生成。在某些實(shí)施例中,編程代碼由另一裝置(諸如算法生成裝置、與上面討論的算法服務(wù)器302類似的算法服務(wù)器、和/或與上面討論的網(wǎng)關(guān)120類似的網(wǎng)關(guān))處的算法交易應(yīng) 用的組件生成。在某些實(shí)施例中,編程代碼由多于一個(gè)組件生成。例如,算法交易應(yīng)用的多個(gè)組件可一起工作以生成代碼。這樣的組件可專用于例如生成編程代碼的功能性的不同方面。在某些實(shí)施例中,編程代碼由多于一個(gè)裝置生成。例如,編程代碼可以由客戶機(jī)裝置和算法服務(wù)器生成?;谒惴ǘx生成的編程代碼可以基于生成它的那個(gè)組件或裝置而不同。例如,客戶機(jī)裝置上生成的編程代碼可以被優(yōu)化用于由客戶機(jī)裝置執(zhí)行和/或可以包括與算法服務(wù)器(其例如可以不包括與用戶接口相關(guān)的功能性)上生成的編程代碼不同的特征(例如,與用戶接口相關(guān)的功能性)。為了簡明,除非按照別的方式注釋,下面的討論都針對客戶機(jī)裝置上的編程代碼的生成,但是應(yīng)理解的是,當(dāng)在諸如算法服務(wù)器的另一裝置處生成編程代碼時(shí),采取類似動(dòng)作。在某些實(shí)施例中,使用諸如C#的編程語言和.NET 4. O框架,按照面向?qū)ο蟮姆绞剑瑏碜龀鏊傻木幊檀a。在某些實(shí)施例中,編程代碼通過遍歷(traversing)算法定義中的每一塊和連接而生成。對于每一塊,生成編程代碼。當(dāng)生成編程代碼時(shí),一些塊可成為原語變量(primitivevariable)。例如,加法器塊可成為浮點(diǎn)變量,該浮點(diǎn)變量的值被設(shè)置為與加法器塊的輸入相連的輸出的值之和,這可遞歸確定??删哂懈鼜?fù)雜功能性的其他塊可被生成為從基類導(dǎo)出的子類。基類可提供與對應(yīng)塊關(guān)聯(lián)的核心功能性。生成的子類可然后推翻(override)具有返回值的虛擬方法,以向基類的核心功能性提供專用于生成編程代碼的塊的值。例如,設(shè)計(jì)帳篷區(qū)311中放置的做市商塊可具有作為基本做市商類的子類而生成的編程代碼。子類可推翻虛擬方法,以得到用于做市商塊的各個(gè)輸入的值,并指定做市商塊是否被配置為買入或賣出。與上面討論的基本塊不同,做市商塊是提供更復(fù)雜的功能性的交易塊。塊之間的連續(xù)連接指定連接的輸出值和輸入值如何相關(guān)。繼續(xù)上面的加法器的例子,代表加法器塊的輸出的浮點(diǎn)值可被設(shè)置為與加法器塊的連續(xù)輸入相連的其他原語變量(代表其他塊/輸出)的值之和。在某些實(shí)施例中,可使用連續(xù)連接來打倒(flatten)生成的編程代碼,使得具有連續(xù)連接的多個(gè)塊(其將生成原語變量)可被壓縮(condense)為不使用多個(gè)中間變量的簡單表達(dá)式。使用塊之間的離散連接來生成事件發(fā)生器和事件處理器,使得當(dāng)生成離散事件時(shí),調(diào)用正確的方法(處理器)。離散事件從事件發(fā)生器傳遞到事件處理器以進(jìn)行處理。當(dāng)運(yùn)行時(shí),算法對引起算法狀態(tài)改變的動(dòng)作做出應(yīng)答。這些動(dòng)作可包括諸如市場事件(例如,價(jià)格更新、數(shù)量更新、訂單確認(rèn)、交易確認(rèn)、履行確認(rèn)、或交易通知)或定時(shí)器事件(例如,來自系統(tǒng)時(shí)鐘或報(bào)警)的外部事件。這些外部事件可導(dǎo)致生成離散事件,諸如訂單確認(rèn)離散事件、交易確認(rèn)離散事件、履行確認(rèn)離散事件、或交易通知離散事件和/或諸如用于正更新的證券的價(jià)格或數(shù)量值的連續(xù)值。這些動(dòng)作還可以包括內(nèi)部事件,諸如由算法中的塊生成的離散事件或連續(xù)值改變。當(dāng)內(nèi)部或外部離散事件發(fā)生時(shí)(例如,交易確認(rèn)離散事件或者發(fā)生器塊生成離散事件),算法中的每一感興趣的塊具有調(diào)用的事件處理器方法,使得該塊可執(zhí)行與該事件關(guān)聯(lián)的其指定功能性。事件處理器可按照未指定的順序被評估。例如,事件處理器可基于訂單來評估,它們的相應(yīng)塊被放置在算法定義中。事件處理器處理可包括基于接收的事件進(jìn)行該塊的功能,更新連續(xù)輸出值,以及生成離散事件并將其在輸出上提供給其他連接的塊。當(dāng)內(nèi)部或外部連續(xù)值改變時(shí)(例如,更新市場數(shù)據(jù)或者系統(tǒng)時(shí)鐘的時(shí)間改變),直 接或間接與數(shù)據(jù)的源(“下游塊”)相連的每一感興趣的塊更新了其值,以反映新數(shù)據(jù)。作為一些塊的結(jié)果的原語變量將例如分配了它們的新值。如果通過離散事件或連續(xù)值改變而更新了連續(xù)輸出值,則接收所更新的值的每一直接或間接連接的塊被添加到要處理的塊的列表。當(dāng)對內(nèi)部事件感興趣的塊已完成了它們的處理時(shí),塊的列表然后被處理,使得那些塊可然后響應(yīng)于內(nèi)部事件動(dòng)作。按照與外部事件類似的方式來處理內(nèi)部事件。當(dāng)每一塊的處理生成向該算法的狀態(tài)的新改變時(shí),可然后重
復(fù)該處理。圖3D — I到3D — 7圖示了根據(jù)某些實(shí)施例生成的示例編程代碼。要注意的是,編程代碼僅是可生成的編程代碼的一部分,并意欲是示范性和簡化的,以為了簡明而強(qiáng)調(diào)某些特征。即使當(dāng)沒有在設(shè)計(jì)帳篷區(qū)311中放置塊時(shí),也可以生成編程代碼,如圖3D — I圖示的。生成的編程代碼包括新類(“CustomAlgorithmO”),其代表正設(shè)計(jì)的算法。該新類是Algorithm類的子類,其提供用于實(shí)行具有算法交易應(yīng)用的算法的基本接口和功能性。CustomAlgorithmO類可推翻Algorithm類的虛擬方法,使得專用于正設(shè)計(jì)的算法的功能性可被合并到算法交易應(yīng)用的框架中并執(zhí)行。繼續(xù)該示例,如圖3D — 2中圖示的,當(dāng)在設(shè)計(jì)帳篷區(qū)311中放置塊時(shí),也可以生成附加編程代碼。如上面討論的,一些塊可成為原語變量,并且它們之間的連續(xù)連接告訴它們?nèi)绾蜗嚓P(guān)。例如,如圖示的,兩個(gè)常數(shù)塊(“ConstantNumberBlockO”和“ConstantNumberBlockl ”)以及加法器塊(“AdderBlockO ”)已被放置在設(shè)計(jì)帳篷區(qū)311中。注意,這些塊還沒有連接。所生成的編程代碼的標(biāo)記部分圖示了這些基本塊在編程代碼中被代表為原語變量(類型“雙”)。如圖3D-3中圖不的,可以進(jìn)行從ConstantNumberBlockO和ConstantNumberBlockl到AdderBlockO的連接。連接指定塊之間的關(guān)系。所生成的編程代碼的標(biāo)記部分圖示了 AdderBlockO的值等于ConstantNumberBlockO的值加上ConstantNumberBlockl的值。這是因?yàn)榧臃ㄆ鲏K所代表的功能性是將兩個(gè)輸入的值相加。如圖3D - 4中圖示的,做市商塊已被放置在設(shè)計(jì)帳篷區(qū)311中。與上面討論的基本塊不同,做市商塊是提供更復(fù)雜的功能性的交易塊。所生成的編程代碼添加代表已被放置的某一做市商塊的功能性的新類(“CustomMarketMakerO ”)。CustomMarketMakerO是MarketMaker的子類,其提供做市商塊的基本功能性。CustomMarketMakerO類可推翻具有MarketMaker類的返回類型的虛擬方法,使得專用于所放置的做市商塊的功能性可被合并在算法交易應(yīng)用的框架中并執(zhí)行。在該情況下,CustomMarketMakerO推翻由MarketMaker基類中的邏輯調(diào)用的方法,以得到用于做市商塊的各個(gè)輸入的值。如圖3D — 5中圖示的,所放置的做市商塊的數(shù)量輸入已被連接到上面討論的加法器塊的輸出。所生成的編程代碼的標(biāo)記部分圖示了 CustomMarketMakerO類的虛擬方法“GetQty”已被推翻以返回AdderBlockO 的值。繼續(xù)該示例,如圖3D - 6中圖示的,已在離散輸出和離散輸入之間進(jìn)行連接。特別是,在做市商塊的離散履行輸出和值累加器塊的復(fù)位輸入之間進(jìn)行連接。值累加器塊是離散塊并與交易塊類似,添加新類(“CustomValueAccumulatorO”)(未圖示)。所生成的編程代碼的標(biāo)記部分圖不了新類(“CustomMarketMakerO” 和 “CustomValueAccumulatorO”)被例不,并且 MarketMakerBlockO 的事件“DiscreteObjectGenerated” 與用于 CustomA IgorithmO( “InterceptOrderMessage”)和 ValueAccumulatorBlockO( “ProcessResetMessage”)的事件處理器鏈接。由此,當(dāng)CustomMarketMakerO具有履行消息時(shí),其將點(diǎn)燃DiscreteObjectGenerated事件,并且將通知已被鏈接的所有處理器。在該情況下,當(dāng)通知ProcessResetMessage處理器時(shí),其將累加器值復(fù)位為O。繼續(xù)該示例,如圖3D — 7中圖示的,已在證券塊(“SimplelnstrumentBlockO”)和證券屬性塊(“InstrumentFieldBlockO”)之間進(jìn)行連接。證券塊被生成為“ InstrumentSnapshot ”類的實(shí)例,其基于接收的用于證券“ESZ0”的市場數(shù)據(jù)來更新其連續(xù)輸出。InstrumentSnapshot類提供了成員變量或性質(zhì),這些成員變量或性質(zhì)可被引用以得到用于證券的屬性的對應(yīng)值。例如,當(dāng)調(diào)用“SetAllVariables”(設(shè)置算法中的所有值)或“HandleUpdate”(通過某一連續(xù)值的更新而影響的設(shè)置值)方法時(shí),證券屬性塊將其值設(shè)置為證券塊的“.Bid”屬性。圖3E圖示了根據(jù)某些實(shí)施例的交易界面310。某些塊可被指定為“變量”。例如,常數(shù)塊、常量布爾塊、和證券塊可被指定為變量。變量區(qū)域313準(zhǔn)備修改變量塊。變量區(qū)域313顯示每一變量塊名稱及其缺省值。該變量區(qū)域可被選擇以改變變量塊名稱和/或其缺省值。變量也可被稱為算法的參數(shù)。如圖示的,設(shè)計(jì)帳篷區(qū)311包括已被指定為變量的兩個(gè)塊,證券塊321和常量塊322。例如當(dāng)放置塊時(shí)或者在放置塊之后,可將塊指定為變量。例如,可使用光標(biāo)來選擇塊,并然后可選擇菜單項(xiàng)來指定應(yīng)使得該塊為變量。塊指定的變量可利用例如不同顏色、邊界、背景、圖案、和/或文本來指示。這里,文本“ [Variable] ”已被附加到顯示的塊名稱。如上面討論的,變量區(qū)域313包括名稱列323和缺省值列324,名稱列323具有用于每一變量塊321和32的條目,而缺省值列324具有用于每一變量塊的對應(yīng)缺省值條目。例如,證券塊321被命名為“ InstrumentBlockO ”并具有缺省值“ESZ0”,而常量塊322被命名為“ConstantBlockO”并具有缺省值“5”。用戶可選擇列324中的缺省值條目,以改變變量塊的缺省值,使得在算法的評估中使用新缺省值。類似地,用戶可選擇名稱列323中的名稱條目,以改變相應(yīng)變量塊的名稱。變量塊321和322可通過例如改變變量塊的值(其充當(dāng)該算法的參數(shù)),而允許用戶操縱算法的行為(而不是基礎(chǔ)邏輯)。
控制區(qū)域314提供在設(shè)計(jì)算法時(shí)使用的控制??刂茀^(qū)域314可包括播放按鈕和暫停按鈕,用于啟動(dòng)和暫停算法的仿真。可使用算法的仿真來指示算法的邏輯將如何運(yùn)轉(zhuǎn)。另夕卜,控制區(qū)域314可包括生成按鈕(未示出),其可促使基于該算法生成編程代碼。當(dāng)沒有正基于算法的改變自動(dòng)生成編程代碼時(shí),可使用生成按鈕。當(dāng)設(shè)計(jì)的算法復(fù)雜并且在每次算法的修改之后的編程代碼的生成(以及如果合適,該編程代碼的隨后編譯)花費(fèi)不期望的長時(shí)間時(shí),這可以是可期望的。在某些實(shí)施例中,控制區(qū)域314可包括編譯按鈕(未示出),這將促使對基于該算法生成的編程代碼進(jìn)行編譯。當(dāng)沒有正基于算法的改變自動(dòng)生成和/或編譯編程代碼時(shí),可使用該編譯按鈕。當(dāng)正設(shè)計(jì)的算法復(fù)雜并且在每次算法的修改之后的編程代碼的編譯花費(fèi)不期望的長時(shí)間時(shí),這可以是可期望的。圖3F-3G圖示了根據(jù)某些實(shí)施例的交易界面310。交易界面310提供實(shí)時(shí)反饋特征。實(shí)時(shí)反饋特征對于設(shè)計(jì)帳篷區(qū)311中的特定塊提供用于該特定塊的值的顯示。例如,可對于該塊的一個(gè)或更多輸入和/或輸出顯示實(shí)時(shí)反饋值。實(shí)時(shí)反饋值可例如關(guān)于該塊或?qū)?yīng)輸入和/或輸出而顯示。只要塊的輸入或輸出的值改變,就可以更新實(shí)時(shí)反饋。注意, 一塊的輸出的改變可導(dǎo)致將第一塊的輸出(直接或間接)用作輸入的另一塊的輸出改變,這導(dǎo)致兩塊的實(shí)時(shí)反饋被更新。如圖3F中圖示的,各塊331已被放置在設(shè)計(jì)帳篷區(qū)311中。對于塊331的每一輸出,提供示出輸出的值的實(shí)時(shí)反饋332。注意,塊333是數(shù)字塊,并且不提供實(shí)時(shí)反饋,因?yàn)檩敵龅闹当皇境鲈趬K333自己的顯示中。在某些實(shí)施例中,對于某一放置塊的一個(gè)或更多輸入提供實(shí)時(shí)反饋。在某些實(shí)施例中,對于某一放置塊的輸入和輸出兩者提供實(shí)時(shí)反饋。在某些實(shí)施例中,對于設(shè)計(jì)帳篷區(qū)311中的所有塊提供實(shí)時(shí)反饋。證券塊的實(shí)時(shí)反饋顯示“GCJ1”的值。被配置為提供買入數(shù)量的證券屬性塊的實(shí)時(shí)反饋顯示值“3”,這代表證券GCJl的買入數(shù)量是3。加法器塊的實(shí)時(shí)反饋顯示值13,這是兩個(gè)輸入值3 (來自證券屬性塊)和10 (來自第一數(shù)字塊)之和。除法塊的實(shí)時(shí)反饋顯示值6. 5,這是將第一輸入值13 (來自加法器塊)除以第二輸入值2 (來自第二數(shù)字塊)的結(jié)果??梢圆惶峁τ谀承K的實(shí)時(shí)反饋,除非正對該算法進(jìn)行仿真。例如,如圖3G中圖示的,不提供對于做市商塊335的輸出的實(shí)時(shí)反饋。這是因?yàn)椋撬惴ㄕ谶\(yùn)行(例如,正在仿真),做市商塊335不操作并與市場交互。由此,做市商塊335不提供基于其操作的任何連續(xù)值(因?yàn)槠錄]有正進(jìn)行操作),也不生成任何離散事件(再次,因?yàn)槠錄]有正進(jìn)行操作)。也不提供對于值提取器塊336的輸出的實(shí)時(shí)反饋。這是因?yàn)?,值提取器塊336具有離散輸入,并由此其輸出僅具有當(dāng)接收到離散事件時(shí)的值。然而,除非該算法正在運(yùn)行,否則不接收離散事件。從算法自己提供要顯示的實(shí)時(shí)反饋值。例如,所生成的用于正設(shè)計(jì)的算法的編程代碼可包括更新諸如交易界面310的交易界面的顯示的附加指令。在某些實(shí)施例中,所生成的用于該算法的編程代碼不包括用于更新交易界面的顯示的附加指令,因?yàn)槔缰T如在算法服務(wù)器302上可以不存在交易界面。如圖3D-2和3D-3中圖示的,“SetAllVariables”方法當(dāng)被調(diào)用時(shí),調(diào)用“SendUpdate”方法。SendUpdate方法向用戶接口提供該更新所用于的塊的標(biāo)識、該更新所用于的特定輸出索引、以及值(這里,加法器塊的值)。由此,只要用于塊的值改變,就向用戶接口提供更新,以更新該實(shí)時(shí)反饋。SendUpdate方法還可以由生成導(dǎo)出的類的塊的基類調(diào)用,以提供用戶接口更新值。類似地,如圖3D-6中圖示的,“ InterceptOrderMessage” 事件處理器被注冊為當(dāng)事件 “DiscreteObjectGenerated” 發(fā)生時(shí)被調(diào)用。InterceptOrderMessage方法向用戶接口提供對應(yīng)離散事件的通知。由此,只要生成該離散事件,用戶接口就可以提供實(shí)時(shí)反饋。當(dāng)算法正在運(yùn)行時(shí)(例如當(dāng)其正在被仿真時(shí)),可對于設(shè)計(jì)帳篷區(qū)311中的所有塊提供實(shí)時(shí)反饋。因?yàn)樵谀承r(shí)間點(diǎn)發(fā)生離散事件,所以當(dāng)發(fā)生事件時(shí),可顯示離散事件的發(fā)生的指示符。例如,當(dāng)在離散輸入和/或輸出處發(fā)生離散事件時(shí),該輸入和/或輸出可閃光、改變顏色、大小、或形狀。作為另一示例,當(dāng)通過離散輸入和輸出之間的連接提供離散事件時(shí),該連接可閃光、改變顏色、大小、或形狀。作為另一示例,可提供沿著該連接的動(dòng)畫,以代表正沿著該連接從輸出向輸入提供的離散事件。該動(dòng)畫可以是例如沿著該連接移動(dòng)的圖標(biāo)(紅圓圈),或者該連接可搏動(dòng)(pulsate)。當(dāng)正在設(shè)計(jì)算法時(shí)以及當(dāng)正在運(yùn)行算法時(shí),實(shí)時(shí)反饋特征向用戶提供反饋。實(shí)時(shí)反饋可允許用戶評估該算法的邏輯如何運(yùn)轉(zhuǎn),包括算法的操作安全性和完整性、一般趨勢、 以及獲利/虧損可能性。 圖3H-3L圖示了根據(jù)某些實(shí)施例的交易界面310。交易界面310提供安全特征,以降低在設(shè)計(jì)算法時(shí)的潛在錯(cuò)誤。如圖3H中圖示的,證券塊341已被放置在設(shè)計(jì)帳篷區(qū)311中。然而,當(dāng)放置證券塊341時(shí),不指定證券,這是無效配置,因?yàn)槿绻€沒有指定證券,則證券塊不能輸出證券名稱。在證券塊341附近顯示警告指示符342 (這里,在紅圓圈中具有感嘆號(“!”)的圖標(biāo)),以指示存在問題,并且當(dāng)在證券塊341附近放置光標(biāo)時(shí),顯示該問題的解釋343。在某些實(shí)施例中,可顯示其他(或附加)指示符,以指示諸如設(shè)計(jì)帳篷區(qū)311的背景變成淺紅和/或在狀態(tài)條中顯示警告或錯(cuò)誤消息的問題。如圖31中圖示的,證券屬性塊344已被放置在設(shè)計(jì)帳篷區(qū)311中。然而,被配置為提供證券的最佳買入價(jià)的證券屬性塊344還沒有被提供需要的輸入提供最佳買入價(jià)的證券名稱。即,證券屬性塊344還沒有連接到證券塊(或可提供證券名稱的另一塊)。結(jié)果,算法定義是無效的。與圖3H中的情況類似,也顯示警告指示符和解釋。如圖3J中圖示的,證券屬性塊344和做市商塊345已被放置在設(shè)計(jì)帳篷區(qū)311中。用戶正嘗試將證券屬性塊344的輸出(具有數(shù)字值類型的連續(xù)輸出)連接到做市商塊345的證券輸入(具有證券值類型的連續(xù)輸入)。這些輸入和輸出的值類型是不兼容的,并所以將導(dǎo)致無效算法定義。指示符346 (這里,具有通過其的斜線的圓圈)被顯示在嘗試的連接線上,以指示連接無效。另外,還顯示解釋347。如果在連續(xù)輸出和離散輸入之間嘗試連接,則還可以提供類似反饋。如圖3K中圖示的,加法器塊348a和加法器塊348b已被放置在設(shè)計(jì)帳篷區(qū)311中。用戶正嘗試將加法器塊348b的輸出連接到加法器塊348a的輸入。然而,加法器塊348a的輸出已作為輸入連接到加法器塊348b。允許所嘗試的連接將導(dǎo)致生成的編程代碼的循環(huán)從屬性。特別是,嘗試生成編程代碼以確定加法器塊348a的值的步驟將導(dǎo)致無限循環(huán)。由此,這樣的算法定義是無效的,并且與圖3J中提供的反饋類似,該連接被指示為無效的并顯示解釋。如圖3L中圖示的,發(fā)生器塊349a、漏斗塊349b、值提取器塊349c和值累加器塊349d已被放置在設(shè)計(jì)帳篷區(qū)311中。用戶正嘗試將值累加器塊349d的離散輸出連接到漏斗塊349b的離散輸入。然而,漏斗塊34%、值提取器塊349c和值累加器塊349d中的每一個(gè)是通過塊,從而接收的每一離散事件通過到對應(yīng)離散輸出輸出。由此,當(dāng)離散事件由發(fā)生器塊349a (也連接到漏斗塊349b)提供時(shí),其將被傳遞通過每一連接的塊。允許嘗試的連接將導(dǎo)致生成的編程代碼的無限循環(huán)。特別是,生成的編程代碼將在處理發(fā)生器塊所提供的離散事件時(shí),將離散事件順序地?zé)o限傳遞到每一塊以處理,其中該處理包括將離散事件提供到循環(huán)中的下一塊。由此,這樣的算法定義是無效的,并且與圖3J提供的反饋類似的,連接被指示為無效的,并且顯示解釋。在某些實(shí)施例中,可以在交易界面310的單獨(dú)區(qū)域中提供警告和/或錯(cuò)誤消息。這例如可允許用戶容易地瀏覽所有仍存在的警告和錯(cuò)誤,而無需個(gè)別檢查每一塊。圖3M-3R圖示了根據(jù)某些實(shí)施例的交易界面310。交易界面310提供分組特征,以允許例如降低混亂(clutter)、使能算法的部分的重新使用(包括創(chuàng)建可在算法之間共享的模塊),并使能虛擬化特征。降低混亂和算法的部分的重新使用可導(dǎo)致較好的算法,因?yàn)槠浣档土怂惴ㄔO(shè)計(jì)中錯(cuò)誤的可能性。下面討論虛擬化特征的優(yōu)點(diǎn)。
如圖3M中圖示的,已設(shè)計(jì)了簡單倒賣(scalping)算法。作為縱覽,倒賣算法將按照最好買入價(jià)買入,并然后按照履行價(jià)格之上的一個(gè)交易增量賣出,獲得每個(gè)單位買入和賣出一個(gè)交易增量的利潤。更具體地,該算法包括買入做市商塊351和賣出做市商塊352。買入做市商塊351被提供有證券塊所指定的買入證券(“ESZ0”)。買入做市商塊351被提供有提供該證券的最好買入價(jià)的證券字段塊所指定的買入價(jià)。買入做市商塊351被提供有數(shù)目塊所指定的固定買入數(shù)量10。當(dāng)買入做市商塊351接收其正工作的買入訂單的履行確認(rèn)時(shí),生成離散事件。賣出做市商塊352將為賣出訂單工作,以沖銷(cover)買入做市商塊351所持有的頭寸。賣出做市商塊352被提供有相同賣出證券(“ESZ0”)。賣出做市商塊352被提供有由向履行價(jià)格(當(dāng)接收到履行確認(rèn)時(shí),由值提取器塊從買入做市商塊351所生成的離散事件中提供)添加該證券的最小價(jià)格增量(由證券字段塊提供)的加法器塊所指定的賣出價(jià)格。賣出做市商塊352被提供有提供已由買入做市商塊351買入的累加數(shù)量的累加器塊所指定的賣出數(shù)量,這是從當(dāng)買入做市商塊351接收到履行確認(rèn)時(shí)所生成的離散事件中提取的。由此,當(dāng)運(yùn)行算法時(shí),買入做市商塊351將按照最佳買入價(jià)買入數(shù)量10,并按照履行價(jià)格加上最小價(jià)格增量來賣出(可能跨越多個(gè)賣出訂單)數(shù)量10。如圖3N中圖示的,與該算法的沖銷邏輯部分關(guān)聯(lián)的塊已通過繪制圍繞它們的框353而選擇。也可以使用其他用戶接口技術(shù)來選擇用戶感興趣的塊,諸如與按下shift或control鍵組合用光標(biāo)選擇。一旦已選擇了塊,它們可通過諸如選擇菜單項(xiàng)的動(dòng)作來分組。如圖30中圖示的,所分組的塊然后在其中包括這些塊的縮略圖像的組塊353中顯示。組塊353通過降低所示的塊和連接的數(shù)目,來降低設(shè)計(jì)帳篷區(qū)311中的混亂。另外,組塊可被保存在模塊庫中,使得其可裝載到另一算法中并被重新使用。組塊也可被稱為已分組的塊。組塊中的塊可被稱為例如定義的算法的一部分、子算法、或子例程。組塊353可被創(chuàng)建有與由不在組塊353中的塊的輸出提供值的組塊353中的塊的輸入對應(yīng)的輸入354。例如,如圖30中圖示的,組塊353具有連續(xù)證券輸入和離散輸入。連續(xù)證券輸入對應(yīng)于賣出做市商塊352和確定最小價(jià)格增量的證券字段塊的連續(xù)證券輸入。離散輸入對應(yīng)于累加器塊和值提取器塊的離散輸入。組塊353可被選擇,并然后使用諸如選擇菜單項(xiàng)或雙點(diǎn)擊的動(dòng)作,組塊353中包括的塊可被編輯。如圖3P中圖示的,可按照相同方式顯示和操縱具有與設(shè)計(jì)帳篷區(qū)311類似的設(shè)計(jì)帳篷區(qū)的新窗口。組塊353包括兩個(gè)新輸入塊355和356,它們對應(yīng)于組塊353的輸入。輸入塊355對應(yīng)于組塊353的連續(xù)證券輸入,而輸入塊356對應(yīng)于組塊353的離散輸入。每一輸入塊355和356具有提供值的單一輸出,該值被提供到組塊353的相應(yīng)輸入。盡管因?yàn)榻M塊353中沒有塊具有與組塊353外部的塊相連的輸出、所以在圖3P中沒有示出,但是組塊也可包括輸出塊。與上面討論的輸入塊類似,輸出塊對應(yīng)于組塊的輸出。組塊中具有與輸出塊相連的輸出的塊將向與組塊的對應(yīng)輸出相連的組塊外部的塊提供值。
當(dāng)設(shè)計(jì)組塊時(shí),可放置輸入塊和輸出塊以創(chuàng)建用于組塊的輸入和輸出。當(dāng)放置時(shí),可提示用戶指定輸入或輸出的類型。作為選擇,輸入或輸出塊可缺省為諸如連續(xù)數(shù)字的預(yù)定義類型。輸入或輸出塊的類型可例如通過選擇輸入或輸出并使用提示鍵入類型的諸如菜單項(xiàng)或雙點(diǎn)擊的動(dòng)作,在該算法的設(shè)計(jì)期間由用戶改變。類似地,用戶還可以指定輸入或輸出塊的名稱(以及由此組塊的對應(yīng)輸入或輸出)。組塊可包括另一組塊。該組塊的嵌套允許算法的各部分的較少混亂和潛在較大的可再用性。當(dāng)生成程序代碼時(shí),生成組塊作為用于正設(shè)計(jì)的算法的主CustomAlgorithmO類中嵌套的Algorithm類的子類。當(dāng)在其他組塊中嵌套組塊時(shí),生成的編程代碼類似地嵌套每一生成的子類。另外,任何非原語塊可在它們的最接近的組塊父母中聲明和定義。這樣,例如,如果組塊被嵌套三個(gè)組塊深度并且它在其中具有做市商塊(非原語塊的示例),則做市商塊的子類將駐留在三級深度導(dǎo)出的算法類中。返回到上面討論的倒賣算法,如圖3M中圖示的,該算法具有缺陷??梢曰貞浺幌?,倒賣算法目標(biāo)在于按照最好買入價(jià)買入,并然后按照履行價(jià)格之上的一個(gè)交易增量賣出,獲得每個(gè)單位買入和賣出一個(gè)交易增量的利潤。如果買入做市商塊351接收到其下訂的買入訂單的整個(gè)數(shù)量10的單一履行,則算法將按照預(yù)期操作。然而,如果按照多于一個(gè)價(jià)格水平接收到多于一個(gè)履行確認(rèn),則算法將不按照期望起作用。例如,假設(shè)買入做市商塊351為訂單工作以按照最佳買入價(jià)114125買入數(shù)量10。然后,對于數(shù)量3接收到第一履行確認(rèn)(由此,第一履行是按照履行價(jià)格114125的數(shù)量3)。響應(yīng)于該履行,賣出做市商塊351將為訂單工作以按照114150的價(jià)格(114125 (履行價(jià)格)+ 25 (最小價(jià)格增量))賣出數(shù)量3。現(xiàn)在假設(shè)最佳買入價(jià)降低到114100。買入做市商塊351將然后對于數(shù)量7將其工作訂單重新報(bào)價(jià)為新的(并且現(xiàn)在較低的)最佳買入價(jià)。然后,對于數(shù)量7接收第二履行確認(rèn)(由此,第二履行是按照履行價(jià)格114100對于數(shù)量7的)。所以,倒賣算法的期望行為是應(yīng)按照114150 (114125 + 25)的價(jià)格下訂數(shù)量3 (沖銷第一履行)的第一賣出訂單、并應(yīng)按照114125 (114100 + 25)的價(jià)格下訂數(shù)量7 (沖銷第二履行)的第二賣出訂單。然而,圖3M中圖示的算法將不正確地為訂單工作以實(shí)現(xiàn)期望行為。當(dāng)接收到第一履行時(shí),賣出做市商塊352將下訂第一沖銷訂單以按照114125 + 25的價(jià)格賣出數(shù)量3。然而,如果在履行第一沖銷訂單之前接收到第二履行,則從累加器塊接收新報(bào)價(jià)數(shù)量(其被更新為反映現(xiàn)在已履行了數(shù)量10)的賣出做市商塊352將按照價(jià)格114100 + 25 (最近訂單的價(jià)格(第二履行)加上最小價(jià)格增量)數(shù)量10為其沖銷訂單工作。結(jié)果,第一履行將不按照期望價(jià)格得到?jīng)_銷(這是不意欲的和/或不期望的行為)。這里,如果完全履行該沖銷訂單,則沖銷訂單的整個(gè)數(shù)量10將按照相同價(jià)格履行,即使該算法的期望行為將用于要按照接收的每一履行所特定的價(jià)格和數(shù)量工作的沖銷訂單。交易應(yīng)用300的虛擬化特征解決該本質(zhì)的問題。組塊可被選擇,并然后使用諸如選擇菜單項(xiàng)的動(dòng)作,該組塊可被指定為虛擬化的。如圖3Q中圖示的,組塊353已被虛擬化,并且這通過將組塊353的邊界從實(shí)線改變?yōu)樘摼€來指示。在某些實(shí)施例中,組塊可按照其他方式被指定為虛擬化的,諸如向塊的名稱附加文本、改變邊界顏色、背景顏色、或背景圖案。對于向虛擬化組塊提供的每一離散事件創(chuàng)建虛擬化組塊的實(shí)例。即,每次在虛擬化組塊處接收到離散事件時(shí),創(chuàng)建該虛擬化組塊的新實(shí)例以處置離散事件。這解決了上面討論的期望行為由組塊的邏輯基于該離散事件特定的信息而處置每一離散事件。繼續(xù)以上示例,但是將組塊353指定為虛擬化的,用于履行的買入做市商塊351所生成的每一離散事件將導(dǎo)致虛擬化組塊353的新實(shí)例被創(chuàng)建為處置那個(gè)特定離散事件。所以,要虛擬化的每個(gè)組塊必須具有離散事件輸入,因?yàn)檫@是向促使創(chuàng)建新實(shí)例的虛擬化組塊通知該離散事件。一旦已對虛擬化組塊進(jìn)行了實(shí)例化,那個(gè)特定實(shí)例就不再從其范圍外部(即,從不在虛擬化組塊內(nèi)的塊)接收離散事件。相反,來自虛擬化組塊的范圍外部的任何隨后離散事件將導(dǎo)致虛擬化組塊的新實(shí)例的創(chuàng)建。然而,離散事件仍然可以由虛擬化組塊內(nèi)的塊生成和處理,并且在虛擬化組塊內(nèi)部生成的離散事件可以被提供到虛擬化組塊的離散輸入。圖3R在概念上圖示了當(dāng)買入做市商塊351已生成三個(gè)離散事件時(shí),算法的邏輯將如何工作。響應(yīng)于來自買入做市商塊351的三個(gè)離散事件的每一個(gè),組塊353的三個(gè)實(shí)例被實(shí)例化。注意,所顯示的算法將實(shí)際上僅示出圖3Q中圖示的單一虛擬化組塊353,并且僅示出圖3R中示出的三個(gè)實(shí)例以指示對組塊進(jìn)行虛擬化的概念。在某些實(shí)施例中,可指示組塊的實(shí)例的數(shù)目。例如,實(shí)例的數(shù)目可通過示出虛擬化組塊的堆棧按照圖3R所示類似的方式用圖形來指示,其中堆棧的尺寸代表已實(shí)例化的虛擬化組塊的實(shí)例的數(shù)目。作為另一示例,實(shí)例的數(shù)目可通過作為已實(shí)例化的虛擬化組塊的示例的數(shù)目的計(jì)數(shù)而代表的組塊中(例如角落中)顯示的數(shù)目來指示。另外,虛擬化組塊不能具有連續(xù)輸出(然而,其可具有離散輸出),因?yàn)檫@樣的輸出的值沒有被進(jìn)行語法定義。這是因?yàn)榭纱嬖谔摂M化組塊的多于一個(gè)實(shí)例(或者,如果還沒有接收到用于其的離散事件,則潛在地沒有實(shí)例)并且由此這樣的連續(xù)輸出可同時(shí)具有不同值(或根本沒有值)。另外,虛擬化組塊可以不包括指定為變量的塊,因?yàn)樵谔摂M化組塊被實(shí)例化之前,該變量將不“存在”。虛擬化組塊可包括另一組塊或另一虛擬化組塊,正如上面討論地那樣組塊可以被嵌套。當(dāng)生成程序代碼時(shí),生成虛擬化組塊作為Algorithm類的子類,與上面討論的非虛擬化組塊類似。然而,不是當(dāng)維持主CustomAlgorithmO類(用于虛擬化組塊的子類的初始空的列表)時(shí)以及當(dāng)要向與虛擬化組塊對應(yīng)的子類提供離散事件時(shí)進(jìn)行實(shí)例化,而是創(chuàng)建虛擬化組塊子類的新實(shí)例??蛻魴C(jī)裝置和算法服務(wù)器之間的網(wǎng)絡(luò)連接可被不預(yù)期地切斷。例如客戶機(jī)裝置連接到算法服務(wù)器所使用的因特網(wǎng)服務(wù)供應(yīng)商(“ISP”)可具有路由器故障或物理上切斷的通信鏈路,這可破壞客戶機(jī)裝置和算法服務(wù)器之間的通信。作為另一示例,網(wǎng)絡(luò)中的中間節(jié)點(diǎn)可發(fā)生故障,而且破壞客戶機(jī)裝置和算法服務(wù)器之間的通信。作為另一示例,客戶機(jī)裝置可崩潰(crash ),破壞到算法服務(wù)器的連接。在當(dāng)前系統(tǒng)中,當(dāng)破壞這樣的連接時(shí),算法中止或繼續(xù)運(yùn)行,而沒有認(rèn)識到連接已被破壞。在前一情況下,交易者可被留在不能容易地(或潛在地根本不能,因?yàn)樗倪B接出現(xiàn)故障)走出的敞口頭寸(open position)。在后一,清況下,交易者可能不能修改用于關(guān)閉或停止算法的參數(shù),該算法不再正確操作或者該算法可能不適于市場中的條件變化。通常,交易者運(yùn)行可能非常有風(fēng)險(xiǎn)的算法,并且他們可能期望能夠一經(jīng)通知(at moment’s notice)就關(guān)斷算法或者改變參數(shù)。在某些實(shí)施例中,一個(gè)或更多塊可被指定為知道客戶機(jī)裝置和算法服務(wù)器之間的連接狀態(tài)。例如,當(dāng)下訂時(shí),用戶可被呈現(xiàn)選項(xiàng),以指定即使客戶機(jī)裝置和運(yùn)行該算法的算法服務(wù)器之間的連接斷開,該塊也應(yīng)繼續(xù)運(yùn)行。該選項(xiàng)還可以通過選擇該塊并使用諸如菜單項(xiàng)或鍵盤命令的動(dòng)作來指定。作為缺省,當(dāng)客戶機(jī)裝置和算法服務(wù)器之間的連接被破壞時(shí),算法可暫?;蛑兄?。在某些實(shí)施例中,即使客戶機(jī)裝置和運(yùn)行該算法的算法服務(wù)器之間的連接斷開,整個(gè)算法也被指定為繼續(xù)運(yùn)行。 例如,做市商塊可具有選項(xiàng),以即使客戶機(jī)裝置和算法服務(wù)器之間的連接被破壞,也保持市場中由做市商塊生成的訂單。在算法的保值或沖銷訂單部分中使用的做市商塊可按照該方式配置,使得即使因?yàn)檫B接被破壞使得下那些訂單的算法的那部分不再運(yùn)行,該算法的另一部分所持有的任何頭寸也將按照期望被保值或沖銷。在某些實(shí)施例中,可向提供代表客戶機(jī)裝置和算法服務(wù)器之間的連接的狀態(tài)的連續(xù)布爾輸出的正設(shè)計(jì)的算法添加輸入塊。塊然后可以采取來自該連接狀態(tài)輸入塊的值作為輸入,以控制它們的行為。例如,連接狀態(tài)輸入塊可連接到做市商塊的條件輸入,使得當(dāng)連接狀態(tài)為真時(shí)(代表連接),做市商塊僅使訂單工作。一旦已在交易界面310中定義了算法,可保存該算法。算法可被給予名稱(例如,在正建造算法的同時(shí)和/或當(dāng)保存算法時(shí))。保存的算法可然后在將來時(shí)間利用交易界面310或另一交易界面來調(diào)用或引用。例如,可利用交易界面310裝載所保存的算法,使得其可在另一訂單上被編輯或重新使用。作為另一示例,保存的算法可以如下面討論的從另一交易界面被引用為訂單類型。上面討論的交易界面310的組件、元素和/或功能性可例如按照硬件、固件、和/或作為軟件指令集的各種形式,單獨(dú)實(shí)現(xiàn)或組合實(shí)現(xiàn)。某些實(shí)施例可被提供為駐留在諸如存儲器、硬盤、CD-ROM、DVD、EPR0M、和/或文件服務(wù)器的計(jì)算機(jī)可讀介質(zhì)上的指令集,用于在通用目的計(jì)算機(jī)或其他處理裝置上執(zhí)行。IV.發(fā)起和管理算法某些實(shí)施例準(zhǔn)備啟動(dòng)要通過選擇為訂單類型的算法來管理的訂單的下訂。某些實(shí)施例準(zhǔn)備啟動(dòng)要通過從值軸選擇的用戶定義的交易算法來管理的訂單的下訂。某些實(shí)施例準(zhǔn)備在算法正管理訂單時(shí)改變算法的變量。某些實(shí)施例準(zhǔn)備手動(dòng)修改算法正管理的訂單。某些實(shí)施例準(zhǔn)備向未管理的訂單分配算法來管理訂單。某些實(shí)施例準(zhǔn)備顯示正通過值軸上的不同的用戶定義的交易算法所管理的工作訂單。圖4A-4F圖示了根據(jù)某些實(shí)施例的交易界面。如圖4A中圖示的,交易界面410是允許將保存的算法選擇為訂單類型的訂單票據(jù)。保存的算法可能已經(jīng)使用例如與上面討論的交易界面200和310類似的交易界面保存。保存的算法可以使用選擇界面415來選擇,選擇界面415如圖示的提供包括標(biāo)準(zhǔn)訂單類型(諸如限價(jià)和市場)以及保存的算法的下拉(drop-down)列表。在某些實(shí)施例中,選擇界面415包括用于從可用的保存的算法中進(jìn)行選擇的其他元素。例如,選擇界面415可打開履行導(dǎo)航器,以瀏覽特定算法。作為另一示例,選擇界面415可包括已基于算法類型按照等級分類的保存算法的樹形圖。交易界面420是簡化訂單票據(jù),其還允許利用選擇界面415選擇保存算法作為訂單類型。當(dāng)從交易界面410或420啟動(dòng)訂單并且已將保存的算法選擇為訂單類型時(shí),根據(jù)選擇的算法管理訂單。如果選擇的算法已被配置為采取來自交易界面的參數(shù)(諸如訂單票據(jù)價(jià)格或數(shù)量),則在算法運(yùn)行時(shí),交易界面410或420中指定的值將被提供給算法。
如圖4B — 4C圖示的,在已使用選擇界面415選擇了算法訂單類型之后,示出了交易界面430 (與上面討論的交易界面410類似的訂單票據(jù)風(fēng)格交易界面)和交易界面440(市場深度階梯或軸風(fēng)格交易界面)。這里,選擇的算法與圖21中圖示的類似。交易界面440可以包括值軸,其包括對應(yīng)于或基于可交易對象的價(jià)格水平的值。這些值可以例如是可交易對象的價(jià)格(例如價(jià)格軸)。與可交易對象相關(guān)的信息(諸如在與值軸中的值對應(yīng)的價(jià)格水平處可用的數(shù)量)也可以沿著值軸顯示。算法的變量分別在變量區(qū)域435和445中示出,并可在啟動(dòng)訂單之前改變。變量區(qū)域435被合并在交易界面430中作為相同窗口的一部分。變量區(qū)域445被合并在交易界面440中作為單獨(dú)窗口。變量區(qū)域435和445中的變量缺省為在變量區(qū)域206的缺省值列272中指定的值,如圖21圖示的。當(dāng)改變時(shí),啟動(dòng)的訂單將根據(jù)利用改變的變量值選擇的算法工作。如圖4D中圖示的,交易界面450是示出市場中工作的訂單的訂單簿。這里,選擇正根據(jù)算法(也與圖21中圖示的類似)工作的訂單451。算法的變量在變量區(qū)域455 (與變量區(qū)域435和445類似)中示出并可以改變。當(dāng)改變(并應(yīng)用改變)時(shí),算法將根據(jù)改變的變量值繼續(xù)運(yùn)行。在不暫?;蛲V顾惴ǖ那闆r下,變量的改變成為有效的。在某些實(shí)施例中,交易界面450允許用戶手動(dòng)修改算法正管理的訂單。例如,用戶可改變訂單的價(jià)格或數(shù)量或者刪除訂單。作為響應(yīng),管理訂單的算法可改變訂單價(jià)格,其可以改變訂單數(shù)量,其可以不干任何事,或者其可以不執(zhí)行新動(dòng)作,而是僅具有基于手動(dòng)修改的新信息或閾值,以例如根據(jù)算法定義來使用。在某些實(shí)施例中,交易界面450可包括算法沒有管理的訂單(例如,手動(dòng)鍵入訂單)??蛇x擇未管理的訂單,并且可向其應(yīng)用算法。例如,用戶可選擇未管理的訂單,并使用諸如菜單項(xiàng)或鍵盤命令的動(dòng)作,而被呈現(xiàn)可用算法的列表,以施加到所選擇的未管理訂單??捎盟惴ǖ牧斜砜砂ɡ绨ㄓ唵螇K的保存的算法。當(dāng)施加到選擇的未管理訂單時(shí),所選擇的算法可然后根據(jù)該算法管理訂單。作為另一示例,用戶可選擇未管理的撤銷前有效(“GTC”)訂單,并向其施加所選擇的算法,使得該算法可管理跨越將來交易會話的訂單。如圖4E中圖示的,交易界面460是市場深度階梯或軸風(fēng)格交易界面,與上面討論的交易界面440類似。幾個(gè)訂單已被啟動(dòng),并被圖示為按照不同價(jià)格水平工作。訂單461被啟動(dòng)為利用第一算法管理,而訂單462被啟動(dòng)為利用第二算法管理。由此,交易界面460準(zhǔn)備顯示根據(jù)相同算法管理的多個(gè)工作訂單的單一界面。另外,交易界面460準(zhǔn)備顯示根據(jù)多個(gè)算法管理的工作訂單的單一界面。在某些實(shí)施例中,根據(jù)特定算法管理的工作訂單被公共標(biāo)識。例如,與第一算法關(guān)聯(lián)的每一工作訂單可按照圖形標(biāo)識,例如按照特定背景顏色、前景顏色、背景圖案、邊界顏色、邊界風(fēng)格、形狀、符號、數(shù)字、文本、和/或字體。與第二算法關(guān)聯(lián)的工作訂單可然后例如使用不同顏色、圖案、邊界、形狀、符號、數(shù)字、文本、和/或字體來標(biāo)識。在某些實(shí)施例中,根據(jù)特定算法管理的工作訂單被個(gè)別標(biāo)識。例如,與相同算法的不同實(shí)例關(guān)聯(lián)的每一工作訂單可利用諸如顏色、圖案、邊界、形狀、符號、數(shù)字、文本、和/或字體的標(biāo)識符來區(qū)分于與該算法的不同實(shí)例關(guān)聯(lián)的其他工作訂單。根據(jù)算法的第一實(shí)例管理的訂單可在它們的工作訂單指示符的角落具有數(shù)字“1”,而根據(jù)算法的第二實(shí)例管理的訂單可在它們的工作訂單指示符的角落具有數(shù)字“2”。通過某一算法的不同實(shí)例管理的工 作訂單的指示可以與上面討論的通過不同算法管理的工作訂單的指示組合施加。如圖4F中圖示的,交易界面470是算法管理器。交易界面470還可以被稱為座艙或儀表板。交易界面470包括可用算法的列表471??蓮牧斜?71中選擇特定算法。當(dāng)選擇算法時(shí),在視圖區(qū)域472中顯示所選擇的算法的視圖,并還顯示運(yùn)行所選擇的算法的實(shí)例的列表473。如圖示的,視圖區(qū)域472可示出使用與上面討論的交易界面310類似的交易界面進(jìn)行的算法定義。然而,視圖區(qū)域472還可以顯示使用與上面討論的交易界面200類似的交易界面定義的算法的視圖。運(yùn)行所選擇的算法的實(shí)例的列表473可包括關(guān)于運(yùn)行實(shí)例的信息,諸如其被啟動(dòng)的時(shí)間、其頭寸、狀態(tài)、利潤和虧損、工作訂單的數(shù)目、履行訂單的數(shù)目、下訂最近訂單所用于的和/或接收履行所用于的證券、和/或訂單賬戶信息。另外,變量區(qū)域474顯示所選擇的算法的變量以及用于所選擇的算法的選擇實(shí)例的那些變量的值。變量區(qū)域474與上面討論的變量區(qū)域435、445和455類似。可改變用于所選擇的算法的選擇實(shí)例的變量。當(dāng)改變(并且施加改變)時(shí),算法將根據(jù)改變的變量值繼續(xù)運(yùn)行。在暫停或停止算法的情況下,變量的改變成為有效的。在某些實(shí)施例中,當(dāng)算法所管理的訂單在交易會話關(guān)閉時(shí)未履行時(shí),諸如交易界面200、290、310、410、420、430、440、450、460、和/或470的交易界面適于允許用戶指定行為。例如,交易界面可允許用戶指定算法所管理的未履行訂單應(yīng)被取消,并且算法停止。作為另一示例,交易界面可允許用戶指定算法所管理的未履行訂單應(yīng)該在下一交易會話開始時(shí)繼續(xù)被管理。作為另一示例,交易界面可允許用戶指定算法所管理的未履行訂單應(yīng)該在下一交易會話開始時(shí)暫停,并當(dāng)用戶未暫停時(shí),重新開始由該算法管理。上面討論的交易界面410、420、430、440、450、460和470的組件、元素和/或功能性可例如按照硬件、固件、和/或作為軟件指令集的各種形式,單獨(dú)實(shí)現(xiàn)或組合實(shí)現(xiàn)。某些實(shí)施例可被提供為駐留在諸如存儲器、硬盤、CD-ROM、DVD、EPROM、和/或文件服務(wù)器的計(jì)算機(jī)可讀介質(zhì)上的指令集,用于在通用目的計(jì)算機(jī)或其他處理裝置上執(zhí)行。V.排列工具圖5圖示了根據(jù)某些實(shí)施例的排列工具500??墒褂门帕泄ぞ?00用于例如排列保值選項(xiàng)。在期貨交易中,最通常策略之一是“價(jià)差交易”,這是這樣的方法,借助于該方法,在一個(gè)證券中具有市場定向風(fēng)險(xiǎn)影響的交易者樂于通過在一個(gè)或多個(gè)類似證券中下訂交易,以偏移、最小化、或減少交易者的風(fēng)險(xiǎn)的變化,來防范他的風(fēng)險(xiǎn)。啟動(dòng)兩個(gè)頭寸的兩個(gè)價(jià)格創(chuàng)建組合或價(jià)差價(jià)格。交易者可以然后最終嘗試進(jìn)行解開敞口頭寸的交易,最好是按照從他啟動(dòng)頭寸的價(jià)格獲利的價(jià)差價(jià)格差。對于一些自動(dòng)交易程序,保值技術(shù)可被實(shí)現(xiàn)為自動(dòng)防范對于交易者的風(fēng)險(xiǎn)。保值技術(shù)可自動(dòng)操作以在一個(gè)特定證券中保值,或者可被編程為根據(jù)預(yù)先編程的方法在多個(gè)證券選擇中進(jìn)行選擇。然而,當(dāng)前系統(tǒng)不準(zhǔn)備不依賴于預(yù)先確定的證券選擇的保值交易。啟動(dòng)非自動(dòng)操作價(jià)差交易頭寸(特別是對于做市商來說)的困難在于,由于技術(shù)的速度增益,所以更有效地保值人們的交易的機(jī)會已變得非常困難。由于它們在市場中的流動(dòng)資金提供角色的本質(zhì),所以做市商被頻繁通知它們正為對方提供流動(dòng)資金(即,正接收交易執(zhí)行)的無公告或者準(zhǔn)備工作。對于做市商或可突然獲取敞口交易頭寸的任何交易者來說,當(dāng)啟動(dòng)價(jià)差的第一腿的時(shí)間和當(dāng)交易者可保值該交易的時(shí)間之間的時(shí)間間隙已成為對于有效保值和風(fēng)險(xiǎn)管理的嚴(yán)重?fù)p害。不能迅速保值交易的交易者可虧損幾百、幾千、或甚至幾百萬美元。交易者不僅必須花費(fèi)時(shí)間來判斷哪個(gè)證券是他們的要保值的最佳證券,而且他們必須執(zhí)行保值交易。 某些實(shí)施例提供排列工具500,其在手動(dòng)保值交易時(shí)提供兩個(gè)有區(qū)別的速度優(yōu)勢,以最佳創(chuàng)建(但不限于創(chuàng)建)價(jià)差頭寸。第一方面使得用戶預(yù)先選擇通過參數(shù)的預(yù)先編程的方法恒定分析的一組證券,以按照優(yōu)選順序來確定(哪些)哪個(gè)證券是在任何特定時(shí)刻買入或賣出的最有利的證券。在一個(gè)實(shí)施例中,該技術(shù)可被實(shí)現(xiàn)為在正考慮程序的證券中分析現(xiàn)有價(jià)差市場中的各種買入/賣出級別。在另一實(shí)施例中,其可以著眼于交易者的交易頭寸總量(inventory),來判斷哪個(gè)保值交易將幫助交易者最好降低它的總體風(fēng)險(xiǎn)。事實(shí)上,該系統(tǒng)的執(zhí)行處理之后的方法是無限的。該信息可以由交易者使用,以去除判斷利用哪個(gè)證券防范他們的風(fēng)險(xiǎn)所需的時(shí)間。除了自動(dòng)分析哪個(gè)證券提供最佳保值的能力之外,排列工具500的另一方面在于其可用于實(shí)際自動(dòng)鍵入買入或賣出訂單或訂單組,以根據(jù)前述預(yù)先編程的保值方法來執(zhí)行市場中可用的“最好”保值或保值組。僅需要的交易者的潛在動(dòng)作在于預(yù)先選擇考慮的證券,鍵入期望數(shù)量(其可以是預(yù)置的),并點(diǎn)擊交易界面上的買入或賣出執(zhí)行標(biāo)題。該自動(dòng)操作的保值留給交易者應(yīng)按照與交易者的期望排列方法結(jié)盟的有利價(jià)差價(jià)格累加的各種保值交易總量。排列工具500對于運(yùn)行執(zhí)行以下交易的風(fēng)險(xiǎn)的任何交易者是有用的,該交易可能變得難以在大量市場環(huán)境下保值。排列工具500包括選擇區(qū)域510,具有用戶可標(biāo)識或選擇用于分析的可交易對象的列表。在該示例中,列出的可交易對象是各個(gè)月的歐洲美元期貨?!白詈谩绷?最好買入520和最好賣出530)按照順序顯示所選擇的證券的排列,其中該示例中的買入520基于當(dāng)前賣出價(jià)排列,而賣出基于當(dāng)前買入價(jià)排列。排列工具500的訂單票據(jù)部分540允許用戶根據(jù)排列系統(tǒng)來鍵入買入或賣出的數(shù)量。買入和賣出按鈕允許期望證券的自動(dòng)執(zhí)行。在該系統(tǒng)中,用戶具有各種選擇550,包括僅買入/賣出排列第一的證券的選擇、履行所有選擇的證券的選擇、或者如果必要時(shí)循環(huán)的選擇。例如,在第一位置處的證券可用的數(shù)量不滿足交易者的期望數(shù)量的情況下,排列工具500可按照初始價(jià)格使得該證券中的限價(jià)訂單工作。更激進(jìn)的方案在于執(zhí)行第一位置處的證券可用的任何數(shù)量,并且如果必要?jiǎng)t繼續(xù)前進(jìn)以自動(dòng)保值接下來的合約。自動(dòng)執(zhí)行將僅工作到列表的底部(在該示例中排列第5),并且如果還沒有滿足與其關(guān)聯(lián)的數(shù)量,則通過在所有列出的月份中交易到更高而使得限價(jià)訂單工作。如果必要的話(諸如當(dāng)存在純市場訂單時(shí)),排列工具500可循環(huán),并且當(dāng)在列表的頂部重新開始時(shí),應(yīng)用將繼續(xù)到下一可用價(jià)格。上面討論的排列工具500的組件、元件、和/或功能性可例如按照硬件、固件、和/或作為軟件指令集的各種形式,單獨(dú)實(shí)現(xiàn)或按組合實(shí)現(xiàn)。某些實(shí)施例可被提供為駐留在諸如存儲器、硬盤、CD-ROM、DVD、EPROM、和/或文件服務(wù)器的計(jì)算機(jī)可讀介質(zhì)上的指令集,用于在通用目的計(jì)算機(jī)或其他處理裝置上執(zhí)行。VI.示例計(jì)算裝置圖6圖示了根據(jù)某些實(shí)施例的計(jì)算裝置600的框圖??蛻魴C(jī)裝置110可包括例如一個(gè)或多個(gè)計(jì)算裝置600??蛻魴C(jī)裝置301可包括例如一個(gè)或多個(gè)計(jì)算裝置600。算法服務(wù)器302可包括諸如一個(gè)或多個(gè)計(jì)算裝置600。網(wǎng)關(guān)120可包括諸如一個(gè)或多個(gè)計(jì)算裝置 600。交易所130可包括諸如一個(gè)或多個(gè)計(jì)算裝置600。交易所303可包括諸如一個(gè)或多個(gè)計(jì)算裝置600。計(jì)算裝置600包括總線610、處理器620、存儲器630、網(wǎng)絡(luò)接口 640、顯示裝置650、輸入裝置660、和輸出裝置670。計(jì)算裝置600可包括附加、不同、或更少組件。例如,可提供多個(gè)總線、多個(gè)處理器、多個(gè)存儲裝置、多個(gè)網(wǎng)絡(luò)接口、多個(gè)顯示裝置、多個(gè)輸入裝置、多個(gè)輸出裝置、或其任何組合。作為另一示例,計(jì)算裝置600可以不包括與顯示裝置650分離的輸出裝置670。作為另一示例,計(jì)算裝置600可以不包括顯示裝置650。作為另一示例,計(jì)算裝置600可以不包括輸入裝置660。取代的是,例如,計(jì)算裝置600可以由外部或遠(yuǎn)程輸入裝置經(jīng)由網(wǎng)絡(luò)接口 640控制??偩€610可包括通信總線、信道、網(wǎng)絡(luò)、電路、開關(guān)、織物(fabric)、或用于在計(jì)算裝置600的組件之間傳遞數(shù)據(jù)的其他機(jī)制??偩€610可以可通信地與計(jì)算裝置600的任何組件耦接并在其間傳遞數(shù)據(jù)。例如,在交易應(yīng)用的安裝處理期間,可從輸入裝置660和/或網(wǎng)絡(luò)接口 640向存儲器630傳遞該處理器620所要運(yùn)行的一個(gè)或多個(gè)計(jì)算機(jī)可讀指令。當(dāng)計(jì)算裝置600正在運(yùn)行或準(zhǔn)備運(yùn)行存儲器630中存儲的交易應(yīng)用時(shí),處理器620可經(jīng)由總線610從存儲器630恢復(fù)指令。處理器620可包括一般處理器、數(shù)字信號處理器、特定用途集成電路、現(xiàn)場可編程門陣列、模擬電路、數(shù)字電路、編程的處理器、其組合、或其他現(xiàn)在已知或稍后開發(fā)的處理裝置。處理器620可以是單一裝置或裝置的組合,諸如與網(wǎng)絡(luò)或分布處理關(guān)聯(lián)??墒褂萌魏翁幚聿呗?,諸如多處理、多任務(wù)、并行處理、和/或遠(yuǎn)程處理。處理可以是本地或遠(yuǎn)程的,并可從一個(gè)處理器向另一處理器移動(dòng)。處理器620可以可操作為執(zhí)行在一個(gè)或多個(gè)有形介質(zhì)中編碼的邏輯,諸如存儲器630和/或經(jīng)由網(wǎng)絡(luò)裝置640。如這里使用的,在一個(gè)或多個(gè)有形介質(zhì)中編碼的邏輯包括處理器620或不同處理器可執(zhí)行的指令。該邏輯可以作為諸如軟件、硬件、集成電路、固件、和/或微代碼的一部分存儲。該邏輯可以經(jīng)由(例如與因特網(wǎng)相連的)通信網(wǎng)絡(luò)從外部通信裝置接收。處理器620可執(zhí)行邏輯,以進(jìn)行在圖中圖示的或這里描述的功能、動(dòng)作、或任務(wù)。存儲器630可以是有形介質(zhì),諸如計(jì)算機(jī)可讀存儲介質(zhì)。計(jì)算機(jī)可讀存儲介質(zhì)可包括各類易失性和非易失性存儲介質(zhì),包括但不限于隨機(jī)存取存儲器、只讀存儲器、可編程只讀存儲器、電可編程只讀存儲器、電可擦除只讀存儲器、閃存、磁帶或磁盤、光學(xué)介質(zhì)、其任何組合、或任何其他現(xiàn)在已知或稍后開發(fā)的有形數(shù)據(jù)存儲裝置。存儲器630可以包括單一裝置或多個(gè)裝置。例如,存儲器630可包括隨機(jī)存取存儲器和硬盤驅(qū)動(dòng)器存儲器。存儲器630可以與處理器620相鄰、是處理器620的一部分、用處理器620編程、與處理器620聯(lián)網(wǎng)、和/或遠(yuǎn)離處理器620,使得存儲器630中存儲的數(shù)據(jù)可由例如處理器620恢復(fù)和處理。存儲器630可存儲處理器620可執(zhí)行的指令??蓤?zhí)行這些指令,以進(jìn)行這里描述的或圖中所示的動(dòng)作或功能的一個(gè)或多個(gè)。網(wǎng)絡(luò)接口 640可以是單路或雙路通信耦接。因此,網(wǎng)絡(luò)接口 640可以可通信地連接一個(gè)、兩個(gè)、或多個(gè)通信網(wǎng)絡(luò)或裝置。例如,總線610可經(jīng)由網(wǎng)絡(luò)接口 640與和上面討論的網(wǎng)關(guān)120類似的網(wǎng)關(guān)耦接,使得計(jì)算裝置600的組件之一、一些、或全部是網(wǎng)關(guān)可存取的、或者可與網(wǎng)關(guān)通信。作為另一示例,網(wǎng)絡(luò)接口 640可將總線610與其他通信網(wǎng)絡(luò)耦接。網(wǎng)絡(luò)接口 640可以是例如綜合業(yè)務(wù)數(shù)字網(wǎng)(ISDN)卡或調(diào)制解調(diào)器,以提供數(shù)據(jù)通信連接。作為另一示例,網(wǎng)絡(luò)接口 640可以是局域網(wǎng)(LAN)卡,以向例如連接到因特網(wǎng)的可兼容LAN提 供數(shù)據(jù)通信連接。還可以實(shí)現(xiàn)無線鏈路。網(wǎng)絡(luò)接口 640可發(fā)送和接收攜帶代表諸如各類信息的模擬或數(shù)字?jǐn)?shù)據(jù)流的電學(xué)、電磁、或光學(xué)信號。顯示裝置650可例如包括可視輸出裝置、陰極射線管(CRT)顯示器、電子顯示器、電子紙、平板顯示器、發(fā)光二極管(LED)顯示器、電致發(fā)光顯示器(ELD)、等離子顯示板(PDP)、液晶顯示器(IXD)、薄膜晶體管顯示器(TFT)、有機(jī)發(fā)光二極管顯示器(0LED)、表面導(dǎo)電電子發(fā)射器顯示器(SED)、激光電視、碳納米管、納米晶體顯示器、頭戴式顯示器、投影儀、三維顯示器、透明顯示裝置、和/或其他現(xiàn)在已知或稍后開發(fā)的顯示器。顯示裝置650適于顯示交易屏幕。交易屏幕可以與例如上面討論的交易屏幕類似。交易屏幕可以是交互的。交互式交易屏幕可允許例如使用交易屏幕進(jìn)行一個(gè)或多個(gè)交易動(dòng)作。例如,交互交易屏幕可允許使用一個(gè)或多個(gè)訂單條目動(dòng)作而設(shè)置和/或發(fā)送一個(gè)或多個(gè)訂單條目參數(shù)。可使用顯示裝置650和/或輸入裝置660與例如交易屏幕交互。輸入裝置660可包括例如鍵盤、鼠標(biāo)、麥克風(fēng)、觸摸屏、軌跡球、小鍵盤、操縱桿、和/或用于提供輸入的其他裝置??墒褂幂斎胙b置600,例如向處理器620提供命令選擇。例如,輸入裝置660可以是用于控制交易屏幕上顯示的光標(biāo)的鼠標(biāo)。鼠標(biāo)可包括例如用于選擇和控制的一個(gè)或多個(gè)按鈕。輸出裝置670可例如包括鍵盤、鼠標(biāo)、揚(yáng)聲器、觸摸屏、軌跡球、小鍵盤、觸覺裝置或系統(tǒng)、操縱桿、和/或用于提供輸出的其他裝置。例如,可使用輸出裝置670,以向用戶輸出一個(gè)或多個(gè)信號(諸如觸覺信號或音頻信號)。盡管已參考某些實(shí)施例而描述了本發(fā)明,但是本領(lǐng)域技術(shù)人員將理解的是,可進(jìn)行各種改變,并且可替換等效物,而不脫離本發(fā)明的范圍。另外,可進(jìn)行許多修改,以使得特定情況或材料適于本發(fā)明的教義,而不脫離它們的范圍。所以,預(yù)期的是,本發(fā)明不限于所公開的某些實(shí)施例,而是本發(fā)明將包括落入權(quán)利要求的范圍之內(nèi)的所有實(shí)施例。
權(quán)利要求
1.一種設(shè)備,包括客戶機(jī)裝置,其中該客戶機(jī)裝置適于顯示設(shè)計(jì)帳篷區(qū),其中該設(shè)計(jì)帳篷區(qū)包括由用戶安排來指定交易算法的定義的多個(gè)放置塊;其中該客戶機(jī)裝置適于確定所述多個(gè)放置塊中的第一放置塊的第一實(shí)時(shí)反饋值,其中該第一實(shí)時(shí)反饋值是基于市場數(shù)據(jù)和該定義而確定的;和其中該客戶機(jī)裝置適于顯示所確定的第一實(shí)時(shí)反饋值。
2.根據(jù)權(quán)利要求I的設(shè)備,其中所述多個(gè)放置塊是由用戶從多個(gè)可用塊中選擇的。
3.根據(jù)權(quán)利要求I的設(shè)備,其中所述多個(gè)放置塊的安排包括所述多個(gè)放置塊中的一個(gè)或多個(gè)塊之間的一個(gè)或多個(gè)連接。
4.根據(jù)權(quán)利要求I的設(shè)備,其中該第一實(shí)時(shí)反饋值是對于該第一放置塊的輸入確定的。
5.根據(jù)權(quán)利要求I的設(shè)備,其中該第一實(shí)時(shí)反饋值是對于該第一放置塊的輸出確定的。
6.根據(jù)權(quán)利要求I的設(shè)備,其中該市場數(shù)據(jù)是從電子交易所接收的。
7.根據(jù)權(quán)利要求I的設(shè)備,其中該市場數(shù)據(jù)是從仿真環(huán)境接收的。
8.根據(jù)權(quán)利要求I的設(shè)備,其中第一實(shí)時(shí)反饋值進(jìn)一步基于與該第一放置塊對應(yīng)的功能性。
9.根據(jù)權(quán)利要求I的設(shè)備,其中該第一實(shí)時(shí)反饋值是相對于該第一放置塊而顯示的。
10.根據(jù)權(quán)利要求I的設(shè)備,其中該客戶機(jī)裝置適于檢測離散事件的生成,并且其中該客戶機(jī)裝置適于顯示代表該離散事件的發(fā)生的指示符。
11.根據(jù)權(quán)利要求10的設(shè)備,其中該指示符包括使得其上提供有所生成的離散事件的連接閃光。
12.根據(jù)權(quán)利要求10的設(shè)備,其中該指示符包括其上提供有所生成的離散事件的輸出的動(dòng)畫。
13.根據(jù)權(quán)利要求10的設(shè)備,其中該指示符包括其上提供有所生成的離散事件的連接上的動(dòng)畫。
14.根據(jù)權(quán)利要求10的設(shè)備,其中該客戶機(jī)裝置適于確定用于所述多個(gè)放置塊中的第二放置塊的第二實(shí)時(shí)反饋值,其中該第二實(shí)時(shí)反饋值是基于市場數(shù)據(jù)和定義確定的,其中該第二放置塊不同于該第一放置塊,并且其中該客戶機(jī)裝置適于顯示所確定的第二實(shí)時(shí)反饋值。
15.一種設(shè)備,包括客戶機(jī)裝置,其中該客戶機(jī)裝置適于顯示算法區(qū)域;其中該客戶機(jī)裝置適于確定該算法區(qū)域中的第一表達(dá)式的實(shí)時(shí)評估值,其中該第一表達(dá)式由一個(gè)或多個(gè)放置建造塊按鈕指定,其中每一放置建造塊按鈕代表第一表達(dá)式的元素;其中該客戶機(jī)裝置適于確定用于該第一表達(dá)式的第一元素的第一實(shí)時(shí)評估值;和其中該客戶機(jī)裝置適于顯示與該第一元素相關(guān)的所確定的第一實(shí)時(shí)評估值。
16.根據(jù)權(quán)利要求15的設(shè)備,其中該算法區(qū)域包括價(jià)格區(qū)域、數(shù)量區(qū)域、和條件區(qū)域。
17.根據(jù)權(quán)利要求15的設(shè)備,其中該第一表達(dá)式包括IF-THEN-ELSE元素。
18.根據(jù)權(quán)利要求15的設(shè)備,其中該客戶機(jī)裝置適于確定該算法區(qū)域中的第二表達(dá)式的第二實(shí)時(shí)評估值,其中該第二表達(dá)式是該第一表達(dá)式的第一元素的元素。
19.一種方法,包括計(jì)算裝置顯示值軸;該計(jì)算裝置接收用于選擇用戶定義的交易算法的命令;該計(jì)算裝置接收用于啟動(dòng)訂單的下訂的命令;和根據(jù)所選擇的用戶定義的交易算法來管理訂單。
20.根據(jù)權(quán)利要求19的方法,其中所述用于啟動(dòng)訂單的下訂的命令包括價(jià)格和數(shù)量中的至少一個(gè),其中所述根據(jù)所選擇的用戶定義的交易算法來管理訂單的步驟基于所述價(jià)格和所述數(shù)量中的至少一個(gè)。
21.根據(jù)權(quán)利要求19的方法,進(jìn)一步包括該計(jì)算裝置顯示與該值軸相關(guān)的第一指示符,其中該第一指示符代表根據(jù)第一用戶定義的交易算法正管理的工作訂單;和該計(jì)算裝置顯示與該值軸相關(guān)的第二指示符,其中該第二指示符代表根據(jù)第二用戶定義的交易算法正管理的工作訂單,其中該第一用戶定義的交易算法和該第二用戶定義的交易算法是不同的。
22.—種方法,包括計(jì)算裝置顯示交易界面,其中該交易界面包括訂單條目區(qū)域和排列區(qū)域;該計(jì)算裝置接收用于用戶所選擇的多個(gè)可交易對象的市場數(shù)據(jù);該計(jì)算裝置基于所接收的市場數(shù)據(jù)來確定所述多個(gè)可交易對象的排列;該計(jì)算裝置在該交易界面的排列區(qū)域中顯示所確定的所述多個(gè)可交易對象的排列,其中所述多個(gè)可交易對象的排列的顯示步驟是基于所接收的市場數(shù)據(jù)動(dòng)態(tài)更新的;該計(jì)算裝置通過該交易界面的訂單條目區(qū)域從用戶接收買入或賣出的數(shù)量;和該計(jì)算裝置基于所述多個(gè)可交易對象的排列以及買入或賣出的數(shù)量,來啟動(dòng)用于所述多個(gè)可交易對象的至少一個(gè)的至少一個(gè)訂單的下訂。
23.根據(jù)權(quán)利要求22的方法,其中該交易界面包括選擇區(qū)域,適于允許用戶選擇所述多個(gè)可交易對象。
24.根據(jù)權(quán)利要求22的方法,其中該交易界面包括執(zhí)行策略選擇區(qū)域,其中該執(zhí)行策略選擇區(qū)域適于允許用戶從多個(gè)可用執(zhí)行策略中選擇執(zhí)行策略。
25.根據(jù)權(quán)利要求24的方法,進(jìn)一步包括計(jì)算裝置接收通過該交易界面的執(zhí)行策略選擇區(qū)域的執(zhí)行策略的選擇。
26.根據(jù)權(quán)利要求25的方法,其中所述啟動(dòng)至少一個(gè)訂單的下訂的步驟基于該執(zhí)行策略的選擇。
27.—種設(shè)備,包括客戶機(jī)裝置,其中該客戶機(jī)裝置適于顯示設(shè)計(jì)帳篷區(qū),其中該設(shè)計(jì)帳篷區(qū)包括由用戶安排來指定交易算法的定義的多個(gè)放置塊,其中第一組多個(gè)放置塊包括分組塊,其中所述分組塊包括第二組多個(gè)放置塊。
28.根據(jù)權(quán)利要求27的設(shè)備,其中該分組塊是虛擬化組塊,其中當(dāng)該虛擬化組塊接收到該虛擬化組塊的輸入上的離散事件時(shí),對該虛擬化組塊所代表的算法功能性的新實(shí)例進(jìn)行實(shí)例化。
29.根據(jù)權(quán)利要求28的設(shè)備,其中該虛擬化組塊的輸入連接到所述多個(gè)放置塊中的、提供履行確認(rèn)離散事件的第一塊的輸出,其中每一履行確認(rèn)離散事件對應(yīng)于正履行的訂單的數(shù)量的至少一部分。
30.根據(jù)權(quán)利要求29的設(shè)備,其中該虛擬化組塊對于與所接收的離散事件對應(yīng)的所履行的訂單的數(shù)量的至少一部分提供保值功能性。
31.根據(jù)權(quán)利要求27的設(shè)備,其中所述第一組多個(gè)放置塊和所述第二組多個(gè)放置塊中的至少一個(gè)包括第一塊,其中當(dāng)算法服務(wù)器處理交易算法時(shí),與該第一塊對應(yīng)的功能性基于在該客戶機(jī)裝置和該算法服務(wù)器之間的連接狀態(tài)。
32.根據(jù)權(quán)利要求31的設(shè)備,其中通過從連接狀態(tài)輸入塊到該第一塊的輸入的連接,向該第一塊提供該客戶機(jī)裝置和該算法服務(wù)器之間的連接狀態(tài)。
全文摘要
某些實(shí)施例通過降低或消除用戶對編程代碼的寫入,而降低傳統(tǒng)編程算法的風(fēng)險(xiǎn),諸如語法錯(cuò)誤、不清楚邏輯、以及非交易者程序員開發(fā)交易者指定的算法的需求。某些實(shí)施例提供建造塊按鈕和算法區(qū)域用于定義算法。當(dāng)正定義算法時(shí),某些實(shí)施例提供表達(dá)式的實(shí)時(shí)評估。某些實(shí)施例提供設(shè)計(jì)帳篷區(qū)和塊用于設(shè)計(jì)算法。當(dāng)正設(shè)計(jì)算法時(shí),某些實(shí)施例提供塊的實(shí)時(shí)反饋。某些實(shí)施例提供用于啟動(dòng)從值軸所選擇的用戶定義交易算法所要管理的訂單的下訂,并用于顯示由值軸上的不同的用戶定義交易算法所管理的工作訂單。某些實(shí)施例提供排列工具。
文檔編號G06Q40/04GK102947853SQ201080058131
公開日2013年2月27日 申請日期2010年10月19日 優(yōu)先權(quán)日2009年10月20日
發(fā)明者R.萊恩, M.尤內(nèi)蒂克, D.里多爾, N.愛德華茲 申請人:貿(mào)易技術(shù)國際公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
龙里县| 青冈县| 惠东县| 永丰县| 罗甸县| 亚东县| 增城市| 塔河县| 密云县| 育儿| 石家庄市| 竹山县| 高平市| 灵璧县| 读书| 奈曼旗| 奉节县| 定远县| 栾城县| 枝江市| 萝北县| 惠州市| 铁力市| 凤翔县| 双柏县| 瑞丽市| 湘潭县| 华安县| 香河县| 怀仁县| 中宁县| 色达县| 肥西县| 黄平县| 乌审旗| 黄陵县| 安顺市| 赞皇县| 永昌县| 芜湖市| 银川市|