使用TA_lib打造一個交易策略(TA_lib輕探4)[QuantTradingwithPython_8]

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

 

raw-image


使用TA_lib(pandas_TA) 打造一個交易策略實用工具(TA_lib輕探4之抽到機會卡退回上一步)


墨菲定律說。要什麼不一定來什麼;但不要什麼就一定會來什麼。自從幾個月前過完28歲的生日之後,有一天在洗手臺上面發現了一根掉落的白髮,就暗示的事情不會那麼的簡單。沒想到這個隱藏的禍因。最終還是在最近结出了果來。至於發生了什麼事呢?就讓我接續的上期文章的進展。一步步的道來。

在上一期的文章,我們順利的解決了顯示吞噬的K線形態,並採用紅色與綠色來分別顯示多頭與空頭的形態。所以就想在此處先來做一個小的總結。把上次的程式碼做一個模組化。所以有了以下的模組化程式碼。

import yfinance as yf

import talib

import mplfinance as mpf

import pandas as pd

def plot_candlestick_with_pattern(symbol, pattern):

    # 下載股票資料

    data = yf.download(symbol, start="2023-01-01", end="2023-07-28")

    # 計算 K線形態。

    pattern_result = getattr(talib, pattern)(data['Open'], data['High'], data['Low'], data['Close'])

    # 將形態結果加入資料表

    data['Pattern'] = pattern_result

    # 找出符合形態的日期

    pattern_dates = data.index[pattern_result != 0]


    # 在符合形態的日期上標示箭頭

    data['UpArrow'] = pd.Series(index=data.index, dtype='float64')

    data['DownArrow'] = pd.Series(index=data.index, dtype='float64')


    for date in pattern_dates:

        if pattern_result[date] == 100:

            data.loc[date, 'UpArrow'] = data.loc[date, 'Low'] - 2

        elif pattern_result[date] == -100:

            data.loc[date, 'DownArrow'] = data.loc[date, 'High'] + 2

    # 繪製K線圖和成交量

    up_apd = mpf.make_addplot(data['UpArrow'], type='scatter', markersize=60, marker='^', panel=0, color='red')

    down_apd = mpf.make_addplot(data['DownArrow'], type='scatter', markersize=60, marker='v', panel=0, color='green')

    mpf.plot(data, type='candle', volume=True, title=symbol, ylabel='Price', addplot=[up_apd, down_apd])

    # 輸出報表

    data.to_csv('report.csv')

如此這般之後。咱們的執行程序碼就可以縮減為以下幾行

symbol = "TSLA"

pattern = "CDLENGULFING"

plot_candlestick_with_pattern(symbol, pattern)

 

raw-image


嗯、感覺就是一個熟悉的老配方,藥效不變。在總結的執行程序碼當中,我們加入了型態pattern的這一個變數。聰明如你的朋友們,應該在這裡就可以看出來我的企圖心。希望透過這個變數的活用變通性。一次就能掌握其他的K線形態;一統江湖、千秋萬載。而結果就是無情的被啪啪打臉!在這個點上,產生了這篇文章與上一篇文章之間的嚴重拖更。讓我們繼續說下去。

初步的想法;就是在吞噬獲得成功之後,接著把幾個自己認為獲胜率比較高的?K線形態一起給它掛上去。首先就想嘗試把晨星Morning Star先掛上去試試看;沒想到這一次就出事了。這個早晨之星,足足讓我從早上等到黃昏。然後一等就是整個星期甚至大有等來地老天荒的可能。最終在理智線與生命線斷開二擇一的考慮下,先跳開休息冷靜幾天,再看它如何。

在這思索問題解答的某一天。一處偶遇路旁一棵菩提樹。由於酷暑難耐。於是便到菩提樹蔭下休息。在休息經過七七四十九分鐘之後。為了湊得整數,以求功德圓滿。於是又呆坐了11分鐘湊足一個小時。沒想到這個堅定執行愚蠢行為的決心,最終還是感動了天地。這是繼上一次臥冰求鯉之後另一個成功的案例。此時心中忽然一片澄明。發現自己簡直就是一個超級宇宙大白癡。晨星的形態本來就是屬於多頭的。我要是能夠用綠色向下箭頭標出來才有鬼。沒想到這一周的時間,竟然就卡在這個幼稚的問題上面。真是讓人哭笑不得。

冷靜下來總結;發現到目前我們的進度,也並不是完全一無所得。除了晨星夜星這些一開始就選邊站的形態之外。還是有一些形態跟吞噬一樣,可以分多空以顏色來區分的。比如說我們熟悉的母子HARAMI形態。

# 使用範例

symbol = "NVDA"

pattern = "CDLHARAMI"

plot_candlestick_with_pattern(symbol, pattern)


raw-image


看來它也不是完全一無是處的,對吧?所以這一個多星期的卡關,以及隨後好幾日的自閉;感覺就像玩大富翁抽機會卡,結果抽到了一張退回上一步的卡片。感覺就是一個難過到好像吞進了一隻蒼蠅。除了無奈又能如何?結論就是咱們的紅綠燈大概衹能先閃到一邊了。為了繼續完成我們的統治銀河系的野心,將大多數的K線形態搜索功能集中在一個工具裡面,被迫必須退回一個中性的區域。衹能使用標誌位置來滿足我們的需求。但是也相對的給了我們擴張形態範圍的能力。TaLib提供的所有k線形態變式。有興趣的朋友可以參考以下的網址

這裡是包含的所有TaLib所能夠辨識的K線形態,以及調用函數的範例。形態的中文翻譯部分,應該是對岸的某位有心網友,用心翻譯來的。請大家用力的給他鼓鼓掌。不然原先形態上面所使用的那些小日子過得不錯的使用文字。要努力的記起來,還不衹是一個吃力可以形容。

好吧。已經交代了這次拖更的原因。從下一篇文章開始。我們就要來開始拓展其他的K線形態辨識工作。當大家看到這篇文章的時候,應該已經邁入了8月份了。如果錯過了前幾篇文章的公告。在此容我再提醒一次。自8月份開始。我們的極限交易法小班制課程。將調整收費至每人5萬。這是一個完全人工機械化交易的方法的課程。跟程式化交易無關。所以完全不需要任何程式交易方面的經驗或知識。當然,如果你已經事先讀過我的背離交易方面的著作;會讓學習起來更有效率。這期文章就到此結束。祝您交易獲利。萬事順利。跟您道早安,午安晚安。我們下期見。


raw-image




raw-image



avatar-img
7會員
19內容數
一個專為金融專業設計的專題。介紹量化交易的基本概念和使用Python進行量化交易策略開發的方法。專題涵蓋金融市場運作、技術分析,實例和代碼提供,幫助理解和應用不同的交易策略和指標。此外,介紹了回測工具的使用和風險管理技巧。本專題為對量化交易有興趣的讀者提供了全面的學習指南。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Parkson Dow的沙龍 的其他內容
在上一篇文章當中;我們已經順利的,把股價當中所發現的吞噬K線形態。標示,在圖形當中。對我這個圖形極簡偏執狂來說,已經是在滿意得不得了了。但自己知道,許多朋友們,還是喜歡看到習慣的紅綠色來標示;上漲或下跌的方向。
在上一期文章中。我們使用TA_lib套件。來協助我們尋找隱藏在股票價格當中的特殊K線形態並把它尋找到的結果輸出到一個表格當中。雖然結果是以100。以及-100的簡明方式來呈現;
剛剛我們完成了第一個所需要的工具,用來顯示觀察的K線圖形。今天要進入一個全新的項目。既然我們已經將資料能夠順利的下載到本地端,便需要好好的來利用它。利用它來建立,所關注的股票池。
本來模組化這件事;打算在我們完成股票池工作之後再來談的。沒想到這幾天,已經有一些朋友反應;大概因為端午節的關係,提前磕了太多粽子,導致有點消化不良。所以左思右想之後,決定提前先上一下模組化的部分。目的在於簡化工作。我們討論系列文章的目的,或許跟大家介紹許多一般比較少用的Python套件、、
首先。先跟大家說一個令人振奮的消息。在這一篇文章當中。我們終於即將完成K線圖形顯示程式。這個未來會常常使用的小工具完工啦!就說興不興奮,高不高興。這段時間總算沒有白費;我們真的給鼓搗出了一些東西,這下子應該不只可以面對家鄉的父老了;都有一種榮歸故里的感覺。
嗨又見面了!接下來就繼續下去我們的程式互動之旅之旅.相信應該沒有人會以為我們用一個簡單的input,就交代了想要的互動功能.在這一篇當中將帶領大家,真正的體會,炫酷又好玩的Jupyter notebook互動功能.將程式介面提升到一個讓自己愛不釋手的檔次。
在上一篇文章當中;我們已經順利的,把股價當中所發現的吞噬K線形態。標示,在圖形當中。對我這個圖形極簡偏執狂來說,已經是在滿意得不得了了。但自己知道,許多朋友們,還是喜歡看到習慣的紅綠色來標示;上漲或下跌的方向。
在上一期文章中。我們使用TA_lib套件。來協助我們尋找隱藏在股票價格當中的特殊K線形態並把它尋找到的結果輸出到一個表格當中。雖然結果是以100。以及-100的簡明方式來呈現;
剛剛我們完成了第一個所需要的工具,用來顯示觀察的K線圖形。今天要進入一個全新的項目。既然我們已經將資料能夠順利的下載到本地端,便需要好好的來利用它。利用它來建立,所關注的股票池。
本來模組化這件事;打算在我們完成股票池工作之後再來談的。沒想到這幾天,已經有一些朋友反應;大概因為端午節的關係,提前磕了太多粽子,導致有點消化不良。所以左思右想之後,決定提前先上一下模組化的部分。目的在於簡化工作。我們討論系列文章的目的,或許跟大家介紹許多一般比較少用的Python套件、、
首先。先跟大家說一個令人振奮的消息。在這一篇文章當中。我們終於即將完成K線圖形顯示程式。這個未來會常常使用的小工具完工啦!就說興不興奮,高不高興。這段時間總算沒有白費;我們真的給鼓搗出了一些東西,這下子應該不只可以面對家鄉的父老了;都有一種榮歸故里的感覺。
嗨又見面了!接下來就繼續下去我們的程式互動之旅之旅.相信應該沒有人會以為我們用一個簡單的input,就交代了想要的互動功能.在這一篇當中將帶領大家,真正的體會,炫酷又好玩的Jupyter notebook互動功能.將程式介面提升到一個讓自己愛不釋手的檔次。
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
CompTIA Security+ 认证是一项备受 IT 专业人士认可的认证,旨在帮助他们在网络安全领域提升职业发展。然而,备考这项挑战性的考试需要深入理解复杂的安全概念。CompTIA Security+ 考试备考资料 已成为众多考生的流行资源,因为它提供了往年的试题和答案。 CompTIA S
Thumbnail
本篇文章探討瞭如何透過叢集類神經網路對圖形資料進行分類。叢集類神經網路針對多個相互獨立的分類目標,提升訓練收斂速度。文中說明介紹了叢集類神經網路的建立和訓練過程,最終達成準確的分類預測。透過這種方法,即使處理複雜的分類問題,也能保持較高的訓練效率和準確度。
Thumbnail
穩定的現金流,是企業在投資、還債、配息、買回庫藏股的底氣,營收高的公司,或許因為給買方較久的融通期,或許因為產業限制,未必有充足的自由現金流。對投資者而言,受益於自由現金流的方式是,經營者的配息和買回庫藏股,而觀察蘋果和美國運通近10餘年的自由現金流,可以發現這些企業流入的現金有節節高升的現象。
Thumbnail
本文深入探討一段 VBA 程式碼的功能,該程式碼主要目的是在給定的數據範圍內找出值為 1 的欄位並記錄其標題。文章中詳細描述了每一步的邏輯,包括對原始數據的讀取、清除目標範圍、初始化陣列以及最終的數據輸出過程。透過例子,讀者可以更加直觀地理解這段程式碼的運作方式,為開發自己的 VBA 程式碼提供參考
Thumbnail
技術文件   # Pattern Recognition Functions 形態識別    ### CDL2CROWS - Two Crows > 函數名:CDL2CROWS   名稱:Two Crows 兩隻烏鴉   簡介:三日K線模式,第一天長陽,第二天高開收陰,
Thumbnail
你是否也在日常生活中尋找改進空間? 刻意保留那些關於"什麼有意義"的思考,你將能提升生活品質並找到更好的方法! 下面是3個我使用子彈筆記20+天後,獲得守護靈光一閃的想法的3個最佳實踐:
Thumbnail
接觸 Notion 在升大學前的空檔,我找了很多活動參加,藉此提升自己的能力。當時發現原本高中使用的手帳無法符合我的需求,由於生活不再是教室和書本,而是各式各樣的新鮮事等著我去探索和規劃,因此我需要尋找適合的工具,便於我記錄、安排和回顧。 考慮到資料連通的問題(手機、平板、電腦),我從眾多選項中選擇
  這邊跟大家介紹一下由職涯實驗室創辦人何則文號召的TYCIA的STI培訓計畫的其中一個課程,使用notion,管理個人生活(課程連結請滑到文章底下),講師是數位賦能專家蘇鈺程,這個課程可以說是幫助人改善懶癌的特效藥,接下來我們來看一下這個特效藥的內容吧。 了解自身需求,找尋適合的工具
Thumbnail
長時間接觸3C產品有逐漸年輕化及普遍化的趨勢,3C產品所帶來的健康危害,是不容忽視的課題。過度近距離長時間使用3C產品,眼睛不自覺用力,易導致眼軸拉長及近視度數快速加深,嚴重時會導致黃斑部傷害,增加視網膜剝離及失明的風險!
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
CompTIA Security+ 认证是一项备受 IT 专业人士认可的认证,旨在帮助他们在网络安全领域提升职业发展。然而,备考这项挑战性的考试需要深入理解复杂的安全概念。CompTIA Security+ 考试备考资料 已成为众多考生的流行资源,因为它提供了往年的试题和答案。 CompTIA S
Thumbnail
本篇文章探討瞭如何透過叢集類神經網路對圖形資料進行分類。叢集類神經網路針對多個相互獨立的分類目標,提升訓練收斂速度。文中說明介紹了叢集類神經網路的建立和訓練過程,最終達成準確的分類預測。透過這種方法,即使處理複雜的分類問題,也能保持較高的訓練效率和準確度。
Thumbnail
穩定的現金流,是企業在投資、還債、配息、買回庫藏股的底氣,營收高的公司,或許因為給買方較久的融通期,或許因為產業限制,未必有充足的自由現金流。對投資者而言,受益於自由現金流的方式是,經營者的配息和買回庫藏股,而觀察蘋果和美國運通近10餘年的自由現金流,可以發現這些企業流入的現金有節節高升的現象。
Thumbnail
本文深入探討一段 VBA 程式碼的功能,該程式碼主要目的是在給定的數據範圍內找出值為 1 的欄位並記錄其標題。文章中詳細描述了每一步的邏輯,包括對原始數據的讀取、清除目標範圍、初始化陣列以及最終的數據輸出過程。透過例子,讀者可以更加直觀地理解這段程式碼的運作方式,為開發自己的 VBA 程式碼提供參考
Thumbnail
技術文件   # Pattern Recognition Functions 形態識別    ### CDL2CROWS - Two Crows > 函數名:CDL2CROWS   名稱:Two Crows 兩隻烏鴉   簡介:三日K線模式,第一天長陽,第二天高開收陰,
Thumbnail
你是否也在日常生活中尋找改進空間? 刻意保留那些關於"什麼有意義"的思考,你將能提升生活品質並找到更好的方法! 下面是3個我使用子彈筆記20+天後,獲得守護靈光一閃的想法的3個最佳實踐:
Thumbnail
接觸 Notion 在升大學前的空檔,我找了很多活動參加,藉此提升自己的能力。當時發現原本高中使用的手帳無法符合我的需求,由於生活不再是教室和書本,而是各式各樣的新鮮事等著我去探索和規劃,因此我需要尋找適合的工具,便於我記錄、安排和回顧。 考慮到資料連通的問題(手機、平板、電腦),我從眾多選項中選擇
  這邊跟大家介紹一下由職涯實驗室創辦人何則文號召的TYCIA的STI培訓計畫的其中一個課程,使用notion,管理個人生活(課程連結請滑到文章底下),講師是數位賦能專家蘇鈺程,這個課程可以說是幫助人改善懶癌的特效藥,接下來我們來看一下這個特效藥的內容吧。 了解自身需求,找尋適合的工具
Thumbnail
長時間接觸3C產品有逐漸年輕化及普遍化的趨勢,3C產品所帶來的健康危害,是不容忽視的課題。過度近距離長時間使用3C產品,眼睛不自覺用力,易導致眼軸拉長及近視度數快速加深,嚴重時會導致黃斑部傷害,增加視網膜剝離及失明的風險!