1. 程式人生 > >量化投資學習筆記06——《開啟量化投資的黑箱》讀書筆記

量化投資學習筆記06——《開啟量化投資的黑箱》讀書筆記

讀了一本量化投資的書,筆記如下。
書名:開啟量化投資的黑箱
作者:Rishi K. Narang
譯者:郭建光
出版者:機械工業出版社
版次:2012年3月第一版第一刷
前言
量化交易是人類經過嚴格研究後得到的交易策略,然後交付給系統去實施。其與主觀判斷型的交易策略的主要差別在於策略如何生成及如何實施。
阿爾法策略通過擇時和調整投資組合中不同頭寸的大小來獲得回報。貝塔策略複製指數或略微超出指數表現。
第一部分 量化交易的世界
第1章 我們為何關注量化交易
能夠從寬客身上學到的:強制自己對所採用的投資策略的各個方面做出更深入的思考。對紀律的嚴格遵守。
第2章 量化交易簡介
優秀寬客和平庸寬客的區別就在於是否具有良好判斷。當出現了模型所不能處理的驅動市場變化的資訊時,需要人工干預策略執行。
量化交易系統是如何構成的?
由阿爾法模型,風險控制模型,成本控制模型形成投資組合構建模型,並形成執行模型。模型的構建和執行還必須有高質量的資料。
第二部分 開啟黑箱
第3章 α模型:寬客如何賺錢?
α指投資者獲得的與市場波動無關的回報。指寬客為了獲利而在投資過程中表現出來的技巧。追求阿爾法回報的策略,本質上就是投資組合的資產配置決策及設定其頭寸規模的擇時決策。其核心思想:沒有永遠好或永遠差的金融產品。關鍵因素是決定何時持多和持空。價值型投資背後的思想是,在股價低估時買入而在股價高估時賣出。任何行之有效的阿爾法模型都有其適用範圍。理解寬客最關鍵的一點是明白其如何科學地思考問題。阿爾法模型分理論驅動和資料驅動兩類。絕大多數理論驅動型寬客可以分為五大類:趨勢型、恢復型、價值型/收益型、成長型、品質型。資料分為價格相關資料和基本面資料。資料驅動模型的假設是資料可以暗示將要發生的事,並且藉助分析技術可以識別出一些市場走勢。優點是可以知其然不知其所以然,用的人較少。缺點是計算量可能超出能接受的範圍,另外依賴於歷史資料,需要不斷調整。輸入資料中的噪聲很大可能產生錯誤訊號。寬客實施策略的差異包括預期目標(模型到底要預測什麼)、投資期限(高頻、中線、長線)、投注結構、投資範圍、模型設定、執行頻率。將各種阿爾法策略混合,常採用線性模型,非線性模型和機器學習模型等方法。
第4章 風險控制模型
風險管理是為了提高回報的質量和持續性,而對敞口實施有目的的選擇和規模控制。量化交易的一個巨大優勢就是能夠度量各種不同的敞口,並且對於這些敞口的選擇是有目的的。其希望識別出可以承擔哪種系統性風險,度量投資組合中每種敞口的大小,然後決定這些風險是否可以接受。
第5章 交易成本模型
背後的思想:任何交易都要花費成本。交易成本佔了回報的20%-50%。交易的兩個理由:提高回報,降低損失。但交易對其的微小改進,可能覆蓋不了交易成本。交易成本模型並不是用來最小化交易成本的,而只是用來確定模型所需要的交易成本。交易成本的組成:佣金、滑點(指的是交易者在決定交易開始到訂單實際上被執行這兩個時間段之間的價格變化)、市場衝擊(交易者的訂單對市場的影響)。趨勢跟隨策略對滑點比較敏感。
交易成本模型的型別:常數交易成本模型、線性交易成本模型、分段線性交易成本模型、二次型交易成本模型。
第6章 投資組合構建模型
目標是決定寬客將要持有的投資組合。有兩類方式,一類是基於規則,另一類採用最優化工具。
基於規則的投資組合構建模型:相等頭寸權重、相等風險權重、阿爾法驅動的權重、決策樹權重。它們的共同挑戰都是如何解釋驅動它們背後的經濟原理和規則的合理性。
投資組合最優化工具:需要輸入期望回報、期望波動率、期望相關性。常用最優化工具:無約束條件的最優化、有約束條件的最優化、布萊克-萊特曼最優化方法、格里諾德-卡恩方法:最優化因素投資組合、重新取樣、基於資料探勘的最優化方法。輸出為目標投資組合。
第7章 執行模型
交易方式:電子化交易或通過人工。
訂單執行演算法有市價訂單和限價訂單兩類。訂單有不同的執行方式。要決定是消極被動還是積極主動行事。大訂單可以拆分成小訂單執行。
第8章 資料
系統的輸入從本質上決定了你能用這個系統做什麼。基本資料型別分為價格相關資料和基本面資料。處理缺失資料:使用最近的已知資料,或插入合理數值。處理錯誤資料,如進位制錯誤(元被當成分),使用奇異點過濾器等。前視偏差,即使用未來資料。
第9章 研究
研究的目的是審查經過深思熟慮的投資策略。表現良好的量化投資策略的共同特徵是在研究中堅持科學研究方法。不同之處是量化策略更不穩定,需要持續修改,更新。
思想的來源:市場觀察,文獻,向其它量化交易者學習,主觀判斷型交易者的教訓。檢驗過程對研究至關重要。在量化交易中,模型是世界的近似。檢驗過程的第一步是用樣本內資料來訓練模型以找到最優引數。研究的過程中有各種各樣的陷阱要避免。要對假設進行檢驗。
第三部分 量化交易策略的投資指引
第10章 量化交易策略的固有風險
模型風險:建模的不適合性、模型的錯誤設定、執行錯誤。
市場邏輯變更風險
外部衝擊風險
擴散風險或同質投資者風險
第11章 對量化交易的批評——確保如實記錄
交易是藝術而不是科學:人的行為是可以模型化的。
由於低估風險,寬客引發了更多的市場動盪:量化交易誕生之前的市場動盪並不小。
寬客無法處理市場行情中的非常規事件以及快速的變化。
寬客們擁有相同的交易行為。
長期中僅有少數規模龐大的量化基金才能興旺發展:管理龐大的資金量並非總是件好事。
量化投資中存在資料探勘過失:過度擬合的問題。當模型複雜度既定時,可供使用的資料越多,出現過擬合問題的可能性越小。對長期投資,使用資料探勘進行投資決策不太可行。
第12章 評價寬客和量化交易策略
很多量化交易的技術來自於經驗和訣竅,而不是來自數學的優勢。
評價一個寬客要儘可能瞭解他所建立的策略。
投資者的優勢更多的是內在的或絕對的,而不是表現為比較優勢上的。處理逆境的正確方法,首先要有好的監測工具。
第13章 展望量化投資的未來

總結:量化交易的“黑箱”主要分為阿爾法模型、風險控制、成本控制三個部分。阿爾法模型是量化投資能賺錢的根本,分為理論驅動和資料驅動型,前者分為趨勢型、恢復型、價值型/收益型、成長型、品質型。資料驅動模型的假設是資料可以暗示將要發生的事,並且藉助分析技術可以識別出一些市場走勢。量化交易的一個巨大優勢就是能夠度量各種不同的敞口,並且對於這些敞口的選擇是有目的的。交易成本佔了回報的20%-50%。交易成本的組成:佣金、滑點(指的是交易者在決定交易開始到訂單實際上被執行這兩個時間段之間的價格變化)、市場衝擊(交易者的訂單對市場的影響)。量化交易者將上述三個部分組合起來形成自己的量化交易模型,經過回測檢驗後,付諸實施。量化交易者通過自己研究,向其它同行學習,從文獻中學習來獲取量化交易策略的思想。量化交易也不是萬能的,存在其自身的風險和問題。

另外繼續試驗了一下pyalgotrade框架的買賣的功能,主要有marketOrder/limitOrder和enterLong/enterShort/enterLongLimit/enterShortLimig兩類。enterLong以市價(下一個Bar的開盤價)買入,enterLongLimit當市價(下一個Bar的開盤價)低於或等於指定價格時買入,enterShort和enterShortLimit是賣出。以enter開頭是更加上層的方法,建議使用。goodTillCanceled為了適配實盤介面, 實盤介面可能有前一天的訂單不會再執行的限制,所以設定goodTillCanceled=True保證第二天或者更後的時間,訂單依然有效,直至手動取消。
(上文參考了: https://blog.51cto.com/youerning/2162751 特此感謝!)
用pyalgotrade文件裡的homework來做例子測試,結果如下:

前一個是用marketOrder下的單,後一個用的是enterLong下的單,都只在__init__裡下單,然後就一直持有,可以看到兩種下單方式最後的收益還是有細微差別的。用enterLong的好處是可以返回一個position物件,然後就可以輸出各種交易資訊。另外看了一下原始資料,是用Adj.Open,即復權後的開盤價來買入的。能不能用收盤價之類的進行交易呢?
接下來我打算找本實操的書,照著練吧。
本次的程式碼在 https://github.com/zwdnet/MyQuant/tree/master/06

我發文章的三個地方,歡迎大家在朋友圈等地方分享,歡迎點“在看”。
我的個人部落格地址:https://zwdnet.github.io
我的知乎文章首頁: https://www.zhihu.com/people/zhao-you-min/posts
我的部落格園部落格地址: https://www.cnblogs.com/zwdnet/
我的微信個人訂閱號:趙瑜敏的口腔醫學學習園