金融大數據分析 巨量資料科學 交易策略建構 量化交易系統 動態槓桿控管
加密貨幣技術指標-壓力支撐實做
在金融交易領域,趨勢突破策略一直都是一個經典而有效的方法,而其中支撐與壓力的概念與計算更是不可或缺的一環。在歷史上,海龜交易策略就是其中一個引人矚目的例子,一群原本對交易一無所知的玩家,透過特定的交易技巧,成功地操作金融商品,甚至超越了那些熟悉金融市場的專業人士。
趨勢突破策略的基本原理在於,市場價格會呈現出明顯的趨勢性發展,不論是向上、向下還是橫盤震盪。透過這個原理,我們可以建立一套有效的交易策略,其中支撐與壓力的設定扮演著關鍵的角色。簡單來說,當價格突破支撐或壓力位時,這代表著趨勢可能發生改變。
然而,要如何設定支撐與壓力呢?有許多不同的方法可以選擇,以下舉幾個例子:
- 使用前N根K線的最高、最低收盤價作為支撐與壓力位。
- 利用前N根K線的最高、最低價格來設定支撐與壓力位。
- 考慮前N日的最高價與最低價,進行支撐與壓力的設定。
這些方法不僅可以直接應用,還可以根據需求進行變形,例如使用最高、最低價的均價,或者根據爆量位置來設定支撐與壓力。另外,我們也可以透過依據前N天K線的高低點範圍來設置支撐與壓力位。
在這裡,我們將深入了解如何定義壓力線,並透過Python的計算方法來實現這一概念。
定義壓力線的方式有許多,其中之一是透過前N根K線的最高點作為基準,下圖是比特幣的K線圖與近N日的支撐壓力。
讓我們來看看圖中的範例,這裡的直線是根據「前60根K線的最高點」來定義的,需要注意的是,這裡的「前60根K線」並不包含當前的K線。
那麼,我們該如何使用Python來計算N個K線的最高值呢?這裡有一個非常有用的函數叫做「rolling」,這是一種滾動處理的方法,可以對N筆資料進行平均、最大值、最小值等數值運算。我們將使用這個函數來計算N根K線的最大值,然後再將計算結果向後平移(shift)一個單位,這樣就可以將資料與下一筆K線對齊,確保「這根K線」與「前N根K線的最大值」能夠做不同時間的資料整合。
完整程式碼()如下。
from historical_data import get_klines_df
import pandas as pd
# 取得歷史資料
symbol = "BTCBUSD"
interval = "6h"
klines = get_klines_df(symbol, interval)
# 繪製K線圖
data = klines.copy()
data['floor'] = data.rolling(60)['low'].min().shift(1)
data['ceil'] = data.rolling(60)['high'].max().shift(1)
addp = []
addp.append(mpf.make_addplot(data['floor']))
addp.append(mpf.make_addplot(data['ceil']))
mcolor = mpf.make_marketcolors(up='r', down='g', inherit=True)
mstyle = mpf.make_mpf_style(base_mpf_style='yahoo', marketcolors=mcolor)
mpf.plot(data, style=mstyle, addplot=addp, type='candle')
如果想知道更多加密貨幣量化的案例可以參考Python加密貨幣指南,也可以至首頁訂閱電子報,定期有學習資源釋出哦。