① 如何建立程序化交易系統
弄清楚什麼時候進場,什麼時候止盈出場,什麼時候止損出場,什麼時候加倉,什回么時候減答倉,弄清楚倉位和資金怎麼管理,把上述整個邏輯理清楚,然後用你用的那個程序化軟體的語言把你的邏輯寫出來,然後做測試,測試的品種,K線周期,和數據周期越長越好,越多越好,爭取讓你的程序化交易系統有個普適性,既普適性好的程序化交易系統過度優化的可能性相對小一些,對了,記得不要過渡優化,沒有人能預測未來行情,我們做的只是跟隨。
② 如何建立自己的程序化交易系統
和訊特約 成功交易的一個秘密就是找到一套適合你的交易系統。這個交易系統是非機械的,適合你自己個性的,有完善的交易思想、細致的市場分析和整體操作方案的,在風險市場的贏家都有自已的交易系統,因此尋找適合自已的交易系統與完善自已的交易系統是專業交易人士投資的一生幾乎每天都在做的一件事。 什麼是交易系統?交易系統是完整的交易規則體系。一套設計良好的交易系統,必須對投資決策的各個相關環節作出相應明確的規定。這種規定必須是客觀的、唯一的,不允許有任何不同的解釋。一套設計良好的交易系統,必須符合使用者的心理特徵、投資對象的統計特徵以及投資資金的風險特徵。 交易系統的特點在於它的完整性和客觀性。它保證了交易系統結果的可重復性。從理論上來說,對任何使用者而言,如果使用條件完全相同,則操作結果完全相同。系統的可重復性即是方法的科學性,系統交易方法屬於科學型的投資交易方法。推薦閱讀周期蓄勢待發 商品緩步下行膠市仍處於尋底過程中2012年有色金屬將黯然失色糖價跌破6500地方收儲或啟動2012年鋼價走勢或將前低後高需求拖累PVC難改弱勢格局信心略恢復甲醇步入盤整期2011期貨產品創新領跑者系列訪談 大部分投資人往往把決策的重點放在對市場的分析和判斷上,其實這是非常偏頗的。成功的投資不但需要正確的市場分析,而且需要正確的風險管理和正確的心理控制。三者之間心理控制是最重要的,其次是風險管理,再次才是分析技能,即所謂的3M系統(Mind、Money、Market)。如果用一個比方來形容,對市場的判斷在投資行為的重要性中只佔1%而已,被大多數投資人忽略的東西,才是投資行為中的決定性因素。市場分析是管理的前提,只有從正確的市場分析出發,才能建立起具有正期望值的交易系統,風險管理只有在正期望值的交易系統下才能發揮其最大效用,而心理控制正是兩者的聯系橋梁和紐帶。一個人如果心理素質不好,則往往會偏離正確的市場分析方法,以主觀願望代替客觀分析,也常常會背離風險管理的基本原則。 投資人若想在效率市場持續穩定的贏利,必須成功的解決兩大問題: 1、如何在高度隨機的價格波動中尋找非隨機的部分; 2、如何有效的控制自身的心理弱點,使之不致影響自己的理性決策。很多投資家的實踐都證明,交易系統在上述兩方面都是投資人的有力助手。 大多數投資者在進入市場的時候,對市場的認識沒有系統的觀點。很多投資人根據對市場的某種認識,就片面的承認或否認一種交易思路的可行性,其實他們不知道,要想客觀的評價一種交易方法,就要確認該方法在統計概率意義上的有效性。無論是隨機還是非隨機的價格波動中不具備統計意義有效性的部分,只能給投資人以局部獲勝的機會而沒有長期穩定獲勝的可能。而交易系統的設計和評價方式可以幫助投資者有效的克服對方法認識的盲目性和片面性。 交易系統還可以幫助投資人有效的控制風險。實踐證明,不使用交易系統的投資人,難以准確而系統的控制風險。沒有交易系統做指導時,投資人很難定量評估每次進場交易的風險,並且很難評估單次交易的風險在總體風險中的意義。而交易系統的使用,可以明確的告訴投資人每次交易的預期利潤率、預期損失金額、預期最大虧損、預期連續贏利次數、預期連續虧損次數等,這些都是投資風險管理的重要參數。 幫助投資人有效的克服心理弱點,可能是交易系統的最大功用。交易系統使交易決策的過程更加程序化、公開化、理性化。投資人可以從由情緒支配的處於模糊狀態的選擇過程轉變為定量的數值化的選擇過程,即單純判定信號系統的反映以及執行信號所代表的決策。 交易系統幾個核心內涵 1、心態核心。 在交易系統沒有提出可交易各股時期,心態如何擺正,並且做到行與心合一,是交易系統能夠發揮系統交易的首要條件。如果,一套很好的交易系統,但心態急躁,無法忍耐空倉或者視那些持續飈升但不知道如何控制風險才為合理而又強行介入,那麼,作為脫離交易系統控制,導致的失敗,就不能歸咎於交易系統程序失敗,是心態失敗導致了交易失敗。因此,偶認為,心態是最重要的,心態決定交易系統的成敗。 2、得失核心。 不同的資金起點,有不同的得失。如100萬與3萬,年一倍,其交易次序是一致的,但掌握100萬的個體,其將收益目標降低到年50%,其收益高於3萬翻倍許多,其心理要求和技術要求就會大幅度的降低。因此,導致了不同的交易系系統性質,100萬的個體很有可能看重中線交易系統,3萬的個體很有可能看重短線交易。 3、技術核心。 市場獲利模式就三種,超跌反彈、高拋低吸、強勢追高。 1、超跌反彈,超,超到什麼程度必反?彈,彈到什麼程度必跌? 2、高拋低吸,高,高到什麼程度為高?低,低到什麼程度為低?吸,吸是一次還是多次? 3、強勢追高,強,什麼時期可以追,什麼時期不能追?追,高到什麼程度還可以追? 超跌反彈 不同的人有不同的分析基點,那麼,定義這個超,就可以採用歷史統計來實現。例如,高點下降超過60%,並且在形態、成交量分布等等技術,都達到適當,那麼,這個超,就是必反的定義。歷史統計應該成功率非常高才對,如果,還是很低,那麼,這個就不是超。 高拋低吸 偶認為,從形式上,它應該是某種通道的產物,達到通道的上軌,拋出,達到通道的下軌,低吸(在你的系統中有使用布林線進行操作,但必須分析整個趨勢處在什麼狀態,如果處在整理趨勢之中是很可行的一種技術分析指標,但如果明顯處在一個上升或下降的趨勢之中,那麼使用趨勢線與通道線是明智的選擇——當然在整理趨勢中也適用,這樣避免使用布林線等擺動指數所發出的模糊或錯誤信號)。通道的下軌永遠都都在K線之下,出現小概率在之上,應該是抄底系統信號。通道的上軌永遠都在K線之上,出現小概率在之下,應該是逃頂系統信號。——與布林線有同曲異工之妙。 強勢追高 當指數形成中級行情的時候,才追高,這種是比較安全的。也可以在下降通道中追高,但這要取決於歷史統計,實際上,強勢追高是一種不理性的操作手法。在追高的選股時期,可以肯定手中有資金,行情在上漲,這部分資金踏空,那麼,如果有上面兩種交易系統,就不存在踏空。只存在速度上的不同。 4、控制核心 在交易系統出現信號時期,因為必然存在不確定性,就需要資金管理來將不確定性(偶稱為風險)降到最大可控程度,這個並不是技術交易系統的內容。假設,一個可以達到70%成功率的技術交易系統,如果加入資金管理,可以提升到80%,那麼,這個技術交易系統的成功率就是80%,而不是70%。 5、跟蹤核心 在交易系統出現信號時期,並交易介入。後市趨勢跟蹤系統是否有轉市的可能存在,如果存在,即立刻止贏。因此,好的交易系統,還應該有一個配套的好的趨勢跟蹤系統存在,以決定趨勢的終結,以便於,讓利潤奔跑。 6、空倉核心 當交易系統沒有信號時期,是否能夠達到空倉所需要的心理素質,這也是交易系統成敗的重大問題。 由此,可以清晰看到,技術交易系統只是交易系統的一個部分,而不是全部。當技術交易系統出現信號時期,並不是系統在做決策,實際上是人在綜合做出行為決策。一份好的交易系統,包含了心態、技術、要求、忍耐、控制等等。所以,交易系統是綜合分析系統。來解決在正確的時機、選擇正確對象、進行正確的行為的決策系統。 自己的交易系統。 1、交易流程圖及注意事項。 2、資金管理及應對事項。 3、指數頂底分析方法。 4、交易系統復利統計。(以控制空倉心態) 5、交易系統信號分布。(以控制等待心態) 建立交易系統總體流程步驟一:『明確交易系統的依據』; 建立交易系統的依據就是:『在市博弈總體不確定性的大環境下,要發現和分離出價格運動的確定性因素』,也就是要建立自己的『科學交易觀和正確交易方法論』; 建立交易系統總體流程步驟二:『構造交易系統』; A)要明確交易系統的目的:『克服人性弱點,便於知行合一』; B)要明確交易系統的特性:『整體性和明確性』; C)交易系統隨時間和證券市場外部環境變化,『本身要能夠修改和進行參數調整』; D)交易系統的一些基本子系統:『行情判斷、板塊動向、風險管理、人性控制』; 建立交易系統總體流程步驟三:『檢驗交易系統』 A)檢驗交易系統包括:『統計檢驗、外推檢驗和實戰檢驗』; B)要考慮交易成本; C)要考慮建倉資金量大小造成的回波效應; D)要考慮小概率事件(統計學上的胖尾)對交易系統的影響; 建立交易系統總體流程步驟四:『執行交易系統』; A)日常操作主觀要服從客觀,『交易有依據、慾望要消除』; B)模擬操作不可少,即使不交易,依然要『仔細看盤、仔細復盤、揣摩多空主力的思路、勤動腦多實踐』,最終做到『正確地知行合一』 系統交易,即按照一套交易系統進行交易。系統交易者的時間和精力主要放在交易系統的開發中。市場中,對於採用趨勢型策略的系統交易者來說,成功開發一套交易系統的要素及其重要性比重,不妨設計大致如下:范圍,10%;買點,5%;賣點,10%;止損,20%;資金管理,40%;對系統的理解、洞察、應變與創新,15%。可見,資金管理是最重要的要素。在系統交易中,資金管理主要體現在以下三個層次上: 當然,不管是指標公式、交易公式,還是交易系統,其生命都源於交易策略。交易策略是根據對市場的基本原理和運行的非隨機性特徵及規律性進行深入研究後制訂的作戰原則和總體思路。我們經常見到很多大資金管理人和操盤手並不去編什麼公式,他們之所以成功,就是因為對交易策略有系統而深入的掌握。當然,如果有了好的軟體,他們把自己的策略放進公式里,也會省下不少的時間和精力。不過凡事均有利弊,過於機械則會損害洞察力、創造力和應變能力。 一個交易系統的形成除了有市場普遍性具有的特點外,也應有每個人個人的性格特點,對於即日交易(秒——小時)、短線(小時與天)、中線(周與月)、長線(月與年)不同交易方式的人(其中已含有個人的操作特點)也應有所不同,對於不同的市場(股票、期貨、期權、價差交易、權證、基金、債券(資訊,行情)、外匯等)在交易系統中各子項的偏重點也應有所不同,就是使用的技術分析系統參數也應做充分的調整。交易策略也應有主次之分從而使整個交易系統很明確。不談交易之前的分析策略,從交易一開始,交易系統最終要牢牢把握的就是三點(一個買點與二個賣點——止益目標點與風險控制點),從而在不明確的市場中以概率的方式獲勝(截短揚長)從而獲取總的利潤。 【獨家稿件聲明】凡註明 「和訊網」來源之作品(文字、圖片、圖表), 未經和訊網授權,任何媒體和個人不得全部或者部分轉載。
③ 程序化交易系統有好用的嗎
應該有的,但好用的不會流出來,自己留著用多好,為什麼要給別人呢?
而且,程序化的交易系統,也可能會有調整,就像手機或者電腦的系統更新、升級一樣。
④ 個人如何實現程序化交易,需要做整套的交易系統嗎
一個完整的交易系統應該包括進入、退出和資金管理。交易系統是自己投資理念的集合,因此在設計交易系統時,要充分了解自己的優缺點,將自己的投資理念融入其中,設計一個可執行的交易系統。
資金管理是一個完整有效的交易系統的重要組成部分,涉及到入、出、增倉、減倉的頭寸設置。投資理財不是一朝一夕的事。前期虧損不代表後期虧損;前期盈利不代表後期盈利。我的指導思想是教人釣魚比教他們釣魚好。我已經建立了一套自己的經營理念,並真誠地把技術交給您,讓您了解您在這個市場上做什麼,有什麼基礎。
⑤ 請問程序化交易系統是如何實現的用的是什麼編程語言怎麼測試適用范圍是什麼謝謝!
1、程序化交易系統目前主要是通過計算機程序實現的,其實就是把交易者決策的過程用計算機語言描述出來,然後由計算機給出交易建議或直接發送交易指令到期貨公司的交易系統中去,完成一筆交易。
比如我們用自然語言思考某個品種是否應該買入賣出時:「如果大豆0901價格跌破3000元,則開倉賣出三分之一......」用計算機語言描述時可能就是:
「IF A0901<=3000 THEN SELL......」
當然實際上的程序編寫是比較復雜的,因為要做大量的邏輯判斷和公式計算。
2、理論上來講,用什麼語言都可以完成這樣的任務,但因為涉及到大量的數據讀寫和網路存取,所以最好用自帶資料庫功能的編程語言,比如Delphi,不但資料庫功能很強,而且可直接讀寫SQL-Server、Oracle、Sybase等證券期貨行業普遍採用的資料庫,相應的網路控制項也齊全。
3、此類交易系統適合所有的交易市場,證券、期貨、外匯都已經有了類似的交易系統,但各自的模型基礎不一樣,因為這些軟體都是根據交易者的經驗來建立交易模型並編寫的,而不同的交易者思路是不完全相同的。
4、在證券市場和期貨市場上,如果個人要建立一個計算機程序化交易系統的話,首先要做的當然是建立交易模型,也就是把自然語言描述的交易決策過程轉換成計算機語言。
其次是建立交易介面,這里有兩個介面問題要解決,一是你的交易程序要讀取行情軟體的數據,以便系統根據行情數據作出交易決策並發出交易指令;二是你的交易程序發出的指令要下到證券公司(期貨公司)的交易伺服器上去,就像你自己敲單一樣。
介面問題涉及到TCP/UDP埠的讀寫,證券(期貨)公司和交易所的通信都是通過TCP/UDP進行的,他們不對最終客戶開放介面,這就需要你自己破解數據格式了。
所以要建立一套有效的程序化交易系統,不但要求程序的編寫者有成功的、長期有效的交易經驗,還要懂得將這些經驗用計算機語言描述出來,這不是一個很簡單的過程。
⑥ 第三方程序化軟體是如何接入證券交易系統的
一般是第三方的平台需要與證券公司合作才可以接入,但是由於每家證券的交易內櫃台不一樣,接入難度還容挺高的,比如掘金量化平台就提供了集中櫃台對接、極速櫃台對接、PB系統對接、演算法交易對接以及L2硬體加速對接。
⑦ 如何搭建一個程序化自動交易外匯平台
創建交易系統的主要需要從下面幾上方面來進行:1.選擇時間框架,在創建交易系統時,要清楚你自己是做日內交易還是波段交易者。不同的交易類型對時間框架重點不一樣。2.選擇一項用於確認新趨勢的指標。盡可能早的確認或發現趨勢是我們創建交易系統的目的之一,為了達到這個目的我們得找到一種合適指標。在目前我們用的最多的趨勢指標中移動均線是用的最為廣泛的一種。在利用均線來做趨勢指標時至少得採用兩條:一條快線,一條為慢線。簡單的理論就是快線穿越慢線時進行交易,這是均線交叉系統的基礎,也是確認新趨勢最簡單的方法。3.選擇一種驗證趨勢信號的指標。這個指標的目的是過濾掉一些虛假的信號,以免被虛假的信號誤導,驗證確認新趨勢的指標發出來的信號。這樣的指標有很多,但是用的最多的是MACD,KDJ,RSI等。4.確定你承受的風險與進出場點位。這里的風險是你單筆交易能承受的風險。在進場點位的選擇上,最好是等到K線收盤價出了之後才進場是最好的,這時候的指標已經確立。在出場點位的選擇上你可以選擇移動止損的方法,也可以給自己設定一個固定的利潤目標,你也可以根據指標是否反轉而選擇出場時機。5.制定自己的交易規則,並且利用你的系統進行不斷的驗證。交易系統建好之後還要進行一段時間的測試自己的系統是否合理。當經過測試後,覺得可行,那麼在以後的交易中就要嚴格遵守它。其實在創建交易系統的時候,主要目的是兩個,首先是盡可能早的發現新的趨勢;系統應該能夠避免市場發出的錯誤信號。這兩點是結合在一起有些困難。在實際交易中無論在什麼情況下,還是要根據形勢對操作思路作出適當的調整。未來不是一成不變的。下面我可以舉例為你提供一個簡單的交易系統:一、交易設置。1.在日線圖上進行波段交易。2.快線為周期5的移動均線,慢線為周期10的移動均線,都以收盤價計算3.隨機振盪指標KDJ(參數10.3.3)4.相對強弱指數RSI參數為14二、交易規則1.止損30點;2.進場原則:①做多條件:快線上穿慢線並且KDJ指標線向上,但是如果一條指標位於超買區則放棄。RSI指數小於50②做空條件:快線下穿慢線,KDJ指標向下。但是如果其中一條指標線位於超賣區則放棄。③離場原則,當快線反穿慢線或者RSI反穿50時交易結束。
⑧ 期貨程序化交易系統是如何實現的,用的是什麼編程語言
、程序化交易系統目前主要是通過計算機程序實現的,其實就是把交易者決策的過程用計算機語言描述出來,然後由計算機給出交易建議或直接發送交易指令到期貨公司的交易系統中去,完成一筆交易。
比如我們用自然語言思考某個品種是否應該買入賣出時:「如果大豆0901價格跌破3000元,則開倉賣出三分之一......」用計算機語言描述時可能就是:
「IF
A0901<=3000
THEN
SELL......」
當然實際上的程序編寫是比較復雜的,因為要做大量的邏輯判斷和公式計算。
2、
理論上來講,用什麼語言都可以完成這樣的任務,但因為涉及到大量的數據讀寫和網路存取,所以最好用自帶資料庫功能的編程語言,比如Delphi,不但數據
庫功能很強,而且可直接讀寫SQL-Server、Oracle、Sybase等證券期貨行業普遍採用的資料庫,相應的網路控制項也齊全。
3、此類交易系統適合所有的交易市場,證券、期貨、外匯都已經有了類似的交易系統,但各自的模型基礎不一樣,因為這些軟體都是根據交易者的經驗來建立交易模型並編寫的,而不同的交易者思路是不完全相同的。
4、在證券市場和期貨市場上,如果個人要建立一個計算機程序化交易系統的話,首先要做的當然是建立交易模型,也就是把自然語言描述的交易決策過程轉換成計算機語言。
其次是建立交易介面,這里有兩個介面問題要解決,一是你的交易程序要讀取行情軟體的數據,以便系統根據行情數據作出交易決策並發出交易指令;二是你的交易程序發出的指令要下到證券公司(期貨公司)的交易伺服器上去,就像你自己敲單一樣。
介面問題涉及到TCP/UDP埠的讀寫,證券(期貨)公司和交易所的通信都是通過TCP/UDP進行的,他們不對最終客戶開放介面,這就需要你自己破解數據格式了。
所以要建立一套有效的程序化交易系統,不但要求程序的編寫者有成功的、長期有效的交易經驗,還要懂得將這些經驗用計算機語言描述出來,這不是一個很簡單的過程。
⑨ 個人使用上期CTP介面開發期貨程序化交易平台可行嗎
可行的,CTP系統提供API介面,並且允許三方接入,你可使用其他程序,或者自己編寫程序對接CTp系統。