隨緣濟眾,其類至繁,約言其綱,大約有十:第一,與人為善;第二,愛敬存心;第三,成人之美;第四,勸人為善;第五,救人危急;第六,興建大利;第七,舍財作福;第八,護持正法;第九,敬重尊長;第十,愛惜物命,
目錄
- 前言
- 兩只烏鴉
- 三只烏鴉
- 烏云壓頂
- 十字星
前言
在股票的交易中,我們最長使用的圖其實是K線圖,比如什么十字星,什么烏鴉等都是比較常用的參考指標,這些形態在我們判斷市場運行趨勢時,起到了非常重要的作用,所以,本篇將詳細講解TA-Lib庫識別K線的各種形態,
兩只烏鴉
首先,我們將介紹最簡單的K線形態:兩只烏鴉(Two Crows),也就是以3日K線為參考,第一日長陽,第二日高開收陰,第三日再次高開收陰,同時收盤比前一日收盤價低,出現該形態預示著股價將要下跌,
判斷兩只烏鴉形態,我們使用TA-Lib庫的talib.CDL2CROWS()方法,下面,我們來獲取通過一個股票標記兩只烏鴉的K線形態,具體代碼如下:
import pandas as pd
import talib
import matplotlib.pyplot as plt
import matplotlib.ticker as ticker
import mpl_finance as mpf
fig = plt.figure(figsize=(12, 8))
plt.rcParams['font.sans-serif'] = ['SimHei']
ax = fig.add_subplot(111)
df = pd.read_excel("歌爾股份year.xlsx")
df['date'] = pd.to_datetime(df['date'])
df['date'] = df['date'].apply(lambda x: x.strftime('%Y-%m-%d'))
df['tow_crows'] = talib.CDL2CROWS(df['open'].values, df['high'].values, df['low'].values, df['close'].values)
pattern = df[(df['tow_crows'] == 100) | (df['tow_crows'] == -100)]
mpf.candlestick2_ochl(ax, df["open"], df["close"], df["high"], df["low"], width=0.6, colorup='r',
colordown='green',
alpha=1.0)
for key, val in df.items():
for index, today in pattern.iterrows():
x_posit = df.index.get_loc(index)
ax.annotate("{}\n{}".format("兩只烏鴉", today["date"]), xy=(x_posit, today["high"]),
xytext=(0, pattern["close"].mean()), xycoords="data",
fontsize=18, textcoords="offset points", arrowprops=dict(arrowstyle="simple", color="r"))
ax.xaxis.set_major_locator(ticker.MaxNLocator(20))
def format_date(x, pos=None):
# 由于前面股票資料在 date 這個位置傳入的都是int
# 因此 x=0,1,2,...
# date_tickers 是所有日期的字串形式串列
if x < 0 or x > len(df['date']) - 1:
return ''
return df['date'][int(x)]
ax.xaxis.set_major_formatter(ticker.FuncFormatter(format_date))
plt.setp(plt.gca().get_xticklabels(), rotation=45, horizontalalignment='right')
plt.show()
運行之后,顯示的效果如下圖所示:

當然,這個圖是歌爾股份的K線圖,兩只烏鴉形態后既然是漲的,哈哈哈,這可能是對股市看技術指標的人莫大的諷刺,這里,博主只是教會大家使用工具,如果工具都準確肯定沒有虧損的人了,說個題外話,其實博主不看指標,在這里教大家看指標,總感覺把你們帶坑里去了,
三只烏鴉
我們的K線圖的烏鴉并不只有兩只,還有三只的,三只烏鴉(Three Black Crows)的定義,也是看三日的K線,也就是連續三根陰線,而且每日收盤價都下跌且接近最低價,同時每日開盤價都在上根K線物體內,同樣預示股價下跌,
TA-Lib庫提供給我們判斷三只烏鴉的方法為talib.CDL3BLACKCROWS(),使用方法只需要將而只烏鴉的方法替換成CDL3BLACKCROWS即可,具體如下:
df['three_crows'] = talib.CDL3BLACKCROWS(df['open'].values, df['high'].values, df['low'].values, df['close'].values)
pattern = df[(df['three_crows'] == 100) | (df['three_crows'] == -100)]
當前還有標記的文字“而只烏鴉”改為“三只烏鴉”,運行之后,顯示的效果如下圖所示:

需要注意的是,這里獲取股票改為sz000789萬年青,因為大多數股票很少有三只烏鴉的形態,博主測驗了20個股票才找到一個三只烏鴉形態的股票,
烏云壓頂
TA-Lib庫提供給我們的烏云壓頂形態的計算方法:talib.CDLDARKCLOUDCOVER(),它是二日K線指標,定義為第一日長陽,第二日開盤價高于前一日最高價,同時收盤價處于前一日物體中部以下,預示著股票下跌,
同樣的這里也只需要替換方法,改二行代碼即可:
df['dark_cloud'] = talib.CDLDARKCLOUDCOVER(df['open'].values, df['high'].values, df['low'].values, df['close'].values)
pattern = df[(df['dark_cloud'] == 100) | (df['dark_cloud'] == -100)]
同樣的,也需要將標記的文字“三只烏鴉”替換成“烏云壓頂”,運行之后,顯示的效果如下圖所示:

這里測驗更換為歌爾股份,前面的萬年青最近幾年沒有該形態,
十字星
TA-Lib庫提供給我們的十字星方法為talib.CDLDOJISTAR(),它是一日K線模式,定義為開盤價與收盤價基本相等,同時上下影線不會很長,預示著當前趨勢反轉,
同樣的這里也只需要替換方法,改二行代碼即可:
df['star'] = talib.CDLDOJISTAR(df['open'].values, df['high'].values, df['low'].values, df['close'].values)
pattern = df[(df['star'] == 100) | (df['star'] == -100)]
這里也用歌爾股份進行繪制,也需要將上面文字“烏云壓頂”改為“十字星”,運行之后,顯示的效果如下圖所示:

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/254942.html
標籤:python
