從樸實無華的再出發之一[QuantTradingwithPython_9]

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

 

raw-image


從樸實無華的再出發之一


接上一篇,看來花花綠綠的東西跟我們是無望了。對原本接下來的計畫也只好做一些改變。所以衹能把我們的程式碼,重新移動到了7月7號那篇文章的進度NBLOG_20230707使用TA_LIB(PANDAS_TA) 打造一個交易策略實用工具(2TA_LIB輕探之馬克快來幫幫手)。就決定從這個地方開始新方向。先確認個進度,原始程式碼與輸出的結果如下。


import yfinance as yf

import talib

import mplfinance as mpf

import pandas as pd

%matplotlib notebook

# 下載AAPL股票的資料

symbol = "AAPL"

data = yf.download(symbol, start="2023-01-01", end="2023-08-14")

# 計算吞噬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'] - 2

apd = 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)


raw-image


 

既然要動刀給它手術了;就順便把一些也忍了很久的缺點一併解決。所以在這一章中,先來解決一些關於資料下載的問題。首先我想讓下載資料長度活起來。蠻討厭的;每次總是要去敲鍵盤,輸入開始日期以及資料的截止日期。對吧!沒說錯吧?我看見有人舉手了。所以必須要調用jupyter notebook的部件小工具widgets,來幫大夥解決這個問題。這個小工具就叫做日期挑選器Date picker。

程式範例如下、、


widgets.DatePicker(

    description='Pick a Date',

    disabled=False

)

看起來還蠻容易使用的。但事實上它有兩個是可以控制的;首先是上面的這個description。衹是用來設定一個指示文字的標題欄,沒什麼技術含量的。另外還有一個value。這個便是輸出點擊後的日期變數。在之後的範例程式中可以看到它的使用。但在事實上,這個變數是可以雙向使用的。也就是說我們可以來設定這個小工具呈現時候所預設的日期。放心,這個我們之後的範例中會再介紹。現在就來看看第一步改造後的結果。


import yfinance as yf

import talib

import mplfinance as mpf

import pandas as pd

import datetime

import ipywidgets as widgets

from IPython.display import display

# 創建日期小部件

start_date_widget = widgets.DatePicker(description='開始日期')

end_date_widget = widgets.DatePicker(description='結束日期')

button = widgets.Button(description='開始繪圖')

# 定義按鈕點擊事件處理函數

def plot_stock_data(button):

    # 獲取所選的開始日期和結束日期

    start_date = start_date_widget.value

    end_date = end_date_widget.value

    # 下載AAPL股票的資料

    symbol = "AAPL"

    data = yf.download(symbol, start=start_date, end=end_date)

      # 計算吞噬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'] - 2

    apd = 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)

# 將小部件和按鈕顯式顯示

display(start_date_widget)

display(end_date_widget)

display(button)

# 將按鈕的點擊事件與繪圖函數綁定

button.on_click(plot_stock_data)

 

raw-image


好的,這下子我們動動滑鼠。就可以自由的選擇下載資料的長度了。如果再配上了,我們 Jupyter notebook的神奇指令 %matplotlib notebook。這下子觀察的自由度就會更大了。

弄到這裡了,可是還是覺得有個地方癢癢的對不對?既然讓我們恨得牙癢癢的;那就用力抓吧!接下來再下一刀,把這個沉痾解決了。再請來個小部件,把股票觀察視野擴大。


import yfinance as yf

import talib

import mplfinance as mpf

import pandas as pd

import datetime

import ipywidgets as widgets

from IPython.display import display

# 創建日期和股票代碼小部件

start_date_widget = widgets.DatePicker(description='開始日期')

end_date_widget = widgets.DatePicker(description='結束日期')

symbol_widget = widgets.Text(description='股票代碼')

button = widgets.Button(description='開始繪圖')

# 定義按鈕點擊事件處理函數

def plot_stock_data(button):

    # 獲取所選的開始日期、結束日期和股票代碼

    start_date = start_date_widget.value

    end_date = end_date_widget.value

    symbol = symbol_widget.value

        # 下載股票資料

    data = yf.download(symbol, start=start_date, end=end_date)

        # 計算吞噬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'] - 2

    apd = 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)

# 將小部件和按鈕顯式顯示

display(start_date_widget)

display(end_date_widget)

display(symbol_widget)

display(button)

button.on_click(plot_stock_data)


raw-image



是吧,找來了老朋友幫我們抓癢。這個小部件就可以解決了,輸入股票代碼的問題。看起來一切都朝著所要的方向前進。今天就先牛刀小試,解決這兩個問題。在下一篇當中。會依然朝著這個方向去拓展我們需要的功能。希望改變後的這個開發方向是正確的。那麼我們這一篇就先談到這裡,也真誠的期待著你對這系列文章的反饋與建議。很期待下期很快就能跟大家再見面。祝你早安,午安晚安。


raw-image



avatar-img
7會員
19內容數
一個專為金融專業設計的專題。介紹量化交易的基本概念和使用Python進行量化交易策略開發的方法。專題涵蓋金融市場運作、技術分析,實例和代碼提供,幫助理解和應用不同的交易策略和指標。此外,介紹了回測工具的使用和風險管理技巧。本專題為對量化交易有興趣的讀者提供了全面的學習指南。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Parkson Dow的沙龍 的其他內容
墨菲定律說。要什麼不一定來什麼;但不要什麼就一定會來什麼。自從幾個月前過完28歲的生日之後,有一天在洗手臺上面發現了一根掉落的白髮,就暗示的事情不會那麼的簡單。
在上一篇文章當中;我們已經順利的,把股價當中所發現的吞噬K線形態。標示,在圖形當中。對我這個圖形極簡偏執狂來說,已經是在滿意得不得了了。但自己知道,許多朋友們,還是喜歡看到習慣的紅綠色來標示;上漲或下跌的方向。
在上一期文章中。我們使用TA_lib套件。來協助我們尋找隱藏在股票價格當中的特殊K線形態並把它尋找到的結果輸出到一個表格當中。雖然結果是以100。以及-100的簡明方式來呈現;
剛剛我們完成了第一個所需要的工具,用來顯示觀察的K線圖形。今天要進入一個全新的項目。既然我們已經將資料能夠順利的下載到本地端,便需要好好的來利用它。利用它來建立,所關注的股票池。
本來模組化這件事;打算在我們完成股票池工作之後再來談的。沒想到這幾天,已經有一些朋友反應;大概因為端午節的關係,提前磕了太多粽子,導致有點消化不良。所以左思右想之後,決定提前先上一下模組化的部分。目的在於簡化工作。我們討論系列文章的目的,或許跟大家介紹許多一般比較少用的Python套件、、
首先。先跟大家說一個令人振奮的消息。在這一篇文章當中。我們終於即將完成K線圖形顯示程式。這個未來會常常使用的小工具完工啦!就說興不興奮,高不高興。這段時間總算沒有白費;我們真的給鼓搗出了一些東西,這下子應該不只可以面對家鄉的父老了;都有一種榮歸故里的感覺。
墨菲定律說。要什麼不一定來什麼;但不要什麼就一定會來什麼。自從幾個月前過完28歲的生日之後,有一天在洗手臺上面發現了一根掉落的白髮,就暗示的事情不會那麼的簡單。
在上一篇文章當中;我們已經順利的,把股價當中所發現的吞噬K線形態。標示,在圖形當中。對我這個圖形極簡偏執狂來說,已經是在滿意得不得了了。但自己知道,許多朋友們,還是喜歡看到習慣的紅綠色來標示;上漲或下跌的方向。
在上一期文章中。我們使用TA_lib套件。來協助我們尋找隱藏在股票價格當中的特殊K線形態並把它尋找到的結果輸出到一個表格當中。雖然結果是以100。以及-100的簡明方式來呈現;
剛剛我們完成了第一個所需要的工具,用來顯示觀察的K線圖形。今天要進入一個全新的項目。既然我們已經將資料能夠順利的下載到本地端,便需要好好的來利用它。利用它來建立,所關注的股票池。
本來模組化這件事;打算在我們完成股票池工作之後再來談的。沒想到這幾天,已經有一些朋友反應;大概因為端午節的關係,提前磕了太多粽子,導致有點消化不良。所以左思右想之後,決定提前先上一下模組化的部分。目的在於簡化工作。我們討論系列文章的目的,或許跟大家介紹許多一般比較少用的Python套件、、
首先。先跟大家說一個令人振奮的消息。在這一篇文章當中。我們終於即將完成K線圖形顯示程式。這個未來會常常使用的小工具完工啦!就說興不興奮,高不高興。這段時間總算沒有白費;我們真的給鼓搗出了一些東西,這下子應該不只可以面對家鄉的父老了;都有一種榮歸故里的感覺。
你可能也想看
Google News 追蹤
Thumbnail
徵的就是你 🫵 超ㄅㄧㄤˋ 獎品搭配超瞎趴的四大主題,等你踹共啦!還有機會獲得經典的「偉士牌樂高」喔!馬上來參加本次的活動吧!
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
美味漢堡排自己做!食材很單純,不需麵粉,只需準備絞肉、青蔥、雞蛋!這道青蔥肉排,簡單3步驟,15分鐘就能輕鬆做出香氣逼人的漢堡排! 難易度|★★☆ 預計耗時|15分鐘
Thumbnail
做千層蛋糕,總是會讓人有種莫名的療癒感,一層一層的餅皮製作、一層一層夾餡塗抹,只要一步一步耐心完成,就可以做出讓人驚喜的層次美味~
Thumbnail
首先、本來想在這一邊做一個收官,用來結束我們創建股票池工具的階段工作。如此也可以讓我們展開往後的策略設計,以及回測的工作。
Thumbnail
這一期繼續給我們的工具添磚加瓦;關於K線形態辨識的部分寫了好幾期,咱們總在吞噬的圖形裡面打轉,相信很多人吞著吞著都快給吞出個厭食症來了。心中不禁嘀咕;書本上幾十種形態,幹嘛老是端這道菜上來?於是咱們今天就來先打通這個任督二脈,換個菜色。
Thumbnail
  接上一篇,看來花花綠綠的東西跟我們是無望了。對原本接下來的計畫也只好做一些改變。所以衹能把我們的程式碼,重新移動到了7月7號那篇文章的進度NBLOG_20230707使用TA_LIB(PANDAS_TA) 打造一個交易策略實用工具(2TA_LIB輕探之馬克快來。
Thumbnail
國高中的時候,教室裡開始出現各式各樣的班對,不管是學霸組、校花校草組亦或是同性戀,我們似乎都會為班上那神秘的一對,貼上一張又一張的標籤。近幾年來隨著性別意識的高漲,社會對於同性之間的情誼開始帶有不一樣的見解,透過小說、漫畫、電影,只要出現特定的情節,我們就會想要推理出這段戀情日後的發展,也會想要為它
Thumbnail
朴海英編劇的新劇《我的出走日記》讓青年世代的厭世厭世轉化為治癒人心的力量,1972年出生的她是如何精準地抓住青年世代的內心,將我們靈魂深處的不安說出來 ?那些連我們父母都不理解的焦慮與迷茫,為什麼在她筆下都得以被撫慰?她是如何做到跨越世代的傾聽,並解放無數疲憊的靈魂?
Thumbnail
雙魚座或海王能量受到突顯的人,在人生的不同階段,也許都會對於『 金剛經 』這樣的東方經典愛不釋手,經文中透過須菩提和彿陀一來一往的對話,為人們描述關於究竟智慧的理路,多重層次的哲學思辨耐人尋味,為身處浮掠現世的我們,撬動所在分別、執著、各種阻礙造作的觀點。
Thumbnail
某陣子,只要早上一進廚房準備早餐就會有種「今天也好想吃三明治」的感覺,說真的,我仍不明白究竟到底是什麼原因,但只要我看著自己將吐司和食材一層一層往上疊的畫面,心中就會莫名湧起一股「好幸福啊」的感覺!生活的幸福感是否就如同層層疊加的三明治一樣呢?每一樁生活小事都是我們最美味的餡料。
Thumbnail
徵的就是你 🫵 超ㄅㄧㄤˋ 獎品搭配超瞎趴的四大主題,等你踹共啦!還有機會獲得經典的「偉士牌樂高」喔!馬上來參加本次的活動吧!
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
美味漢堡排自己做!食材很單純,不需麵粉,只需準備絞肉、青蔥、雞蛋!這道青蔥肉排,簡單3步驟,15分鐘就能輕鬆做出香氣逼人的漢堡排! 難易度|★★☆ 預計耗時|15分鐘
Thumbnail
做千層蛋糕,總是會讓人有種莫名的療癒感,一層一層的餅皮製作、一層一層夾餡塗抹,只要一步一步耐心完成,就可以做出讓人驚喜的層次美味~
Thumbnail
首先、本來想在這一邊做一個收官,用來結束我們創建股票池工具的階段工作。如此也可以讓我們展開往後的策略設計,以及回測的工作。
Thumbnail
這一期繼續給我們的工具添磚加瓦;關於K線形態辨識的部分寫了好幾期,咱們總在吞噬的圖形裡面打轉,相信很多人吞著吞著都快給吞出個厭食症來了。心中不禁嘀咕;書本上幾十種形態,幹嘛老是端這道菜上來?於是咱們今天就來先打通這個任督二脈,換個菜色。
Thumbnail
  接上一篇,看來花花綠綠的東西跟我們是無望了。對原本接下來的計畫也只好做一些改變。所以衹能把我們的程式碼,重新移動到了7月7號那篇文章的進度NBLOG_20230707使用TA_LIB(PANDAS_TA) 打造一個交易策略實用工具(2TA_LIB輕探之馬克快來。
Thumbnail
國高中的時候,教室裡開始出現各式各樣的班對,不管是學霸組、校花校草組亦或是同性戀,我們似乎都會為班上那神秘的一對,貼上一張又一張的標籤。近幾年來隨著性別意識的高漲,社會對於同性之間的情誼開始帶有不一樣的見解,透過小說、漫畫、電影,只要出現特定的情節,我們就會想要推理出這段戀情日後的發展,也會想要為它
Thumbnail
朴海英編劇的新劇《我的出走日記》讓青年世代的厭世厭世轉化為治癒人心的力量,1972年出生的她是如何精準地抓住青年世代的內心,將我們靈魂深處的不安說出來 ?那些連我們父母都不理解的焦慮與迷茫,為什麼在她筆下都得以被撫慰?她是如何做到跨越世代的傾聽,並解放無數疲憊的靈魂?
Thumbnail
雙魚座或海王能量受到突顯的人,在人生的不同階段,也許都會對於『 金剛經 』這樣的東方經典愛不釋手,經文中透過須菩提和彿陀一來一往的對話,為人們描述關於究竟智慧的理路,多重層次的哲學思辨耐人尋味,為身處浮掠現世的我們,撬動所在分別、執著、各種阻礙造作的觀點。
Thumbnail
某陣子,只要早上一進廚房準備早餐就會有種「今天也好想吃三明治」的感覺,說真的,我仍不明白究竟到底是什麼原因,但只要我看著自己將吐司和食材一層一層往上疊的畫面,心中就會莫名湧起一股「好幸福啊」的感覺!生活的幸福感是否就如同層層疊加的三明治一樣呢?每一樁生活小事都是我們最美味的餡料。