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

閱讀時間約 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
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
Thumbnail
AI的輔助工具對於工作效率的提升有著深遠的影響。 然而,隨著AI在職場中的使用變得越來越普遍,相對的,因此產生的職場糾紛也愈發頻繁。有時候,我們不得不依賴法律的力量,以確保公平且有序的工作環境。 使用AI協助工作時,這是避免職場糾紛的3大策略: 策略1 - AI的生成結果還需人類把關:在使用AI協助
Thumbnail
對於經常需要透過文字表達思維的知識工作者來說,這篇文章能為你開啟一扇新的大門。 三段式寫作法的運用,將能有效解決你在語音辨識學習過程中,如何提升效率和深度的問題。同時,它將將為你帶來全新的學習體驗。 使用三段式寫作法40天來,我透過語音辨識,與自我語言的互動。在此過程中,我有三個重大關於成為高產思考
Thumbnail
你是否也在日常生活中尋找改進空間? 刻意保留那些關於"什麼有意義"的思考,你將能提升生活品質並找到更好的方法! 下面是3個我使用子彈筆記20+天後,獲得守護靈光一閃的想法的3個最佳實踐:
Thumbnail
你還記得2年前讀過的書裡面的內容嗎? 開卷有益,但是實體書最大的問題,就是裡面有用的資訊,很難在我們遇到問題時,找出來使用。 但利用Obsidian,這個大問題終於有解了! 下面是使用Obsidian管理實體書閱讀心得,你需要注意的3個重要目標: 重要目標1 - 提高知識的重複利用率:將實體書的洞察
Thumbnail
你有嘗試過用語音辨識做筆記嗎? Macbook上的語音辨識功能非常好用!大大改變了我的筆記習慣!
Thumbnail
Obsidian真的徹底改變了我與知識互動的方式 Obsidian鼓勵的卡片筆記,讓我將知識可以分割成小小塊的卡片,又保留卡片之間的連結。 小塊卡片將知識細化,變得很容易消化,讓我即使只有1分鐘也能思考一些東西。 在Obsidian實踐了22個月的知識細化卡片筆記法, 底層原理1 - 更靈活交替「碎
Thumbnail
「啊,我想到…..」 你是不是常常有很多念頭,但沒有記錄下來,就不見了? 我從16年前,高中的時候,就從書上認識到「紀錄的重要性」。 紀錄不但幫我們整理思緒,累積經驗,更能成為寫作的素材! 下面三個工具,是我這16年來持續實驗,目前認為最棒最棒的三個靈感捕捉器
Thumbnail
Obsidian是我用過最好用的個人知識管理軟體。 Obsidian跟其他PKM軟體比起來,「連結筆記」的能力非常的強。 而Obsidian這種強調筆記連結的軟體天性,在過去22個月裡面,重新定義了我與知識互動的方式。 在這22個月與Obsidian 朝日相處的經驗裡,這是幫助我成為一個更好的知識工
Thumbnail
接觸 Notion 在升大學前的空檔,我找了很多活動參加,藉此提升自己的能力。當時發現原本高中使用的手帳無法符合我的需求,由於生活不再是教室和書本,而是各式各樣的新鮮事等著我去探索和規劃,因此我需要尋找適合的工具,便於我記錄、安排和回顧。 考慮到資料連通的問題(手機、平板、電腦),我從眾多選項中選擇
你也是敏感肌、或是敏弱肌,平常皮膚容易泛紅或是過敏?或是你是痘痘肌,用了很多產品但都沒有改善嗎? 以下為三個我使用過的胺基酸洗面乳推薦 第一個: BHK's 溫和胺基酸洗面乳 第二個: rill®川 30%日本溫和保濕胺基酸洗面乳 第三個: UNT 氨基酸保濕潔顏霜 總結
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
Thumbnail
AI的輔助工具對於工作效率的提升有著深遠的影響。 然而,隨著AI在職場中的使用變得越來越普遍,相對的,因此產生的職場糾紛也愈發頻繁。有時候,我們不得不依賴法律的力量,以確保公平且有序的工作環境。 使用AI協助工作時,這是避免職場糾紛的3大策略: 策略1 - AI的生成結果還需人類把關:在使用AI協助
Thumbnail
對於經常需要透過文字表達思維的知識工作者來說,這篇文章能為你開啟一扇新的大門。 三段式寫作法的運用,將能有效解決你在語音辨識學習過程中,如何提升效率和深度的問題。同時,它將將為你帶來全新的學習體驗。 使用三段式寫作法40天來,我透過語音辨識,與自我語言的互動。在此過程中,我有三個重大關於成為高產思考
Thumbnail
你是否也在日常生活中尋找改進空間? 刻意保留那些關於"什麼有意義"的思考,你將能提升生活品質並找到更好的方法! 下面是3個我使用子彈筆記20+天後,獲得守護靈光一閃的想法的3個最佳實踐:
Thumbnail
你還記得2年前讀過的書裡面的內容嗎? 開卷有益,但是實體書最大的問題,就是裡面有用的資訊,很難在我們遇到問題時,找出來使用。 但利用Obsidian,這個大問題終於有解了! 下面是使用Obsidian管理實體書閱讀心得,你需要注意的3個重要目標: 重要目標1 - 提高知識的重複利用率:將實體書的洞察
Thumbnail
你有嘗試過用語音辨識做筆記嗎? Macbook上的語音辨識功能非常好用!大大改變了我的筆記習慣!
Thumbnail
Obsidian真的徹底改變了我與知識互動的方式 Obsidian鼓勵的卡片筆記,讓我將知識可以分割成小小塊的卡片,又保留卡片之間的連結。 小塊卡片將知識細化,變得很容易消化,讓我即使只有1分鐘也能思考一些東西。 在Obsidian實踐了22個月的知識細化卡片筆記法, 底層原理1 - 更靈活交替「碎
Thumbnail
「啊,我想到…..」 你是不是常常有很多念頭,但沒有記錄下來,就不見了? 我從16年前,高中的時候,就從書上認識到「紀錄的重要性」。 紀錄不但幫我們整理思緒,累積經驗,更能成為寫作的素材! 下面三個工具,是我這16年來持續實驗,目前認為最棒最棒的三個靈感捕捉器
Thumbnail
Obsidian是我用過最好用的個人知識管理軟體。 Obsidian跟其他PKM軟體比起來,「連結筆記」的能力非常的強。 而Obsidian這種強調筆記連結的軟體天性,在過去22個月裡面,重新定義了我與知識互動的方式。 在這22個月與Obsidian 朝日相處的經驗裡,這是幫助我成為一個更好的知識工
Thumbnail
接觸 Notion 在升大學前的空檔,我找了很多活動參加,藉此提升自己的能力。當時發現原本高中使用的手帳無法符合我的需求,由於生活不再是教室和書本,而是各式各樣的新鮮事等著我去探索和規劃,因此我需要尋找適合的工具,便於我記錄、安排和回顧。 考慮到資料連通的問題(手機、平板、電腦),我從眾多選項中選擇
你也是敏感肌、或是敏弱肌,平常皮膚容易泛紅或是過敏?或是你是痘痘肌,用了很多產品但都沒有改善嗎? 以下為三個我使用過的胺基酸洗面乳推薦 第一個: BHK's 溫和胺基酸洗面乳 第二個: rill®川 30%日本溫和保濕胺基酸洗面乳 第三個: UNT 氨基酸保濕潔顏霜 總結