使用TA_lib打造一個交易策略實用工具(TA_lib輕探2)[QuantTradingwithPython_6]

更新於 2024/12/11閱讀時間約 6 分鐘
  • 文內如有投資理財相關經驗、知識、資訊等內容,皆為創作者個人分享行為。
  • 有價證券、指數與衍生性商品之數據資料,僅供輔助說明之用,不代表創作者投資決策之推介及建議。
  • 閱讀同時,請審慎思考自身條件及自我決策,並應有為決策負責之事前認知。
  • 方格子希望您能從這些分享內容汲取投資養份,養成獨立思考的能力、判斷、行動,成就最適合您的投資理財模式。


raw-image


使用TA_lib(pandas_TA) 打造一個交易策略實用工具(2TA_lib輕探之馬克快來幫幫手)



在上一期文章中。我們使用TA_lib套件。來協助我們尋找隱藏在股票價格當中的特殊K線形態並把它尋找到的結果輸出到一個表格當中。雖然結果是以100。以及-100的簡明方式來呈現;所謂一圖勝千言,相信沒有比圖形來呈現這些訊號更好的方式。所以有請我們的馬克兄;出來幫我們解決這個問題。正所謂遇事不決找馬克。那么就先來看看。馬克插手後的結果。  

raw-image
raw-image

看到了馬克兄,他在我們的圖形上精確的標示出所尋獲的吞噬K線產生的位置。在這些位置上標誌的明顯的三角上升符號。這樣是不是看起來更明顯了?更讓大家容易知道在什麼時候發生了這些特殊的K線形態圖形。但要在展示原始碼之前,看起來必須要先對這些標示的符號,做一些簡單的解說。大家都知道mplfinance套件是延伸自matplotlib。所以其實標註的這些特殊符號,也都是在matplotlib裡面就已經被定義與規範的。有興趣的朋友可以在以下文章當中,了解它的詳細使用方法。https://matplotlib.org/stable/gallery/lines_bars_and_markers/marker_reference.html

raw-image


上面這張圖片。顯示了,如果我們想要在圖片上標示這些特殊符號,應該要如何輸入對應的代碼。比如;2當需要上升三角形符號,必須要在程式當中輸入。’^’ 現在可以一起來看一看今天的主角它的原始碼。


import yfinance as yfimport talibimport mplfinance as mpfimport pandas as pd%matplotlib notebook


# 下載AAPL股票的資料symbol = "AAPL"data = yf.download(symbol, start="2023-01-01", end="2023-06-30")


# 計算吞噬K線組合engulfing = talib.CDLENGULFING(data['Open'], data['High'], data['Low'], data['Close'])


# 找出吞噬K線組合的日期engulfing_dates = data.index[engulfing != 0]


# 在吞噬K線組合的日期上標示三角箭頭data['Arrow'] = pd.Series(index=data.index, dtype='float64')data.loc[engulfing_dates, 'Arrow'] = data.loc[engulfing_dates, 'Low'] - 2apd = mpf.make_addplot(data['Arrow'], type='scatter', markersize=60, marker='^', panel=0)


# 繪製K線圖和成交量mpf.plot(data, type='candle', volume=True, title=symbol, ylabel='Price', addplot=apd)


data['Arrow'] = pd.Series(index=data.index, dtype='float64')在這裡,我們在下載存放股票資料的data數據框中增加新的一列;命名為箭頭[Arrow]。這裡存放了等一下要顯示三角箭頭符號的價格數據。


data.loc[engulfing_dates, 'Arrow'] = data.loc[engulfing_dates, 'Low'] – 2這裡修正了要標示三角符號的位置。是位於當天最低價減兩個價位。讓它緊貼著當日最低價,但又有一個合適的距離;以免與最低價重疊。純粹為了顯示美觀。大家可以嘗試去改變這個數字。


apd = mpf.make_addplot(data['Arrow'], type='scatter', markersize=60, marker='^', panel=0) 用於創建一個附加圖表,以便添加到主圖表中。該函數 mpf.make_addplot() 用於創建附加圖表。• type='scatter' 指定圖表類型應為散點圖。• markersize=60 指定散點圖中標記的大小。• marker='^' 指定標記形狀應為向上的三角形。• panel=0 指定附加圖表應添加到主圖表的主面板(面板編號 0)中。現在我們大家應該都能夠熟悉,這些代碼的意義了吧?到這裡,大家已經能夠非常容易地把產生K線特殊形態的位置順利的標示出來。不過我們應該都很明顯的可以看到;事實上,K線的吞噬圖形,它也包含了向上做多的與向下放空的形態。但是在目前,不論篩選出的是多是空的圖形形態;都是向上的三角箭頭符號。我們可以更改這一行的一個數據。來解決這個問題。engulfing_dates = data.index[engulfing != 0]我們把它改成。engulfing_dates = data.index[engulfing ==100]現在我們再去執行看看,應該就會發現標示只有做多的吞噬圖形;而其標示的也是對應做多向上的三角箭頭符號。至於做空的吞噬符號,它便不再顯示出來了。

raw-image



 那些做空的吞噬圖形,我們怎麼處理呢?這個是在下一篇文章當中想去解決的問題。今天先談到這裡,讓我們期待下次再相見。祝大家交易順利。早安,午安晚安。





avatar-img
7會員
19內容數
一個專為金融專業設計的專題。介紹量化交易的基本概念和使用Python進行量化交易策略開發的方法。專題涵蓋金融市場運作、技術分析,實例和代碼提供,幫助理解和應用不同的交易策略和指標。此外,介紹了回測工具的使用和風險管理技巧。本專題為對量化交易有興趣的讀者提供了全面的學習指南。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Parkson Dow的沙龍 的其他內容
剛剛我們完成了第一個所需要的工具,用來顯示觀察的K線圖形。今天要進入一個全新的項目。既然我們已經將資料能夠順利的下載到本地端,便需要好好的來利用它。利用它來建立,所關注的股票池。
本來模組化這件事;打算在我們完成股票池工作之後再來談的。沒想到這幾天,已經有一些朋友反應;大概因為端午節的關係,提前磕了太多粽子,導致有點消化不良。所以左思右想之後,決定提前先上一下模組化的部分。目的在於簡化工作。我們討論系列文章的目的,或許跟大家介紹許多一般比較少用的Python套件、、
首先。先跟大家說一個令人振奮的消息。在這一篇文章當中。我們終於即將完成K線圖形顯示程式。這個未來會常常使用的小工具完工啦!就說興不興奮,高不高興。這段時間總算沒有白費;我們真的給鼓搗出了一些東西,這下子應該不只可以面對家鄉的父老了;都有一種榮歸故里的感覺。
嗨又見面了!接下來就繼續下去我們的程式互動之旅之旅.相信應該沒有人會以為我們用一個簡單的input,就交代了想要的互動功能.在這一篇當中將帶領大家,真正的體會,炫酷又好玩的Jupyter notebook互動功能.將程式介面提升到一個讓自己愛不釋手的檔次。
 大家好。很高興在這個新的部落格上面。有機會能再跟大家一起討論交易的兩三事。未來我們將在這個新的地方上面;與大家一步一步地,建立起屬於我們自己個性化的量化交易平臺;敬請期待。
剛剛我們完成了第一個所需要的工具,用來顯示觀察的K線圖形。今天要進入一個全新的項目。既然我們已經將資料能夠順利的下載到本地端,便需要好好的來利用它。利用它來建立,所關注的股票池。
本來模組化這件事;打算在我們完成股票池工作之後再來談的。沒想到這幾天,已經有一些朋友反應;大概因為端午節的關係,提前磕了太多粽子,導致有點消化不良。所以左思右想之後,決定提前先上一下模組化的部分。目的在於簡化工作。我們討論系列文章的目的,或許跟大家介紹許多一般比較少用的Python套件、、
首先。先跟大家說一個令人振奮的消息。在這一篇文章當中。我們終於即將完成K線圖形顯示程式。這個未來會常常使用的小工具完工啦!就說興不興奮,高不高興。這段時間總算沒有白費;我們真的給鼓搗出了一些東西,這下子應該不只可以面對家鄉的父老了;都有一種榮歸故里的感覺。
嗨又見面了!接下來就繼續下去我們的程式互動之旅之旅.相信應該沒有人會以為我們用一個簡單的input,就交代了想要的互動功能.在這一篇當中將帶領大家,真正的體會,炫酷又好玩的Jupyter notebook互動功能.將程式介面提升到一個讓自己愛不釋手的檔次。
 大家好。很高興在這個新的部落格上面。有機會能再跟大家一起討論交易的兩三事。未來我們將在這個新的地方上面;與大家一步一步地,建立起屬於我們自己個性化的量化交易平臺;敬請期待。
你可能也想看
Google News 追蹤
Thumbnail
徵的就是你 🫵 超ㄅㄧㄤˋ 獎品搭配超瞎趴的四大主題,等你踹共啦!還有機會獲得經典的「偉士牌樂高」喔!馬上來參加本次的活動吧!
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
穩定的現金流,是企業在投資、還債、配息、買回庫藏股的底氣,營收高的公司,或許因為給買方較久的融通期,或許因為產業限制,未必有充足的自由現金流。對投資者而言,受益於自由現金流的方式是,經營者的配息和買回庫藏股,而觀察蘋果和美國運通近10餘年的自由現金流,可以發現這些企業流入的現金有節節高升的現象。
Thumbnail
本文深入探討一段 VBA 程式碼的功能,該程式碼主要目的是在給定的數據範圍內找出值為 1 的欄位並記錄其標題。文章中詳細描述了每一步的邏輯,包括對原始數據的讀取、清除目標範圍、初始化陣列以及最終的數據輸出過程。透過例子,讀者可以更加直觀地理解這段程式碼的運作方式,為開發自己的 VBA 程式碼提供參考
Thumbnail
技術文件   # Pattern Recognition Functions 形態識別    ### CDL2CROWS - Two Crows > 函數名:CDL2CROWS   名稱:Two Crows 兩隻烏鴉   簡介:三日K線模式,第一天長陽,第二天高開收陰,
Thumbnail
墨菲定律說。要什麼不一定來什麼;但不要什麼就一定會來什麼。自從幾個月前過完28歲的生日之後,有一天在洗手臺上面發現了一根掉落的白髮,就暗示的事情不會那麼的簡單。
Thumbnail
在上一篇文章當中;我們已經順利的,把股價當中所發現的吞噬K線形態。標示,在圖形當中。對我這個圖形極簡偏執狂來說,已經是在滿意得不得了了。但自己知道,許多朋友們,還是喜歡看到習慣的紅綠色來標示;上漲或下跌的方向。
Thumbnail
AI的輔助工具對於工作效率的提升有著深遠的影響。 然而,隨著AI在職場中的使用變得越來越普遍,相對的,因此產生的職場糾紛也愈發頻繁。有時候,我們不得不依賴法律的力量,以確保公平且有序的工作環境。 使用AI協助工作時,這是避免職場糾紛的3大策略: 策略1 - AI的生成結果還需人類把關:在使用AI協助
Thumbnail
對於經常需要透過文字表達思維的知識工作者來說,這篇文章能為你開啟一扇新的大門。 三段式寫作法的運用,將能有效解決你在語音辨識學習過程中,如何提升效率和深度的問題。同時,它將將為你帶來全新的學習體驗。 使用三段式寫作法40天來,我透過語音辨識,與自我語言的互動。在此過程中,我有三個重大關於成為高產思考
Thumbnail
你是否也在日常生活中尋找改進空間? 刻意保留那些關於"什麼有意義"的思考,你將能提升生活品質並找到更好的方法! 下面是3個我使用子彈筆記20+天後,獲得守護靈光一閃的想法的3個最佳實踐:
Thumbnail
你還記得2年前讀過的書裡面的內容嗎? 開卷有益,但是實體書最大的問題,就是裡面有用的資訊,很難在我們遇到問題時,找出來使用。 但利用Obsidian,這個大問題終於有解了! 下面是使用Obsidian管理實體書閱讀心得,你需要注意的3個重要目標: 重要目標1 - 提高知識的重複利用率:將實體書的洞察
Thumbnail
你有嘗試過用語音辨識做筆記嗎? Macbook上的語音辨識功能非常好用!大大改變了我的筆記習慣!
Thumbnail
徵的就是你 🫵 超ㄅㄧㄤˋ 獎品搭配超瞎趴的四大主題,等你踹共啦!還有機會獲得經典的「偉士牌樂高」喔!馬上來參加本次的活動吧!
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
穩定的現金流,是企業在投資、還債、配息、買回庫藏股的底氣,營收高的公司,或許因為給買方較久的融通期,或許因為產業限制,未必有充足的自由現金流。對投資者而言,受益於自由現金流的方式是,經營者的配息和買回庫藏股,而觀察蘋果和美國運通近10餘年的自由現金流,可以發現這些企業流入的現金有節節高升的現象。
Thumbnail
本文深入探討一段 VBA 程式碼的功能,該程式碼主要目的是在給定的數據範圍內找出值為 1 的欄位並記錄其標題。文章中詳細描述了每一步的邏輯,包括對原始數據的讀取、清除目標範圍、初始化陣列以及最終的數據輸出過程。透過例子,讀者可以更加直觀地理解這段程式碼的運作方式,為開發自己的 VBA 程式碼提供參考
Thumbnail
技術文件   # Pattern Recognition Functions 形態識別    ### CDL2CROWS - Two Crows > 函數名:CDL2CROWS   名稱:Two Crows 兩隻烏鴉   簡介:三日K線模式,第一天長陽,第二天高開收陰,
Thumbnail
墨菲定律說。要什麼不一定來什麼;但不要什麼就一定會來什麼。自從幾個月前過完28歲的生日之後,有一天在洗手臺上面發現了一根掉落的白髮,就暗示的事情不會那麼的簡單。
Thumbnail
在上一篇文章當中;我們已經順利的,把股價當中所發現的吞噬K線形態。標示,在圖形當中。對我這個圖形極簡偏執狂來說,已經是在滿意得不得了了。但自己知道,許多朋友們,還是喜歡看到習慣的紅綠色來標示;上漲或下跌的方向。
Thumbnail
AI的輔助工具對於工作效率的提升有著深遠的影響。 然而,隨著AI在職場中的使用變得越來越普遍,相對的,因此產生的職場糾紛也愈發頻繁。有時候,我們不得不依賴法律的力量,以確保公平且有序的工作環境。 使用AI協助工作時,這是避免職場糾紛的3大策略: 策略1 - AI的生成結果還需人類把關:在使用AI協助
Thumbnail
對於經常需要透過文字表達思維的知識工作者來說,這篇文章能為你開啟一扇新的大門。 三段式寫作法的運用,將能有效解決你在語音辨識學習過程中,如何提升效率和深度的問題。同時,它將將為你帶來全新的學習體驗。 使用三段式寫作法40天來,我透過語音辨識,與自我語言的互動。在此過程中,我有三個重大關於成為高產思考
Thumbnail
你是否也在日常生活中尋找改進空間? 刻意保留那些關於"什麼有意義"的思考,你將能提升生活品質並找到更好的方法! 下面是3個我使用子彈筆記20+天後,獲得守護靈光一閃的想法的3個最佳實踐:
Thumbnail
你還記得2年前讀過的書裡面的內容嗎? 開卷有益,但是實體書最大的問題,就是裡面有用的資訊,很難在我們遇到問題時,找出來使用。 但利用Obsidian,這個大問題終於有解了! 下面是使用Obsidian管理實體書閱讀心得,你需要注意的3個重要目標: 重要目標1 - 提高知識的重複利用率:將實體書的洞察
Thumbnail
你有嘗試過用語音辨識做筆記嗎? Macbook上的語音辨識功能非常好用!大大改變了我的筆記習慣!