99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁中國量化投資網(wǎng)這種模式在國外做的怎么樣
中國量化投資網(wǎng)這種模式在國外做的怎么樣
2018-06-25
收藏

中國量化投資網(wǎng)這種模式在國外做的怎么樣

在整個量化交易策略的研發(fā)流程當中,買和賣是最為基本的量化交易策略組成部分,而這個部分的設(shè)定主要與收益情況相關(guān)。這里所說的相關(guān),具體分為兩種不同的情形,一種是總體的關(guān)聯(lián)性,即基于買點、賣點的選擇,買賣策略應該得到一個正的整體收益。另一種則來自于對交易資產(chǎn)未來收益的判斷、或者說預測,即判斷交易資產(chǎn)的未來收益為正時,就買入資產(chǎn);判斷交易資產(chǎn)的未來收益為負時,則賣出或賣空資產(chǎn)。實際操作中,這兩種關(guān)聯(lián)關(guān)系的情況可能更為復雜一些。有的時候,買和賣的具體操作也可能受到風險方面設(shè)置的影響,例如為了限制單次交易的最大損失而采取止損之類的操作時,用于清倉的買賣設(shè)置就會相應的變動,這也是作者將風險和買賣用虛線相連的原因。不過在大部分情況下,買賣這一最為基本的組成部分還是與收益的關(guān)系最大,研究者也應該在研發(fā)這一個組成部分時,著重考慮收益情況的具體影響。

對量化交易策略風險的控制可能會影響到量化交易策略中的買賣設(shè)置,但是在更普遍的情況下,風險這一因素主要影響的是交易倉位的設(shè)置。當然,前提條件還是需要買賣策略的總體收益為正,在這樣的條件下再結(jié)合倉位的設(shè)置,才能夠在合適的風險水平下取得達到要求的收益。通過對交易資產(chǎn)具體倉位的調(diào)整,交易者可以比較直接的控制單次交易以及整個交易策略的風險水平。例如在滿倉交易的情況下,定量的判斷了當前交易的風險之后,覺得風險過大無法承受,那么最為直接的處理方法就是在滿倉的基礎(chǔ)上相應的降低倉位的大小。在倉位降低之后,對于整體資金而言風險也就隨之降低了。由于倉位本身具有量化、直觀的特性,因此當交易者希望將風險處理到一個特定的水平時,調(diào)整倉位是一個比較方便的手段。
需要說明的是,前面已經(jīng)提到了買和賣是量化交易策略最為基本的組成部分,實際上倉位的設(shè)定是根據(jù)買賣決策和風險兩個因素共同形成的,不建立在買賣之上的倉位選擇是空洞沒有意義的。此外還有一個更為極端的情況,倉位的正確設(shè)定有助于進一步優(yōu)化策略的整體收益,之后要介紹的凱利公式的意義正在于此。在圖1中由買賣到倉位的箭頭,實際上可以看作是收益、買賣這一個整體部分指向倉位的箭頭。不過在實際使用中,凱利公式所導出的倉位設(shè)定往往過于偏激,超過正常風險控制下的最高倉位值,因此倉位仍然與風險的關(guān)系更為緊密。
在圖1這個較為松散的量化交易策略研發(fā)流程中,交易成本是和買賣以及倉位具有同等地位的組成部分。在實際操作中,就是首先基于對收益和風險的判斷得出合適的買賣和倉位選擇,然后在買賣和倉位共同組成的量化交易策略當中考慮交易成本,也就是在建立倉位和退出倉位等操作中扣除所需要承擔的交易成本。隨后再次判斷該量化交易策略所代表的收益和風險情況,只有這兩個因素仍然在接受范圍之內(nèi),才能確認這是一個可行的量化交易策略。雖然最后用來執(zhí)行的組成部分只有買賣和倉位,但是交易成本作為對量化交易策略的一個實際化修正,也是策略研發(fā)流程中一個不可或缺的組成部分。
上面提到的對量化交易策略收益和風險情況的判斷,實際上是一個綜合性的評價問題。一個最為重要的參考依據(jù)應該是策略在整個交易過程中的凈值走勢,通過對策略凈值走勢的分析,就可以建立起該量化交易策略運行情況的全面判斷。但是凈值走勢本身由于細節(jié)過多,因此無法簡單的用來進行策略之間的橫向?qū)Ρ取_@時就需要精煉凈值走勢中所包含的信息,選取合適的部分形成量化的評價指標,從而進行量化交易策略的進一步判定。就作者看來,評判一個策略的標準中最重要的仍然是策略在整個交易過程下的收益情況,一個負收益的量化交易策略根本無需考慮其風險即可排除。而當收益為正時,再結(jié)合風險的度量進行具體的取舍,就可以直觀的給出量化交易策略是否合格的評判標準了。作者心目中最重要的風險指標是策略凈值的回撤水平,在后面的案例分析中也會重點查看回撤的結(jié)果。
于此同時,一些量化交易策略在進行收益和風險情況的判斷時,僅僅針對策略自身的凈值走勢進行研究是不夠的,給出一個合理的基準來進行對比往往是更為有效的判別方法。例如后面的案例中會涉及到的量化選股策略,當交易選擇僅限為對具體的股票進行持倉,而不考慮空倉或者賣空時,選取一個特定的基準進行對比就會是一個更為有效的判別方法。這主要是由于量化選股策略的倉位始終為多頭,因此不論如何配置,策略所持倉位都含有資本資產(chǎn)定價模型中所提到的市場成分。而選股策略本身的意義在于選擇更好的股票、不在于獲取市場收益,因此將市場走勢作為對比、或者在策略收益中剔除掉市場成分就是一個更合理的做法。
上述所有的操作,都需要建立在對歷史數(shù)據(jù)的分析之上,在量化交易領(lǐng)域當中一般稱之為回溯測試,或者簡稱回測。所謂回溯,也就是將交易的過程在歷史數(shù)據(jù)上復現(xiàn)一遍,這里面包含了一個假設(shè),即歷史數(shù)據(jù)在量化交易策略中展現(xiàn)出的樣本特征在未來的交易中依然存在,否則回溯測試就失去了意義。關(guān)于這一假設(shè)的分析其實在諸多技術(shù)分析著作中均有涉及,一般被稱為“歷史會重演”,這里不再繼續(xù)展開。不同于傳統(tǒng)技術(shù)分析的是,量化交易策略的研發(fā)過程更加深入具體,在涉及到策略的參數(shù)設(shè)定、模型設(shè)置等具體問題時,需要采用數(shù)量化的方法、也就是最優(yōu)化等技術(shù)手段進行解決。例如如何設(shè)置買點和賣點可以使得相應的總體收益最大等等,都是很典型的最優(yōu)化數(shù)學問題,那么找到合適的最優(yōu)化技術(shù)和算法并加以應用,就能夠確定量化交易策略的最終形式,用以進行實際交易。
圖1中所展示的是一個較為松散的一般性框架,用來總領(lǐng)性的說明量化交易策略的基本研發(fā)流程。在具體的策略研發(fā)過程中,這個框架經(jīng)常會因為具體研發(fā)設(shè)置和策略設(shè)置的不同而產(chǎn)生變化。例如當量化交易策略的主要作用不是在時間軸上選擇具體的買賣時點,而是在同一個時間點上對多個資產(chǎn)進行選擇和配置時,圖1中的一些說明就顯得有些含混不清。量化選股策略就是這一類策略中最為常見的形式,因此這里在整體框架不變動的情況下,針對圖1進行了文字上的調(diào)整,用以說明量化選股策略的運行框架與研發(fā)流程。當然,使用選股策略的框架體系來處理多個資產(chǎn)甚至多個策略的挑選、配置也是可以的,在不復雜的情況下只需要稍作聯(lián)想即可。
買賣和倉位雖然是更為通用的說法,但是更適合于描述擇時策略,放在選股策略的研發(fā)框架中會顯得比較突兀,因此圖2將買賣換成了選股,倉位則換成了配比,這樣更容易讓讀者領(lǐng)會該研發(fā)流程的含義。實際上,對于每一期的選股而言,如果選擇了原先沒有倉位的股票,那么對應的操作就是買入該股票,如果已經(jīng)建倉的股票沒有被選入這一期的股票池,那么對應的操作就是賣出該股票。而配比則是在買賣的基礎(chǔ)上,通過倉位大小的變化來實現(xiàn)具體配置。因此,選股和配比實際上可以算作是買賣和倉位選擇的特殊情況,只是這種說法更為貼合量化選股策略本身。
略有不同的,是風險在量化選股策略研發(fā)流程中的具體含義。由于選股策略的倉位操作涉及到多個股票之間的配比問題,因此這里的風險不僅包括單支股票的風險,也涉及到多支股票之間的風險程度,后一種風險一般采用股票收益之間的相關(guān)性來進行描述。例如在一般性的最優(yōu)投資組合理論當中,經(jīng)常使用協(xié)方差矩陣來刻畫整個資產(chǎn)組合的風險水平。雖然從實際情況來看,相關(guān)性這一度量方式與風險的直觀感受之間有一定的差距,但是在多資產(chǎn)環(huán)境下,一般都將資產(chǎn)間的相關(guān)性視為風險的來源之一,這是一個偏學術(shù)的、約定俗成的做法。
上面的例子是針對選股策略進行的文字上的變動,實際上量化交易策略研發(fā)流程的變化更多來自于各個研發(fā)組成部分不同的結(jié)合方式。而不同的結(jié)合方式,對應的是策略研發(fā)過程中不同的目標和需求。例如圖1所介紹的松散的研發(fā)流程,是在確定好買賣行為和倉位設(shè)定之后,再針對實際交易中所產(chǎn)生的交易成本進行二次測試。這樣的做法雖然簡便易行,但是忽視了交易成本本身對于收益的影響,以及更進一步對于買點和賣點的影響。因此,在確定買賣設(shè)置的步驟中就考慮交易成本的影響,應該是一個更貼近于實際的研究框架。圖3給出了相應的流程刻畫,如圖所示,在判斷收益因素時,同時考慮交易成本對于收益的影響,從而優(yōu)化出更為實際的買賣設(shè)置。再根據(jù)相應的風險控制,結(jié)合買賣點的選擇,得出最后的倉位設(shè)置。在確定了買賣和倉位這兩個部分之后,就獲得了一個完整的量化交易策略。
圖4給出了一個更緊湊、更貼合實際操作的量化交易策略研發(fā)流程。在該流程中,買賣和倉位的設(shè)置是同時作為參數(shù)進行優(yōu)化的,優(yōu)化的目標函數(shù)也進行了唯一化,即量化交易策略的風險調(diào)整后收益。而在確定需要優(yōu)化的目標函數(shù)時,交易成本也如同上一個研發(fā)流程一樣同時被考慮進去,從而保證買賣和倉位優(yōu)化結(jié)果的準確性。毫無疑問,相較于上面所涉及到的研發(fā)流程、特別是圖1中較為松散的研發(fā)流程,該量化交易策略研發(fā)流程的各個組成部分更為緊密,因此在優(yōu)化過程中所產(chǎn)生的與實際操作的偏離也就越小,買賣和倉位設(shè)置的準確度也就更高。但是在實際工作中,如果想?yún)⒄者@一流程進行研發(fā),那么就需要比較強的計算能力,數(shù)據(jù)量的大小也要達到一定要求,同時優(yōu)化方法和目標函數(shù)的設(shè)定要能夠同時覆蓋買賣和倉位的所有參數(shù),因此往往也只有極為簡單的策略思路可以采用這樣的流程框架進行研發(fā)。
在實際的量化交易策略相關(guān)工作中,研發(fā)只是整個工作流程的一部分,還有兩個組成部分需要著重強調(diào)?;诖?,圖5在圖1所示的研發(fā)流程的基礎(chǔ)上給出了一個更為完整的工作流程。如圖所示,需要增加的部分包括處于研發(fā)過程之前的數(shù)據(jù)準備工作以及處于研發(fā)過程之后的策略執(zhí)行工作。這兩項工作與前面所論述的研發(fā)流程具有很強的邏輯關(guān)聯(lián)性與內(nèi)在依賴性,三者結(jié)合起來形成的一個整體,基本上可以涵蓋量化交易策略具體工作的絕大部分內(nèi)容。
首先論述數(shù)據(jù)準備的工作,循著圖5中的箭頭可以看到,在量化交易策略的整體工作中,既要為研發(fā)過程準備相應的研究數(shù)據(jù),也要為策略執(zhí)行準備相應的實時數(shù)據(jù)。在研究數(shù)據(jù)方面,由于尋找合適的量化交易策略需要不斷重復研發(fā)流程,因此對于數(shù)據(jù)的要求更偏重于準確性和覆蓋能力。同時,對數(shù)據(jù)的清洗和轉(zhuǎn)換也是一項重點工作,在大部分的數(shù)據(jù)科學研究、包括量化交易策略的研發(fā)當中,數(shù)據(jù)特征的合理抽取對于整體效果提升的重要性有時甚至要高于精巧的模型,當然很多時候數(shù)據(jù)的轉(zhuǎn)換和模型的構(gòu)造是相互融合的,針對具體情況應當采取具體的分析和處理。而在策略執(zhí)行數(shù)據(jù)方面,則更應該關(guān)注于數(shù)據(jù)獲取的及時性。至于數(shù)據(jù)的清洗和變換,只需要完全復制研發(fā)得到的量化交易策略下的數(shù)據(jù)準備工作即可。另外,為了保證數(shù)據(jù)的及時性,最終進行的數(shù)據(jù)清洗工作對時間消耗存在一定的要求。
然后討論策略執(zhí)行的工作。策略執(zhí)行,是在量化交易策略研發(fā)完成之后,最終產(chǎn)出實際效能的組成部分。執(zhí)行時應該遵循盡量貼近研發(fā)完成的量化交易策略的原則,與量化交易策略所確定的買賣、倉位等設(shè)置盡可能的保持一致,這樣才能最真實的反映出前面量化交易策略的研發(fā)結(jié)果。同時,策略執(zhí)行的結(jié)果也可以用來反向支持具體的研發(fā)流程,通過對策略執(zhí)行所得到的收益、風險情況的判斷,實時的重新進行研發(fā),對量化交易策略進行修改,從而使得策略能夠及時的得到現(xiàn)實的反饋,增強自身的穩(wěn)健程度。值得一提的是,后面將要介紹的推進分析是一種模擬策略執(zhí)行的回溯測試技術(shù),讀者可以在運行推進分析時有限度的了解到量化交易策略實際執(zhí)行時的種種狀態(tài)。

數(shù)據(jù)分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

上一篇
下一篇
數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個參數(shù)驗證碼對象,之后可以使用它調(diào)用相應的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務(wù)器是否宕機 new_captcha: data.new_captcha, // 用于宕機時表示是新驗證碼的宕機 product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計時完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }