相似文件換一批 Machine Learning for Factor Investing Pyth... 12.69 MB0個論壇幣 政治的邏輯(王滬寧).pdf 33.04 MB0個論壇幣 新威科夫操盤法:揭秘對沖基金不愿公開的交易... 34.33 MB0個論壇幣 邢不行的系列帖子“量化小講堂”,通過實際案例教初學(xué)者使用python進行量化投資,了解行業(yè)研究方向,希望能對大家有幫助。 【必讀文章】:《10年400倍策略分享-附視頻逐行講解代碼》
【歷史文章匯總】:http://xalimeijing.com/thread-3950124-1-1.html 這是邢不行第 127 期量化小講堂的分享 作者 | 邢不行 你周圍有沒有一些交易高手,看一眼股票的K線就可以大致預(yù)測后續(xù)的走勢。雖然不是完全準(zhǔn)確,但也能說個七七八八。 這源于他們在市場較久,此前或多或少見過類似圖形,對后市有一定判斷。是長期的經(jīng)驗積累所致,而非真正的預(yù)測行情。 對經(jīng)驗不足的新手小白來說,很難在短時間內(nèi)掌握這項技能。 但經(jīng)驗不夠,可以科技來湊。對面任意行情,我們都可以借助Python程序找出歷史上走勢相似的K線,并分析其后續(xù)表現(xiàn),以此給出參照。 本文我們就來做相應(yīng)的研究,看這樣操作對實戰(zhàn)是否有幫助,又是否可以據(jù)此構(gòu)建一些交易策略? 01 相似K線 1、支付寶功能 2024年國慶節(jié)前后,大A經(jīng)歷了一輪完整的牛熊,更有大盤開盤漲停的盛況。 很多人問我如何看待這段行情,說實話我記憶中也沒見過這樣的走勢。 但記憶可能出錯,數(shù)據(jù)卻不會騙人。 最好的辦法,還是從過往指數(shù)K線中尋找有沒有相似的走勢,它們之后又是如何演繹行情的。 有同事說支付寶有類似的功能,可以實現(xiàn)我們的需求,叫相似K線。 選擇任意股票,就會分別展示出它自身和所有股票歷史上,與最近30日K線最相似的形態(tài),并畫出未來走勢。 對一個免費的功能來說,這個效果已經(jīng)很好了。 但對我們做量化交易的來說,看到這些功能就想知道該如何計算,是否能將它復(fù)現(xiàn)出來,為自己所用。 在翻閱了一些研究資料后,我們最終復(fù)刻出了相似K線,還在原有功能上做了全面的升級,整理出了一份極其全面的文件,包含需要用到的數(shù)據(jù)、代碼、各類教程文檔。 下文我們就帶著大家一起,開始本次尋找相似K線之旅。 02 皮爾遜相關(guān)系數(shù) 1、皮爾遜相關(guān)系數(shù)概念 要在眾多K線中找到相似度高的組合,就需要借助皮爾遜相關(guān)系數(shù)。 學(xué)過概率論、統(tǒng)計學(xué)的同學(xué),應(yīng)該很熟悉它,是一個比較基礎(chǔ)的概念。 沒學(xué)過的朋友也不用擔(dān)心,皮爾遜相關(guān)系數(shù),簡單來說就是用來衡量兩組數(shù)據(jù)之間的線性相關(guān)程度。 皮爾遜相關(guān)系數(shù)計算公式 你不需要理解它的原理,只要會運用就可以了。 甚至Excel中就有現(xiàn)成的公式用于輔助計算: 用Excel計算皮爾遜相關(guān)系數(shù) Python中更是有打包好的計算函數(shù),只需一行代碼就可以解決。 用Python計算皮爾遜相關(guān)系數(shù) 2、皮爾遜相關(guān)系數(shù)應(yīng)用 指標(biāo)用法也很簡單,比如圖中幾個點可以連成一條向上的直線,則認(rèn)為相關(guān)系數(shù)為1,即x的數(shù)據(jù)增加時y也會按相同趨勢增加。 假若數(shù)據(jù)點是圍繞圖中直線分布,則說明它們之間是正相關(guān)關(guān)系,相關(guān)系數(shù)介于0-1,圍繞的越緊密,指標(biāo)越接近1。 與之相反,如若是向下的直線則為負(fù)相關(guān)關(guān)系。 若數(shù)據(jù)之間毫無關(guān)系,它們的相關(guān)系數(shù)則為0。 了解了上述內(nèi)容,就可以借此構(gòu)建出計算K線相似度的公式: 相似度在-100%-100%之間波動 具體用法也很簡單,例如下圖是股票A和股票B某時間段的K線圖,它們的相似度高達98%,走勢上也的確極其接近。 而股票C和A的相似度是75%,走勢上也給人一種相像又不完全像的感覺。 再比如股票D和A的相似度只有0.05%,它們之間毫無關(guān)聯(lián)也一目了然。 通過上述案例即可發(fā)現(xiàn),相似度越接近100%,K線之間也就越相似。 03 指數(shù)相似度 1、尋找指數(shù)相似K線 我們先用相似度指標(biāo)來尋找上證指數(shù)最近20個交易日的相似K線。 理論上Excel也可以做相應(yīng)的計算,我們則是直接編寫了Python代碼來輔助計算。 程序運行結(jié)果如圖所示:上證指數(shù)歷史上共出現(xiàn)了57次與近20日K線相似度超過了90%的情況。 其中相似度最高的是2016年7月29日-8月25日這段時間,高達96%。 將兩段K線放一起看,在走勢上也極其接近。 如此看來,我們的經(jīng)驗和記憶有時確實會出現(xiàn)偏差,一些歷史上存在過的K線走勢,如果不借助數(shù)據(jù)和代碼復(fù)現(xiàn),可能就會被自然遺忘。 我們也可以稍微修改代碼,去看指數(shù)最近30個交易日的相似K線是哪些時間段: 結(jié)果與20日完全不同 你也可以拿到代碼后,選擇自己感興趣的時間段去做觀察,類似操作就不再多加贅述。 2、未來表現(xiàn)統(tǒng)計 尋找歷史上的相似K線,是想以史為鑒,去探究過去發(fā)生了什么,以便給當(dāng)下的交易做出指導(dǎo)。 我們還不能只單純看個例,應(yīng)綜合分析歷史上相似度高于90%的所有情況,觀察在這些K線產(chǎn)生后,買入并持有未來1天/5天/10天/20天后,賺錢的概率有多少,獲取的平均收益又有多少? 上證指數(shù)歷史上,與最近20個交易日的K線相似度超過90%的階段共57次。 在這些K線出現(xiàn)后的第二天開盤去買入上證指數(shù),持有1天的上漲概率是63.16%,平均收益是0.18%。 持有5天/10天的上漲概率也都在50%以上,但收益率幾乎可以忽略不計。 持有20天的上漲概率驟降至43%,收益率也來到了-1.39%。 以上數(shù)據(jù)結(jié)果,也可以給我們的交易決策一定的底氣和參考。 我們以上的所有研究都是基于上證指數(shù),鑒于大家還是以交易個股為主,下文我們就將研究拓展到個股。 比如選取任意股票任意時間段的K線,在所有股票的歷史數(shù)據(jù)中,找出相似度高的時段,并統(tǒng)計這些相似走勢之后的市場表現(xiàn)。 04 全市場探究 以茅臺為例,它最近20個交易的K線如圖所示。站在這個時點,我們就想知道未來幾天茅臺的價格會如何變化,該直接進場還是等它繼續(xù)下跌? 但我們無法預(yù)知未來,最好的辦法是通過分析歷史相似K線,來輔助判斷后續(xù)行情。 該思路類似于技術(shù)指標(biāo)中歸納整理特殊形態(tài),只不過我們尋找的是隨機的相似K線,無需做特殊條件的歸納。 通過代碼,我們先找出了2007年至今A股歷史上和茅臺最近20個交易日走勢最相似的三段K線,并畫了出來,相似度分別是97.7%和97.6%。 并標(biāo)注出了它們的股票名稱、交易日期,甚至還將后續(xù)走勢也畫出供大家參考。 以上功能,支付寶也可以提供,雖然不如我們?nèi),但也確實不值得我們夸耀。 我們還額外添加了其它功能,比如歷史上和茅臺最近走勢相似度最大的1萬組K線,相似度最低的也有92%,說明彼此走勢都很相似,那這些K線未來的整體表現(xiàn)又是如何? 我們計算了這些K線出現(xiàn)后未來1天/5天/10天/20天的上漲概率和平均漲跌幅,結(jié)果如圖所示: 利用我們的工具,你既可以肉眼直觀比較最相似K線的未來表現(xiàn),也可以通過大數(shù)據(jù)分析最相似的前X組K線的整體表現(xiàn),以此輔助你做出交易決策。 本文只是以茅臺為例,你也可以拿了代碼后,選擇其他任意股票、任意時間段、任意X根K線去做走勢的研究,這些完全可以實現(xiàn),就看你如何使用。 最后再透露個小秘密,既然相似度是以開高收低價格為基礎(chǔ)計算的,那是否可以將成交量也考慮進去? 是不是也可以融入技術(shù)指標(biāo),如均線的相似度計算,尋找更廣泛意義上的相似K線? 篇幅有限,就不多加贅述了,感興趣的朋友可以和我一起討論,也可以問我要了數(shù)據(jù)和代碼自己把玩修改,以上思路都是可以實踐的。 |