股票市場中,股票的價格和成交量是兩個最基礎的技術指標。
??
K 線是我們最常用的技術指標,它的本質是價格。
相對于 K 線而言,MA 的形態(tài)更加平滑,它能清楚地呈現(xiàn)價格變化的大致趨勢,卻對細微的價格波動卻不敏感。
今天,我要向你介紹另一個簡單價格類指標——布林線。
它是以 MA 為基礎衍生而來的指標。不僅能呈現(xiàn)價格變化趨勢,也能衡量價格波動程度,對風險進行預警
??
布林線由 3 條線構成,分別叫做上軌、中軌、下軌,形狀像一個“通道”。
中軌將“通道”分成了上下兩部分,中軌到上軌之間是強勢區(qū),中軌到下軌之間是弱勢區(qū)。
以下是它的計算公式:
??
布林線的中軌其實就是均線,市面上通常選擇周期為 20 的“月線”,簡稱 MA20。
它的上軌和下軌則是從統(tǒng)計學的標準差概念演變而來,一般取值為 MA20 ± 2 倍標準差。
在統(tǒng)計學中,一組數(shù)據(jù)滿足正態(tài)分布的話,約有 95% 的數(shù)據(jù)會落在均值μ的 2 倍標準差σ之間,也就是 [μ-2σ,μ+2σ] 這一區(qū)間。超出其范圍的數(shù)據(jù),通常被視為異常值。
布林線就采用了類似的原理,它的“通道”能將其大部分 K 線“收入囊中”。當 K 線超出通道時,就可以視為異常值,是一種超買超賣的特殊信號。
布林線最常用的使用技巧,是利用它作為“支撐位”和“壓力位”,發(fā)現(xiàn)市場的買賣信號
??
① 下軌作用于“支撐位”,當股價觸及下軌時,下跌趨勢的反彈概率高。
此時被認為是股市的相對“低點”,可考慮買入。
② 上軌作用于“壓力位”,當股價觸及上軌時,上漲趨勢的折返概率高。
此時被認為是股市的相對“高點”,可以考慮賣出。
??
布林線的“通道”會隨著股價變化而自動調(diào)整,故而形成了兩個有意思的“景觀”,開口和縮口。而所謂的開口與縮口,指的是股價運行過程中,布林線的上軌線和下軌線“反方向”擴張或聚攏形成的特殊形狀。
??
研究發(fā)現(xiàn),當布林線出現(xiàn)一個狀如“喇叭”的開口形態(tài)時,說明一波大行情即將到來。至于是上漲行情還是下跌行情,則需要結合其他指標做進一步判斷。當布林線出現(xiàn)一個和開口相反的縮口形態(tài)時,說明行情即將進入盤整階段,價格橫向運行
先看「標的」模塊第 4 行,我將標的設置為貴州茅臺("600519.XSHG")。
再看「指標」模塊第 4 行,我調(diào)用了 BollingerBands() 類。
這個類需要傳入兩個參數(shù),分別是數(shù)據(jù)和周期 period。
1)數(shù)據(jù):位置參數(shù),參數(shù)名可以省略不寫,直接傳入數(shù)據(jù)即可,即context.data.close;
2)period:中軌的計算周期,傳入市面上常用的 20 日。
我們將結果返回給一個變量,不妨叫它 context.boll。在「標的」模塊第 7 行,我們把結果打印出來。
提醒你一下,當一個數(shù)據(jù)需要在不同模塊之間傳遞時,需要加上 context. 前綴。否則,一個模塊的數(shù)據(jù)無法在另一個模塊中使用
但是,在終端區(qū)里,每個交易日并沒有成功打印出具體的上軌、中軌、下軌的數(shù)值,而是打印了一行行看不懂的代碼。這時候,只需在變量 context.boll 之后加上對應的屬性即可。
1)當天的上軌值:context.boll.top[0]
2)當天的中軌值:context.boll.mid[0]
3)當天的下軌值:context.boll.bot[0]
成交量指一段時間內(nèi)成交的股票總手數(shù),可以縮寫為 VOL。它是和 K 線同等重要的基礎技術指標,反映了資金進出市場的情況。K 線圖的下方的柱子就是每天的成交量。
??
成交量的大小體現(xiàn)了該股票對市場的吸引程度。如果市場看好一支股票,會有大量資金流入,成交量放大;反之,資金避而遠之,成交量就會萎縮。
一般情況下,股票的成交量增加且價格上漲,這種情況簡稱為放量上漲,可以視為買入信號。成交量和價格的幾種常見形態(tài)如下:
??
MACD 指標的全稱是平滑異同移動平均線,是反映股票價格趨勢的重要指標。MACD 由四部分組成:DIF 值、DEA 值、MACD 值和零軸線。
??
圖中的藍線稱為 DIF 值。它是 12 日短期移動平均線與 26 日長期移動平均線的差值。因為 DIF 值的變動較為靈敏,因此又稱快線。圖中的紅線稱為 DEA 值。它是 DIF 值的 9 日移動平均線。因其變化較緩,又稱慢線。
(注意,計算移動平均線的周期并非是固定的,這里用的 12 日、26 日、9 日只是最常用的取值。)
圖中的紅綠柱稱為 MACD 值,它表示 DIF 值與 DEA 值的差值。以零軸線為界,MACD 值大于零是紅色柱子,表示此刻 DIF 值大于 DEA 值;反之是綠色柱子,表示此刻 DIF 值小于 DEA 值。
MACD 指標的本質就是反映 DIF 值(快線)和 DEA 值(慢線)之間的交叉分離情況。DIF 值由下向上穿過 DEA 值,形成的交叉稱作金叉,此時柱子由綠變紅;DIF 值由上向下穿過 DEA 值,形成的交叉稱作死叉,此時柱子由紅變綠。
一般來講,金叉表示下跌減緩,是買入信號;死叉表示上漲減緩,是賣出信號。
??
可以將金叉死叉與零軸線相結合,找到更強的買賣信號。如果金叉發(fā)生在零軸線以上,稱作零上金叉,預示更強的上漲趨勢。如果死叉發(fā)生在零軸線以下,叫做零下死叉,預示更強的下跌趨勢。零上金叉和零下死叉是新手最常用的 MACD 買賣信號。
??
MACD 指標常見形態(tài)的含義如下:
??
ADR 指標的全稱是漲跌比率,表示股市中上漲股票數(shù)量與下跌股票數(shù)量之比,用來反映大盤的強弱趨向。如圖所示,下方的紅線就是 ADR 線,它描繪了每天的 ADR 指標變化趨勢:
??
ADR = 股市中上漲的股票數(shù)量 ÷ 股市中下跌的股票數(shù)量。例如,某日股市中共有 800 支股票上漲,1000 支股票下跌,則 ADR = 800 ÷ 1000 = 0.8 。
多數(shù)情況下,ADR 的取值在 1 附近波動。ADR 指標過高,意味著市場整體上漲過度,回落的可能性較大;反之,ADR 指標過低,意味著市場下跌過度,上漲可能性大。指標范圍可參考下圖:
??
ARBR 的全稱是人氣意愿指標,用來反映一支股票在市場中的買賣人氣和買賣意愿。K 線圖下方就是對應股票的 AR 線和 BR 線:
??
AR 指標以當日的開盤價為基點,判斷它在最高價和最低價之間所處的位置。BR 指標以前一日收盤價為基點,判斷它在最高價和最低價之間所處的位置。
AR 和 BR 指標過大,表示近期的買賣人氣和意愿過高,價格過度上漲,很可能出現(xiàn)反轉趨勢;反之,兩個指標過小,表示近期的買賣人氣和意愿過低,價格過度下跌,可能出現(xiàn)反彈。
??
KDJ 指標又稱隨機擺動指標,它用于衡量股價偏離正常水平的程度。如下圖所示,上方是 K 線圖,下方是對應的 KDJ 曲線,它由三條線組合而成。
??
KDJ 指標由 K 值、D 值、J 值組成,這三個值均是由每日的最高價、最低價和收盤價計算而來。
如果擺動幅度過大,說明股價過度偏離正常范圍,可能出現(xiàn)反轉趨勢,從而產(chǎn)生買入賣出信號。 KDJ 指標的常用取值范圍如下:
??
主觀想法:我做生意賺了點小錢,希望拿出20萬來炒股。至于目標,我想投資規(guī)模大、流動性好的股票,比如上證50的成分股。先投一年看看效果,如果有15%收益率,我就謝天謝地了。
根據(jù)三大模塊劃分的進一步想法:
在大谷的交易思路中,需要在上證50的成分股中篩選股票,而且交易數(shù)據(jù)需要滿足兩個特征:放量和上漲。放量指的是成交量比過去一段時間有所增高,上漲指的是股價比前一天有所提升。
a.放量:需要用到兩個指標——當日成交量和過去 N 天的成交量均值,前者大于后者時表示放量。這里的 N 表示天數(shù),它的取值沒有標準答案。我們可以基于經(jīng)驗先假設一個值,例如 120,然后在模型檢驗階段再去調(diào)試它。
b.上漲:需要用到當日漲幅。需要注意的是,如果當日漲幅非常小,例如 0.01%,上漲的趨勢并不明顯,對選股幫助甚微。因此,我們可以再設置一個門檻,當日漲幅大于門檻時,才視為出現(xiàn)上漲趨勢。我們可以先基于經(jīng)驗假設一個門檻值,例如 2%,模型檢驗階段再去調(diào)試。
??
大谷擇時的思路:及時地預測價格趨勢,在上漲前買入,下跌前賣出。
根據(jù)所學知識,能夠預測股票趨勢的指標有 MACD 指標。MACD 指標包括 DIF 值、DEA 值和 MACD 值。通過這三個值的關系,判斷零上金叉和零下死叉,從而預測上漲和下跌。
??
大谷的思路:能保證不虧損太多就可以了。即是只考慮虧損程度,那么可以設定一個臨界點,只要股價低于臨界點,就執(zhí)行風控。
為了實現(xiàn)這個特征,我們需要用到當日收盤價和止損價格。止損價格需要根據(jù)大谷能夠接受的虧損程度來確定。比如,大谷不想承受超過 5% 的虧損,所以止損價格就可以設置為 股票買入價格 × (1 - 5%)。同樣的,5% 這個比例我們也可以在后續(xù)模型檢驗中調(diào)試。
??
??
在 ForTrader 當中,為了在不同模塊之間傳遞數(shù)據(jù),必須在數(shù)據(jù)之前加上 context. 前綴。否則,在一個模塊定義的數(shù)據(jù),將無法在另一個模塊使用。
定義常量的語法很簡單:context.常量名 = 數(shù)值。在后面的代碼中,通過 context.常量名 就可以調(diào)用數(shù)值。
MACD 類的實例化語法:MACD(data.close, period_me1, period_me2, period_signal)
后面三個參數(shù),理論上,我們可以根據(jù)個人經(jīng)驗傳入不同的值。但是,對初學者而言,我建議傳入最常用的 3 個值,分別是 period_me1 = 12、period_me2 = 26、period_signal = 9。
獲取股票的 DIF 值、DAE 值和 MACD 值需要用到 MACD對象的兩個屬性:macd 屬性和 signal 屬性 。macd 屬性對應 DIF 值,signal 屬性對應 DEA 值。二者相減,對應的就是 MACD 值。
指標模塊代碼:
標的模塊代碼:
擇時模塊代碼:
風控模塊代碼:
??
提示:
本公司發(fā)布內(nèi)容主要是教學代碼寫法,不構成投資建議,投資者據(jù)此操作,風險自擔。市場有風險,投資需謹慎!
聯(lián)系客服