在量化策略開發過程中,你都用到了哪些知識?

問這個問題,主要也是想了解一下,自己需要在哪些方面進一步t提高和彌補自己。。。

自己最近也在用MC試著做一些開發,但無奈才疏學淺,就只是用到些加減法, 和金融的知識。想看看自己和各位大神有多大差距。。。


謝邀

最近好懶好久不想作答 ~~⊙﹏⊙b

我認為策略生產分為以下兩種:

1有實際交易邏輯,或交易靈感,然後通過歷史數據進行回測,得到良好的收益/風險效果以及良好的樣本內/樣本外效果後進行程序化的實現。這種邏輯往往就是用加減乘除就可以描述清楚的,用不到太高深的知識。

2通過一套數學/統計學方法對數據進行測試,得到良好的測試結果後再進行程序化的實現。我見過的有用多因子模型、大數定理、隱馬爾科夫模型、小波分析、貝葉斯網路、遺傳演算法等等不勝枚舉。換句話說統計上各種模型只要有對未來數據有預測的方法,就可以拿來對歷史數據進行套用,看是否有用。當然顯然很多是不一定有用的,而且哪怕是用的一樣的模型,裡面用法稍有不同也會造成結果天壤之別。

實際經驗中1和2並沒有明顯的優劣之分,很多時候沒必要為了追求複雜而複雜。


瀉藥~, 量化策略是個很大的話題,我是做套利的,就說說相關的吧。

~~~~~~~~~~~~~~~~~~~~~~~~~~以下是客觀的事實~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

1。 數學,統計學功底-------沒有想像中的重要。我的數學能力說實話還停留在高中水平,雖然是碩士畢業。。。因為在國外學的是會計和金融,算是文科。統計是在coursera上跟著視頻學的,雖然寫論文的時候也嘗試著去用GARCH之類的,不過也是用了就忘,工作中從來沒遇到過。我們公司倒是有個數學博士,但是也不知道怎麼用他。留著是因為撐場面+很便宜。

2. 編程。------- 這個吧,說來慚愧,python在cousera上學的,matlab是自己硬擼的,反正做回測的時候就是各種土方法+效率低+將就著用。寫模型,首選商業平台的,比如MC,TB,因為行情不用清洗呀。。。功能各種方便呀。

3. 金融學的知識————這個就看自己了,一般都是上個新品種之後現學現賣,學校學的能用上,但是太基礎,這點CFA課程也是一樣,就是讓你了解個大概,最後還是具體問題具體解決。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~以下有主觀的部分~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

量化策略開發是一個很容易讓人迷失的領域,很多人在quant,quant trader,quant dev之間不停的跳來跳去,這點擼主自己也是一樣的。其實說白了,還是沒有搞清楚自己的定位。量化交易是對個人的綜合能力要求很高的:數學,統計,金融,計算機,交際(你總要拉投資吧?)。如果你在大機構,或者一個很成熟的團隊,那麼恭喜,你不用考慮這個問題。但是以國內的量化交易發展水平來看,還是高手在民間,很簡單,因為賺錢機會多,資金多,模型容易開發,那麼這種時候肯定是自己干來錢快。舉個栗子,比如我們做套利,券商自營的收益率可能跟我做的差不多,但是僧多,粥就少。

題主應該是想繼續在量化交易這條路上走下去,但是不知道應該提升自己哪個方面,是IT?數學?還是別的?因為跟量化交易相關的東西實在太多了。擼主自己去年也問過問題,但是被某位大神一句話打臉:

「你踢足球,需要會做球鞋嗎?」

所以說,想要提升技能要找準定位,找準定位就有很多方法啦。簡單的來說:

如果把量化交易當成職業,那麼現在最好加入一個團隊,然後你很自然的會知道自己要提高什麼。

如果想從交易上賺到錢,那還是好好學習怎麼交易吧。。。量化不量化,其實沒個毛關係。


以下四類人都是量化相關,第一類主金工,第二類專數理,第三類半編程半交易,第四類當主交易。

那些做alpha的,選這股選那股,更多需要金融工程那套理論,加點財務知識,最後實踐起來,發現基差太大甚至覆蓋各種因子的超額收益,竟歸於做期現套利了。

量化一詞變得通俗乃至有點爛了,乃是被那幫人用於量化選股了,世人競相鄙視量化:你那套寫寫改改的模型,選的股有我消息牛逼?還在空IC500?開玩笑。

那些做統計套利的,有的依賴精專的統計計算,有的依賴完備的IT系統支撐,大體上各一半一半。IT系統有人給你做,你要做的是出統計模型能賺錢,算算相關性多強空弱或等待回歸,等等,phd可能會不錯,卻不見得需要多少trader經驗。

那些做高頻的,一天交易幾十乃至幾百個來回,專註在微觀結構的研究上,編程是硬技能。

那些做趨勢跟隨的,尋找或優化各種指標,算各種出入場信號,需要有點交易思想, trader出身可能是個不錯的加分。 但量化在這裡只是個程序化的交易工具,更多是高手在民間,民間在戰鬥,對於量化而言,這不過是小眾末流罷了。

總的來說,

編程是個萬能技,絕對是技不壓身,但決定一個人價值的,卻是他的idea(思想?靈感?),日有靈感一千,而後自斃八百,應該是人才!


謝邀

說幾點在量化策略開發過程中瓶頸吧:

首先,我覺得錢能解決的事,那都不叫事。如果認同,可以往下看。

1、交易思想是核心,你需要會把你的交易思路說清楚,因為可以找到技術團隊可以幫你實現出你的想法。

2、語言工具或許是瓶頸,因為程序化交易,這是思想落地的關鍵。

3、量化策略相比策略調優是個相對短的過程,因此不在於你用什麼數據,工具,而在於策略是否能有效『盈利』。

4、策略核心在於風控,而風控和策略本身存在互補、制約關係。

5、賺的誰的錢:趨勢交易還是主流交易策略,套利交易做不大,對沖大多謀求是管理費。

其他學習方面的仁者見仁智者見智的事了。

之前分享過的,再次分享,可以從一個例子,看看策略怎麼開發的。

如何開發一個策略


謝邀~

最近事情比較多,一直抽不出時間來回答,其實呢,這是自己不會回答的借口,以下內容僅供娛樂:

1. 既然是量化策略的開發,首先離不開數據處理,另外就是編程相關的,還有就是金融方面的知識,比如經濟形勢對市場的影響、市場微觀結構方面的,這些比起數據方面的工作、編程方面的工作而言,我個人覺得更重要,數據的挖掘可以用很多種方法、可以構建各種模型,但如何來解釋這些模型或者說統計結果,才是模型是否有用的關鍵,不能合理解釋的模型是有毒的!

2. 涉及計算的過程,比如數據的處理過程中,數據溢出、並行計算性能、數據的採集及處理、數據分析工具的選擇等都是需要的知識,但具體需要到什麼程度不好說,根據實際情況選擇吧,夠用就好,不夠用再去學,也是來得及的,畢竟是應用而已。

3. 真正找到的交易思路,建立了可信的模型後,如果需要自動執行,就得寫交易策略了,這時需要的可能是編程方面的知識,也可以只是把問題描述清楚的能力,讓dev幫你來實現,或者是藉助於現成的平台,把IT問題留給別人來處理。

雖然感覺還有很多,但說不出來,提前總結一下吧;

Quant是個很複雜、也很扯的活,好像什麼知識都得有點,但好像又沒有什麼是特別有用的知識,特別是當天費了牛勁,用了各種複雜的統計、機器學習如神經網路神馬的搞出個模型,真正跑起來還不如一個簡單的指標好用時,這種感覺特別地強烈,如果再聽到隔壁王二主觀交易比你掙得還多的時候,你肯定有想撞牆的衝動,但是別急,量化追求的好像是穩定的收益,自我安慰下吧。


如有問題,歡迎私信騷擾!

-----------------------------------------------------------------------------------------------------------------------

這個問題,在術的層面上大家已經答的很好了,所用到的知識無非就是數學(統計居多)、計算機編程(matlabpython)、二級市場的龐雜的交易知識和理念(行為金融、技術面分析、基本面分析等)。

量化是對金融交易的有效輔助,是用演算法和模型幫助人處理大量複雜的信息,並在相當長的時間內嚴格遵守人制定的交易紀律。是定性投資和定量投資的一種結合,所以本質仍然是金融,仍然是對【金融表象、經濟內核和人性的認識】,如果不能在核心層面融匯貫通,最多也只能做個外表光鮮的量化碼農。

我主要想來談一些「道」的層面的內容,有句老話叫「明此道術勢,大業終可攀」,知道為什麼做,向哪個方向做比知道怎麼做更重要。

策略能不能做出來,能不能做好,是要看運氣的。

當然,只有足夠努力才可能有運氣。

量化這個領域,就像是一個金字塔,真正能走到塔尖的人少之又少,在頂點區間的人基本上可以靠自己的幾套策略(本質上是幾個發現,幾種聯繫)而得到很多。

下面的人會不斷的往上爬,壞處是競爭確實存在,而且你根本不知道自己做的策略是不是能夠做出來,你的總監或者經理只會在思想上指導你,而絕對不會把自己的策略告訴你,這點大家應該可以理解,看家的行規不能破。

好處是,【每個人的背景和指導思想不一樣,開發策略的路徑不一樣】,這就好比都要登天,但每個人一個自己的梯子,不用擔心互相打架,無非只是擔心你的梯子搭的對不對,夠不夠長。

來講講我的兩個同事,我覺得是非常是非常具有代表性的。

同事一,30歲,國內優質211大學本科,中國知名財經學院計量經濟學博士,留學美國,正統的科班出身,是很多量化童鞋的模板。

同事二,33歲,本科211,地方性名校,立志金融報國,先後就職於國內知名的衍生品交易公司,很早就開始在市場上摸爬滾打。

同事一堅決的信奉科學主意。非常的嚴謹和有邏輯,他開發策略的邏輯有幾個關鍵詞【拿來、優化、簡單不複雜】。舉個例子,通過大量的閱讀國內外研報、論文等等,就是最簡單的呈現結果一定要好,但是有明顯的缺陷,再去改進這個缺陷。堅決不去使用或者研究看似複雜的模型,因為他信奉簡潔的才是美的。

他的指導思想就是兩個主體:

1、計量金融學:核心是確定因果關係(用模型可以精準確定)

2、行為金融學:試圖找到定價過程中由於人的因素所導致的錯誤。

就這兩條,可以這麼說,他開發策略的邏輯和過程就像是在搭積木,一層一層的向上,雖然過程很慢,但是每一層都嚴謹,有據,部分之間不會存在錯誤。

在美國,很多知名的對沖基金都是由數學、經濟等等方面的教授在運營,他們的策略邏輯就跟他一樣,step by step,但要求每一步都堅實。可以說這是一種犧牲了速度,但是精準的開發方式。

同事二以市場為導向,有非常好的市場感覺和判斷力,在交易市場上摸爬滾打多年的他,總是有很多天馬行空的想像,會去主動發掘和開發很多新鮮的策略,用最快的速度開發出啦,不斷矯正。可以說就是市場驅動。他的做法就是大量的閱讀,大量的行業交流,大量的測試,最終找到好的策略。

事實上,同事二是我們的研究總監,指導全盤的策略開發工作。而同事一是我們研發的中流砥柱,海外策略開發的核心人員。

二人非常互補,配合很默契,所以你可以看出,需要什麼樣的基礎知識大同小異,而且在量化的領域中這真的不是問題的核心。

核心是【依據自己的經驗和教育體系,找到自己策略開發的主線,持之以恆的去做】。想通這一點,我想在很多細節上就不會那麼糾結,我很贊同這句話「畢竟我是來踢球的,為什麼要會做球鞋呢?」

總結一句,策略開發如登山,好在每人都有自己的梯子,找到自己的主線,持之以恆的攀登吧。

------------------------------------------------------------------------------------------------------

如有任何問題,歡迎私信騷擾!


故事背景講一下,我是純金融背景出生,半途轉做量化。所以這個過程可想,比較艱辛。

其實金融背景也是中途轉的。之前EE的。

我理解的是一切皆信號,所有的數據都蘊含了一定的模式和規律,礦工也是我認為的最適合我的職業,挖掘意義。就是為了更好的理解這個世界,對於一部分人來講,把未知的都變為已知這種對周遭的掌控是很有快感的。

==========================講回正題==============================

用到過的知識。

1. 金融學知識。這部分是在校期間打下了基礎的。理論的宏微觀和財務分析,一些會計知識(看財報用得上),投資學中一些理論(CAPM,APT,三因素,投資組合等),John hull的期貨期權(這個實際中還沒用到,但有家HF的面試問起過),風險管理

2. 數學知識。這部分也是我在校的時候有基礎的,用起來不算吃力。基礎的線代,概率論,統計,計量經濟,計量金融,時序分析。

3. 計算機。編程語言上,在校期間用matlab和R,後來改用python。C++的話不做高頻對速度要求不那麼高還沒太用過,但也是以後進階的一方面。很多演算法和計算機基礎的知識也是邊工作邊累積去學的。什麼遺傳啊神經網路啊機器學習啊,各種優化演算法。

4. 投資和交易。這方面真是靠廣泛的涉獵各種書籍著作堆積起來的。國外很多比較老一些的書,會有各種交易法則和交易系統的介紹。每個人都有自己的交易風格,其中很多思想吸收過來是可以用來彌補現在自己體系里的短板的。當然,這個過程就像榨汁,精華是少部分,要靠量去積累。而且很多時候策略的點子來源於方方面面,奇思臆想和一些前沿的paper(對paper很關鍵,多讀)。

就寫策略和寫出有信號的策略來講,思想是核心,而編程是個很好的工具。以前我認為光有腦子會想問題的人是食物鏈頂端的人,實現交給下面的人干就好。後來,我覺得又有想法又自帶工具的人顯然酷多了。自學編程開始寫策略也是這個原因,讓一個工具限制了自己漫天的idea的發展豈不是很rua.....

具體的知識點是沒有辦法在這裡一一羅列的,這麼些年零散的吸收了很多知識,在這裡全梳理一遍不太現實。有心學的話,就按自己的思路使勁的學就對了。要知道,沒有一條路是可以重複走出來的。

=============================================================

最後,也給自己積點粉。

以前學了很多想自己搭系統做交易,去年開始很多開放的量化平台開始上線。自己也選了一家合適自己的平台,給個推送門:社區 - JoinQuant,社區里和知乎同名,發表了不少策略回測的帖子,對量化策略感興趣的捧個場

【回測來啦】——鱷魚法則交易系統,15年至今114%

【簡單的多均線擇時策略】那個天台排隊的孩子,我給你講個故事

【網格交易策-年化30%+】網格大法好,熊市不用跑~

【組合管理】——投資組合理論(有效前沿)

我的知乎專欄和微信同名公眾號也歡迎大家關注。


量化策略最難在長期執行。因為人的想法太多,總想找個高成功率低回撤率高夏普的策略,實際是不存在的。


1,交易思想 ,這是保持交易一致性的基本

2,交易策略,如何實行你的交易思想。

3,交易執行,執行的評估方式,執行中的問題,先提出問題不要等問題出現。

某些策略如高頻是要非常了解整個交易遊戲的規則,交易所制度,交易過程全方位了解。

4,資金管理,資金如何發展,需要的本金,風險程度,效率,超額收益,出入金的控制

5,評估機制,策略效率,是否追隨交易思想,市場有否出現結構性變化導致交易思路不適合。

具體需要知識,我把它分為

市場理論

市場信息

交易行為

信息數據分析處理

網路,編程語言,處理順序

頭寸方面資金管理

風險模型

等等。。。。。。

其實不太想回答這個問題,對於金融交易我認為任何知識都用得上,只有基礎知識和還有各種公開或未公開發布相關模型或理論思想。交易本身只有買賣兩個動作,但加上時間和空間就發展成各種理論實現場所。


最簡單的支撐阻擋 以及均線解決一切問題


這裡講解一下

如何用IED編寫股票的量化策略吧

閱讀原文:京東量化平台-為投資者提供數據支持、策略開發到策略輸出的量化生態服務

京東金融官方資訊QQ:3414182370

1 集成開發環境(IDE)介紹

較早期程序設計的各個階段都要用不同的軟體來進行處理,開發者必須在幾種軟體間來回切換操作,開發過程非常不便利。而集成開發環境(IDE,Integrated Development Environment )得出現解決了這一問題,它是用於提供程序開發環境的一體化的開發軟體服務套,可以集成代碼編寫、分析、編譯、調試等功能, 節省了用戶的時間和精力,建立了統一的工作標準,便於用戶管理開發工作。

對於編寫量化策略常用的語言Python和Java來說,目前存在著各種各樣的IDE。常見的Python IDE有IDLE、Eric、Pycharm、 Ulipad、Eclipse+PyDev等,常見的Java IDE有Eclipse、NetBeans、IntelliJ IDEA、BlueJ等。但是對於策略開發者特別是初學者來說,基於一般的IDE來開發一個回測的交易系統框架通常需要幾個月的時間來完成,這是非常巨大的工程。除非你對開發回測交易框架非常感興趣或有一些其他特殊的需求,那麼不妨嘗試一下各類現成的在線量化平台。今天我們以京東量化平台(http://quant.jd.com)為例,簡單介紹一下基於IDE的量化策略編寫。

2 京東量化平台簡介

京東量化平台為策略開發者提供了在線IDE編輯功能,在已經構建好的回測框架的基礎上,用戶可以在雲端實時編輯自己的策略並完成的回測,從而在編寫策略時相對於一般的IDE更加方便、快捷、有效。京東量化平台基於京東自身的數據優勢,為用戶提供了海量的精準數據,同時基於量化社區,為用戶提供了強大的策略支持和活躍交流社群,這些優勢是一般IDE所不具備的。而京東量化更加高速的回測環境和特色可靠的京東行業數據,也是你選擇京東量化平台的理由。

3 基於IDE的量化策略編寫——以京東量化平台為例

京東量化平台上手非常簡單,首先進入主頁(http://quant.jd.com),進行註冊和登錄。如果你之前有京東賬號的話,就可以免去註冊直接登錄了。

隨後點擊下方紅色按鈕「新建策略」,在「我的策略」一欄,會發現有Python策略和Java策略供你選擇,在這裡我們以更加簡單和直觀的Python語言策略為例進行介紹。下面點擊右側紅色的「新建策略」按鈕,讓我們開始京東量化平台的Python策略之旅吧。

點擊新建策略之後,會出現「新建Python策略」提示,對於習慣親自動手編寫策略的朋友,在輸入策略名稱後保存,直接進入手動編寫策略代碼的界面(別慌,「使用代碼生成器新建策略」的選項稍後會給大家介紹)。

這時可以看到代碼編輯器裡面已經有了策略的基本結構:京東量化平台python策略代碼結構分三部分,初始化函數(init)、開盤前事件函數(before_trade)、行情事件函數(handle_data)。初始化信息函數在整個策略中只執行一次,一般在此函數中設置交易傭金、滑點、基準等一些常用參數。開盤前事件函數在每天開盤前執行,每天執行一次,一般用於開盤前的事件處理,如開盤前進行選股、更新股票池等。行情事件函數為行情數據的請求函數,如果是按天的數據,則每天執行一次,如果是按分鐘的數據,則每分鐘執行一次,行情事件函數裡面一般寫整個策略的執行邏輯。在具體的代碼編寫時,用戶可以使用策略編寫的法寶——Python API文檔,該文檔細緻地列出了編寫交易策略過程中會用到的語句,比如初始化設置、任務事件設置、獲取豐富的數據、各類下單交易、獲取持倉信息、日誌列印、畫圖等等。在代碼編寫完成後,用戶可以進行編譯來調試代碼,修改代碼BUG。調試完成後,則可以運行回測來查看策略的回測效果。

Python API中還有策略範例供用戶進行學習,在這裡我們將道路突破策略copy到代碼編輯器內,並運行回測,查看策略效果。收益概覽展示了策略收益曲線、回測年化收益率、alpha、beta、最大回撤等重要信息供用戶參考。如果想了解每個指標的具體信息,可以點擊左側「交易詳情」、「每日持倉收益」等欄目進行查看。

除了手動編寫策略,京東量化平台還為大家提供了非常智能的「使用代碼生成器新建策略」功能,讓你體驗對策略「手到擒來」的感覺。在「新建Python策略」提示中,勾選「使用代碼生成你新建策略」可以讓策略開發者通過窗口化的操作基於各類財務指標對股票進行篩選,並進行持倉最多股票數量、單股最大買入倉位、手續費等交易細節的設置。篩選和設置完成後點擊提交,代碼生成器便會為你自動生成一套完整的Python交易策略!用戶可以直接對代碼生成器進行回測並查看回測結果,也可以根據自己的需求在原始策略基礎上進行修改。代碼生成器免去了代碼編寫和調試過程,極大的提高了策略編寫的效率。

閱讀原文:http://club.jr.jd.com/quant/topic/1091094

關注京東量化學院!獲取更多最新最全面的量化交易知識!

http://quant.jd.com/college/index?from=zhihuhuida


技術層面的主要是概率統計學、計算編程學。至於什麼高等數學、物理知識,一定要謹慎應用,很容易走入歧途。

人有一種傾向,就是希望能夠把自己學到的知識充分地應用於實踐,以至於很多人把小波理論、分形理論硬套在股票走勢圖上,仔細想想,股票走勢圖和信號波形圖看起來很相似,但也僅僅如此而已,他們背後的驅動因子是完全不沾邊的,使用二維坐標系表示只是人的一個習慣而已。就像天空和大海都是藍色的,但不會有人想到在天上去釣魚吧?但在金融投資領域就有這麼傻的人,而且學歷還都挺高。

在策略層面,最重要的知識就是行為金融學方面的內容,還有就關於市場本身的東西,比如交易制度、結算制度等。


要相信凡事都有確定性的本質規律,覺得無法預測事物的發展,只能說明用了錯的模型(規律的量化建模)或根本就不懂;如果大多數時候能有效預測(以此獲利),而偶爾預測錯誤,那說明模型大方向是正確的,只是可能還太粗糙,需要精細,越接近科技樹的底層,問題的邏輯複雜度就越趨於簡單,要相信這一點,大道至簡。


越微觀的策略,目標勝率和目標夏普率越高,對演算法,對底層構架的要求也越高。國外之所以流行這個,是因為人家市場高度有效,利潤不得不向微觀去挖掘,本質上是將差異化定價在概率上與現實的吻合程度達到極限(從而吃掉所有資金供給者與資金消費者的剩餘)。要走這條路,數學、編程、統計、金融模型基本要全通才行,沒有十八年苦讀加一個至少萬里挑一的腦子是不用想的,當然做出來了,就是無風險暴賺。這樣在我心裡才能叫量化。

這樣搞我腦力體力都跟不上,所以我搞搞主觀交易。


我覺得量化統計編程什麼的都是工具,交易最重要的最難的最核心的是策略思路

當然你統計物理金融知識學得越多思路肯定是要寬廣一些了,也有助於提升對市場對風險的理解,帶你飛出韭菜陣列,但是還不夠啊,要賺錢猜行...


線性代數,微積分,統計學,離散過程模擬,數字信號處理,高維空間分析,回歸分析,神經網路,人工智慧,模式識別。 大概就這麼多了。


國外都是要求數學、計算機編程、金融三個中最少精通兩門


作為一個純理科出身做alpha的我來說,優勢點在於數理統計,所以主要用到了數學統計知識,而計算機、金融知識其次,總結如下:

數學統計方面:

凸優化、多元線性模型、顯著性統計檢驗、方差分析、建模分析、線性代數;

計算機方面:

主要是編程,語言來說Matlab、R、Python都可以,只是工具,沒有模型重要;

金融知識:

財務報表。

量化重點在於收益、風險、成本的全流程理解與控制,並與市場與時俱進。


先了解什麼是交易系統,然後再去研究策略各個模塊


推薦閱讀:

怎樣讓高頻策略測試更貼近現實?
演算法交易 (Algorithm trading) 與程序交易 (Program trading) 有什麼區別?
手工交易和程序化交易比起來優勢在哪裡?
如何評價劉鵬的《計算廣告-互聯網商業變現的市場與技術》?
個人投資者怎麼實現簡單的程序化交易?

TAG:量化 | 程序化交易 | 交易員 | 量化交易 |