K線圖已經(jīng)成為金融交易平臺和圖表程序的關(guān)鍵組成部分。使用這些圖表,交易者們從中學習基礎(chǔ)模式,用于解釋價格走勢歷史,并預(yù)測未來市場。這本詳細的指南向投資組合經(jīng)理、量化分析師、策略師和分析師展示了如何使用Python來識別、掃描K線圖模式,根據(jù)模式進行交易,并回測K線圖模式的盈利能力。
金融作家、交易顧問和機構(gòu)市場策略師Sofien Kaabar在本書中展示了如何創(chuàng)建K線圖掃描器和指標,通過這些指標,我們可以比較不同模式的盈利能力。通過這本實踐指南,你還將探索一種類似K線圖的新型圖表系統(tǒng),以及從未介紹過的新模式。
通過這本書,你將學會:
創(chuàng)建并理解經(jīng)典和現(xiàn)代K線圖模式所需的條件。
學習這些模式背后的市場心理。
使用一個框架來學習如何進行交易策略的回測。
探索不同的圖表系統(tǒng)并理解它們的局限性
在Python中導入不同時間框架的OHLC歷史外匯數(shù)據(jù)。
使用算法發(fā)現(xiàn)和再現(xiàn)模式。
學習模式的特性和應(yīng)用。
前言探尋規(guī)律是智慧的本質(zhì)。Dennis Prager隨著技術(shù)的進步和金融信息的去中心化,編寫代碼并進行自動化研究已成為交易世界的重要組成部分。任何精通交易和編碼藝術(shù)的人在市場上都具有極大的優(yōu)勢。眾多的工具和理念為我們帶來了不計其數(shù)的交易技術(shù)。例如,基本面交易者通過對經(jīng)濟和局勢的分析,對不同類型的資產(chǎn)做出長期評估,而技術(shù)交易者則更多地依賴量化分析和心理學概念來預(yù)測市場的未來動向。因此,從總體上講,存在兩種分析類型,基本面分析和技術(shù)分析。本書將詳細介紹技術(shù)分析領(lǐng)域中的一個領(lǐng)域K 線圖模式識別。為什么要寫這本書?我的整個職業(yè)生涯都在研究交易策略、模式,以及金融市場的其他方方面面。我對模式有著很高的熱情,更具體來說,就是K 線圖模式。它們在市場中被廣泛使用,并取得了不錯的效果。這么多年來,我已經(jīng)發(fā)現(xiàn)了一些可與經(jīng)典模式媲美的K 線圖模式,而這也是我寫作本書的初衷:我希望展示K 線圖的所有模式,包括我自己發(fā)現(xiàn)的那些。同時,我也希望展示如何編寫一個系統(tǒng),以在各種市場中回測這些模式。由于其客觀性,機器在模式識別和檢測上可以比人做得更好。因此,在深挖各類模式和策略之前,我會在本書的前幾章中首先展示如何創(chuàng)建一個K 線圖模式識別算法。這意味著你學到的第一個技能將是,如何使用Python 自動化地導入數(shù)據(jù)。金融領(lǐng)域還存在著眾多的經(jīng)典的 K 線圖模式,在斷定它們的有效性之前,我們都有責任去測試這些模式,以驗證它們是否真具有預(yù)測性。畢竟我們是在用這些模式去預(yù)測市場。我們需要用客觀的結(jié)果切實地證明這些模式確實是資產(chǎn)的增值器。我們將得到這樣的結(jié)果并解釋它們,就像我多年來對我發(fā)現(xiàn)的K 線圖模式所做的那樣。我們也將看到每種模式的優(yōu)點和局限性。當我們確實發(fā)現(xiàn)了某種很好的模式去完成預(yù)測任務(wù),就可以將之嵌入已經(jīng)搭建好的交易框架,這個交易框架已經(jīng)包含了之前建立的一系列工具和風險管理體系。你將會學習到如何去計算一個技術(shù)指標并且將它和K 線圖模式結(jié)合起來以建立交易信號。最后,你會學習到如何回測這些信號,如何優(yōu)化參數(shù)并最終得到一個不錯的全面的模式識別策略。因此,這本書的作用是向你展示如何使用你建立的算法去評估不同的K 線圖模式,從而將研究自動化。最終,你將會掌握如何使用模式和其他技術(shù)指標來決定你的策略。目標讀者本書適合有志于學習的學生、學者、充滿求知欲的人,以及對K 線圖模式識別及其在金融領(lǐng)域應(yīng)用感興趣的金融從業(yè)者。如果你不僅喜歡使用Python,而且對開發(fā)策略和技術(shù)指標感興趣,那么你將從這本書中受益。本書假設(shè)你已經(jīng)具備Python 編程(資深Python 使用者會發(fā)現(xiàn)代碼非常直觀)和金融交易的基本背景知識。我采用了清晰而簡明的方法,重點講解關(guān)鍵概念,以便你能夠理解每個理念的目的。排版約定本書采用以下排版約定。斜體(Italic)表示新術(shù)語、URL、電子郵件地址、文件名和文件擴展名。等寬字體(Constant Width)表示程序列表,以及在段落內(nèi)引用程序元素,例如變量、函數(shù)名稱、數(shù)據(jù)庫、數(shù)據(jù)類型、環(huán)境變量、語句和關(guān)鍵字。粗體等寬字體(Constant width bold)表示應(yīng)由用戶應(yīng)按字面輸入的命令或其他文本。斜體等寬字體(Constant width italic)表示應(yīng)該替換成用戶提供值的文本,或者由上下文決定的值。使用代碼示例補充材料(代碼示例,練習等)可在以下鏈接下載:https://github.com/sofienkaabar/mastering-financial-pattern-recognition。與本書相關(guān)的技術(shù)問題,或者在使用代碼示例上有疑問,請發(fā)電子郵件到errata@oreilly.com.cn。這本書旨在幫助你完成工作。一般來說,如果這本書提供了示例代碼,你可以在你的程序和文檔中使用它。除非你要復(fù)制大部分的代碼,否則你無需聯(lián)系我們獲得許可。例如,編寫一個使用了本書中幾段代碼的程序并不需要獲得許可。出售或分發(fā)來自O(shè)Reilly 書籍的示例則需要獲得許可。通過引用這本書和引用示例代碼來回答問題并不需要獲得許可。將這本書中大量的示例代碼整合到你的產(chǎn)品文檔中則需要獲得許可。我們很希望但并不強制要求你在引用本書內(nèi)容時加上引用說明。引用說明一般包括書名、作者、出版社和ISBN,例如:Mastering Financial Pattern Recognition by Sofien Kaabar (OReilly). Copyright 2023 Sofien Kaabar, 978-1-098-12047-4。如果你覺得自己對示例代碼的使用超出了上述許可范圍, 請通過permissions@oreilly.com 與我們聯(lián)系。OReilly 在線學習平臺(OReilly Online Learning)近40 年來,OReilly Media 致力于提供技術(shù)和商業(yè)培訓、知識和卓越見解,來幫助眾多公司取得成功。我們擁有獨一無二的專家和革新者組成的龐大網(wǎng)絡(luò),他們通過圖書、文章、會議和我們的在線學習平臺分享他們的知識和經(jīng)驗。OReilly 的在線學習平臺允許你按需訪問現(xiàn)場培訓課程、深入的學習路徑、交互式編程環(huán)境,以及OReilly 和200 多家其他出版商提供的大量文本和視頻資源。有關(guān)的更多信息,請訪問http://oreilly.com。聯(lián)系我們?nèi)魏斡嘘P(guān)本書的意見或疑問,請按照以下地址聯(lián)系出版社。美國:OReilly Media, Inc.1005 Gravenstein Highway NorthSebastopol, CA 95472中國:北京市西城區(qū)西直門南大街2號成銘大廈C座807室(100035)奧萊利技術(shù)咨詢(北京)有限公司我們?yōu)檫@本書設(shè)有一個網(wǎng)頁,其中列出了勘誤表,示例,以及任何額外的信息。你可以通過https://oreil.ly/mstrg-finan-pttrn-recog 來訪問這個頁面。對本書的評論或技術(shù)疑問,可以發(fā)電子郵件到errata@oreilly.com.cn。欲了解本社圖書和課程的新聞和信息,請訪問我們的網(wǎng)站http://oreilly.com。我們的LinkedIn:https://linkedin.com/company/oreilly-media。我們的Twitter:https://twitter.com/oreillymedia。我們的YouTube:https://youtube.com/oreillymedia。致謝我由衷地感謝我的父母對這本書直接和間接的幫助,如果沒有他們的支持,一切都將截然不同。我還想說的是,我同樣感謝我的妻子Charline,她總能理解我時常寫作到深夜,沒有她的耐心就沒有這本書的成功。我對她充滿敬意。我同樣要感謝我的編輯Michelle Smith 和Corbin Collins,以及我的產(chǎn)品編輯Elizabeth Faerm, 感謝他們的支持,感謝他們的工作以及超越常人的耐心。同樣地,我感謝OReilly 出版社的每一位員工。此外,我特別感謝優(yōu)秀的技術(shù)評審 Ning Wang,Timothy Kipper 和 Kushan Vora,感謝他們?yōu)楸緯鞯木薮筘暙I。他們在使這本書變得易讀、有用和直觀方面起到了重要作用。他們是本書最好的評審。最后,我深深地感激你本書的讀者,你們愿意花時間來閱讀我的書并且相信我的研究,我希望你們從中獲益。
前言
第1章 使用Python導入和處理金融數(shù)據(jù)
1.1 環(huán)境安裝
1.2 創(chuàng)建數(shù)據(jù)導入算法
1.3 全貌
1.4 總結(jié)
第2章 算法思維和函數(shù)
2.1 編寫基礎(chǔ)函數(shù)
2.1.1 為數(shù)組增加列的函數(shù)
2.1.2 從數(shù)組中刪除列的函數(shù)
2.1.3 為數(shù)組添加行的函數(shù)
2.1.4 從數(shù)組中刪除行的函數(shù)
2.1.5 數(shù)值取整的函數(shù)
2.2 編寫識別信號的代碼
2.3 創(chuàng)建信號圖表
2.4 編寫業(yè)績評估函數(shù)
2.4.1 命中率
2.4.2 回報率
2.4.3 盈利因子
2.4.4 風險-收益比
2.4.5 交易次數(shù)
2.4.6 創(chuàng)建業(yè)績評估函數(shù)
2.4.7 一個假設(shè)的例子:評估業(yè)績
第3章 介紹技術(shù)分析
3.1 圖表分析
3.2 指標分析
3.2.1 移動平均線
3.2.2 相對強弱指標
3.3 模式識別
3.4 技術(shù)分析領(lǐng)域常見的陷阱
3.4.1 想要快速致富
3.4.2 強行解讀模式
3.4.3 后見之明偏見,夢想的破滅者
3.4.4 假設(shè)過去的事件一定會導致相同的未來結(jié)果
3.4.5 不必要地把事情變得復(fù)雜
3.5 技術(shù)分析的最佳實踐
3.5.1 利用多個不同的時間周期
3.5.2 使用多種策略和指標
3.5.3 針對當前市場環(huán)境使用正確類型的策略
3.5.4 不要低估默認參數(shù)
第4章 經(jīng)典趨勢跟隨模式
4.1 Marubozu模式
4.2 三K線模式
4.3 Tasuki模式
4.4 三法模式
4.5 Hikkake模式
第5章 現(xiàn)代趨勢跟隨模式
5.1 五胞胎模式
5.2 雙重麻煩模式
5.3 瓶子模式
5.4 彈弓模式
5.5 H模式
第6章 經(jīng)典逆向交易模式
6.1 十字星模式
6.1.1 蜻蜓十字
6.1.2 墓碑十字
6.1.3 一字星
6.1.4 雙十字
6.1.5 三星十字
6.2 孕線模式
6.3 頸線模式
6.4 鑷子模式
6.5 三明治模式
6.6 錘頭模式
6.7 星形模式
6.8 穿刺模式
6.9 吞沒模式
6.10 棄嬰模式
6.11 陀螺模式
6.12 內(nèi)部漲跌模式
6.13 塔形模式
第7章 現(xiàn)代逆向交易模式
7.1 雙胞胎模式
7.2 阻塞模式
7.3 狂喜模式
7.4 屏障模式
7.5 鏡像模式
7.6 收縮模式
第8章 進階K線圖表系統(tǒng)
8.1 Heikin-Ashi方法
8.1.1 檢測十字星模式
8.1.2 檢測TASUKI模式
8.1.3 檢測狂喜模式
8.1.4 檢測雙重麻煩模式
8.2 K型K線圖
8.2.1 檢測十字星模式
8.2.2 檢測TASUKI模式
8.2.3 檢測狂喜模式
8.2.4 檢測雙重麻煩模式
第9章 K線圖模式退出策略
9.1 對稱退出策略
9.2 固定持有期退出策略
9.3 變動持有期退出策略
9.4 混合退出策略
9.5 無視模式
第10章 基于K線圖的趨勢跟隨策略
10.1 將雙重麻煩模式與RSI結(jié)合
10.2 將三K線模式和移動平均線結(jié)合
10.3 將瓶子模式與隨機振蕩指標結(jié)合
10.4 將Marubozu模式與K的波動性帶結(jié)合
10.5 將H模式和趨勢強度指數(shù)相結(jié)合
第11章 基于K線圖的反轉(zhuǎn)策略
11.1 結(jié)合十字星模式和RSI
11.2 結(jié)合吞沒模式和布林帶
11.3 結(jié)合穿刺模式和隨機震蕩指標
11.4 結(jié)合狂熱模式和K線包絡(luò)線
11.5 結(jié)合屏障模式和RSI-ATR結(jié)合
第12章 風險管理與交易心理學
12.1 風險管理基礎(chǔ)
12.1.1 止損與止盈
12.1.2 動態(tài)止損
12.1.3 倉位規(guī)模
12.1.4 經(jīng)濟日歷
12.2 行為金融學:偏見的力量
12.2.1 認知偏見
12.2.2 情緒偏見
12.3 交易框架