乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      年化1000%?!什么才是回測的正確姿勢之系列一

       立志德美 2019-04-29

      TUSHARE  金融與技術(shù)學(xué)習興趣小組 

      翻譯 | Renormalizing

      本期編輯 | Little monster 

      譯者簡介:美國俄亥俄州立大學(xué)高能物理實驗(PhD),主要研究粒子物理實驗數(shù)據(jù),最近開始接觸金融與機器學(xué)習方面的知識。

      作者:QuantStart Team

      算法回測需要各式各樣的知識,涵蓋了心理學(xué),數(shù)學(xué),統(tǒng)計,軟件開發(fā)以及市場微觀結(jié)構(gòu)等諸多領(lǐng)域。我們不期望在這短短的一篇文章中覆蓋所有的主題,因此我們將分兩三期來介紹這一主題。在這一期中,我們將會從回測的定義入手,進而說明實現(xiàn)回測的基礎(chǔ)。之后我們將解釋回測過程中的偏差,最后對可以進行回測的不同軟件進行比較。

      在之后的幾期中我們將更加深入的檢視那些策略實現(xiàn)中常常被忽略的細節(jié)。同時通過考慮交易所的特質(zhì)讓回測過程更加貼近現(xiàn)實。之后我們會討論交易成本,以及如何在回測中對其正確地建模。最后我們將會討論如何評估回測表現(xiàn),并以常見的均值回歸配對交易策略為例子進行分析。

      現(xiàn)在就讓我們開始討論什么是回測,以及如何對我們的算法交易進行回測。本文內(nèi)容概覽如下:

      一、什么是回測?

      二、影響策略回測的偏差

      三、不同回測軟件對比

      一、什么是回測?

      算法交易與其他交易類型的重要區(qū)別在于:算法交易能利用大量的數(shù)據(jù),更好地通過分析某個時間點前的歷史來預(yù)測之后的表現(xiàn)。而實現(xiàn)這一目的的過程,就叫回測。

      簡單來說,回測就是將你的交易算法應(yīng)用到一段歷史數(shù)據(jù)中,并產(chǎn)生一系列的交易信號,其產(chǎn)生的一系列交易會產(chǎn)生一系列的收益或損失。在策略回測范圍中的一系列收益/損失最終會累積為總收益/損失,也稱為P&L。這就是回測的重點,盡管還有許多的細節(jié)需要介紹。那么有哪些關(guān)鍵的原因使得對算法策略進行回測如此重要呢?

      【過濾】我們希望過濾掉不滿足特定條件的策略,而回測提供了一個篩選機制來幫助我們篩去那些表現(xiàn)不能滿足需求的策略。

      【建?!?/strong>回測可以讓我們測試關(guān)于特定市場現(xiàn)象的新模型,例如交易成本,買賣盤傳遞,延遲,流動性或者其他市場微觀結(jié)構(gòu)。

      【優(yōu)化】盡管策略優(yōu)化可能充滿了偏差,回測允許我們通過修正策略相關(guān)參數(shù)來提升策略表現(xiàn)。

      【驗證】我們采用的策略經(jīng)常從外部得到,回測可以驗證這些策略得到了正確的實現(xiàn)。盡管我們無法得到外部策略產(chǎn)生的交易信號,但是往往可以獲取例如夏普比率和回撤率等特征。因此可以通過比較檢查自己的實現(xiàn)。

      二、影響策略回測的偏差

      回測盡管為算法交易提供了一系列好處,但是對一個策略的回測往往不是簡單直接的。一般來說,隨著策略頻率的提高,對市場和交易的微觀結(jié)構(gòu)正確建模變得更加困難。這使得回測變得更不可靠,同時使得對給定策略的評估變得更加復(fù)雜。對于那些交易執(zhí)行系統(tǒng)是策略表現(xiàn)關(guān)鍵因素的策略來說,譬如超高頻算法,這個問題尤其重要。

      很不幸的是,回測往往會被各式各樣的偏差干擾,我們現(xiàn)在就來討論這個問題。

      有許多偏差都會為影響策略在回測中的表現(xiàn),這些偏差往往會高估策略的表現(xiàn)。因此,我們往往將回測視為一個策略在真實市場中實際表現(xiàn)的理想上界。想要從算法交易中完全剔除偏差是不可能的,但是我們可以盡力減少策略中的偏差并對算法策略做出判斷。在這里我們一共討論四種主要的偏差:優(yōu)化偏差、前瞻性偏差、幸存者偏差、心理容忍偏差。

      優(yōu)化偏差

      這可能是所有回測偏差中最隱蔽的偏差了。它源自于對額外交易參數(shù)的調(diào)整或者引入,直到對回測數(shù)據(jù)集的算法表現(xiàn)十分優(yōu)秀。但是此時策略的實際表現(xiàn)往往會不同于預(yù)期。這種偏差又稱為曲線擬合或者數(shù)據(jù)透視偏差。

      由于算法策略常常包括許多參數(shù),因此很難完全消除優(yōu)化偏差。在這里,參數(shù)可以是出入條件,回溯周期,平均周期(例如移動平均光滑參數(shù))或是波動率測量頻率。我們可以通過精簡參數(shù)數(shù)量,提高數(shù)據(jù)集中數(shù)據(jù)點質(zhì)量來降低優(yōu)化偏差。事實上,十分值得注意的一件事是,舊的數(shù)據(jù)點有可能遵從以前的范式, 對于現(xiàn)在的策略來說沒什么意義。

      一種有助于降低優(yōu)化誤差的方法是進行敏感度分析,即對參數(shù)做一系列的變化并繪制出策略表現(xiàn)在參數(shù)空間的超曲面。一個合適的參數(shù)選擇應(yīng)當產(chǎn)生一個光滑的參數(shù)表面,如果你得到的策略表現(xiàn)是一個上躥下跳的曲面,那么說明這樣的參數(shù)并沒有反映普遍的現(xiàn)象,而只是從測試數(shù)據(jù)中硬造出來的一個指標。

      關(guān)于多維優(yōu)化算法有許多的文章,同時也是研究的熱門領(lǐng)域。在這里我們并不會繼續(xù)深入,但是希望大家在找到一個有著超神回測的策略時可以多留一個心眼。

      前瞻性偏差

      前瞻性偏差來自于在回測系統(tǒng)中意外使用了未來的數(shù)據(jù)。當我們的回測運行到時間點N時,如果使用了時間點在N+k(k>0)的數(shù)據(jù),就會引入前瞻性誤差。前瞻性誤差有時會極其的微妙。這里給出幾個前瞻性誤差產(chǎn)生的例子:

      【技術(shù)Bug】代碼中的array或vector往往有迭代器或是指標變量,錯誤的指標偏移量可能讀取未來的數(shù)據(jù)而產(chǎn)生前瞻性誤差。

      【參數(shù)計算】另一個常見的前瞻性偏差例子在計算策略優(yōu)化參數(shù)時產(chǎn)生,例如計算時間序列的線性回歸。如果所有的數(shù)據(jù)點都用于回歸參數(shù)的計算,就會將未來的數(shù)據(jù)包括在內(nèi)。

      【極大/極小】一些交易策略會利用一段時間內(nèi)的極值。但是鑒于極大極小等極值只有在一個時間段完成之后才能計算,如果在這個時間段中使用這些參數(shù)就會帶來前瞻性誤差。對極值的使用往往要延后至少一個時間段才能使用。

      與優(yōu)化偏差類似,我們必須十分小心以避免前瞻性誤差的引入, 這也往往是一些交易策略在實際交易中表現(xiàn)不佳的主要原因。

      幸存者偏差

      幸存者偏差是一個極其危險的現(xiàn)象,并會大大高估特定策略類型的表現(xiàn)。當一個策略在測試時沒有包括當時所有可選資產(chǎn),而是只從現(xiàn)在已經(jīng)“幸存”那些資產(chǎn)中選取。

      舉例來說, 如果隨機選取標的,對一個策略在2001年市場崩潰前后進行測試。一些科技股直接破產(chǎn),而另一些則挺了過來,甚至實現(xiàn)了增長。如果我們在選擇股票進行策略測試時只選取那些從市場回落中幸存的那些股票,我們就會引入幸存誤差,因為這些股票已經(jīng)證明了自己的成功。事實上,這就是前瞻性誤差的一個特例,其核心在于未來的信息摻到了對過去的分析中。有兩種方法可以避免幸存偏差對策略回測的影響:

      【無幸存偏差的數(shù)據(jù)集】盡管價格不菲,并往往只有研究機構(gòu)會使用,對于股票的情況可以試著購買包括了除名公司的數(shù)據(jù)集。特別要注意的是,Yahoo經(jīng)濟數(shù)據(jù)就不是剔除幸存者偏差的數(shù)據(jù)集,而且被退休算法交易員廣泛使用。另一方面可以選擇針對沒有幸存偏差的標的進行交易,比如一些大宗商品及其期貨衍生品。

      【采用近期的數(shù)據(jù)】只用近期的數(shù)據(jù)可以部分移除幸存者效應(yīng)的權(quán)重, 這只是基于短期內(nèi)股票被除名的概率極小。也可以從現(xiàn)在開始構(gòu)建個人的無幸存者偏差數(shù)據(jù)集,在3-4年后就可以獲得一個可靠的數(shù)據(jù)集來實現(xiàn)未來的策略回測了。

      心理容忍偏差

      現(xiàn)在我們來考慮心理學(xué)現(xiàn)象如何影響你的交易表現(xiàn)。這一現(xiàn)象不只是討論量化交易,而是擴展到更加任意的交易方式。這一現(xiàn)象有各種不同的叫法,在這里我們將其稱為心理容忍偏差,這一名稱更好地反映出了問題的實質(zhì)。

      在對過去五年或更長時間的時間進行回測時,很容易得到向上增長的凈值曲線,不錯的復(fù)合年增長率,夏普率甚至回撤率都十分令人滿意。一個策略可能產(chǎn)生最大25%的回撤,而最大回撤時間可能持續(xù)四個月。對于動量策略來說這并不常見。在回測時可以輕易地說服自己忍受這段時間的損失,但是在實際操作中,這比想象得困難得多。

      如果在回測中可以觀察到25%甚至更大的歷史回撤, 那么在實際交易中會時長看到相似的回撤。盡管回測結(jié)果已經(jīng)預(yù)測了長期的回撤,一段持續(xù)的回撤在心理上是十分難熬的。

      在這里將其稱為偏差的原因在于,一個原本可以成功的策略很有可能在一個長期的回測過程中被中止執(zhí)行,進而帶來遠不如回測結(jié)果的實際表現(xiàn)。因此,即使一個策略在算法上可行,心理因素同樣會對最終收益帶來巨大的影響。解決的方法就是在實際交易環(huán)境中預(yù)期這樣的回撤并堅持下來。

      三、不同回測軟件對比

      可以用于回測的軟件多種多樣,包括了從完全集成化的復(fù)雜軟件包到需要自己從頭編制的各類編程語言(C++,Python,R等)。作為量化交易者,我們需要在開發(fā)交易策略的時間和策略的速度與可靠性之間找到平衡。 這里有一些值得考慮的關(guān)鍵因素:

      【編程能力】 對環(huán)境的選擇需要考慮編程能力。在這里原作者建議盡量增強自己對策略實現(xiàn)的控制能力,原因在于使用外部實現(xiàn)存在出現(xiàn)自己難以修復(fù)的bug的可能性。當然也要考慮生產(chǎn)力,可用庫和執(zhí)行速度的平衡。

      【執(zhí)行能力】有一些回測軟件,例如Tradestation直接與券商綁定。原作者不建議這種方式,因為這會增加交易成本,進而明顯得影響夏普比率。

      【自定義能力】諸如 MATLAB 和 Python 等環(huán)境為算法開發(fā)提供了良好的庫支持,同時保留了自主拓展的空間。

      【策略復(fù)雜度】有些軟件無法實現(xiàn)復(fù)雜的數(shù)學(xué)操作,例如Excel,適合于簡單策略但不適合大規(guī)模數(shù)據(jù)處理與復(fù)雜的算法。

      【偏差最小化】如果是自己構(gòu)建的函數(shù),需要盡力保證不引入偏差。

      【開發(fā)速度】交易者不應(yīng)當花費幾個月的時間只是為了實現(xiàn)一個回測引擎。我們只應(yīng)該在原型程序上花費幾周的時間。應(yīng)該確保我們花在軟件開發(fā)上的時間不應(yīng)該只帶來有限的運行速度提升。(C++風評被害)

      【運行速度】如果你的策略完全基于執(zhí)行的時間,例如HFT/UHFT,那么C或是C++就是必要的,使用Linux核優(yōu)化與FPGA則不在這篇文章的討論范圍。

      【花費】有許多可以編寫算法交易策略的軟件環(huán)境都是免費開源的。事實上,有許多對沖基金都使用開源軟件進行算法開發(fā)。此外Excel和MATLAB都相對便宜,而且有免費替代品。

      既然我們已經(jīng)有了一系列的準則,就可以對目前流行的一系列軟件包進行比較:

      不同的策略對軟件有不同的需求,HFT和UHFT就需要用C++編寫(現(xiàn)在還可以通過GPU和FPGA實現(xiàn))。在實際的開發(fā)過程中可以先用Python實現(xiàn)策略原型,之后將執(zhí)行較慢的部分用C++代替,最終使用C++代碼進行實盤交易。

      在接下來關(guān)于回測的幾期中,我們將會討論關(guān)于回測實現(xiàn)的具體問題,以及如何引入市場成交的影響。同時也會討論如何評判策略表現(xiàn)并舉一個策略作為例子進行分析。

      END

      米哥點評

      確實在一些量化大賽或者量化平臺的論壇里見過很多次回測年化達到1000%的情況,我并不認為這是一件值得大驚小怪的事,因為那僅僅是一種回測。且不說是否用了未來函數(shù)、過度擬合或者過度優(yōu)化,各種滑點、手續(xù)費、市場容量以及樣本的問題都需要認真考慮。用自己的投資經(jīng)驗,結(jié)合干凈的歷史數(shù)據(jù),通過編程工具等技術(shù)手段實現(xiàn)完美的回測效果,是落地量化投資過程的重要一環(huán)。本文從量化的實現(xiàn)過程、需要注意的環(huán)境以及各類工具的優(yōu)缺點進行了說明,相信能給想要進入量化投資領(lǐng)域的朋友帶來一些幫助。

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多