簡體   English   中英

如何使用 Python 的 Matplotlib 在股票收盤價數據圖表上添加燭台形態標記?

[英]How to Add Candlestick Pattern Marker on Stock Close Price Data Chart using Python's Matplotlib?

#Importing Libraries

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import yfinance as yf
import talib
plt.style.use('fivethirtyeight')

#Collecting Data from Yahoo Finance

stock= 'COALINDIA.NS'
df= yf.download(stock,period='1mo', interval='1d')

#Using talib library to find instances where DOJI Candlestick Pattern showed up

doji = talib.CDLDOJI(df['Open'], df['High'], df['Low'], df['Close'])
df['Doji']= doji

#Using a variable to store all instances where the DOJI Candlestick Pattern was true (i.e. value > 0)

DojiSignal=[]

for i in range(0, len(df['Doji'])):
    if df['Doji'][i] > 0:
        DojiSignal.append(df['Doji'][i])

#Plotting Close price of the stock along with the days where DOJI Candlestick Pattern showed up (i.e. was TRUE)

figure, ax = plt.subplots(figsize=(13, 6))
plt.plot(df['Close'], markevery= DojiSignal)
plt.show()

你好,

我正在嘗試執行以下操作:

  1. 從雅虎財經中提取股票數據。
  2. 將數據存儲在數據幀 (df) 中。
  3. 使用 talib 庫中的 DOJI 函數來執行查找特定交易日是否出現 DOJI Candle Pattern 所需的任務。
  4. 然后我試圖在列表中添加條件即 DOJI Pattern 出現的所有日子(值!= 0)。
  5. 最后,我想繪制股票的“收盤價”圖表,並使用“*”標記標記 DOJI Candle Pattern 為真的日子。

第 4 點和第 5 點是我認為我正在掙扎的地方。

如果您能幫我解釋一下需要改進的地方,我將不勝感激?

謝謝

完全披露:我是 python 庫mplfinance (MatPlotLib Finance) 的維護者,我建議使用該庫在股票市場數據上繪制信號標記。

這是帶有信號標記的股票市場數據示例圖: 在此處輸入圖片說明

要為上面的代碼示例使用 mplfinance 制作類似的圖:

  • 將十字星信號的值設置為比信號當天的低價略低的價格。 這會導致信號標記出現在 OHLC 柱線或燭台下方(如上面的示例圖所示)。

  • df['Doji']中的所有非信號值都必須設置為float('nan')以便這些日期的圖上不會出現信號標記。

  • 通過df['Doji']mpf.make_addplot() API和采取其輸出,並將它傳遞到addplot kwarg在mpf.plot() API如下:

     mpf.make_addplot(df['Doji']) mpf.plot(df,addplot=ap)

你可以在這里找到基本用法
以及有關如何在此處添加信號標記和其他研究教程
希望有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM